Skip to main content
CipherChronicle

Cipher methods Polyalphabetic

Beaufort variant (German)

A Beaufort variant where the plaintext is subtracted from the key (rather than the key from the plaintext). Not involutive, unlike the original Beaufort, but structurally very close.

Family :
Polyalphabetic
Difficulty :
Intermediate
Era :
19th century, German military use in WWI

Also known as : German Beaufort · German variant · subtractive Vigenère

The Beaufort variant, sometimes called the German Beaufort because it was used by the German army during World War I, is a cousin of the classic Beaufort with a subtle but crucial inversion in the encryption formula. It is often mistaken for the original, leading to historical cryptanalysis errors.

Principle

Encryption formula

For each plaintext letter P[i] and the repeating key K[i]:

Beaufort variant   :  C[i] = (P[i] − K[i]) mod 26

Compared with:

Vigenère           :  C[i] = (P[i] + K[i]) mod 26
Classic Beaufort   :  C[i] = (K[i] − P[i]) mod 26

Three different operations, three different ciphers. The Beaufort variant is the only one of the three that is not involutive: a separate formula is needed for decryption.

Beaufort variant decryption  :  P[i] = (C[i] + K[i]) mod 26

It is in fact equivalent to a Vigenère with encryption and decryption swapped — hence the alternate name subtractive Vigenère.

Example

Plaintext: CIPHERCHRONICLE, key SECRET (repeating: SECRETSECRETSEC).

P :  C  I  P  H  E  R  C  H  R  O  N  I  C  L  E
K :  S  E  C  R  E  T  S  E  C  R  E  T  S  E  C
P-K:-16  4 13 -10 0 -2 -16 3 15 -3  9 -11 -16  7  2
mod 26: 10 4 13 16 0 24 10 3 15 23  9 15 10  7  2
C :  K  E  N  Q  A  Y  K  D  P  X  J  P  K  H  C

Ciphertext: KENQAYKDPXJPKHC.

Why the historical confusion

The classic Beaufort is named after Sir Francis Beaufort (1774–1857), a British officer who also designed the Beaufort wind scale. His formula C = K − P is involutive: encryption and decryption are the same operation, which makes it convenient in the field.

The German variant is later, designed by German military services for their own field use in the early 20th century. When Allied services intercepted ciphertexts produced under the German variant, they first assumed it was classic Beaufort — their involutive decryption attempts failed silently, costing several days of analysis before a cryptanalyst spotted the subtle difference.

Strengths and weaknesses

Strengths

  • Identical to Vigenère statistically: Kasiski analysis and the index of coincidence return the same results. So it is not weaker.
  • Discriminating: if the attacker tests classic Beaufort instead of the variant, they fail silently — useful for trapping a hurried cryptanalyst.

Weaknesses

  • No improvement over Vigenère: same level of security as a regular Vigenère.
  • Not involutive: requires two different procedures for encryption and decryption, complicating field operations.
  • Confusion with classic Beaufort: a real risk of operational error.

Today

The Beaufort variant is mostly used pedagogically to illustrate:

  • How three small additive / subtractive variations produce three distinct ciphers.
  • Why involutivity is a design choice, not an automatic mathematical property.
  • How a service convention can trap a cryptanalyst who skips the historical detail.

In CipherChronicle

The Beaufort variant is a classic pedagogical trap: it shows up after Vigenère and the original Beaufort to make the player feel that a single sign change rewrites everything. Companion grids can ask the player to distinguish Beaufort from the variant by comparing both hypotheses against a known crib.

Grid

K
E
N
Q
A
Y
K
D
P
X
J
P
K
H
C
Q
R
S
T
U
V
W
X
Y
Z
KeyK = SECRET
  1. 1

    Ciphertext

    Fifteen letters whose frequency is flattened like a long-key Vigenère.

  2. 2

    Pattern recognition

    Looks like Vigenère, but Kasiski analysis returns slightly different results.

  3. 3

    Hypothesis: Beaufort variant, key SECRET (cipher = plain − key)

    Subtracting the key from the plaintext yields a result that is not the inverse of classic Vigenère.

  4. 4

    Apply the inverse shift

    Decryption uses plain = (cipher + key) mod 26 — a non-involutive operation.

  5. 5

    Message revealed

    The plaintext re-emerges in its original order.