A system should remain secure even if everything about the system excluding the key is known.

In practice, we find that: As a cryptosystem increases in complexity, the more fragile the system becomes.