About SIGABA
Encipher/decipher with the WW2 SIGABA machine. SIGABA, otherwise known as ECM Mark II, was used by the United States for message encryption during WW2 up to the 1950s. It was developed in the 1930s by the US Army and Navy, and has up to this day never been broken. Consisting of 15 rotors: 5 cipher rotors and 10 rotors (5 control rotors and 5 index rotors) controlling the stepping of the cipher rotors, the rotor stepping for SIGABA is much more complex than other rotor machines of its time, such as Enigma. All example rotor wirings are random example sets. To configure rotor wirings, for the cipher and control rotors enter a string of letters which map from A to Z, and for the index rotors enter a sequence of numbers which map from 0 to 9. Note that encryption is not the same as decryption, so first choose the desired mode. Note: Whilst this has been tested against other software emulators, it has not been tested against hardware.
Input: text. Output: text.
Format reference: SIGABA background and specification
Example
Use “Try example” to load this public sample and its settings, then run it.
Settings used in this example
| Parameter | Example value | Input and choices |
|---|---|---|
| 1st (left-hand) cipher rotor | "BHKWECJDOVAYLFMITUGXRNSPZQ" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8, Example 9, Example 10. Escape sequences such as \n, \r and \t are supported |
| 1st cipher rotor reversed | true | On or off |
| 1st cipher rotor initial value | G | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 2nd cipher rotor | "CDTAKGQOZXLVJYHSWMIBPRUNEF" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8, Example 9, Example 10. Escape sequences such as \n, \r and \t are supported |
| 2nd cipher rotor reversed | false | On or off |
| 2nd cipher rotor initial value | L | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 3rd (middle) cipher rotor | "WAXHJZMBVDPOLTUYRCQFNSGKEI" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8, Example 9, Example 10. Escape sequences such as \n, \r and \t are supported |
| 3rd cipher rotor reversed | false | On or off |
| 3rd cipher rotor initial value | I | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 4th cipher rotor | "HUSCWIMJQXDALVGBFTOYZKRPNE" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8, Example 9, Example 10. Escape sequences such as \n, \r and \t are supported |
| 4th cipher rotor reversed | false | On or off |
| 4th cipher rotor initial value | T | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 5th (right-hand) cipher rotor | "RTLSMNKXFVWQUZGCHEJBYDAIPO" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8, Example 9, Example 10. Escape sequences such as \n, \r and \t are supported |
| 5th cipher rotor reversed | false | On or off |
| 5th cipher rotor initial value | B | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 1st (left-hand) control rotor | "GHAQBRJWDMNZTSKLOUXYPFIECV" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8, Example 9, Example 10. Escape sequences such as \n, \r and \t are supported |
| 1st control rotor reversed | false | On or off |
| 1st control rotor initial value | N | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 2nd control rotor | "VFLGEMTCXZIQDYAKRPBONHWSUJ" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8, Example 9, Example 10. Escape sequences such as \n, \r and \t are supported |
| 2nd control rotor reversed | true | On or off |
| 2nd control rotor initial value | Q | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 3rd (middle) control rotor | "ZQCAYHRJNXPFLKIOTBUSVWMGDE" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8, Example 9, Example 10. Escape sequences such as \n, \r and \t are supported |
| 3rd control rotor reversed | false | On or off |
| 3rd control rotor initial value | B | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 4th control rotor | "EZVSWPCTULGAOFDJNBIYMXKQHR" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8, Example 9, Example 10. Escape sequences such as \n, \r and \t are supported |
| 4th control rotor reversed | false | On or off |
| 4th control rotor initial value | J | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 5th (right-hand) control rotor | "ELKSGDXMVYJUZNCAROQBPWHITF" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8, Example 9, Example 10. Escape sequences such as \n, \r and \t are supported |
| 5th control rotor reversed | false | On or off |
| 5th control rotor initial value | R | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 1st (left-hand) index rotor | "3891625740" | Example 1, Example 2, Example 3, Example 4, Example 5. Escape sequences such as \n, \r and \t are supported |
| 1st index rotor initial value | 3 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
| 2nd index rotor | "6297135408" | Example 1, Example 2, Example 3, Example 4, Example 5. Escape sequences such as \n, \r and \t are supported |
| 2nd index rotor initial value | 1 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
| 3rd (middle) index rotor | "2389715064" | Example 1, Example 2, Example 3, Example 4, Example 5. Escape sequences such as \n, \r and \t are supported |
| 3rd index rotor initial value | 8 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
| 4th index rotor | "9264351708" | Example 1, Example 2, Example 3, Example 4, Example 5. Escape sequences such as \n, \r and \t are supported |
| 4th index rotor initial value | 6 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
| 5th (right-hand) index rotor | "9573086142" | Example 1, Example 2, Example 3, Example 4, Example 5. Escape sequences such as \n, \r and \t are supported |
| 5th index rotor initial value | 6 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
| SIGABA mode | Encrypt | Encrypt, Decrypt |
Input
HELLO WORLD TESTING THE SIGABA MACHINE
Result
ULBECJCZJBJFVUDWAVRGRBMPSQHOTTNVQEESKN
Parameters
| Parameter | Default value | Input and choices |
|---|---|---|
| 1st (left-hand) cipher rotor | "SRGWANHPJZFXVIDQCEUKBYOLMT" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8, Example 9, Example 10. Escape sequences such as \n, \r and \t are supported |
| 1st cipher rotor reversed | false | On or off |
| 1st cipher rotor initial value | A | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 2nd cipher rotor | "SRGWANHPJZFXVIDQCEUKBYOLMT" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8, Example 9, Example 10. Escape sequences such as \n, \r and \t are supported |
| 2nd cipher rotor reversed | false | On or off |
| 2nd cipher rotor initial value | A | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 3rd (middle) cipher rotor | "SRGWANHPJZFXVIDQCEUKBYOLMT" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8, Example 9, Example 10. Escape sequences such as \n, \r and \t are supported |
| 3rd cipher rotor reversed | false | On or off |
| 3rd cipher rotor initial value | A | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 4th cipher rotor | "SRGWANHPJZFXVIDQCEUKBYOLMT" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8, Example 9, Example 10. Escape sequences such as \n, \r and \t are supported |
| 4th cipher rotor reversed | false | On or off |
| 4th cipher rotor initial value | A | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 5th (right-hand) cipher rotor | "SRGWANHPJZFXVIDQCEUKBYOLMT" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8, Example 9, Example 10. Escape sequences such as \n, \r and \t are supported |
| 5th cipher rotor reversed | false | On or off |
| 5th cipher rotor initial value | A | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 1st (left-hand) control rotor | "SRGWANHPJZFXVIDQCEUKBYOLMT" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8, Example 9, Example 10. Escape sequences such as \n, \r and \t are supported |
| 1st control rotor reversed | false | On or off |
| 1st control rotor initial value | A | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 2nd control rotor | "SRGWANHPJZFXVIDQCEUKBYOLMT" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8, Example 9, Example 10. Escape sequences such as \n, \r and \t are supported |
| 2nd control rotor reversed | false | On or off |
| 2nd control rotor initial value | A | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 3rd (middle) control rotor | "SRGWANHPJZFXVIDQCEUKBYOLMT" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8, Example 9, Example 10. Escape sequences such as \n, \r and \t are supported |
| 3rd control rotor reversed | false | On or off |
| 3rd control rotor initial value | A | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 4th control rotor | "SRGWANHPJZFXVIDQCEUKBYOLMT" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8, Example 9, Example 10. Escape sequences such as \n, \r and \t are supported |
| 4th control rotor reversed | false | On or off |
| 4th control rotor initial value | A | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 5th (right-hand) control rotor | "SRGWANHPJZFXVIDQCEUKBYOLMT" | Example 1, Example 2, Example 3, Example 4, Example 5, Example 6, Example 7, Example 8, Example 9, Example 10. Escape sequences such as \n, \r and \t are supported |
| 5th control rotor reversed | false | On or off |
| 5th control rotor initial value | A | A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z |
| 1st (left-hand) index rotor | "6201348957" | Example 1, Example 2, Example 3, Example 4, Example 5. Escape sequences such as \n, \r and \t are supported |
| 1st index rotor initial value | 0 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
| 2nd index rotor | "6201348957" | Example 1, Example 2, Example 3, Example 4, Example 5. Escape sequences such as \n, \r and \t are supported |
| 2nd index rotor initial value | 0 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
| 3rd (middle) index rotor | "6201348957" | Example 1, Example 2, Example 3, Example 4, Example 5. Escape sequences such as \n, \r and \t are supported |
| 3rd index rotor initial value | 0 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
| 4th index rotor | "6201348957" | Example 1, Example 2, Example 3, Example 4, Example 5. Escape sequences such as \n, \r and \t are supported |
| 4th index rotor initial value | 0 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
| 5th (right-hand) index rotor | "6201348957" | Example 1, Example 2, Example 3, Example 4, Example 5. Escape sequences such as \n, \r and \t are supported |
| 5th index rotor initial value | 0 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
| SIGABA mode | Encrypt | Encrypt, Decrypt |
Before interpreting the result
Use the exact key encoding, mode, padding and IV expected by the source system. Historical ciphers are useful for learning and analysis. Encoding alone provides no confidentiality.
How to use this page
- Paste your input or open a local file.
- Adjust tool options if needed, then choose Run tool.
- Copy the result or download the original output bytes.
Inputs and results are not added to the public catalogue or saved in the URL. Processing happens in your browser; HTTP Request and DNS over HTTPS send the requests you explicitly run. Files up to 128 MiB can be opened; decompression and image tools may have smaller processing limits. Large results have a shortened preview. Text and HTML downloads use UTF-8; binary downloads preserve output bytes. Pasted text follows browser newline handling; open a file when exact input bytes matter.