Menu Enigma 012345678 ZZZZZZZZZ (position of the left rotor) 5 ZZZZZZZZZ (position of the middle rotor) A-----H Grund. ABCDEFGHI (position of the right rotor) /| || plain BEACHHEAD 7/ |2 4||6 cipher EDBGEAHDB D--B-----E |8 0 | Input letter: E, terminal: X | 1 | 4 loops ---------- 4 loops: (Input: E: the input letter start each loop) ZZE:ZZG ZZA:ZZC:ZZF:ZZE ZZA:ZZI:ZZH:ZZF:ZZE ZZA:ZZI:ZZB $ time for walzenlage in I,II,III I,III,II II,I,III II,III,I III,I,II III,II,I ; do sh mini_bombe.sh $walzenlage ZZE:ZZG,ZZA:ZZC:ZZF:ZZE,ZZA:ZZI:ZZH:ZZF:ZZE,ZZA:ZZI:ZZB ; done stop II,I,III ['X', 'X', 'X', 'X'] BGA stop II,III,I ['B', 'B', 'B', 'B'] XAC stop III,I,II ['B', 'B', 'B', 'B'] CXL stop III,II,I ['N', 'N', 'N', 'N'] EFR An example with a stop (Terminal: X, Walzenlage: II,I,III, Indicator: ZZB) $ python3 first_turing_bombe.py -W II,I,III -T X -I ZZB -M \ ZZE:ZZG,ZZA:ZZC:ZZF:ZZE,ZZA:ZZI:ZZH:ZZF:ZZE,ZZA:ZZI:ZZB stop II,I,III ['X', 'X', 'X', 'X'] BGX Another example with a stop (Terminal: N, Walzenlage: III,II,I, Indicator: ZZB) $ python3 first_turing_bombe.py -W III,II,I -T N -M \ ZZE:ZZG,ZZA:ZZC:ZZF:ZZE,ZZA:ZZI:ZZH:ZZF:ZZE,ZZA:ZZI:ZZB -I ZZB stop III,II,I ['N', 'N', 'N', 'N'] EFO