Home Page Hebern's machines The 5 rotors machine home page
|
IntroductionThe 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 MethodWith 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 messageH1_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 searchAn exampleIf 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 messageH1_TOOLS> python pattern.py ULBTYTFFVQMXLJFPMWXPMFBLXT ZEPPLINCOMPANY 4 YTFFVQMXLJFPMW 1.2.3.3.4.5.6.7.8.9.3.10.6.11. References
Web Links
|