The Reihenschieber was a simple encryption device used by the Germans in the Cold War. I built a model of it with Lego bricks. Can you solve an encrypted text I produced with it?
The Reihenschieber (row shifter) was invented by the central German crypto authority in Bonn in the 1950s. Here’s a picture of a Reihenschieber I took at the Enigma Reunion in Bletchley Park a few years ago:
Here’s another specimen (owned by the German IT Security Authority BSI):
This Reihenschieber was on display at the Kryptologikum in Karlsruhe, Germany:
How it worked
The Reihenschieber looks pretty similar as a cipher slide (here is one on the website of Ralph Simpson). However, a Reihenschieber works completely different. In fact, the Reihenschieber is a tool used to create a sequence of random numbers or letters that are added to the cleartext (the concept of adding random material to a cleartext is also known as One Time Pad).
In order to get a better understanding of the Reihenschieber, I built my own specimen using Lego bricks. My version is considerably simpler than the original. In addition, I omitted a few details that are not relevant from a cryptographer’s point of view.
The most important part of the Reihenschieber is a set of bars. The origial device has 26 bars, my version has only eight (each one with a different color). Here they are:
Each bar has four faces. On each face a sequence of 17 letters is printed. The following table lists all the bars with their inscriptions:
1:FZFHWJTXNWOKBHEUO 2:IYXKEMFOHCMWPXZJP 3:OSBZGTNKSMZDKVRPR 4:URXGGVRCCZRMSMDHC
1:GMMWENGZKBKVYEWFK 2:BOCDFNXTNZVETOENA 3:JZVREYRZDGPDJOURS 4:FCELAAGXZQDRBSFQS
1:UMVINOUWZNYQZRKKK 2:QDQXFZHHRMLZXYFRA 3:OEWHMGIZJEGLSNHVP 4:RTWPOPGPQDVOLCRZQ
1:GRTBVWTSZDQPKFUWF 2:IDNIKKYKHMWRQUDEN 3:BLPWRFJVEPAGIEXAS 4:CQJYHZNTJBRXNNGDY
1:KANJTCYKTYKNLMCSL 2:XHWGNVTAIGRUJJAMS 3:YIRHUQPQVIGFPGCBS 4:YDYHMKICPTGTETEWL
1:AXUXAWFBIAXDPYOAQ 2:LRPABYAXYOQWLTMVP 3:HWJBVPXLIIWQIPAJZ 4:JOCBGPBATTEIPZAGF
1:ZOSFRXMTRTIZTKXPF 2:SFRLEVNRWJNMHDIFD 3:ZIWWBDIRAQZSGIASP 4:NRZYROASHAIYCVCQL
1:JUUHTZMOJLXBEGWWD 2:WVJZSJWINYSEJQVWZ 3:ZOYSVYYNUYYBOHEIR 4:VKVKYYLQIRQSQGHVT
To produce a random sequence we choose five of the eight bars (say grey, red, purple, yelloy and black), each one with a certain face up (say 2, 1, 4, 1, and 3). These five bars are put into a frame:
Now each bar is shifted. A shift is identified by the number of letters that are covered by the frame or are located right of it. The minimum shift is 0, the maximum one 10 (more than 10 is not allowed, otherwise there wouldn’t be enough letters to fill the stencil in the next step). In the case shown on the picture the shifts are 1, 10, 3, 8, and 3.
The combination of bars chosen, order of bars, face and shift is the key of our encryption. In this case the key can be written as follows:
grey 2,1 / red 1,10 / purple 4,3 / yellow 1,8 / black 3,3
In the next step, we put a stencil on top of the frame:
Now we can read the random letter sequence: YSJV FHJT DVOC UXBI RAZG. Let’s use this sequence to encrypt the cleartext WE NEED HELP URGENTLYXX. What we need to do is add the letters one by one (A=1, B=2, C=3, …):
WENEEDHELPURGENTLYXX YSJVFHJTDVOCUXBIRAZG -------------------- VXXAKLRYPLJUBCPCDZXE
The ciphertext is: VXXAKLRYPLJUBCPCDZXE
Here’s a ciphertext I created with my Reihenschieber model (with a different key, of course, but with the same stencil):
Can you solve it?
The number of keys is almost ten billions (10^10). This is probably too much for exhaustive search, unless you have a lot of time and computer power. However, there are certainly better ways to attack a Reihenschieber. An obvious weakness is that the first part of the ciphertext only depends on the first bar, the second part only on the second bar, and so on. Like the Fleissner Raster, the Reihenschieber might be susceptible to a Hill Climbing attack.