Enigma Home Page |
The 1938 system indicator and femalesWhen the indicator system of 1938 was introduced, the Poles discovered a phenomenon which enabled them to find the Walzenlage (the order of rotors) and the Ringstellung. As we have seen, the pairs of letters for indicator 1 and 4, 2 and 5 and 3 and 6 belong independently to three cycles. If one of the pairs is made up of identical letters, this corresponds to a cycle of one unit. The Poles called them "females". This phenomenon is not possible for every Grunstellung. The probability of having a female is only around 40%. Cycle theory tells us that having a female at a given Grundstellung or not happens independently of the Steckers. The Zygalski’s SheetsThe Polish Zygalski imagined a method using perforated sheets (a hole corresponding to the presence of a female) superimposed (one sheet for each female found in traffic) until there is more than one hole valid for the stacking. This last hole corresponds to a plausible solution of the Ringstellung of the middle and right rotors. Furthermore, for a given Walzenlage, all the Ringstellungs of the left rotor must be tested by making a new stack each time. Thus, a sheet corresponds to a Walzenage (for example: III-II-I) and to one of the Grunstellung of the left rotor (for example H) and includes all possible Grundstellung of the middle and right rotors (26x26) but at the Ringstellung ZZZ. The position of each hole (a female) is calculated using the Cyclometer in the absence of turnover, the latter depending on the Ringstellung. Look for females in trafficgrd indicator Grds Turnover? =================== (for ?-?-II) ZGN ZQE-ZTM 01 ZGN No SRF CRR-SRV 02 SRG No AWK BAC-IRC 03 AWM No VYG SHF-YGF 04 VYI No BTR JWR-WZR 05 BTT No NHL CIL-NQL 06 NHN No OLF QKT-WQT 07 OLH No JVQ BOY-OYY 08 JVS No FTA BFM-FFT 09 FTB Yes YDF VXT-VFF 10 YDF No UXT FTY-FUC 11 UXT No OTQ JYR-JMZ 12 OTQ No WJG SHK-ARK 13 WJI No Note: The FTA grundstellung should not be taken if a Walzenlage is tested with the wheel II in the right position. We recall that the wheel II turns the middle wheel when it goes from E to F. Using my Zygalski’s sheetsWe assume that we test the Walzenlage III-I-II (we must test all Walzenlage). Making Zygalski’s sheets with the cyclometer(They are the same as for the catalog of Rejewski but I keep only the lines which contain cycles of lengths 1 (females). $ mkdir sheets $ python3 cyclometer.py -W III,I,II | grep '^1-' > sheets/312.txtCreate the menu (the file which contains grunds) Note: I add the grunds as I try. $ cat grunds.txt ZGN SRG AWM VYI BTT NHN OLH JVS YDF UXT OTQ WJI With only 3 females, there are too many solutions (1369). $ python zygalski.py III,I,II grunds.txt sheets/312.txt |wc -l 1369 With only 7 females, there are again too many solutions (43). $ python zygalski.py III,I,II grunds.txt sheets/312.txt |wc -l 43 With only 8 females, there are many solutions but (20), it becomes possible to treat them. $ python zygalski.py III,I,II grunds.txt sheets/312.txt |wc -l 20 With 10 females, there are only 2 solutions. We can start to test them. $ python zygalski.py III,I,II grunds.txt sheets/312.txt CGY JSY With more females, there is only one solution left. $ python zygalski.py III,I,II grunds.txt sheets/312.txt JSY ConclusionWe have found the Walzenlage (III,I,II) and the Ringstellung (JSY). All that remains is to find the steckers. When we have found them all, we can decipher all the indicators and find the twice encrypted message keys. ReferencesNetz simulator |