CYG Chapter 5 Fast Block Ciphers
Questions about the lecture 'Cryptography' of the RWTH Aachen Chapter 5 Fast Block Ciphers
Questions about the lecture 'Cryptography' of the RWTH Aachen Chapter 5 Fast Block Ciphers
Set of flashcards Details
Flashcards | 53 |
---|---|
Language | English |
Category | Computer Science |
Level | University |
Created / Updated | 21.03.2017 / 20.08.2017 |
Weblink |
https://card2brain.ch/box/20170321_cyg_chapter_5_fast_block_ciphers
|
Embed |
<iframe src="https://card2brain.ch/box/20170321_cyg_chapter_5_fast_block_ciphers/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
What happened 15.5.1973?
[history.fastblockciphers]
NBS solicited proposals for a cs, choosing DES based on LUCIFER by IBM (Adler et al.)
What happened 1975?
[history.fastblockciphers]
Rumors say that IBM or the NSA installed trapdoor in DES
What happened 17.3.1975?
[history.fastblockciphers]
DES being published and starting a public discussion
What happened 1.1977?
[history.fastblockciphers]
DES adopted as a standard for unclassified applications
What happened 1999?
[history.fastblockciphers]
Last review of DES in a 5 years loop // Was dedicated for 10-15 years and proved to be more durable
What is the definition?
[keygeneration.DES.fastblockciphers]
K0=(k1, …,k7,b1,k9, …,k63,b8) // 56 bits, extended by 8 (odd) parity bits for each 7 bits for error detection
What are the steps?
[roundkeys.keygeneration.DES.fastblockciphers, 3]
1. Devide 56 key bits into 28 bits each C0 and D0
2. Generate Cn,Dn via cyclic leftshift by sn from Cn-1,Dn-1 with n = 1,…,16 and sn := {If n \in {1,2,9,16} then 1; else 2}
3. Of each (Cn,Dn) select 48 bit
What are the steps?
[encryption.DES.fastblockciphers, 4]
1. Get IP of input bits and divide plaintext into blocks of 64 bits
2. Split into two blocks of 32 bits
3. 16 rounds of SBB
4. Obtain inverse IP-1
What are the steps?
[SBB.encryption.DES.fastblockciphers, 3]
1. Expansion map E doubles 16 of 32 input bits and permutes resulting 48 bits
2. Proceed bitwise xor with round key Ki
3. Obtain P via transformation S
What is the definition?
[S.SBB.encryption.DES.fastblockciphers, 4]
1. {0,1}48 → {0,1}32
2. Divide 48 bits into 8 blocks of 6 bits
3. r = 2*bi1 + bi6
4. s = Sumj=25 25-j*bij
What holds?
[encryption.DES.fastblockciphers, 2]
1. Li = Ri-1, Ri = Li-1 xor f(Ri-1,Ki)
2. Ri-1 = Li, Li-1 = Ri xor f(Li,Ki)
What is the definition?
[decryption.DES.fastblockciphers]
Use encryption algorithm with keys in reverse
What are the characteristics?
[exhaustive.security.DES.fastblockciphers, 2]
1. Look for 256 possible keys
2. Realized in 1999 with 100.000 workstations in 22h
What are the characteristics?
[differential.security.DES.fastblockciphers, 3]
1. Lower complexity of attack with differential cryptanalysis
2. Realized in 1992 at CRYPTO by Biham and Shamir
3. Attack is still complex due to S-Boxes // Did IBM knew about this?
What holds for nowadays?
[security.DES.fastblockciphers]
DES can be broken with todays hardware in relatively short time
What is the definition?
[triple.DES.fastblockciphers, 3]
1. Perform DES three times with different keys
2. c = DESK3(DESK2-1(DESK1(m))) or DESK1(DESK2-1(DESK1(m)))
3. Ensure compatibility with DES via second step and K1=K2=K3
What are the options?
[keygeneration.AES.fastblockciphers, 3]
K0 has a length of 128, 192 or 256 bits
What defines the number?
[roundkey.keygeneration.AES.fastblockciphers]
r := {10 for 128 bits; 12 for 192 bits; 14 for 256 bits}
How are they organized?
[roundkey.keygeneration.AES.fastblockciphers]
Organize each roundkey into a 4x4 matrix of bytes
What is the definition?
[keyexpansion.roundkey.keygeneration.AES.fastblockciphers]
Generates r+1 round keys of 128 bits // Similar for other sizes
What are the steps?
[keyexpansion.roundkey.keygeneration.AES.fastblockciphers, 3]
1. View K as a 4-tuple of 32 bit words W0,…,W3
2. Generate 4*(r+1) 32 bit words W0,…,W4r+3
3. Every 4 words form a roundkey
What is the definition?
[Wi.keyexpansion.roundkey.keygeneration.AES.fastblockciphers, 2]
1. Start with i=4
2. If i%4==0 then Wi=Wi-4 xor (SubBytes(RotByte(Wi-1)) xor Rcon(i/4)) else Wi=Wi-4 xor Wi-1
What is the definition?
[rotbyte.keyexpansion.roundkey.keygeneration.AES.fastblockciphers]
Shift cyclically left by one byte
What is the definition?
[rcon.keyexpansion.roundkey.keygeneration.AES.fastblockciphers]
Rcon(i) = (RC(i),0x00,0x00,0x00)
What is the definition?
[rc.keyexpansion.roundkey.keygeneration.AES.fastblockciphers]
RC(i) represents xi-1 as element of F2^8
Where are most computations done?
[encryption.AES.fastblockciphers]
In the field F2^8=F2[X]/(x8+x4+x³+x+1)F2[X]
What are the steps?
[encryption.AES.fastblockciphers, 5]
1. Divide plaintext into blocks of 128 bits
2. Organize each block into a 4x4 matrix of bytes, so-called state
3. Bytewise xor of each state with roundkey K0 // AddRoundKey
4. r-1 rounds // SubBytes, ShiftRows, MixColumns and AddRoundKey
5. Perform last round without MixColumns
What is the definition?
[subbytes.encryption.AES.fastblockciphers, 1+3]
1. B → B
2. Each byte is viewed as b=b7x7+…+b0 of F2^8
3. Write out the coefficients as y=y7,…,y0 // Multiplicative inverse of b
4. Compute r by affine map A*y +b // Use 256-entry lookup table
What is the definition?
[A.subbytes.encryption.AES.fastblockciphers]
A has 5*1 in a row, starting with (1,0,0,0,1,1,1,1)
What is the definition?
[b.subbytes.encryption.AES.fastblockciphers]
B:=(1;1;0;0;0;1;1;0)
What is the definition?
[shiftrows.encryption.AES.fastblockciphers, 1+3]
1. B → C
2. Shift second row cyclically left by one byte
3. Shift third row cyclically left by two byte
4. Shift fourth row cyclically left by three byte
What is the definition?
[mixcolumns.encryption.AES.fastblockciphers, 1+3]
1. C → D
2. Each byte is viewed as c=c7x7+…+c0 of F2^8
3. Compute D by multiplication A*C
4. Alternative, compute columns of D as four term polynomial
What is the definition?
[A*C.mixcolumns.encryption.AES.fastblockciphers, 2]
1. A has 6*0 +ab starting with (10, 11, 01, 01)
2. Can be computed efficiently with shift and xor
What is the definition?
[4tpoly.mixcolumns.encryption.AES.fastblockciphers, 3+2]
1. f=c3u3+…+c0
2. Multiply by fix polynomial a(u)=(x+1)u³+u²+u+x
3. Reduce modulo u⁴+1 afterwards
4. Can be rewritten as T*c
5. T has rows starting with (x, x+1, 1, 1)
What is the definition?
[addroundkey.encryption.AES.fastblockciphers]
Perform bitwise xor with roundkey Ki in ith round
What is the definition?
[decryption.AES.fastblockciphers]
Use encryption algorithm with inverted transformations in reverse
What are the characteristics?
[security.AES.fastblockciphers, 2]
1. Design criteria of AES are fully documented and discussed
2. Open discussion foreclosed suspicion of built-in trapdoors
List them!
[designcriteria.security.AES.fastblockciphers, 6]
1. If 1 byte is modified then 16 bytes are modified after 2 rounds
2. S-Boxes are non-linear to resist differential cryptanalysis
3. Simple algebraic design allows efficient implementations
4. ShiftRows avoids ‘truncated differential-’ and ‘square attack’
5. MixColumns causes diffusion among bytes
6. KeySchedula avoids advantages from knowing parts of the key
What are the characteristics?
[attacks.security.AES.fastblockciphers, 3]
1. AES128, AES192 and AES256 are attacked by exhaustive key search
2. Faster attacks can be applied when reducing number of rounds
3. Attacks with complexity 2119 and 299.5 are known since 2009
What happened 9.1997?
[history.fastblockciphers]
NIST solicited 21 proposals for a replacement for DES till 6.1998