Kerckhoffs' Principle (19th c.) The security of a cryptosystem should not rely on a secret that's hard (or expensive) to change. So don't have secret encryption methods. Then what do we do? Have a large class of encryption methods, instead. Hopefully, they're all equally strong. Make the class public information Use a secret key to specify which one you're using It's easy to change the key; it's usually just a smallish number.