← ClaudeAtlas

kerckhoffs-principlelisted

Apply Kerckhoffs's Principle when reviewing security designs, authentication systems, encryption implementations, or any situation where someone relies on keeping an algorithm, method, or system architecture secret for security. Trigger on phrases like "security through obscurity", "we keep the algorithm secret", "don't publish how this works", "our system is secure because nobody knows about it", or any security discussion where the secrecy of the design—rather than the secrecy of a key—is the security mechanism. This is a foundational principle of modern cryptography and security engineering.
The-Artificer-of-Ciphers-LLC/skills-from-the-artificer · ★ 2 · DevOps & Infrastructure · score 73
Install: claude install-skill The-Artificer-of-Ciphers-LLC/skills-from-the-artificer
# Kerckhoffs's Principle > "In cryptography, a system should be secure even if everything about the system, except for a small piece of information — the key — is public knowledge." > — Auguste Kerckhoffs, 1883 ## The core idea A secure system should remain secure even if your adversary knows everything about how it works — every algorithm, every protocol, every implementation detail. The only secret should be the **key**: a small, replaceable piece of information that is easy to change if compromised. Equivalently (Claude Shannon's reformulation): "The enemy knows the system." Design accordingly. ## Why this matters "Security through obscurity" — keeping the algorithm secret — is a fragile and dangerous strategy: - **Algorithms leak.** Reverse engineering, insider threats, disgruntled employees, code dumps, patents, academic publications — secrets get out. - **You can't change an algorithm like you can change a key.** If your secret is the algorithm and the algorithm leaks, you have to redesign your entire system. If your secret is a key and the key leaks, you rotate it. - **Obscurity prevents scrutiny.** When experts can't examine your system, bugs and vulnerabilities go unfound. Open systems attract more eyeballs and become more secure over time (see also: Linus's Law). - **Attackers don't follow your assumptions.** Designing under the assumption that attackers don't know your system design is almost always wrong by the time you're under attack. ## What this means