Introduction
SIGABA (also called the ECM Mark II) was the cipher machine the US military trusted for high-level communications during WWII, and no enemy force ever broke it. William Friedman and Frank Rowlett designed it in the 1930s with a feature that no other wartime rotor machine had: irregular cipher rotor stepping controlled by a separate bank of control rotors and an index rotor. This tool simulates that mechanism in your browser. Set the start positions for five cipher rotors and five control rotors, type a message, and watch which cipher rotor steps after each character. The step trace shows the control output and the resulting rotor movement. Everything runs client-side.
What this tool does
- Encrypts and decrypts text using a simulation of SIGABA (ECM Mark II), the US WWII cipher machine that was never broken by enemy forces
- Models five cipher rotors that scramble the signal through a reflector, with stepping driven by five separate control rotors and an index rotor
- Generates a control signal by passing a fixed input through the five control rotors, then uses the index rotor to select which cipher rotor steps next
- Supports independent A-Z start positions for all five cipher rotors and all five control rotors, matching the machine's daily key settings
- Displays rotor position columns for both the cipher and control banks, highlighting which cipher rotor stepped on the most recent character
- Produces a step-by-step trace showing the input, output, control output letter, the cipher rotor that stepped, and the full cipher rotor positions after each character
How this tool works
The tool maintains two rotor banks. The cipher bank has five rotors that process each letter: the signal passes forward through all five, hits a reflector, and passes backward through all five. The control bank has five rotors that step in regular odometer fashion (the rightmost advances every character, the next advances when the rightmost wraps, and so on). After stepping the control rotors, the tool passes a fixed signal (position 0, the letter A) through all five control rotors to produce a control output value from 0 to 25.
The index rotor maps that control output to a cipher rotor number (0 through 4). The selected cipher rotor advances by one position. This is what makes SIGABA different from every other wartime rotor machine: the cipher rotors do not step in a predictable odometer pattern. Which rotor steps, and when, depends on the control rotors' current state, which changes every character. The same cipher rotor might step twice in a row, or a different rotor might step, in a pattern that an attacker cannot predict without knowing the control rotor settings.
The tool displays both rotor banks as columns showing the current position letter, with the stepped cipher rotor highlighted. The step trace table lists each character with its input, output, the control output letter, the cipher rotor that stepped (C1 through C5), and the full cipher rotor positions after stepping. Because the reflector makes the system reciprocal, encryption and decryption use the same operation: feed ciphertext through the same settings and you get plaintext back.
The rotor wirings in this tool are example permutations for education. The real SIGABA used 26-contact rotors with classified wiring, and its exact stepping logic was more complex than this simulation. The core principle (control rotors driving irregular cipher rotor stepping via an index rotor) is what the tool demonstrates.
How SIGABA (ECM Mark II) works
SIGABA was developed by William F. Friedman and Frank B. Rowlett at the US Army's Signal Intelligence Service in the 1930s. The NSA's declassified history of ECM Mark II describes the machine's development and its operational use from 1941 through the 1950s. The machine was also known as the Electric Cipher Machine (ECM) Mark II, and the Navy called it CSP 888.
The key innovation was the separation of cipher rotors from control rotors. In the Enigma Machine, the cipher rotors step in an odometer pattern (rightmost always steps, middle steps when rightmost hits its notch). This regularity let Allied codebreakers predict rotor movement and narrow the search space. SIGABA eliminated that regularity. Its five cipher rotors step only when the control rotor bank tells them to, and the index rotor determines which one moves. The result is that the cipher rotor positions follow an irregular, hard-to-predict sequence.
Friedman and Rowlett recognized that Enigma's predictable stepping was its greatest weakness. By driving the stepping from an independent rotor bank, they made the cipher rotor movement itself part of the key stream. An attacker who wanted to reconstruct the rotor positions would need to solve the control rotors first, which was a separate and equally difficult problem. The Friedman papers at the George C. Marshall Foundation contain the original design documents and correspondence.
SIGABA was used for the highest-level US communications, including messages between the Joint Chiefs of Staff, the President, and theater commanders. It was never broken by Axis forces. After the war, SIGABA remained in use through the Korean War era before being replaced by newer machines. The Typex machine served a similar role for British forces, and the Purple machine carried Japanese diplomatic traffic. The Lorenz Cipher was the German High Command's on-line cipher machine, which the British broke at Bletchley Park. SIGABA's irregular stepping is the design feature that none of these other machines shared.
How to use this tool
- Set the five cipher rotor start positions (A-Z each). These rotors scramble the plaintext through a reflector path
- Set the five control rotor start positions (A-Z each). These rotors generate the stepping signal that drives the cipher rotors
- Type or paste your message. Non-letter characters pass through without affecting the rotor state
- Watch the rotor columns update after each character. The cipher rotor that stepped is highlighted, and the control rotors advance in odometer fashion
- Read the output in the cipher text field. Because SIGABA uses a reflector, the same operation decrypts: paste ciphertext with the same settings to recover plaintext
- Expand the step trace to see the control output letter, the cipher rotor that stepped, and the full rotor positions for each character
Real-world examples
Encrypting a high-level message
Input: ATTACK PEARL HARBOR DEC 7 with cipher positions AAAAA and control positions AAAAA. The tool processes each letter through the five cipher rotors and reflector, stepping one cipher rotor per letter based on the control output. The step trace shows that the cipher rotor stepping is irregular: rotor C3 might step on the first character, C1 on the second, C4 on the third, with no obvious pattern. This irregularity is what made SIGABA resistant to the cryptanalytic techniques that broke Enigma.
Observing irregular cipher rotor stepping
Set all cipher and control positions to A, then type a string of 20 letters (such as ABCDEFGHIJKLMNOPQRST). The step trace's "Step Rotor" column shows which cipher rotor advanced for each character. Unlike Enigma, where the rightmost rotor always steps, SIGABA's stepped rotor varies based on the control output. You will see sequences like C3, C1, C4, C2, C3, C0 where no single rotor dominates. This is the design feature that Friedman and Rowlett patented and that kept SIGABA secure throughout the war.
Decrypting with the same settings
Take the ciphertext from the first example, keep the same cipher and control start positions, and paste it into the input field. Because the reflector makes SIGABA reciprocal, the output matches the original plaintext. The control rotors step identically during decryption as during encryption, so the stepping signal selects the same cipher rotors at the same positions, reversing the scrambling exactly.
Comparing control rotor influence
Encrypt the same 10-letter message twice: once with control positions AAAAA and once with control positions ABCDE. The ciphertexts differ completely even though the cipher rotor start positions are the same. This demonstrates that the control rotors are an independent key component. An attacker who knew the cipher rotor settings but not the control settings would still be unable to decrypt the message, because the stepping pattern would be wrong.
Comparison with similar methods
| Method | Complexity | Typical use |
|---|---|---|
| Caesar cipher | Very low (25 keys) | Basic substitution teaching |
| Enigma (3-rotor) | High (regular stepping) | WWII German field communications |
| Typex | High (5 rotors with stators) | WWII British armed forces communications |
| SIGABA (simplified) | Very high (irregular stepping via control rotors) | WWII US high-level communications |
| Purple (simplified) | High (stepping switches, 6-20 split) | WWII Japanese diplomatic communications |
| Lorenz SZ40 | Very high (12 wheels, teleprinter) | WWII German High Command traffic |
Limitations or considerations
This is a simplified educational model of SIGABA. The real machine used 26-contact rotors with classified wiring, and its stepping logic included features that this simulation does not reproduce. The rotor wirings in this tool are example permutations, not the actual SIGABA wirings, which remain partially classified. The index rotor mapping is simplified to a fixed lookup table.
The real SIGABA had additional security features, including the ability to reverse the control rotors and to reorder the cipher and control rotors as part of the daily key. This tool does not model rotor reversal or reordering. It also does not model the machine's plugboard or its specific message indicator procedures.
Despite these simplifications, the tool accurately demonstrates the core principle that made SIGABA secure: irregular cipher rotor stepping driven by an independent control rotor bank. SIGABA is completely obsolete by modern standards and should never be used for real encryption. For modern security, use the AES Encrypt / Decrypt tool or another NIST-approved algorithm.
Frequently asked questions
Why was SIGABA never broken when Enigma was?
SIGABA's cipher rotors stepped irregularly, driven by a separate bank of control rotors and an index rotor. Enigma's cipher rotors stepped in a predictable odometer pattern, which let codebreakers narrow the search space and exploit structural weaknesses (like a letter never encrypting to itself). SIGABA had no such predictable stepping, so the cryptanalytic techniques that worked on Enigma did not apply. No Axis force ever reconstructed SIGABA's rotor settings or wiring.
What is the index rotor and what does it do?
The index rotor is a fixed mapping that takes the control output (a value from 0 to 25 produced by the control rotors) and selects which of the five cipher rotors steps next. Without the index rotor, the control output would need to directly drive a specific cipher rotor, which would create a predictable relationship. The index rotor scrambles that relationship, adding another layer of unpredictability to the cipher rotor movement.
Who designed SIGABA?
William F. Friedman and Frank B. Rowlett designed SIGABA at the US Army Signal Intelligence Service in the 1930s. Friedman is widely considered the father of American cryptanalysis, and Rowlett led the team that broke the Japanese Purple cipher. Their work on SIGABA is documented in the Friedman papers at the George C. Marshall Foundation and in NSA declassified histories.
Is SIGABA the same as the ECM Mark II?
Yes. SIGABA is the common name, and ECM Mark II (Electric Cipher Machine Mark II) is the official designation. The Navy called it CSP 888 (and later CSP 2900 for a modified version). All three names refer to the same machine family. The term SIGABA is used most often in public literature, while ECM Mark II appears in official military documentation.
How long was SIGABA used after WWII?
SIGABA remained in service through the Korean War and into the 1950s, when it was gradually replaced by newer machines like the KL-7. The US continued to trust SIGABA for high-level communications because no adversary had demonstrated the ability to break it. The machine served for over a decade without compromise, which speaks to the strength of Friedman and Rowlett's design.
Conclusion
SIGABA is the WWII cipher machine that worked. Friedman and Rowlett designed it to avoid the stepping regularity that doomed Enigma, and no enemy force ever broke it. This tool lets you watch the control rotors drive irregular cipher rotor stepping, which is the core of that design. To compare with other wartime machines, try the Enigma Machine, Typex, Purple, and Lorenz Cipher tools. For modern encryption, use the AES Encrypt / Decrypt tool instead.