Enigma Home Page |
The 1930 indicator systemThe indicator of each message corresponds to the first six letters of the message. For example "WKK LKM". It matches the twice encrypted message key. The catalog, descriptionThere is a catalog for each Walzenlage. A catalog contains the cycles for each Grundstellung. We have these indicators: PCI-FXX PQK-FNM FDN-PMJ For the couple of letters 1-4, we have: P->F-P, then we have a cycle of length 2: PF For these indicators: WKK-LKM LFV-ZFD ZZE-ROO RGV-CSD CVF-EGV EFW-WFT We have W->L->Z->R->C->E-W, then we have a cycle of length 6: WLZRCE These cycles are independent of the steckers. Conversely, the letters appearing in the cycles depend on the steckers and allow them to be deduced. It is interesting to classify the lines of a catalog according to the length of the cycles. Here is an extract from a catalog sorted by Grundstellung: lenght of the cycles, cycles, walzenlage, ringstellung, grundstellung 13-13 TQKUHBYWZOMSI:XVGFNARCEDLPJ IV,I,II ZZZ AAA 1-1-1-1-11-11 CHFXOGSQDNM:AKTJURIZEYV:L:B:W:P IV,I,II ZZZ AAB 13-13 VXZIMJNDTHSQB:LCWEURKPOFYGA IV,I,II ZZZ AAC 3-3-10-10 QYKGXSMHZF:UPLNEOWJDA:VCR:TBI IV,I,II ZZZ AAD 1-1-1-1-1-1-1-1-9-9 HIWOBETUF:LXPJAGQNR:K:Y:C:V:Z:M:D:S IV,I,II ZZZ AAE
Using the CatalogFirst we extract all the indicators from the messages of the day. Then we deduce the cycles Finally we search in a catalog (we assume the known or supposed Walzenlage) the Grundstellung compatible with the cycle lengths found in traffic. If the number of Grundstellungs is low, they can be tested in turn, otherwise the Catalog method cannot be used alone to find the key. Example:1) Here are the indicators foundWKK-LKM DRF-DRV ZZE-ROO JPY-JTP UQD-UNG SQW-INT TUZ-THQ UNN-UYJ YNM-BYK NKG-KKC AGO-ASE URU-URS PCI-FXX YJF-BCV YMD-BWG VPG-VTC OJM-OCK XFC-SFN WMM-LWK HYZ-HUQ KYA-NUL HDC-HMN WTW-LVT ZME-RWO WEI-LAX NJW-KCT LLB-ZPU LFV-ZFD GYH-GUB LNX-ZYF PQK-FNM KGC-NSN DYI-DUX NUB-KHU UII-UZX EFW-WFT HNT-HYW ELR-WPA XTH-SVB NUM-KHK EGY-WSP OMD-OWG PMX-FWF DES-DAR PIA-FZL AYJ-AUI AXJ-AQI RIK-CZM TKV-TKD SCB-IXU BZA-XOL OAM-OIK PPL-FTY XOJ-SLI UBQ-UBZ IMD-MWG FDN-PMJ VMW-VWT LAL-ZIY NYH-KUB QFS-QFR BZK-XOM ADH-AMB VLM-VPK UDR-UMA XDZ-SMQ PRJ-FRI DTZ-DVQ NTW-KVT RLS-CPR UCX-UXF WYB-LUU MPS-YTR XKW-SKT LLR-ZPA IWA-MJL IJF-MCV NSG-KEC KAN-NIJ UTU-UVS HNK-HYM FPT-PTW RGV-CSD QXH-QQB CVF-EGV QSC-QEN ARO-ARE FTW-PVT ILM-MPK AHZ-ADQ AHX-ADF BVM-XGK XIH-SZB JPG-JTC GSD-GEG AHE-ADO YWT-BJW RNI-CYX LXG-ZQC KFU-NFS 2) We deduce the following cyclesa - Couple 1-4 :WLZRCE, MYBXSI, PF, NK, T, H, U, Q, A, D, G, J, O, V Length of the cycles : 1-1-1-1-1-1-1-1-1-1-2-2-6-6b - Couple 2-5: AIZOLPTVGSE, CXQNYUHDMWJ, B, F, K, R Length of the cycles: 1-1-1-1-11-11c - Couple 3-6 : HBUSRALYP, CNJIXFVDG, EO, KM, QZ, TW Length of the cycles: 2-2-2-2-9-9 3) Search for compatible grundstellungsAssume that the Walzenlage of the month is III-I-II. We are looking for grundstellung compatible:a - Couple 1-4 : $ grep '^1-1-1-1-1-1-1-1-1-1-2-2-6-6' catalog/catalog_312.txt 1-1-1-1-1-1-1-1-1-1-2-2-6-6 CWOUSL:APJYHD:QV:EX:R:K:I:G:F:N:M:B:Z:T III,I,II ZZZ FZQ 1-1-1-1-1-1-1-1-1-1-2-2-6-6 EWUFXV:AZYPON:TR:MH:Q:J:S:K:L:C:G:I:B:D III,I,II ZZZ IWZ 1-1-1-1-1-1-1-1-1-1-2-2-6-6 YPMXRT:IZCELV:KN:BF:G:W:A:O:U:H:S:Q:J:D III,I,II ZZZ NFN 1-1-1-1-1-1-1-1-1-1-2-2-6-6 DGCIZE:JSALRT:VH:WB:N:P:U:F:X:K:Y:M:O:Q III,I,II ZZZ WQWb - Couple 2-5 There are 733 possible grundstellungs.c - Couple 3-6 There are 183 possible grundstellungs We base ourselves on the 4 grundstellung of the couple 1-4 and we therefore make 4 assumptions compatible: Grund : FZQ, FZR, FZS : $ awk '/FZQ$/{ print $0;getline;print $0;getline;print $0}' catalog/catalog_312.txt 1-1-1-1-1-1-1-1-1-1-2-2-6-6 CWOUSL:APJYHD:QV:EX:R:K:I:G:F:N:M:B:Z:T III,I,II ZZZ FZQ 1-1-12-12 QZMGNCWLDJUH:YTEROBXSIVPF:K:A III,I,II ZZZ FZR 13-13 ITFGBHNWYPCEZ:XJDRAOSKUQLMV III,I,II ZZZ FZS Grund : IWZ, IWA, IWB $ awk '/IWZ$/{ print $0;getline;print $0;getline;print $0}' catalog/catalog_312.txt 1-1-1-1-1-1-1-1-1-1-2-2-6-6 EWUFXV:AZYPON:TR:MH:Q:J:S:K:L:C:G:I:B:D III,I,II ZZZ IWZ 1-1-1-1-2-2-4-4-5-5 CNBYQ:ZHAFG:VXPO:TJRD:SI:ME:U:W:K:L III,I,II ZZZ IWA 13-13 HXEISUBFYKTQD:NJZCRPALMWVOG III,I,II ZZZ IWB Grund : NFN, NFO, NFP $ awk '/NFN$/{ print $0;getline;print $0;getline;print $0}' catalog/catalog_312.txt 1-1-1-1-1-1-1-1-1-1-2-2-6-6 YPMXRT:IZCELV:KN:BF:G:W:A:O:U:H:S:Q:J:D III,I,II ZZZ NFN 1-1-1-1-11-11 JZVXMGDNHYU:OLCBRSAWEQT:I:F:P:K III,I,II ZZZ NFO 2-2-2-2-9-9 NJZRQXDFW:BHYPLUATI:EO:CG:SV:KM III,I,II ZZZ NFP Grund : WQW, WQX, WQY $ awk '/WQW$/{ print $0;getline;print $0;getline;print $0}' catalog/catalog_312.txt 1-1-1-1-1-1-1-1-1-1-2-2-6-6 DGCIZE:JSALRT:VH:WB:N:P:U:F:X:K:Y:M:O:Q III,I,II ZZZ WQW 1-1-1-1-11-11 QSMJGXNOKEB:PVYDHZLTFUA:R:W:C:I III,I,II ZZZ WQX 13-13 VDQZIJNPCSBUL:OYWRFXEMKTAHG III,I,II ZZZ WQY Only the third hypothesis (NFN) corresponds to the cycles found. We know part of the key: Walzenlage: III-I-II (if it was a hypothesis, it is confirmed. Ringstellung / Grundstellung: ZZZ / NFN . We will be able to know the real Ringstellung when we decipher messages. Find the steckersCycles can help us: Cycles of length 2:
Couples 1-4: in the catalog: PF, NK, in the traffic: BF, KN Couples 3-6: in the catalog: EO, CG, SU, KM, in the traffic: EO, KM, QZ, TW Deductions: E,O are self-steckered Cycles of length 1 :
Couples 2-5: in the catalog: I, F, P, K, in the traffic: B, F, K, R
Couples 1-4: Then, we have: N,K,E,O,F are self-steckered and two steckers: BP and IR
We decipher the indicators (with only the two steckers BP and IR): 1) URU-URS => JFX-JFM, With ST,VW: JFX JFX With SV,WT: JFX JFK, then the correct steckers are: ST and VW We add ST and VW: 2) UNN-UYJ => JVA-JVA, 3) YNM-BYK => CVW-CVW, 4) YJO-BCV => CAG-CWB, 5) AGO-ASE => GQG-GUG, ... I know all the steckers when all indicators deciphered give the same key twice. We let the reader discover the last two steckers. Find the ringstellungWe can find the ringstellung of the right wheel and the middle wheel by deciphering the messages. Example: Here is a little message to decipher (with the indicator). URUUR SQWND WRYXQ IEQPT JBJOH ELJPA OERFG DYKLH FXZXP QGBWX YLAHQ VFLCY UKWD Catalog creationThe catalog is created with the Cyclometer. Here is an example of creation using my simulator (for UKW B [by default]): $ python3 cyclometer.py -U B -W I,III,II > catalog/catalog_132.txt Download the catalog (for UKW A)Rejewski's Catalog (TAR) |