VIC cipher

from Wikipedia, the free encyclopedia

The VIC cipher ( VIC cipher ) is a manual encryption method that can be done with paper and pencil. It was used in the 1950s, i.e. during the Cold War , by the Finnish-Russian agent Reino Häyhänen ( code name : VICTOR; abbreviation: VIC) spying for the Soviet Union .

principle

As with many agent ciphers, the VIC cipher is a combination of substitution and transposition methods . A compact description of the procedure would be " spread monoalphabetic bipartite substitution followed by a modified double column transposition ". The first adjective “spread” refers to the use of a special substitution table through which the letters of the plain text are converted into numbers in the first process step. In fact, Häyhänen used the Cyrillic alphabet for this because he encrypted texts in Russian . As a code word he chose снегопад (SNEGOPAD, German: snowfall). This works particularly well for the VIC cipher because it contains common letters. To simplify matters, the procedure is not illustrated here with Cyrillic letters, but with the capital letters of the Latin alphabet . Duplicate letters are deleted from the code word, so that the letters SCHNEFAL remain when the original code word is translated into German "Snowfall". This will fill the line directly below the heading line (with the digits 0 to 9).

  0 1 2 3 4th 5 6th 7th 8th 9
  S. C. H N E. F. A. L.
8th B. D. G I. J K M. O P Q
9 R. T U V W. X Y Z . /

In the last two lines you fill in the remaining letters of the alphabet and there is still space for two special characters, for example for “.” And “/”, to which special meanings can be assigned. It is important that the letters of the password are now represented by single-digit numbers (such as E by 4) and the other letters by two-digit numbers (such as B by 80). This type of substitution of monograms with one- or two-digit secret characters (here numbers) is called “spread encryption”. The corresponding table is referred to in English as straddling checkerboard (German literally: "spread chess board"). The advantages are that frequent plaintext characters (such as E and N) are encrypted with short ciphertext characters and, in addition, due to the changing length of the cipher characters, deciphering is made more difficult. A certain data compression and improved cryptographic security are achieved in this way .

Two places in the second line of the table must remain unoccupied. For the sake of simplicity, the spaces in the last two columns (8 and 9) have remained free. The two lower lines, in which the remaining letters of the alphabet are entered, receive these numbers as prefix digits. For reasons of simplification, the alphabetical order for the remaining letters has been chosen here. It would be cryptographically more secure to leave two randomly selected spaces in the first row empty, to enter the remaining letters in a different way than alphabetically and possibly to scramble the column numbers as well.

However, this substitution alone does not represent a sufficiently strong encryption. It could be broken by frequency analysis. Therefore there is a further step in the process. This basically consists of a double column transposition. In the simplest case, you enter the sequence of digits obtained after the first process step into a rectangle line by line and then read it out again column by column in a scrambled order (simple column transposition). This process step is repeated a second time (double column transposition) and thus receives a strongly mixed sequence of digits as ciphertext.

example

In fact, the agent had to remember five partial keys that were needed to control the individual process steps. In Reino Häyhänen's case, these were: First, the day of the Soviet victory over Japan, September 3, 1945. Second, the password снегопад (SNEGOPAD, German: snowfall). Third, a label. He came from the well-known Russian folk song Одинокая гармонь (Odinokaja Garmon , German: The lone accordion player ) and was Только слышно на улице где-то одинокая бродит гармонь (German: In the distance of the road - lost plays softly and tenderly a Bajan ). Fourth, the agent's personal identification number, 13 for Häyhänen, which was later changed to 20. Fifth, a five-digit random number like 20818. Based on this case, but translated here into German, the five partial keys would be:

  • the day of the Soviet victory over Japan, September 3, 1945, as a sequence of digits: 391945
  • the password: SNOW,
  • a phrase: Lost in the distance in the street a bayan is playing very softly and gently
  • the agent's personal identification number: 13
  • a five-digit random number: 20818

While the first four partial keys remained unchanged for a long time and for many messages, the five-digit random number was chosen differently for each encrypted message. It was needed as a “seed” to generate pseudo-random sequences of digits and was transmitted “ disguised ” as one of the last groups of five within the secret message . The exact position of this important group of five within the ciphertext was determined by the last digit of the first digit sequence (391945), ie "5" here. This means that the five-digit random number (here 20818) is inserted into the ciphertext as the fifth from last group of five.

