A Rubik’s Cube can be used to implement a highly secure encryption method.
One of the most interesting questions in classical cryptography is the following: How can one encrypt without using a suspicious encryption tool?
This question is especially interesting for a spy, who doesn’t want to be caught with treacherous encryption equipment. A number of different methods have been proposed for this purpose:
- The Double Columnar Transposition (also known as “double cube”) doesn’t require any tools except paper and pen.
- Solitaire is an encryption algorithm calculated with a deck of cards.
- The VIC cipher used by the Soviets in the Cold War.
- Book ciphers use ordinary books.
In a Cryptologia publication from 1992, Douglas W. Mitchell proposes another interesting cipher not requiring suspicious tools: encryption with a Rubik’s Cube. The Rubik’s Cube was an extremely popular puzzle in the 1980s. Still today, it is absolutely unsuspicious to have one. I even have a whole collection of Rubik’s Cubes and similar toys, and I have never been accused of being a spy.
Encryption
To use Mitchell’s cube encryption algorithm, the surface of the cube should be coated so that it can be written on. The colors on the cube faces are irrelevant.
To begin with, write the numeral “1” on the upper left square of one of the cube faces. Write “2” on an arbitrarily chosen square of any other cube face, write “3” on any square of any other cube face, and so on.
Then fill in a 48 letter plaintext on the remaining 48 squares of the cube. The first eight letters are written on cube face “1”, letters 9 to 16 on cube face “2”, letters 17 to 24 on face “3” and so on. Always start writing in the upper left cube of the face. As an example, I took the cleartext “ABCDEDGHIJKLMNOPQRSTUVWXabcdefghijklmnopqrstuvwxyz”.
In the next step, the cube is twisted. Assuming that we always keep the “1” square at the upper left position, 18 rotations are possible in one step (rotating the right column by 90/180/270 degrees, rotating the middle column by 90/180/270 degrees, rotating the lower row by 90/180/270 degrees, rotating the lower row by 90/180/270 degrees, rotating the middle level by 90/180/270 degrees, and rotating the back level by 90/180/270 degrees).
The rotations carried out are the key. I took the key MC90, LR270, RC180, ML90, BL270 (for a real application I would have taken a longer key).
Now the letters and numbers are read from the cube (front face, right face, back face, left face, top face, bottom face). The result of my encryption procedure is the following ciphertext:
134CTnILp iwrODWPoV BENbtual5 SjfAmcv6H kJKUdgxGX QRqM2nheF
This looks quite random, considering that the cleartext was “ABCDEF…” and I used only five rotations.
Decryption
According to Mitchell, decryption is straightforward. Take the ciphertext and write it on the cube (front face, right face, …). Then carry out the reverse rotations in the reverse order. Then read the letters from the “1” face, the “2” face and so on.
In my view, this decryption procedure does not lead to a unique result, as one doesn’t know which corner of a face is considered the upper left one (except for the “1” face). For the decrypter to know this, the orientation of the number must be given. This could be done in the ciphertext like this:
13→4↑CTnILp iwrODWPoV BENbtual5← SjfAmcv6H kJKUdgxGX QRqM2↓nheF
An interesting cipher
In my view, Mitchell’s cube encryption algorithm is a quite interesting one. Nevertheless, I am not aware of any additional publication about this method. To date, it is quite unclear whether this algorithm is as secure as it seems and if it can be improved. An interesting question asked by Mitchell himself is how the key should be chosen in order to get maximum security for a certain key length. It is clear that a combination like “MC90, MC180” doesn’t make sense, as it can be replaced by “MC270”, but there might be more. If a reader has any ideas, I would be interested to learn.
Kommentare (12)