The Beaufort cipher, invented by some Giovanni Sestri in early 18th century but widely attributed to Sir Francis Beaufort,[1] is a substitution cipher similar to the Vigenère cipher, with a slightly modified enciphering mechanism and tableau.[2] Its most famous application was in a rotor-based cipher machine, the Hagelin M-209.[3] 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,[4] where the first row and the last column serve the same purpose.[5]
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:
To decrypt, the process is reversed. Unlike the otherwise very similar Vigenère cipher, the Beaufort cipher is a reciprocal cipher, that is, decryption and encryption algorithms are the same. This obviously reduces errors in handling the table which makes it useful for encrypting larger volumes of messages by hand, for example in the manual DIANA crypto system, used by U.S. Special Forces during the Vietnam War (compare DIANA-table in the image).
In the above example in the column with "m" on top one would find in the reciprocal "d" row the ciphertext "K". The same is true for decryption where ciphertext "K" combined with key "m" results in plaintext "d" as well as combining "K" with "d" results in "m". This results in "trigram" combinations where two parts suffice to identify the third. After eliminating the identical trigrams only 126 of the initial 676 combinations remain (see below) and could be memorized in any order (e.g. AMN can be memorized as "man" and CIP as "pic") to speed up encoding and decoding.[6]
AAZ ABY ACX ADW AEV AFU AGT AHS AIR AJQ AKP ALO AMN BBX BCW BDV BEU BFT BGS BHR BIQ BJP BKO BLN BMM BZZ CCV CDU CET CFS CGR CHQ CIP CJO CKN CLM CYZ DDT DES DFR DGQ DHP DIO DJN DKM DLL DXZ DYY EER EFQ EGP EHO EIN EJM EKL EWZ EXY FFP FGO FHN FIM FJL FKK FVZ FWY FXX GGN GHM GIL GJK GUZ GVY GWX HHL HIK HJJ HTZ HUY HVX HWW IIJ ISZ ITY IUX IVW JRZ JSY JTX JUW JVV KQZ KRY KSX KTW KUV LPZ LQY LRX LSW LTV LUU MOZ MPY MQX MRW MSV MTU NNZ NOY NPX NQW NRV NSU NTT OOX OPW OQV ORU OST PPV PQU PRT PSS QQT QRS RRR
The Beaufort cipher can be described algebraically. For example, using an encoding of the letters – as the numbers 0–25 and using addition modulo 26, let
M=M1...Mn
C=C1...Cn
K=K1...Kn
E
Ci=EK(Mi)=(Ki-Mi)\mod{26}
Similarly, decryption
D
K
Mi=DK(Ci)=(Ki-Ci)\mod{26}
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 and key with its opposite letter (such that 'a' becomes 'z', 'b' becomes 'y' etc.; i.e. an Atbash-transformation) it can be solved like a Vigenère cipher.
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.