2Symmetric key cryptography

The process of encryption and decryption of information by using a single key is known as secret key cryptography or symmetric key cryptography. In symmetric key cryptography the keys used to encrypt the plaintext and to decrypt the ciphertext may be identical (usual situation) or there may be a simple transformation to go between the two keys. The main problem with symmetric key algorithms is that the sender and the receiver have to agree on a common key. A secure channel is also required between the sender and the receiver to exchange the secret key.

Both parties must protect the key; the disclosure of the key by either party can result in compromise of the information

The process of using symmetric-key cryptography is as follows: User A wants to send a message to User B and wants to ensure that only User B is able to read the message. To secure the transmission, User A generates a secret key, encrypts the message with this key, and sends the message to User B. User B needs that secret key to read the encrypted message. User A can give the secret key to User B by using any means available. After User B receives the secret key, he or she can decrypt the message to retrieve the original message.

Fig 2.1. Symmetric-key encryption model

The properties that a cipher algorithm must fulfill are the following:

- Diffusion: each bit of the plaintext influence many ciphertext bits and each ciphertext bit is affected by many plaintext bits,
- Confusion: it is necessary to avoid structured relationships (especially linearity) between plaintext and ciphertext/key that are exploited in known attacks.
- Ciphertext should be random-looking and have good statistical properties.
- Simplicity.
- Efficiency: extremely fast in hardware & software on wide variety of platforms.

The major problem with symmetric cryptography is that the process of transferring keys to the recipient is prone to security risks. Transferring the secret key over the Internet in an e-mail message is insecure. Verbally communicating the key over a phone line runs the risk of eavesdropping. Similarly, snail mail runs the risk of possible interception.

The security risks that are involved in secret key cryptography have been overcome to a large extent by using public key cryptography. Secret-key cryptography is often used to encrypt data on hard drives. The person encrypting the data holds the key privately and there is no problem with key distribution.

As we mentioned in the previous section, an important distinction among secret key algorithms is between stream and block ciphers. Nowadays, block ciphers are more used than stream ones.