LOGBOOK

HELP

Quiz Entry - updated: 2026.07.14

Why is a block cipher described as a "keyed family of permutations"?

Because for each key K, the block cipher defines a unique bijective mapping (permutation) from the set of all possible plaintext blocks to the set of all possible ciphertext blocks.

Each key K selects one bijection from plaintext blocks to ciphertext blocks

* Each key selects one bijection from plaintext blocks to ciphertext blocks; the secrecy is which one. *

This framing is what lets a single, fully public algorithm behave like astronomically many different ciphers: the secrecy lives entirely in which permutation the key selects, never in the algorithm itself (Kerckhoffs's principle). Decryption is just applying the inverse of that chosen permutation.

Formally:

  • E: {0,1}^k × {0,1}^n → {0,1}^n
  • For a fixed key K, E_K is a permutation (bijection) on {0,1}^n
  • D_K is the inverse permutation: D_K(E_K(M)) = M

Why bijective?

  • Each plaintext block maps to exactly one ciphertext block, and vice versa
  • If it weren't bijective, decryption would be ambiguous (multiple plaintexts could produce the same ciphertext)

How many permutations exist?

  • For a block size of n bits, there are (2^n)! possible permutations
  • The key selects ONE of these permutations
  • With a k-bit key, we can select from 2^k permutations (a tiny fraction of all possible ones)

Example: For n=3 (3-bit blocks), there are 8! = 40,320 possible permutations, but a 2-bit key would only select from 4 of them.

Go deeper:

From Quiz: KRYPTOG / Symmetric Cryptography | Updated: Jul 14, 2026