A symmetric cipher is one in which a given key is used to encrypt data, and that same key must be used to decrypt the data. This presents some pretty obvious security problems.

How can a symmetric cipher present some secrecy problems? Some authentication problems?

Public Key infrastructures are an interesting and relatively new development. The theory is that a given key has two parts. One part you publicize (the public key), and one part you keep secret (the private key). The system is constructed (with some rather complicated math) such that, for a given key pair, data enciphered with the public key can only be deciphered with the private key, and vice versa. (Note that this means the decision on which is public and which is private is functionally arbitrary, for the most part.)

How does this solve the secrecy and authentication problems of symmetric ciphers? But at what cost?


modern basics Stream vs. Block Ciphers One-way Functions Certificates
Applications