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