Go Back

Block Ciphers

Topics

A block cipher is a symmetric key encryption scheme (SKES) in which a fixed-length block of plaintext determines an equal-sized block of ciphertext.

Desired Properties of Block Ciphers (by Claude Shannon, 1949)

Advanced Encryption Standard

General Structure

Round Operation

AES Encryption

AES Key Schedule (for 128-bit keys)

Image Source: https://en.wikipedia.org/wiki/AES_key_schedule
Round Constant Round Constant
1 0x01 6 0x20
2 0x02 7 0x40
3 0x04 8 0x80
4 0x08 9 0x1b
5 0x10 10 0x36

Data Encryption Standard

The Data Encryption Standard (DES) is a symmetric-key block cipher published by the National Institute of Standards and Technology (NIST). DES was widely used in the 1970s and 1980s but has since been replaced by more secure algorithms like AES due to its shorter key length and vulnerability to brute-force attacks.

Structure of DES

Block cipher with 64-bit blocks, 56-bit key and 16 rounds:

Plaintext (64 bits)
→ Initial Permutation
→ Feistel Network (16 rounds) with 56-bit key from Key Schedule
→ Inverse of Initial Permutation
→ Ciphertext (64 bits)

Feistel Network

Components of a Feistel Cipher

Design of the Feistel Network

Image Source: https://www.ixopay.com/en/news/what-is-a-feistel-cipher

Notes on Feistel Cipher

DES Encryption and Decryption

Encryption (with h rounds): Decryption

Structure of the Component Function

Image Source: https://en.wikipedia.org/wiki/Data_Encryption_Standard

DES S-box

Problems in DES

1. Small key size 2. Small block size

Attacks on DES

Improved DES

1. Mitigating Short Keys: encrypt multiple times 2. Double Encryption (Double-DES) 3. Triple-DES