Symmetric Key Encryption
Introduction

Task

Data Dictionary

Teacher's Tools

Bit Commitment

Blinding

Certificates

Digital Signatures

Key Distribution

Public Key

Secret Splitting

Security Basics

 

One method of secure communications is symmetric key encryption.  The encryption key can be calculated from the decryption key and the decryption key can be calculated from the encryption key.  A diagram of the cryptosystem is presented below:

The protocol is described below:

  1. The sender and receiver agree on a how the key will encrypt / decrypt data.

  2. The sender and receiver agree on a symmetric key.

  3. The sender uses the key to encrypt a message.

  4. The sender sends the encrypted message to the receiver.

  5. The receiver uses the symmetric key to decrypt the message.

Symmetric key encryption is used for authentication and exchange of secret data on the world wide web. The world wide web uses this application because:

  • People want to keep their data confidential.   They don't want to advertise personal information like their credit card number.

  • Hackers are out there and they will try to take your data and use it for their evil purposes.

  • Anyone can tap into the communications on the world wide web, so it is open to attacks.

There are several advantages to this approach.

  • The algorithms are highly efficient.  They are not time consuming to execute.

  • The information is authentic because the information with one symmetric key can only be decrypted with the same key.

  • The sender and receiver know that they are talking to each other if the symmetric key has not been exposed.

However, there are several disadvantages to the symmetric key approach.

  • The keys must be distributed to the sender and receiver in secret.  If an attacker intercepts the key, they will be able to decrypt the messages that are being sent from the sender to the receiver.

  • If the key is compromised, then an attacker can easily decrypt any message that goes from the sender to the receiver.

  • Assuming that each pair of users needs a symmetric key, it will take many keys to guarantee secure communications.   For example, 5 users require 10 keys, 10 users require 45 keys, 100 users will require 4950 keys.  N users will need N(N-1)/2 keys.  This is a problem because of the large number of keys that would be needed to support users..

A note on the number of keys is presented for clarification.  A simple example of 5 users is presented.

  1. If there are 5 users, then each individual user can talk to 4 other people.

  2. The combinations of communications are summarized as follows.  Person 1 can talk to Persons 2, 3, 4, and 5.  Person 2 can talk to Person 1, 3, 4, 5.  Person 3 can talk to Persons 1, 2, 4, and 5.  Person 4 can talk to Persons 1, 2, 3, and 5. Person 5 can talk to Persons 1, 2, 3, and 4.   Therefore each person can talk to 4 other people.  There are five people, so there are 20 total possible communications.

  3. Whenever there is a communication between 2 people, it requires a single key.  However, when Person 1 talks to Person 2, this uses the same key as when Person 2 talks to Person 1.   When Person 1 talks to Person 3, it uses the same key as when Person 3 talks to Person 1.  Therefore, when all of the combinations are counted, it can be seen that the following unique communication path exists:  Person 1 and Persons 2, 3, 4, and 5 talking,  Person 2 and Persons 3, 4, and 5 talking,  Person 3 and Persons 4, and 5 talking.  Person 4 and Person 5 talking.   Therefore, there are 10 unique combinations and 10 keys required.

The reason that N users require N(N-1)/2 keys is because of the following.

  1. If there are N users, then each individual user can talk to N - 1 other people.  There is no reason to talk to yourself, so that's why it is N - 1 users.

  2. The total number of possible communications is therefore N(N-1).  This covers all the combinations.

  3. Each communication between 2 users requires one key.  However, when person N talks to person N-1, it uses the same key as when Person N-1 talks to Person N.   This implies the total number of unique combinations is half of what was determined in the previous step.  Therefore,  N(N-1)/2 keys are required.

One method of solving the problem of so many keys is to use public key cryptography.

For more information:

  1. "Private Key Cryptography" by David Cyganski is available at http://www.ece.wpi.edu/infoeng/textbook/node212.html.  February 17, 1998.