Symmetric key cryptography
Diese Seite wurde noch nicht übersetzt. Sie sehen die englische Originalversion.
In this lesson we will look at symmetric key cryptography which secures much of the data at rest and in transit by virtue of its efficiency.
By the end of the lesson we will have covered:
- What symmetric key cryptography is
- Python code examples demonstrating the use of symmetric key cryptography
- A look at applications of symmetric key cryptography
- Symmetric key cryptography applications
- The security of symmetric key cryptography
- Threats to these algorithms from both classical and quantum computers
Introduction to symmetric key cryptography
Symmetric key cryptography (SKC) is the oldest and most intuitive form of cryptography. With SKC, confidential information is secured through symmetric key encryption (SKE), that is, by using a single secret key for both encryption and decryption.
SKC involves:
- An encryption function that converts a given plain text instance to ciphertext while utilizing a secret key
- A decryption function that inverts the operation by converting the ciphertext back to plain text using the same secret key
Plain text can mean any kind of unencrypted data such as natural language text or binary code whose information content is in principle directly accessible, while ciphertext refers to encrypted data whose information content is intended to be inaccessible prior to decryption.
An algorithm that describes the encryption and decryption operations using a shared secret key is also called a symmetric cipher.

Figure 1. Symmetric key encryption of a given plain text to ciphertext and decryption back to plain text using the same key.
Properties of symmetric key cryptosystems
A symmetric key cryptosystem should ensure the following properties to secure messages-both statically stored data and/or communications over some transmission channel:
- Confidentiality: Refers to the property that the information content of encrypted messages is protected from unauthorized access.
- Integrity: Refers to the property that any tampering of encrypted messages during storage or transmission can be detected.
- Authenticity: Refers to the property that the receiver of a message can verify the identity of the sender and detect impersonation by an unauthorized party.
Furthermore, these properties should be realized in a setting where the algorithms or ciphers used for encryption and decryption may be public and where access to the information content of encrypted messages is controlled exclusively through access to the secret key.
Implementing a secure symmetric key cryptosystem therefore involves two main tasks:
- Employing a robust symmetric key encryption algorithm resistant to cryptographic attacks.
- Ensuring confidentiality in the distribution and management of secret keys.
In this lesson, we will discuss aspects related to the first task, which forms the primary concern of SKC technology. The second task, however, needs solutions that fall outside of SKC itself and will be introduced later.