Beaufort cipher

From BitcoinWiki
This is the approved revision of this page, as well as being the most recent.
Jump to: navigation, search

The Beaufort cipher, created by Sir Francis Beaufort, is a substitution cipher similar to the Vigenère cipher, with a slightly modified enciphering mechanism and tableau. Its most famous application was in a rotor-based cipher machine, the Hagelin M-209. The Beaufort cipher is based on the Beaufort square which is essentially the same as a Vigenère square but in reverse order starting with the letter "Z" in the first row, where the first row and the last column serve the same purpose.

Using the cipher[edit]

To encrypt, first choose the plaintext character from the top row of the tableau, call this column P. Secondly, travel down column P to the corresponding key Letter K. Finally, move directly left from the Key letter to the left edge of the tableau, the CipherText encryption of Plaintext P with Key K will be there.

For example if encrypting Plain text character "d" with Key "m" the steps would be:

  1. find the column with "d" on the top,
  2. travel down that column to find Key "m",
  3. travel to the left edge of the tableau to find the CipherText letter ("J" in this case).

To decrypt, the process is reversed. The Beaufort cipher is a reciprocal cipher, that is, Decryption and Encryption algorithms are the same.

Algebraic description[edit]

The Beaufort cipher can be described algebraically. For example, using an encoding of the letters AZ as the numbers 0–25 and using addition modulo 26, let M = M_1 \dots M_n be the characters of the message, C = C_1 \dots C_n be the characters of the cipher text and K = K_1 \dots K_n be the characters of the key, repeated if necessary. Then Beaufort encryption E can be written,

C_i = E_K(M_i) = (K_i-M_i) \mod {26}.

Similarly, decryption D using the key K,

M_i = D_K(C_i) = (K_i-C_i) \mod {26}.

Decrypting as a Vigenere cipher[edit]

Due to the similarities between the Beaufort cipher and the Vigenère cipher it is possible, after applying a transformation, to solve it as a Vigenère cipher. By replacing every letter in the ciphertext with its opposite letter (such that 'a' becomes 'z', 'b' becomes 'y' etc.) it can be solved like a Vigenère cipher.

Distinguished from 'variant Beaufort'[edit]

The Beaufort cipher should not be confused with the "variant Beaufort" cipher. In variant Beaufort, encryption is performed by performing the decryption step of the standard Vigenère cipher, and likewise decryption is performed by using Vigenère encryption.


See Also on BitcoinWiki[edit]