This is a simplified paper version of the Lorenz SZ40/42 cipher attachment used during World War 2 which can be used to help understand how the Lorenz SZ40 generated cipher codes.
The Lorenz SZ40 was used to send top secret message between the German High Command and the front-line generals. The Lorenz had twelve cipher wheels which generate two separate key letters. These two letters were then added (using modulo-2 or XOR) to each letter of the plain text to make the cipher message.
Using Paper Lorenz, you can encipher and decipher short messages just like the real machine. Each of the Psi and Chi wheels represent five of the real cipher wheels on Lorenz while the Mu wheel represents the other two
Click the button below to download the PDF files - you will need to print at least the first two pages to assemble Paper Lorenz.
You will need
To assemble
In this example, we will encrypt the message "SECRET" using the start positions Psi 1, Mu 1, Chi 1
Plain | S | E | C | R | E | T |
---|---|---|---|---|---|---|
Ψ Psi | P | P | P | N | N | T |
Χ Chi | N | 4 | L | N | F | U |
Cipher | 8 | Y | R | R | / | U |
Note that in the table above, the Chi wheels change letter for each letter of the message, while the Psi wheels often stay the same. This "stagger" was meant to create a larger pattern of key string which would not repeat very often, but actually was one of the main flaws that allowed the codebreakers at Bletchley Park to break this cipher. See First Break for more detail on how this was done and how the world's first computer was invented!
Deciphering a message is exactly the same - just set the start positions of all three wheels to the same as you enciphered the message then add the first letter of the cipher text to the Psi and Chi rather than the plain text. 8 + P + N = S. Repeat the same steps as listed above to retrieve your message.
The three wheels on Paper Lorenz are simplified versions of the twelve actual Lorenz wheels but the letters that are generated are the same as the ones for a Lorenz SZ40 using the Bream pin settings that are available on Virtual Lorenz. This means we can actually use Virtual Lorenz to check a message enciphered using Paper Lorenz (you should be able to get up to around 23 characters, assuming you start at Chi setting 1, before it is no longer accurate).
The Chi wheel on Paper Lorenz represents all five wheels on the right hand side of Virtual Lorenz. If you look on the Paper Lorenz Chi wheel, you will see listed against each position the ITA2 encoded 5-bit code. This is a series of dots and crosses (on and offs) which together represent a character. The table below gives the possible characters for ITA2 code shown as holes punched into paper tape. A cross is represented by a hole in the tape and a dot by a solid piece of tape without a hole.
Adding together two letters involves taking each of the 5 impulses for both characters in turn and using the following rules:
If the symbols are the same, return dot
If the symbols are different, return cross.
Letter | Impulses | |||||
---|---|---|---|---|---|---|
A | X | X | · | · | · | |
S | X | · | X | · | · | |
Result | · | X | X | · | · | =I |
To enciper our message "SECRET" on Virtual Lorenz to see if we get the same result, we first need to set Virtual Lorenz to be a model SZ40 (the basic model) and to set the pins to the Bream message settings.
Select the Prefs menu then select Settings
Make sure the top Lorenz Model switch is set to SZ40
Check that the KT-Schalter (Plaintext Switch) is set to Aus (off).
Select the BREAM pattern button to set the pins on the wheels
Now click Close (at the bottom of the settings menu).
Our start wheel setting is where all of the wheels are set to position 01. If you have moved any wheels, just rotate them all back to 01.
Make sure the Lorenz is switch on - the red switch in the bottom center of the machine should be set to Ein.
To encipher our message, use the keyboard on screen or just type our message SECRET
If all is set correctly, you should find the lower Send/Recv tape shows 8YRR/U - exactly as we generated using Paper Lorenz!
Note: The Lorenz wheels actually turn backwards with respect to the numbers on the wheels - the last Chi wheel (12) goes from position 1 to 23..22.21 etc rather than counting upwards so the letters generated for Paper Lorenz do not match with the positions on the actual wheels but they do run in order!
For example, if you wanted to start Paper Lorenz with a start position of Psi=1, Mu=2, Chi=3 and then wanted to set Virtual Lorenz to start on the same position we can do the following.
The Psi wheels are already set to position 1 so leave the first five wheels all set to 01
Both of the Mu wheels need to move one position on. These are the two wheels marked 6 and 7 on Lorenz. Turn them one position down each (6 should show 37, 7 should show 61).
All of the Chi wheels need to move on two positions. Press the down arrow on all of the last five wheels (8-12) twice. Final settings (40,30,28,25,22).
This should now be set to the same settings as Paper Lorenz.
Important Note: Once any of the wheels on Paper Lorenz get past their highest setting (23 for Chi, 13 for Mu or 19 for Psi), our limited wheels on paper will no longer match up with the real Lorenz, so if you are brave enough to try adding more than a few characters or so and want it to be deciphered on Virtual Lorenz, make sure you start with a low starting position on the wheels.
Click this button to download the answers for the challenge decipher page if you're really stuck.
If you've enjoyed making a Paper Lorenz, how about making a Paper Enigma as well!
Paper Enigma is a fantastic idea created by Franklin Heath Ltd which allows you to create a working Enigma cipher machine in 3D using a few print outs and a crisp tube.
Paper Lorenz by Virtual Colossus is licensed under a Creative Commons Attribution 4.0 International License.
Please feel free to use Paper Lorenz to learn about the Lorenz SZ40/42 machine and how it enciphered messages - please do let me know if you find it useful or if you have any feedback or ideas for making it easier to use or understand.