Академический Документы
Профессиональный Документы
Культура Документы
X+Y+Z = 64 bits
Y y0 y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15 y16 y17 y18 y19 y20 y21
Z z0 z1 z2 z3 z4 z5 z6 z7 z8 z9 z10 z11 z12 z13 z14 z15 z16 z17 z18 z19 z20 z21 z22
Each value is a single bit
Key is used as initial fill of registers
Each register steps or not, based on (x8, y10, z10)
Keystream bit is XOR of right bits of registers
Chapter 3 Symmetric Key Crypto
14
From Wikipedia
Y 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 1
Z 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1
L R
expand
28 28
48
48
Compress
48
S-boxes(8)
32 28 28
P Box
32
32 32
Input 32 bits
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Output 48 bits
31 0 1 2 3 4 3 4 5 6 7 8
7 8 9 10 11 12 11 12 13 14 15 16
15 16 17 18 19 20 19 20 21 22 23 24
23 24 25 26 27 28 27 28 29 30 31 0 BACK
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Output 32 bits
15 6 19 20 28 11 27 16 0 14 22 25 4 17 30 9
1 7 23 13 31 26 2 8 18 12 29 5 21 10 3 24
BACK
Chapter 3 Symmetric Key Crypto
35
DES Subkey
56 bit DES key, numbered 0,1,2,…,55
Left half key bits, LK
49 42 35 28 21 14 7
0 50 43 36 29 22 15
8 1 51 44 37 30 23
16 9 2 52 45 38 31
BACK
State = X
AddRoundKey(State, Key0) (op1)
for r = 1 to Nr - 1
SubBytes(State, S-box) (op2)
ShiftRows(State) (op3)
MixColumns(State) (op4)
AddRoundKey(State, KeyNr)
endfor
SubBytes(State, S-box)
ShiftRows(State)
AddRoundKey(State, KeyNr)
Y = State
XOR subkey
with block:
Assume 128-bits
block
RoundKey (subkey)
determined by
key schedule
algorithm
We will ignore
the AES key
schedule
Chapter 3 Symmetric Key Crypto
57
AES ByteSub
Assume 128 bit block, i.e. 4ⅹ4 bytes
First 4
bits of
input
Briefly…
IDEA
Blowfish
RC6
More detailed…
TEA
Main drawbacks
encryption is sequential (i.e., it cannot be parallelized),
the message must be padded to a multiple of the cipher
blk size.