Home Page Hebern's machines Home Page Hebern 1 rotor Home Page Cryptanalysis, Home Page
|
IntroductionIn a previous chapter, we studied Friedman’s approach to break a message encrypted by a Hebern machine. We used his method in the case of a cryptogram produced by the Hebern machine 1 rotor. In this chapter, we study a cryptogram also produced by a 1-rotor Hebern machine but for which the permutation Keyboard is unknown in addition to the rotor. The methodOverall the approach is the same. We begin by reconstructing a basic cipher-text sequence (the one corresponding to the letter most frequent) and then from it, we reconstruct all of the basic cipher-text sequence. The essential difference is that after rebuilding the basic cipher-text sequence, we knew everything and we could start deciphering the cryptogram. In this case, we do not know the meaning of each of the basic cipher-text sequences. We finally obtain a long cryptogram ciphered by a simple substitution (Keyboard). Solving it is not very complex. ExampleCreates the cryptogram C:\H1_TOOLS> python hebern1_tui.py -R c5 -K LFS < MSGS\baskerville.pln > MSGS\basker4.cry C:\H1_TOOLS> python groupe.py < MSGS\basker4.cry OUKIF GDKAF KVVGF XCCVJ TEPMS GIQYA ZCPWK VIVNP YRSYZ CAUVY BIZQY ONOCF FSXHL ZFOOQ NAAXV RAEKG MZDMQ FQCXY YINHG XWXSO RZWGE GMUIT YAJHQ RNAOG KWNIM SUGWG QQKZO QAORB JXVNU FRYZL SIWYA MQMWY EZZNQ GKVZN UOECC CMIBA FMOVI LHHCW XFXYG EVQZZ ODFJN XOMAG YMMQO FOGEV ZVEDA QFLGE BXYPA PIQZX YTROM KXIHW MBOID VCXAK DGOBZ MTPIV EBOCY HJNWM IPUFA GPWUB DBSWF FOGTP EGLYD PZIBQ BTUAI KBZQO ISRVV QYHAS PMNIP NGUPD HUPFL FAAMG FHZGB WKFZW BZLTO WWUWJ EZSLJ KSDNV ZPWZT JRHNU PYXNW SDTXS RKTID QMZBE NIPKP DGDFR EZZNQ NXCCQ YVASU FSEOW TTQKS UFIGU JEYNC YWGLB OPITK VWGIL WFOQU QCNCF BLUXE QTIIL TIDGD BUYLO ... We look for letters connected by an interval of index 5 (to start): C:\H1_TOOLS> python friedman_h1.py -I 5 < MSGS\basker4.cry A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A: 4 0 3 2 1 1 0 1 2 2 1 4 1 0 0 3 0 2 0 0 1 0 0 0 2 0 B: 10 0 4 13 8 1 9 8 4 1 1 7 0 1 3 10 13 4 0 0 1 5 1 0 1 2 C: 1 0 3 5 4 1 4 1 3 0 3 3 0 0 2 3 1 1 0 0 0 0 0 0 1 0 D: 0 0 0 2 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 E: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 F: 5 0 4 6 4 1 8 3 3 1 0 5 1 0 2 3 2 1 0 0 1 0 1 0 3 0 G: 13 0 15 22 13 4 14 5 12 4 2 12 5 1 3 12 18 7 0 0 3 7 7 0 3 2 H: 3 0 2 4 1 0 2 2 2 0 0 2 2 1 1 0 2 0 0 0 0 4 1 0 0 0 I: 2 0 5 9 7 2 7 2 8 1 1 5 0 0 1 4 6 3 0 0 4 4 4 0 2 1 J: 13 0 14 10 11 1 9 5 17 3 2 9 1 1 3 12 10 6 0 0 5 0 8 0 2 1 K: 2 0 0 4 1 0 2 0 6 2 0 5 0 0 0 3 3 0 0 0 0 1 1 0 0 0 L: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 M: 10 0 10 12 6 1 6 3 8 1 4 8 3 0 4 8 11 3 0 0 4 7 6 0 5 2 N: 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 O: 10 0 5 19 5 1 2 7 7 2 0 10 6 0 1 21 10 2 0 1 3 8 5 0 0 1 P: 2 0 1 3 2 3 1 4 1 0 0 4 1 0 2 1 1 2 0 0 2 1 2 0 1 1 Q: 6 1 5 3 6 1 5 1 3 0 2 7 0 0 6 7 6 1 0 0 0 2 4 0 2 0 R: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S: 1 0 1 3 4 0 3 1 1 1 0 2 0 0 0 4 4 3 1 0 1 1 1 0 0 0 T: 9 0 9 13 4 1 7 5 6 3 0 6 5 0 3 5 7 1 0 0 4 4 5 0 0 2 U: 6 0 6 11 5 1 6 7 3 2 4 11 1 0 6 8 8 2 0 0 5 3 1 0 1 4 V: 1 0 2 2 2 0 1 0 1 0 1 1 0 0 2 0 1 0 0 0 0 1 2 0 1 2 W: 4 0 4 6 2 0 1 1 0 0 0 4 0 0 2 6 1 0 0 0 0 1 1 0 1 0 X: 10 0 6 10 5 1 6 2 12 1 0 8 3 2 2 5 8 0 0 0 1 2 2 0 0 1 Y: 1 0 1 1 1 1 2 0 1 0 0 5 1 0 0 1 1 0 0 0 0 0 1 0 1 0 Z: 6 0 3 4 3 1 5 1 2 2 0 5 1 1 1 1 2 2 0 0 1 1 2 0 0 1 119 1103165 95 22101 59102 26 21124 31 7 44118115 40 1 1 36 52 55 0 27 20Column D corresponds to the most frequent letter (E). If a letter from cryptogram is D to the effective key A (key Z), the 5th letter following is probably a G if it's also an E. Finally, we reconstruct the basic cipher-text for the letter E: D Q I R O G Y F X H J V L N Z H M S W P B E T K A C We can now reconstruct the complete encryption table in using diagonals ABC... However, we do not know the meaning of the columns. The only thing certain is that a column corresponds to a particular plain text letter. A B C D E F G H I J K L M N O P Q R=S T U V W X Y Z A D R K U S L E M F Q T G X A N W C J O I V Z P H Y B B Q J T R K D L E P S F W Z M V B I N H U Y O G X A C C I S Q J C K D O R E V Y L U A H M G T X N F W Z B P D R P I B J C N Q D U X K T Z G L F S W M E V Y A O H E O H A I B M P C T W J S Y F K E R V L D U X Z N G Q F G Z H A L O B S V I R X E J D Q U K C T W Y M F P N G Y G Z K N A R U H Q W D I C P T J B S V X L E O M F H F Y J M Z Q T G P V C H B O S I A R U W K D N L E X I X I L Y P S F O U B G A N R H Z Q T V J C M K D W E J H K X O R E N T A F Z M Q G Y P S U I B L J C V D W K J W N Q D M S Z E Y L P F X O R T H A K I B U C V G L V M P C L R Y D X K O E W N Q S G Z J H A T B U F I M L O B K Q X C W J N D V M P R F Y I G Z S A T E H U N N A J P W B V I M C U L O Q E X H F Y R Z S D G T K O Z I O V A U H L B T K N P D W G E X Q Y R C F S J M P H N U Z T G K A S J M O C V F D W P X Q B E R I L Y Q M T Y S F J Z R I L N B U E C V O W P A D Q H K X G R S X R E I Y Q H K M A T D B U N V O Z C P G J W F L S W Q D H X P G J L Z S C A T M U N Y B O F I V E K R T P C G W O F I K Y R B Z S L T M X A N E H U D J Q V U B F V N E H J X Q A Y R K S L W Z M D G T C I P U O V E U M D G I W P Z X Q J R K V Y L C F S B H O T N A W T L C F H V O Y W P I Q J U X K B E R A G N S M Z D X K B E G U N X V O H P I T W J A D Q Z F M R L Y C S Y A D F T M W U N G O H S V I Z C P Y E L Q K X B R J Z C E S L V T M F N G R U H Y B O X D K P J W A Q I Z If we use as rotor the wiring given by the first line of the previous table to decipher the cryptogram, we do not obtain the plaintext message but gets a simple substitution. C:\H1_TOOLS> python ic.py < MSGS\basker4.cry 0.0385 C:\H1_TOOLS> python hebern1_tui.py -R =DRKUSLEMFQTGXANWCJOIVZPHYB -d < MSGS\basker4.cry | python ic.py 0.0655 A simple substitution can be solved by hand by a simple amateur. Of course you can get help from a computer :-). C:\H1_TOOLS> python hebern1_tui.py -R =DRKUSLEMFQTGXANWCJOIVZPHYB -d < MSGS\basker4.cry > MSGS\basker4_mono.cry C:\H1_TOOLS> python hc_substi.py -c MSGS\basker4_mono.cry 0 7.564734432137255 CHAPTERMRSHERLOCKHOLMESMRSHERLOCKHOLMESWHOWASUSUAL |