Lecture 7: Block Ciphers (product ciphers, iterated ciphers, substitution-permutation networks, Feistel ciphers, standard security properties, DES, AES) Flashcards
What type of cipher is a block cipher?
Symmetric key ciphers where each block of plaintext is encrypted with SAME key
What is the block in the block cipher?
set of plaintext symbols of fixed size
What is the typical block size in modern block ciphers?
between 64 and 256 bits
Give the notation of a plaintext block in a block cipher
P (length = n bits)
Give the notation of a ciphertext block in a block cipher
C (length = n bits)
Give the notation of a key in a block cipher
K (length = k bits)
How is encryption denoted as in block ciphers?
C = E(P,K)
How is decryption denoted as in block ciphers?
P = D(C,K)
What are Claude Shannon’s two important encryption techniques called?
- confusion
2. diffusion
What is the encryption technique of confusion?
involving substitution to make the relationship between K and C as complex as possible
→ mitigate possibilities of statistical analysis succeeding
What is the encryption technique of diffusion?
involving transformations to dissipate the statistical properties of P across C
Explain the product cipher
Cryptosystem where encryption is formed by applying (also composing) several sub-encryption functions
Most block ciphers are composition of simple functions fi, for 1 <= i <= r s.t. Each fi has its own key Ki → onion
C = E(P,K) = fr(…(f2(f1(P,K1),K2)…),Kr)
last output as 1st input for next round
What are modern block ciphers which are special product ciphers called?
Iterated ciphers
Briefly outline encryption for the iterated cipher
Encryption divided into r similar rounds
Given plaintext block P, round function g and round keys K1, K2, … Kr, ciphertext block C is derived through r rounds
Repeating with diff keys and same function
W0 = P W1 = g(W0, K1) = g(P,K1) W2 = g(W1,K2) ... Wr = g(Wr-1,K1) = C
Briefly outline how the sub-encryption functions of the iterated cipher
all the same function g, called round function
Briefly outline how the key Ki is derived i.t.o iterated cipher
Derived from overall master key K using key schedule process
What is Ki call in terms of the iterated cipher
round key/subkey
Explain decryption process for iterated cipher
Reverse of encryption process
Inverse function g-1 must exist s.t. g-1(g(W,Ki),Ki) = W for all keys Ki and blocks W
See slide 11 of set 7 for eqns
What does SPN stand for?
Substitution-permutation network
What must block length n allow for in SPN?
each block to be split into m sub-blocks of length l → n = l x m
What is AES an example of?
SPN
What is SPN a type of?
iterated cipher
What are the two operations of SPN?
Substitution πs
Permutation πp
What is substitution πs in terms of SPN?
Substitution πs (substitution box/s-box) operates on sub-blocks of length l bits: πs : {0,1}’ → {0,1}’
What is permutation πp in terms of SPN?
Permutation πp (permutation box/p-box) swaps inputs from {1,…,n} similarly to transposition ciphers: πp : {1,…,n} → {1,…,n}
What are the steps in the SPN round function?
- Round key Ki is XORed with current state block Wi: Ki ⊕ Wi
- Each sub-block is substituted by applying πs
- The whole block is permuted using πp
Briefly explain the illustration of the round function on slide 15 of set 7
TODO
What type of cipher is the feistel cipher?
iterated cipher
What is DES an example of
feistel cipher
Briefly outline the round function of the feistel cipher
Swaps 2 halves of block and forms new right hand half
What is the feistel cipher sometimes called?
Feistel network
Explain the encryption process for the feistel cipher
- Split plaintext block P = W_0 into 2 halves (L_0, R_0)
- For each round, perform:
Li = R_i-1
Ri = L_i-1 ⊕ f(R_i-1, K_i) - Output ciphertext block C = W_r = (L_r, R_r)
See slide 17 of set 7 for diagram
Explain the decryption process for the feistel cipher
- Split ciphertex block C into 2 halves (Lr, Rr)
- For each round, perform:
Li-1 = Ri ⊕ f(Li, Ki)
Ri-1 = Li - Output plaintext block P = (L0,R0)