Enigma-machinesimulator
Stel een Enigma I in — drie van de vijf rotors, reflector B of C, ringinstellingen, startposities en tot tien steekbordkabels — en typ dan: de rotors schuiven door, een lampje gaat branden en elke toetsaanslag wordt gevolgd. De machine werkt in beide richtingen, dus dezelfde instellingen ontcijferen het bericht.
Laad een voorbeeld
Instellingen van de machine
Tot tien paren letters, gescheiden door spaties, zoals AV BS CG. Een letter kan maar in één paar zitten.
De machine had alleen de 26 lettertoetsen, dus spaties, cijfers en leestekens worden niet getypt. Operators schreven getallen voluit en schreven X voor een punt.
De machine
Rotorvensters
Links
Venster (Links) toont A
I
Midden
Venster (Midden) toont A
II
Rechts
Venster (Rechts) toont F
III
Na de laatste toetsaanslag. Elke aanslag schuift eerst de rechter rotor door voordat de stroom loopt, dus de eerste letter wordt één positie na de start versleuteld.
Lampenbord
Toetsenbord
Pad van de laatste toetsaanslag
- ToetsA
- SteekbordA
- III (Rechts)G
- II (Midden)R
- I (Links)U
- Reflector BC
- I (Links)Y
- II (Midden)V
- III (Rechts)O
- LampjeO
Via het steekbord, de rotors van rechts naar links, de reflector, en terug via de rotors en het steekbord naar een lampje.
Uitvoer
BDZGO
5 letters getypt
Om te ontcijferen stel je dezelfde rotors, ringen, steekbord en startpositie in en typ je de cijfertekst — de Enigma werkt in beide richtingen.
Toetsaanslagen
| # | Vensters | Toets | Lampje |
|---|---|---|---|
| 1 | AAB | A | B |
| 2 | AAC | A | D |
| 3 | AAD | A | Z |
| 4 | AAE | A | G |
| 5 | AAF | A | O |
Zo gebruik je de Enigma-machinesimulator
- 1. Stel de machine in. Kies de reflector en stel dan voor elke positie — links, midden, rechts — de rotor, zijn ringinstelling en de letter die bij de start in het venster staat, in.
- 2. Leg het steekbord. Typ tot tien letterparen, zoals AV BS CG; elk paar wisselt twee letters, op de heenweg en weer terug.
- 3. Typ het bericht, in het vak of op de toetsen. De machine had alleen de 26 lettertoetsen, dus spaties, cijfers en leestekens worden overgeslagen — operators schreven getallen voluit en schreven X voor een punt.
- 4. Kijk wat er gebeurt. De vensters tonen de rotors na de laatste toetsaanslag, het lampenbord licht de laatste letter op, en het signaalpad en het logboek volgen elke aanslag.
- 5. Ontcijfer met dezelfde instellingen. Stel dezelfde rotors, ringen, steekbord en startpositie in en typ de cijfertekst. De drie voorbeelden laden gepubliceerde testgevallen.
Hoe de Enigma I werkt
Een toetsaanslag doet twee dingen, in deze volgorde. Eerst schuiven de rotors: de rotor rechts schuift altijd één positie door, en een kerf op zijn ring neemt de middelste rotor één keer per omwenteling mee. Dan loopt de stroom van de toets door het steekbord, de drie rotors van rechts naar links, de reflector, de rotors nogmaals van links naar rechts en het steekbord opnieuw, en doet een lampje branden.
Elke rotor is een vaste schrambling van het alfabet, en het schuiven draait die tegen de letters, zodat dezelfde toets elke keer een ander lampje laat branden. De reflector koppelt letters in paren, waardoor de machine omkeerbaar is — en geen letter ooit als zichzelf wordt versleuteld. Met rotors I, II en III, reflector B, ringen AAA en startpositie AAA lichten bij het typen van AAAAA de lampjes B, D, Z, G en O op: de standaardcontrole van elke Enigma-simulator.
| Onderdeel | Bedrading van A → Z | Omslagpunt | Ingevoerd |
|---|---|---|---|
| Rotor I | EKMFLGDQVZNTOWYHXUSPAIBRCJ | Q → R | 1930 |
| Rotor II | AJDKSIRUXBLHWTMCQGZNPYFVOE | E → F | 1930 |
| Rotor III | BDFHJLCPRTXVZNYEIWGAKMUSQO | V → W | 1930 |
| Rotor IV | ESOVPZJAYQUIRHXLNFTGKDCMWB | J → K | december 1938 |
| Rotor V | VZBRGITYUPSDNHLXAWMJQOFECK | Z → A | december 1938 |
| Reflector B | YRUHQSLDPXNGOKMIEBFZCWVJAT | — | november 1937 |
| Reflector C | FVPJIAOYEDRZXWGCTKUQSBNMHL | — | 1940, kort |
Omslagpunt: wanneer de rotor van de eerste naar de tweede letter in zijn venster schuift, neemt hij de rotor links van zich één positie mee.
Ringinstellingen en de dubbele stap
De ringinstelling (Ringstellung) draait de bedrading tegen de letterring, terwijl de kerf bij de letters blijft. Met ringen BBB in plaats van AAA geven dezelfde vijf toetsaanslagen EWTYX.
De middelste rotor heeft een beroemde eigenaardigheid: wanneer hij zijn eigen omslagpunt bereikt, schuift hij bij de volgende toetsaanslag nog een keer door en neemt de linker rotor mee. Vanuit ADU met rotors I, II en III lezen de vensters achtereenvolgens ADV, AEW, dan BFX — de middelste rotor ging van D naar E en meteen door naar F. Laad het voorbeeld De dubbele stap om het te zien.
Uitgewerkt voorbeeld: een bericht met ringen en steekbord
Een volledig bericht laadt het uitgewerkte voorbeeld uit het Duitse Wikipedia-artikel over de Enigma: reflector B, rotors I IV III, ringen 16 26 08 (P Z H) en steekbord AD CN ET FL GI JV KZ PU QY WX. De operator koos startpositie QWE, typte zijn berichtsleutel RTZ, zag EWG en verstuurde QWE EWG onversleuteld.
De ontvanger zet QWE, typt EWG en leest RTZ af van de lampjes. Ingesteld op RTZ wordt de cijfertekst EJZLB SYEQP DWDUE EJJOU PSOFL B… ontcijferd tot XAACH ENXAA CHENX ISTGE RETTE T…: Aachen ist gerettet, “Aachen is gered” — met X voor spaties en punten, de plaatsnaam dubbel en CH geschreven als Q, de conventies van Duitse militaire berichten.
Enigma kraken: Rejewski, Bletchley Park en Turing
Arthur Scherbius vroeg in 1918 het octrooi aan voor zijn rotormachine en verkocht in 1923 de eerste commerciële Enigma. De Duitse marine nam in 1926 een gewijzigde versie in gebruik, het leger voegde in 1928 het steekbord toe, en de Enigma I was vanaf 1930 in dienst. Poolse wiskundigen braken hem als eersten: rond december 1932 gebruikte Marian Rejewski van het Poolse Cipher Bureau permutatietheorie, met dagelijkse sleutels die de Fransen van een Duitse spion, Hans-Thilo Schmidt, hadden verkregen, om de bedrading van de rotors te achterhalen. Samen met Jerzy Różycki en Henryk Zygalski bouwde hij Zygalski-bladen en de elektromechanische bomba om dagelijkse instellingen te vinden, en in juli 1939 deelden de Polen bij Pyry, nabij Warschau, alles met Franse en Britse cryptologen.
In Bletchley Park ontwierp Alan Turing de Britse bombe, die rotorinstellingen testte tegen een crib — gewone tekst die de codebrekers in een bericht verwachtten — en het diagonaalbord van Gordon Welchman maakte hem veel doeltreffender; de eerste bombe werd in maart 1940 geïnstalleerd. Omdat geen letter zichzelf versleutelt, kon een geraden woord niet staan waar het een letter over zichzelf zou zetten, wat hielp om cribs te plaatsen. De inlichtingen uit Enigma en andere chiffers, met de codenaam Ultra, waren een aanzienlijke hulp voor de geallieerden.
Was de Enigma veilig?
Op papier was hij sterk: drie van de vijf rotors in volgorde, hun startposities en tien steekbordparen geven 158.962.555.217.826.360.000 instellingen — ongeveer 1,6 × 10²⁰, of 67 bits — vóórdat de ringinstellingen zijn meegeteld. Hij viel door zijn ontwerp en zijn gebruik: geen letter werd zichzelf, operators stuurden voorspelbare zinnen en tot mei 1940 typten ze elke berichtsleutel twee keer. Vandaag reconstrueert een computer Enigma-instellingen uit alleen de cijfertekst, dus deze simulator is bedoeld om te leren, niet om geheim te houden.
Veelgestelde vragen
- Hoe werkt een Enigma-machine?
- Elke toetsaanslag schuift eerst de rotors en stuurt dan stroom door het steekbord, drie rotors, een reflector, de rotors nogmaals in omgekeerde richting en het steekbord opnieuw, om een lampje te laten branden. Omdat de rotors bij elke aanslag bewegen, wordt elke letter met een ander alfabet versleuteld, dus een herhaalde letter in het bericht komt niet als herhaling in de cijfertekst terug.
- Wat is de dubbele-stapanomalie van de Enigma?
- De middelste rotor schuift twee toetsaanslagen achter elkaar door wanneer hij zijn eigen omslagpunt bereikt: één keer wanneer de rotor rechts hem daarheen brengt, en nog een keer bij de volgende aanslag, wanneer hij de linker rotor meeneemt. Vanuit ADU met rotors I, II en III lezen de vensters ADV, AEW, BFX. Veel simulatoren maken hier een fout; deze is erop getest.
- Waarom kan de Enigma een letter nooit naar zichzelf versleutelen?
- Door de reflector: die koppelt een letter altijd aan een andere, zodat de stroom langs een andere draad terugkeert en het lampje dat brandt nooit de ingedrukte toets is. Dat maakte de machine omkeerbaar, maar het vertelde codebrekers ook waar een geraden woord niet kon staan.
- Hoe ontcijfer ik een Enigma-bericht?
- Stel dezelfde reflector, rotorvolgorde, ringinstellingen, steekbord en startpositie in als de verzender, en typ daarna de cijfertekst: de lampjes spellen de platte tekst. Oorlogsberichten droegen ook een versleutelde berichtsleutel, dus de ontvanger ontcijferde eerst die sleutel en zette daarna de rotors daarop.
- Wie heeft de Enigma-code gekraakt?
- De eerste doorbraak was Pools: Marian Rejewski reconstrueerde rond december 1932 de bedrading van de rotors en las samen met Jerzy Różycki en Henryk Zygalski jarenlang Enigma-verkeer voor de oorlog. Vanaf 1939 ging het werk door in Bletchley Park, waar Alan Turing, Gordon Welchman en duizenden anderen, onder wie veel vrouwen die de bombes bedienden, er een industriële operatie van maakten.