Transposition Ciphers

Ciphers that scramble the order of characters without changing the characters themselves.

Family: Transposition Era: Classical → modern puzzles (common variants in WWII-era systems and puzzle hunts) Strength: Weak–medium (variant dependent)

History & context

Transposition is the second big idea in classical cryptography (alongside substitution). Instead of changing letters, you rearrange them. This preserves letter counts (and often vowel ratio) so the ciphertext can look deceptively “language-like” while still being unreadable. Historically, transpositions were frequently combined with substitution to increase strength. In puzzles, pure transposition appears a lot because it’s visually confusing but conceptually simple.

How Transposition Ciphers works

At a high level: choose a rule that maps plaintext positions → ciphertext positions. Common rules are based on grids (columnar), zig-zags (rail fence), or permutations (fixed position swaps). Because letters are not replaced, monogram frequencies and IoC tend to stay close to English, but bigrams/trigrams get disrupted because neighbors are no longer neighbors.

Core rules

Worked example

Columnar-style concept (no key shown): Plaintext: WEAREDISCOVEREDRUN Write into rows of width 5, then read columns → scrambled output. Key idea: the letters are all still there, just reordered.

How to encode / decode

Step-by-step

  1. Choose a specific transposition scheme (rail fence / columnar / permutation).
  2. Normalize text (decide if you remove spaces/punctuation).
  3. Apply the position-reordering rule.
  4. If the scheme uses a grid, decide how to pad the final row (if needed).
  5. To decode, reverse the exact same rule (padding must match).
💡 Tip: Most “my decode is almost right” bugs are padding/normalization mismatches: spaces removed vs preserved, or different filler characters at the end.

How to break a Transposition Ciphers

Breaking a transposition is about finding the rearrangement rule. Because the letters are correct but order is wrong, you often see: • vowel ratio looks normal, • letter frequency looks normal, • but common words don’t appear. Practical workflow: decide which transposition family it resembles (rail vs columnar), then brute small parameters (rails/width) and score outputs for English.

Practical checklist

What frequency looks like

Transposition keeps monogram frequency close to plaintext because it doesn’t change letters. So your frequency chart still has the typical English curve. The giveaway is that bigrams/trigrams that are normally dominant (TH, HE, THE, AND) are reduced because adjacency is destroyed.

Signals to look for:
  • IoC is often close to English.
  • Monogram frequency looks English-like (peaks exist).
  • But common bigrams/trigrams are unusually weak or scrambled.
  • Vowel ratio often looks normal compared to random data.

Mini example

If frequency looks English-like but brute-forcing Caesar gives nothing readable: → suspect transposition. Then brute rails (2–6) or column widths (2–20) and score outputs for English.

Common mistakes

Variants

Practice

Practice by encoding a message with rail fence (rails 3–5) and with columnar (short keyword), then try to recover the parameters from ciphertext only.

Try these prompts

FAQ

Because letters aren’t substituted, only rearranged—counts don’t change.
Rail fence rails 2–6, then simple grid widths 2–20.
Because neighbors in plaintext aren’t neighbors in ciphertext anymore.