You are viewing a free preview of this lesson.
Subscribe to unlock all 10 lessons in this course and every other course on LearningBro.
Symmetric encryption uses a single shared key for both encryption and decryption. It is the workhorse of modern cryptography — fast, efficient, and used to protect the vast majority of data at rest and in transit.
Sender: Plaintext ──▶ [ AES Encrypt + Key ] ──▶ Ciphertext
Receiver: Ciphertext ──▶ [ AES Decrypt + Key ] ──▶ Plaintext
Both parties must possess the same secret key. The fundamental challenge is: how do you securely share the key?
| Feature | Block Cipher | Stream Cipher |
|---|---|---|
| Processing | Encrypts fixed-size blocks (e.g., 128 bits) | Encrypts one bit or byte at a time |
| Speed | Slightly slower per byte | Very fast, especially in hardware |
| Use case | File encryption, disk encryption, TLS | Real-time communications, wireless |
| Examples | AES, DES, 3DES, Blowfish | ChaCha20, RC4 (deprecated) |
DES was adopted as a US federal standard in 1977:
DES uses a Feistel structure where each round:
L₀ R₀
│ │
│ ┌──────┤
│ │ F(R₀, K₁)
│ │ │
⊕◄────┘ │
│ │
L₁=R₀ R₁=L₀⊕F(R₀,K₁)
To extend DES's life, 3DES applies DES three times with two or three different keys:
Ciphertext = DES_Encrypt(K3, DES_Decrypt(K2, DES_Encrypt(K1, Plaintext)))
AES is the gold standard for symmetric encryption, adopted by NIST in 2001 after a public competition won by the Rijndael algorithm (by Joan Daemen and Vincent Rijmen).
| Property | Value |
|---|---|
| Block size | 128 bits |
| Key sizes | 128, 192, or 256 bits |
| Rounds | 10 (128-bit), 12 (192-bit), or 14 (256-bit) |
| Structure | Substitution-permutation network (SPN) |
Each AES round performs four operations:
Plaintext
│
▼
AddRoundKey (initial)
│
▼
┌──────────────────┐
│ SubBytes │
│ ShiftRows │ × 9/11/13 rounds
│ MixColumns │
│ AddRoundKey │
└──────────────────┘
│
▼
SubBytes
ShiftRows
AddRoundKey (final)
│
▼
Ciphertext
Subscribe to continue reading
Get full access to this lesson and all 10 lessons in this course.