Symmetric Key Encryption
Jonathan Katz, University of Maryland
Symmetric key encryption schemes (also variously known as secret key, private key, or shared key encryption schemes for reasons that will become clear in a moment) allow users who have previously agreed on a shared, secret key to ensure the secrecy of their communication. A prototypical example might be two soldiers who wish to communicate securely while they are in the battlefield. Before heading to the battlefield (say, while they are together on base), these two soldiers can generate and share a random key k, which they will keep secret from everyone else. Later, when they are in the battlefield, these soldiers can use the common key k they have shared to communicate securely. In particular, when one soldier (the “sender”) wishes to send a message M (sometimes also called the plaintext) to the other (the “receiver”), ...