Chapter 2: Analysis of a Single-Wheel Hagelin Cipher machine Explanations 1. C == Cipher text, K == Key, P == Plain text C = (K -1 -P) % 26 Key : 0,9,0,... Plain text : "USz..." C = (0 -1 -20) % 26 = 5 = "F" C = (9 -1 -18) % 26 = 16 = "Q" C = (0 -1 -25) % 26 = 0 = "A" etc... Cipher text : "FQA..." 2. K = (C + P + 1) % 26 Cipher text : "URC..." Plain text : "FIE..." K = (20 + 5 + 1) % 26 = 0 K = (17 + 8 + 1) % 26 = 0 k = (2 + 4 + 1) % 26 = 7 etc... Key: 0 0 7 7 0 0 7 7 7 0 0 7 0 7 0 0 7 0 0 (Wheel 19) 3. P = (K -1 -C) % 26 Message Key: "L" => The active Pin : (11+10)%17=4 => "E" A B C D E F G H I J K L M N O P Q 0 3 3 0 3 3 3 0 3 0 3 0 0 0 3 3 0 (Wheel 17) K: 3 3 3 0 ... (E F G H ...) -1 -1 -1 -1 -C:-1 -2 -9 -6 ... (B C J G ...) ================================ P: 1 0 19 19 ... (B A T T ...) Plain text: BATTLES WERE FOUGHT FEROCIOUSLY 4. C1 = (K1 -1) -P C2 = (K2 -1) -P => (C1 - C2) = (K1 - K2) = DELTA => DELTA = 0 - 0 = 0 or X - X = 0 or X - 0 = X or 0 - X = -X => DELTA = { 0, X, -X } Where "X" is the number of Lugs. Cipher1 = "YXXRW WYARZ..." Cipher2 = "YXQRW DNATS..." Delta[0] = (24 - 24) = 0 Delta[2] = (23 - 16) = 7 Delta[5] = (22 - 3) = 19 = 26 - 7 Then, X = 7 If K=0 Then: TSUAT TXRYS OYZYI XEWST RTIEL EKYSZ If K=7 Then: AZBHA AEYFZ VFGFP ELDZA YAPLS LRFZG Plain: A BAT TERY OF FI ELD A RTILL ERY If K=0 Then: TSBAT MERRZ HFSFB XEWSA RTBLL XRRZS If K=7 Then: AZIHA TLYYG OMZMI ELDZH YAISS EYYGZ Plain: A BAT TERY OF FI ELD A RTILL ERY 5. The 1st message begins by "THE" (1st hint) PSVA = THEZ => Key: (15+19+1),(18+7+1),(21+4+1),(0+25+1)= 9,0,0,0 We can deduce the beginning of the 2nd message: "OURz" We decipher each cipher message with key equal to 0 or equal to 9, and we choose one letter in each column to produce plain text : 1st Message : K=0 KHEZS RDVZU RYQWA RQNRJ ZDECC RIEUQ K=9 TQNIB AMEID AHZFJ AZWAS IMNLL ARNDZ Plain THE S AME D AY WA R WAS DECL ARED Key 90000 99909 90900 09999 00009 99099 (Wheel 19) 2nd Message : K=0 FURZL VXRLQ SAKTL EQZJQ NOWZF MVRQQ K=9 ODAIU EGAUZ BJTCU NZISZ WXFIO VEAZZ Plain OUR L EGAL BATTL E IS NOW O VER With two messages, we can verify each hypothesis easily. 6. The message begins by "FIRST", we can deduce the key: UXIHMG = FIRSTZ => Key : (20+5+1)=0, (23+8+1)=32%26=6,(8+17+1)=0, (7+18+1)=0, (12+19+1)=32%26=6,(6+25+1)=6 There are 6 lugs. We can decipher with two hypotheses: the K=0 or K=6 and we choose one letter in each column to produce plain text : If K=0 FCRSN TCOLP STXYZ ENDYD ZNBEZ YASNY LHZSE WTOLT If K=6 LIXYT ZIURV YZDEF KTJEJ FTHKF EGYTE RNFYK CZURZ FIRST CORP S DEF ENDED THE EASTE RN SE CTOR 7. We suppose the last letters are "Z": ..LLA = ..ZZZ => Key : (11+25+1)=11, (11+25+1)=11, (0+25+1)=0 Then, the number of lugs are 11. If K=0 WEOUD RCESO WXSOW ANZXC TDOTN EMNOU DXWOL TSOOZ If K=11 HPZFO CNPDZ HIDZH LYKIN EOZEY PXYZF OIHZW EDZZK Plain: HE FO RCED HIS W AY IN TO EN EMY F OXHOL ES 8. We suppose the last letters are "Z": ..IDD = ..ZZZ => Key : (8+25+1)=8,(3+25+1)=3,(3+25+1)=3 Then, we have 3 lugs. If K=0 EBZQU OKEAZ THBWD UKZOK WTEEW BNBMY ZPLID FERWW If K=3 HECTX RNHDC WKEZG XNCRN ZWHHZ EQEPB CSOLG IHUZZ Plain: HE TU RNED THE G UN ON THE ENEMY SOLD IER Key: 33030 33030 00333 03003 30303 30300 03330 300 9. We search the shift which is compatible with probable word "CORPS" If K=0 TUEMT WOMCB ECSZA RRMAO GZVNM DIRRC GMPON TAPGM CORPS ? C. ..S C ..P (we search 2 letters) We search O RP OR.S If K=13 GHRZG JBZPO RPFMN EEZNB TMIAZ QVEEP TZCBA GNCTZ plain THE T WO CO RPS A RE NO T IN DIREC T CON TACTY 10. We sum the number of the most probable letters ("Z" and "E") for each number of Lugs possible. If K= 1 GPSOU ITOUJ STIOI JNFAB BFSXR POAUG DDQTA GBRFE OYPQB OTHTA TPMEX FSH Z:0, E:3 If K= 2 HQTPV JUPVK TUJPJ KOGBC CGTYS QPBVH EERUB HCSGF PZQRC PUIUB UQNFY GTI Z:1, E:2 If K= 3 IRUQW KVQWL UVKQK LPHCD DHUZT RQCWI FFSVC IDTHG QARSD QVJVC VROGZ HUJ Z:2, E:0 ... If K=12 RADZF TEZFU DETZT UYQLM MQDIC AZLFR OOBEL RMCQP ZJABM ZESEL EAXPI QDS Z:6, E:6 Youpee !!! K = 0 FORNT HSNTI RSHNH IMEZA AERWQ ONZTF CCPSZ FAQED K =12 RADZF TEZFU DETZT UYQLM MQDIC AZLFR OOBEL RMCQP Plain FOR T HE FI RST T IME A MERIC AN TR OOPS FACED K = 0 NXOPA NSGSZ SOLDW ERG K =12 ZJABM ZESEL EAXPI QDS Plain JAPA NESE SOLDI ERS 11. DELTA = (C1 - C2 ) = { 0, X, -X } Where "X" is the number of Lugs. Cipher1 : GSVAO GGUUA KVICA CLGXF GGVWA Cipher2 : GZVHH GZBUA KVPCH VEGXF ZGCWH Delta[ 0] = (6 - 6) = 0 Delta[ 1] = (18 - 25) = 19 = (26 - 7) = -7 % 26 ... Delta[ 3] = (0 - 7) = 19 = (26 - 7) = -7 % 26 Delta[ 4] = (14 - 7) = 7 Then, X = 7 No. 1 - K=0 THEZL TTFFZ PERXZ XOTCU TTEDZ K=7 AOLGS AAMMG WLYEG EVAJB AALKG Plain THE S TAFF WERE EVACU ATED Key 00007 07000 70070 77700 70000 No. 2 - K=0 TAESS TAYFZ PEKXS EVTCU ATXDS K=7 AHLZZ AHFMG WLREZ LCAJB HAEKZ Plain THE S TAFF WERE EVACU ATED Key 07070 00700 70777 00700 00707 12. We need to try each possible number of Lugs, with 3 lugs: (Count Z and Z letters is not sufficient because the message is too short). If K=0 CFBRC EWCID EQIKD ZMXOH EDZQE EWXZT FLN If K=3 FIEUF HZFLG HTLNG CPARK HGCTH HZACW IOQ Plain: FIERC EZFIG HTING ZMARK EDZTH EZACT ION