Chaocipher

from Wikipedia, the free encyclopedia

Chaocipher is a symmetrical encryption method developed by John Francis Byrne in 1918 . Byrne thought the algorithm was unbreakable. Until his death, Byrne tried unsuccessfully to convince government agencies of his procedure, as he had no intention of making details of the algorithm available to the public. In 2010, his family donated the inventor's papers to the National Cryptologic Museum in Ft. Meade, USA, which made the algorithm public for the first time.

functionality

In its original form, Byrne planned his process as a mechanical device, but never built it. (A wooden and cardboard version was made by his son.)

The device consists of two discs lying next to each other, on the circumference of which the 26 letters of the alphabet are located in changeable order. The discs are rotatably mounted and connected to one another in such a way that when one disc rotates in one direction (clockwise or counterclockwise) the other disc rotates in the opposite direction.

The principle of Chaocipher is that both alphabets are permuted after each encryption or decryption of a letter. Since this permutation depends on the previously encrypted or decrypted letter, this method is a self-synchronizing stream cipher .

overview

Although the use of Chaocipher was intended as a machine, the principle can be understood with alphabets for plain text and ciphertext. The upper alphabet stands for the left disk (the ciphertext GT), and the lower alphabet for the right disk (the plain text KT). The following illustration shows a possible initial state for the algorithm, the arrangement of the letters in both rows / discs represents the key.

             +            *
Links (GT):  HXUCZVAMDSLKPEFJRIGTWOBNYQ
Rechts (KT): PTLNBQDEOYSFAVZKGJRIHWXUMC
---------------------------------------
Position:             11111111112222222
             12345678901234567890123456

Note the symbols + and *, which Byrne refers to as zenith and nadir . They are in position 1 and 14 of both alphabets.

At the beginning, the left and right alphabet are aligned with their respective zenith markings. A plain text letter is then encrypted in three steps. (These steps are repeated until all letters of the plain text are encrypted.)

  1. Determine the ciphertext letter that matches the plaintext letter.
  2. Permute the ciphertext alphabet.
  3. Permute the plaintext alphabet.

To find the corresponding ciphertext letter, look for the plaintext letter in the alphabet on the right. The letter of the left alphabet directly above is the corresponding letter of the ciphertext. If you encrypt the letter A in this example , you get the letter P as ciphertext (see arrow).

             +           ↓*
Links (GT):  HXUCZVAMDSLKPEFJRIGTWOBNYQ
Rechts (KT): PTLNBQDEOYSFAVZKGJRIHWXUMC
---------------------------------------
Position:             11111111112222222
             12345678901234567890123456

Permutation of the ciphertext alphabet

The permutation takes place in four steps:

  1. Move the entire left alphabet to the left so that the ciphertext letter you just found is in position 1 ( zenith ).
  2. Take the letter at position zenith +1, i.e. the letter to the right of the zenith from the alphabet (this creates a gap for the moment).
  3. Shift all letters from position Zenith +2 up to and including position Nadir ( Zenith +13) to the left one place.
  4. Insert the letter you took in step 2 into the gap at position Nadir ( Zenith +13).

Based on the initial state shown above, these steps are as follows: First, the alphabet is shifted until the ciphertext letter P that has just been found is in position 1 ( zenith ).

             +            *
Links (GT):  PEFJRIGTWOBNYQHXUCZVAMDSLK

Then the letter is taken from position Zenith +1 (E).

             +            *
Links (GT):  P.FJRIGTWOBNYQHXUCZVAMDSLK

In the third step, the letters from Zenith +2 (F) to Nadir (Q) are shifted one place to the left.

             +            *
Links (GT):  PFJRIGTWOBNYQ.HXUCZVAMDSLK

Finally, the removed letter (E) is reinserted at position nadir .

             +            *
Links (GT):  PFJRIGTWOBNYQEHXUCZVAMDSLK

Permutation of the plaintext alphabet

The plain text alphabet is permuted in five steps, similar to the ciphertext alphabet:

  1. Move the entire right alphabet to the left so that the plaintext letter you just found is in position 1 ( zenith ).
  2. Now move the entire right alphabet one more place to the left.
  3. Take the letter at position Zenith +2 (this also creates a gap).
  4. Shift all letters from position Zenith +3 up to and including position Nadir ( Zenith +13) to the left one place.
  5. Insert the letter you took in step 3 into the gap at position Nadir ( Zenith +13).

For the example given, the right alphabet after step 1 looks like this:

             +            *
Rechts (KT): AVZKGJRIHWXUMCPTLNBQDEOYSF

Now it is shifted one more place to the left.

             +            *
Rechts (KT): VZKGJRIHWXUMCPTLNBQDEOYSFA

Next, take the letter at position Zenith +2 (K).

             +            *
Rechts (KT): VZ.GJRIHWXUMCPTLNBQDEOYSFA

In the fourth step, the letters from Zenith +3 (G) to Nadir (P) are shifted one place to the left.

             +            *
Rechts (KT): VZGJRIHWXUMCP.TLNBQDEOYSFA

Finally, the removed letter (K) is reinserted.

             +            *
Rechts (KT): VZGJRIHWXUMCPKTLNBQDEOYSFA

After these two permutations, the next letter of the plaintext can be encrypted. If the next letter is an N , the corresponding ciphertext would U loud.

             +            *  ↓
Links (GT):  PFJRIGTWOBNYQEHXUCZVAMDSLK
Rechts (KT): VZGJRIHWXUMCPKTLNBQDEOYSFA

Decrypt

The procedure for decrypting a ciphertext using the Chaocipher is almost identical to that for encrypting it. Based on the same initial state of the two alphabets, the only difference is that instead of looking for the plaintext letter in the right alphabet, you now look for the ciphertext letter in the left alphabet and thus get the corresponding plaintext letter. Then follow the above steps to permute both alphabets and then find the next ciphertext letter and the corresponding plaintext letter.

Individual evidence

  1. "Chaocipher - 7th place in The Ten Most Uncracked Codes in the World" ( Memento of the original from April 20, 2010 in the Internet Archive ) Info: The archive link was automatically inserted and not yet checked. Please check the original and archive link according to the instructions and then remove this notice. . Peter Glaser, ten.de. Retrieved July 23, 2010. @1@ 2Template: Webachiv / IABot / www.zehn.de
  2. a b See Kahn, 1996, p. 767f.
  3. "National Cryptologic Museum Foundation: Direct Museum Support" ( Memento of the original from July 22, 2010 in the Internet Archive ) Info: The archive link was automatically inserted and not yet checked. Please check the original and archive link according to the instructions and then remove this notice. . National Cryptologic Museum Foundation website, May 27, 2010. Retrieved July 23, 2010.  @1@ 2Template: Webachiv / IABot / www.cryptologicfoundation.org

literature

Web links

  • The Chaocipher Clearing House - Moshe Rubin's website with information and resources on how to use the Chaocipher
  • Chaocipher - German description of the algorithm including illustration of the functionality of the two disks by Nils Plaumann
  • Chaocipher made of paper - Instructions for making a functional Chaocipher out of paper