Data Encryption Standard Flashcards
Lecture 5 (10 cards)
What are pseudo-random permutations?
A pseudo-random permutation is a function that looks random to any observer who doesn’t know the key, is reversible, and depends on a secret key. It cannot be distinguished from a random permutation.
What two important concepts do block ciphers need to adhere to?
Confusion - Obscure the relationship between plaintext, key and ciphertext
Diffusion - Influence of each plaintext and key bit is distributed throughout the ciphertext
How do block ciphers achieve the two important concepts?
Confusion - Achieved through substitution operations
Diffusion - Achieved via permutation i.e. swapping or otherwise mixing bits or bytes
What is a Feistel Network?
A Feistel Network is a method for construction a pseudo-random permutation by repeatedly processing the data through rounds that apply a round function.
How does a Feistel network function?
It encrypts only half of the block each time, where it passes the right half of the block through an encryption function, then XORs it with the original left half to create the new right half. The left half result is simply the original right half that was passed in.
How can you use Feistel networks to both encrypt and decrypt without any additional changes?
You encrypt using some keys, and to decrypt, you use the same keys in the reverse order.
How are Feistel networks not secure if you use them for only 1-2 rounds of encryption?
It doesn’t provide enough confusion and diffusion, which are critical components for secure encryption. It also leaves them vulnerable to differential and linear cryptanalysis attacks, as well as man-in-the-middle attacks.
What are some key features of the architecture surrounding DES?
- It uses a Feistel network with 64-bit block size
- It uses a 56-bit key
- It performs 16 rounds of the Feistel network
What is Expansion and how is it used in DES?
Expansion is the technique where they take the input register (R), and expand it to be the same size as the round key. It performs this by using some bits in the register twice to fill up the extra slots, which aims to increase diffusion.
What are S-Boxes in the context of DES?
Substitution boxes. They aim to add confusion by mapping 6-bit inputs to 4-bit outputs, and there are 8 total S-Boxes.