Kerckhoffs's Principle

Work in progress. This note is still being written and incomplete.

A cryptosystem must remain secure even if everything about the system, except the key, is public knowledge.

Design Guidelines

Recommended by Auguste Kerckhoffs for military ciphers.

  • Practical indecipherability
    The system must be practically, if not mathematically, indecipherable.
  • Compromise tolerance
    It should not require secrecy, and it should not be a problem if it falls into enemy hands.
  • Memorable, changeable keys
    The key must be easy to communicate and remember, without requiring written notes, and correspondents must be able to change or modify it at will.
  • Telegraph compatibility
    It must be applicable to telegraph communications.
  • Portability
    It must be portable, and its use must not require several people.
  • Ease of use
    Given the circumstances in which it is used, the system must be easy to use, requiring neither mental strain nor knowledge of a long series of rules.

Security Through Obscurity

Relying on secrecy of the design, algorithm, or architecture itself for security.

Contrast with Kerckhoffs’s principle:

  • Secret
    Kerckhoffs’s principle keeps only the key secret. Obscurity keeps the whole algorithm and architecture secret.
  • Assumed attacker
    Kerckhoffs’s principle assumes they know the full system. Obscurity assumes they know nothing.

A single leak or reverse-engineering of the secret design compromises the entire system, and the key cannot be rotated to recover.

Proprietary or closed crypto loses public peer review. Hidden flaws and backdoors stay undetected until attackers find and exploit them. Open, peer-reviewed standards are preferred.

Secret ciphers broken after reverse-engineering:

  • DVD CSS
    40-bit key, broken in 1999.
  • GSM A5/1
    Stream cipher, design leaked in 1994, broken in practice.
  • TETRA:BURST
    2023 disclosure of flaws in the secret TETRA radio ciphers, including a reduced-strength TEA1.
Written by September 16, 2026 2 min read
Was this helpful?