ADFGVX Encryption Algorithm (Menu Crypt/Decrypt \ Symmetric (classic))

The ADFGVX encoding method was developed by Fritz Nebel, a colonel of the German communications corps, and it was first employed in spring 1918 by the German army. The procedure is an effective cascading cipher, consisting of a substitution followed by a column transposition.

The key input is done in the dialog window key entry: ADFGVX.

The substitution is executed by means of a 6x6-matrix, containing the letters 'A' to 'Z' and ciphers '0' to '9' in random order. The rows and columns of the matrix are identified by the letters A, D, F, G, V and X.

Since the substitution matrix is part of the key, it must be known to the recipient of the message. The first encryption stage (substitution) determines the position of each plaintext letter within the matrix and replaces it by its row- and column-indicator. This way, every plaintext letter is replaced by two ciphertext letters.

During the second encryption stage the ciphertext generated in the first stage is further encoded by means of a column transposition. The basis of this transposition is the transposition password, which must consist exclusively of the letters 'A' to 'Z'; redundant characters are not allowed. Thus, the password length is restricted to a maximum of 26 characters.

The transposition password forms the second part of the ADFGVX key. The transposition again is realized through a matrix. The first row is filled with the transposition password, which determines the number of columns. The stage 1 ciphertext is then written into the matrix line by line. Now the columns of the matrix are swapped in such a way, that the letters of the transposition password are arranged in alphabetical order. Finally, the stage 2 ciphertext is extracted from the matrix column by column.

The security of this cipher bases on the fact that the two ciphertext letters substituting every plaintext letter are separated by the transposition, making a frequency analysis of the bigrams useless.

Thus, using the semi-manual analysis included in CrypTool, the transposition has to be solved first, without having a clue about the substitution key.