The Kerckhoff’s principle states that the security of a system should depend on its secret key, not on its design remaining obscure.

There are several reasons for this:

  • public scrutiny
  • whole security budget is to manage the key, rather than hiding obscure code
  • interoperability & trust: standard, documented ciphers let everyone to implement and verify correctness

See Also

  • Dolev-Yao Model - assumes that adversary has whole control of the network and is only limited by the constraints of the cryptographic methods