Virtual Lorenz

Technical Information

This page has some technical details to help you understand how the Lorenz SZ42 works.

The Rotors

The Lorenz SZ42 has twelve rotors, each with several pins or cams (small switches) around the edge. Each rotor has a different number of cams with a total of 501 for all rotors. The number of cams on each rotor was chosen so that they were co-prime with each other, this meant that there was a very long period of time in the rotation before the same key would be used again.

The five cipher wheels located on the right hand side were called the Chi wheels in Bletchley Park (Spaltencaesar in German). These all turn once every time a letter is to be enciphered and have 41, 31, 29, 26 and 23 cams.

The five wheels on the left hand side (the Psi or Springcaesar in German) have 43, 47, 51, 53 and 59 cams. These only rotate 50% of the time based on the current setting of the Mu or Motor wheels (rotor 6 and 7).

On the image below, you can see the cams shown on the first and second rotors (43 cams and 47 cams). Setting the cam towards the numbers makes it active (X) while setting it to the side away from the numbers is inactive (•). Each rotor has a contact lever with a roller which is spring-loaded so as to read the current value of each cam as the rotor turns.

Demonstration of how the blocking levers stop the Psi wheels rotation

Reading the cams

A spring-loaded contact lever with a roller runs against the rear of each of the twelve rotors to read the current setting of the cams (small switches) on the rotor. The diagram below, showing the Motor (Mu) rotors, shows two of the contact levers which connect at the lower rear of the lever. When the cam is set upright (towards the numbers), then the roller pushes the lever away slightly which means the blocking lever to the next rotor is no longer set. If the cam is set to it's off position, the roller moves in, pushing the blocking lever into place stopping the next rotor.

Note that on the Virtual Lorenz simulation, a small piece of artist licence has been taken where the position that the rotors are being read from is not on the rear, but is taken from the front window position instead. This firstly means that it's more easily readable by you to see what the switches are doing to affect the other rotors, and secondly, I do not have exact information on which cam each of the rotors is positioned! (Hopfully, this can be resolved in future if access to either the TNMOC or Bletchley Park Lorenz machines is made available).


The documents in this section are from the excellent website Frode Weierud's CryptoCellar. The majority of the TICOM documents are listed as being available in the TICOM collection of the German Foreign Office’s Political Archive. For the original German documents as PDFs and much more information, please follow the link above.

English Translation of Volume I - Preliminary Device Description

English Translation of Volume II - Tentative Rules for Cipher Attachment 42

English Translation of Volume III - User Instructions for the Cipher Key Equipment and Documents

Intrusion of the locking lever. Rear view of the spring wheels for Cipher Attachment 42

Adjustment of the control (motor) wheels. Holding back psi wheels.

Working position of unblocking bar

Wehrmacht-Fernschreibschlüssel SZ 40 - Lorenz SZ40 key settings and Ablesetafel 40 sheets

Fernschreib-Grundschlüssel SZ42 Nr. 1012 - Lorenz SZ42 key settings.

Spruchschlüssel für Fu.Fe.Verkehr SZ42, Satz Nr. 301 (extract). Message key for SZ42

Transmitting the data

A common way of sending ITA2 teletype transmissions (at least in Amateur radio circles), is to use RTTY. The transmitting part of the modem converts the digital signal transmitted by the teleprinter or tape reader to one or the other of a pair of audio frequency tones, traditionally 2295/2125 Hz (US) or 2125/1955 Hz (Europe). One of the tones corresponds to the mark condition and the other to the space condition.

The Lorenz used a different method, a Multi-tone modulation on the transmitted RF carrier. Two sets of tones were used, one representing a mark (or 1) in the ITA2 code, the other representing a space (or 0).

Three tones were used in each one and these tones were chosen to be not harmonically related. Virtual Lorenz generates these tones in real time as you send or receive messages.

Each character sent is encoded as follows: a 20ms Space (the start bit) followed by the five data bits, each of 20ms. Finally, the stop bit, A Mark tone of 1.5 bits (30ms)

Mark 900Hz, 1620Hz, 2340Hz
Space 540Hz, 1260Hz, 1980Hz