Reconstruct the plain text using software


Home Page
Hebern's machines
The 5 rotors machine home page

Introduction

The cryptologist, from the moment he knows the wiring of the rotor in V position as well as Lampboard permutation, can decipher cryptograms as a series of substitutions simple limited to 26 characters.

Whatever the method used, find the solution to these substitutions is a real feat.

Friedman, manually achieved this feat by deciphering several lines of the first cryptogram (link).

In this page, we will use software to help us to find the plain of a few lines.

Using the Hill Climbing Method

With my simple substitution breaking program using the Hill Climbing algorithm and a fitness function based on using pentagrams, I managed to (almost) decipher some of these substitutions.

We must obviously first remove the action of the permutation Lampboard (RFS) and that of the rotor in position V.

First line of 1st message

H1_TOOLS> more LIGNES\ligne1.cry
G E V H S E R W P Q W U E R R H W E S V W O W E V H

H1_TOOLS> python hc_substi.py -c LIGNES/ligne1.cry  -t 1000 -M PNT
...
998 1.005467732693308 FTOEITMNYBNVTMMENTIONANTOE
999 2.233231863785925 RESIDENTLYTHENNITEDSTATESI

Key:  OCTSEQBUHXDJLRPYFGVWKNMZIA  Score:  2.521153685958112
RESIDENTOFTHENNITEDSTATESI

Other examples from the 2nd message

- 2nd line:
H1_TOOLS> more LIGNES\coban_02.cry
RFKMJPOSFRQQDPXFRGLDFRORXB

H1_TOOLS> python hc_substi.py -c LIGNES\coban_02.cry -M PNT -t 5000
Key:  MIJNRKVHDTECOXPSGFQBLWAUZY  Score:  2.262316735466637
ERFACOMPRESSIONREQUIREMENT
The real solution:   E R A L C O M P R E S S I O N R E Q U I R E M E N T
- 4th line:
H1_TOOLS> more LIGNES\coban_04.cry
TTVMLITLLBUFKUYJJXKDIZTITL

H1_TOOLS> python hc_substi.py -c LIGNES\coban_04.cry -M PNT -t 1000
Key:  MUONKESXBCPFRDTIAZLJYHVQGW  Score:  2.455659788800515
OOWASPOSSIBLEBUTTHENPROPOS
The real solution: (s)OOnADPOSSIBLEBUTTHEyPROPOS(e..)
- 5th line:
H1_TOOLS> more LIGNES\coban_05.cry
DCDODXQUYWRAEAFQLAWGCIJAFJ

H1_TOOLS> python hc_substi.py -c LIGNES/coban_05.cry -M PNT -t 5000
...
Cles:  QMFRDEZJASKUYGWHBXCLVOIPNT  Score:  2.668684725730393
ESEVERALMODIFICATIONSWHICH
Note: it is the good solution!

Probable word search

An example

If we know probable words, we can get the solution quite quickly. For example, searching for the word PENNSYLVANIA:

My program pattern.py indicates if it finds the probable word, it indicates from which character it starts, the part of the cryptogram corresponding to the probable word and the sequence of letters represented in numerical form, each letter is represented by a number. If the same number is used multiple times, the letter is used multiple times.

C:\H5_TOOLS> python pattern.py OCWXXVWXPVCXNNTFSRPNBPTVPV PENNSYLVANIA
10 CXNNTFSRPNBP 1.2.3.3.4.5.6.7.8.3.9.8.
We can then deduce a large part of the line:
(1) p (2) e e (3) (2) e a (3) P E N N S Y L V A N I A s (3) a (3)
If the letter 3 is a T, the last word begins with "stat" and the beginning begins with (1) p (2) e e t (2) e a t. The letter 2 is probably the letter M. We obtain: (1)pmeetmeatpennsylvainastat.

10th line of 2nd message

H1_TOOLS> python pattern.py ULBTYTFFVQMXLJFPMWXPMFBLXT ZEPPLINCOMPANY
4 YTFFVQMXLJFPMW 1.2.3.3.4.5.6.7.8.9.3.10.6.11.

References

  • Machine Cryptography and Modern Cryptanalysis, by Cipher A. Deavours & Louis Kruh, Artech House Editor, 1985.
  • Analysis of the Hebern Cryptograph Using Isomorphs, by Cipher A. Deavours, Cryptologia, Vo. 1, N°2, April 1977.
  • A Solution of the Hebern Messages, by Carl M. Ellison, Cryptologia, Volume XII, Number 3, July 1988.

Web Links

  • ANALYSIS OF A MECHANICO-ELECTRICAL CRYPTOGRAPH, PART I, TECHNICAL PAPER, BY WILLIAM F. FRIEDMAN Cryptanalyst, Chief of Signal Intelligence Section UNITED STATES GOVERNMENT PRINTING OFFICE, WASHINGTON: 1934, Secret. (link)