Furthermore, the difference (without carryover) between this random number 20818 and the first five digits of the first digit sequence 39194 is formed. The difference here is 91724. By “chain addition” of the individual digits of this difference number, this can be easily expanded to ten places (“expanded”). To do this, the first two digits (again without carrying over) are added and added as a new sixth digit at the end (here 9 + 1 = 0 results in 917240). Then the second and third digits are added to form the new seventh digit (here 8), and so on. At the end of the expansion, 9172408964 was obtained.

Next, use the first twenty letters of the label (from above) and group them into two halves of ten letters each. For each half the letters are numbered according to their alphabetical order (where 0 means 10), here:

I. N D. E. R. F. E. R. N E. D. E. R. S. T R. A. S. S. E.
6th 7th 1 2 9 5 3 0 8th 4th 2 3 5 7th 0 6th 1 8th 9 4th

Now more number operations follow. To do this, the number 9172408964 obtained above through expansion is written under the ten digits of the left half and added digit by digit (again without carrying over). The numbers 1 to 0 are simply noted under the ten digits of the right half in natural order. You get:

I. N D. E. R. F. E. R. N E. D. E. R. S. T R. A. S. S. E.
6th 7th 1 2 9 5 3 0 8th 4th 2 3 5 7th 0 6th 1 8th 9 4th
9 1 7th 2 4th 0 8th 9 6th 4th 1 2 3 4th 5 6th 7th 8th 9 0
5 8th 8th 4th 3 5 1 9 4th 8th

Now every single digit of the lower left half is searched for in the lower (numbered) line of the right half and replaced by the digit immediately above it in the right half. This results in the following sequence of digits, which are then numbered consecutively with regard to their value (again in the order 1, 2, 3 to 8, 9, 0). You get two lines with ten digits each:

0 8th 8th 7th 5 0 2 9 7th 8th
9 5 6th 3 2 0 1 8th 4th 7th

The lower of these two lines will be used in a later process step. The top of these two lines is now expanded to a 60-digit pseudo-random number by chain addition. Again, this is done by adding the first two digits without carrying over to get a new eleventh digit (and so on). This results in:

0 8th 8th 7th 5 0 2 9 7th 8th
8th 6th 5 2 5 2 1 6th 5 6th
4th 1 7th 7th 7th 3 7th 1 1 0
5 8th 4th 4th 0 0 8th 2 1 5
3 2 8th 4th 0 8th 0 3 6th 8th
5 0 2 4th 8th 8th 3 9 4th 3

Now the last two different digits that appear at the end of the 60-digit pseudo-random number are used (here 4 and 3) and added to the agent's personal identification number (13). The two numbers 17 and 16 are obtained. These determine the widths of the two transposition tables used as part of the VIC procedure. The key for the two transposition tables, i.e. the sequence of the column transpositions to be carried out later, is now determined by reading out the table above. Only rows two to six of the table are used for this. The table is read out column by column (starting with the second line to the sixth line). The order in which the columns are read out is determined by the lower of the two lines generated above (here with the number sequence 9 5 6 3 2 0 1 8 4 7). This means here, first (1) the seventh column of the table is to be read, then (2) the fifth column, then (3) the fourth column, then (4) the ninth column, then (5) the second column, then ( 6) the third column and finally (7) the tenth column. Then you have read out enough digits to determine the two transposition keys. Here you get the sequence of digits 17803 57008 27444 51164 61820 57482 60583 and thus the two sequences of digits 17803570082744451 and 1646182057482605 required to define the two 17- and 16-digit transposition keys. The sequence of digits then only has to be numbered consecutively to obtain the two transposition keys here 1 17 11 5 13 14 15 6 16 2 7 12 3 10 4 8 9 and 1 5 7 13 3 11 9 16 2 4 14 10 6 12 8 15.

With the now completely available three partial keys, the password SCHNEFAL for the substitution table, as well as the two transposition keys for the subsequent double column transposition, plain texts can be encrypted and decrypted in an analogous way, reversing the procedural steps with the same three partial keys .

literature

Web links

  • VIC cipher , explanation of the individual steps using an example. Retrieved November 13, 2017.
  • Number One From Moscow , David Kahn describes procedural details including the original code word (English). Retrieved January 15, 2016.
  • The VIC Cipher , explanation of the individual steps. Retrieved January 15, 2016.
  • Straddling checkerboards , variants of the straddling checkerboards (English). Retrieved January 15, 2016.

Individual evidence

  1. Friedrich L. Bauer: Deciphered secrets. Methods and maxims of cryptology. 3rd, revised and expanded edition. Springer, Berlin et al. 2000, p. 36.
  2. ^ Jozef Kollár: Soviet VIC Cipher - No Respector of Kerckoff's Principles . Cryptologia , Vol 40 (1), January 2016, p. 33 f.