80- DES, . :
1) 56 , ;
2) , , (, ).
, 1997 (NIST) (AES Advanced Encryption Standard).
15 . 2 , , , 5 , : MARS, RC3, Rijndael, Serpent TwoFish. .
2 2000 NIST : Rijndael, (Joan Daemen) (Vincent Rijnmen). .
Rijndael "" (Square) :
128, 192 256 ;
128, 192 256 ;
10, 12 14.
Rijndael , T T', N = 16, 24 32 . , () , 4 . , , . , . ( ) ,
-:
. (3.3)
. 3.3. : T, T ' ; i - ; F, F ' ; i - ; R .
. 3.3. Rijndael. |
. 3.3, :
|
|
.
: , 128 , 10 , 192 , 12, 256 14 . 3.2.
3.2
Rijndael
() | () | ||
, , GF(28). 2. , , .
, , . , .
F : ByteSub (S[]), ShiftRows () MixColumns - M:
.
(X), (X') .
F' F MixColumns:
.
ByteSub (S-Box). (. 3.3) , 16- , , .
3.3
ByteSub
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
0x | 7c | 7b | f2 | 6b | 6f | c5 | 2b | fe | d7 | ab | ||||||
1x | ca | c9 | 7d | fa | f0 | ad | d4 | a2 | af | 9c | a4 | c0 | ||||
2x | b7 | fd | 3f | f7 | cc | A5 | e5 | f1 | d8 | |||||||
3x | c7 | c3 | 9a | e2 | eb | b2 | ||||||||||
4x | 2c | 1a | 1b | 6e | 5a | a0 | 3b | d6 | b3 | e3 | 2f | |||||
5x | d1 | ed | fc | b1 | 5b | 6a | cb | be | 4a | 4c | cf | |||||
6x | d0 | ef | aa | fb | 4d | f9 | 7f | 3c | 9f | a8 | ||||||
7x | a3 | 8f | 9d | f5 | bc | b6 | da | ff | f3 | d2 | ||||||
8x | cd | 0c | ec | 5f | c4 | a7 | 7e | 3d | 5d | |||||||
9x | 4f | dc | 2a | ee | b8 | de | 5e | 0b | db | |||||||
Ax | e0 | 3a | 0a | 5c | c2 | d3 | ac | e4 | ||||||||
Bx | e7 | c8 | 6d | 8d | d5 | 4e | a9 | 6c | f4 | ea | 7a | ae | ||||
Cx | ba | 2e | 1c | a6 | b4 | c6 | e8 | dd | 1f | 4b | bd | 8b | 8a | |||
Dx | 3e | b5 | f6 | 0e | b9 | c1 | 1d | 9e | ||||||||
Ex | e1 | f8 | d9 | 8e | 9b | 1e | e9 | ce | df | |||||||
Fx | 8c | a1 | 0d | bf | e6 | 2d | 0f | b0 | bb |
ShiftRows , , , . . 3.4 .
|
|
3.4
ShiftRows
(n) | |||
MixColumns - M:
,
.
GF(28). M : . , : 01, 02 03, , .. . .
, GF(28) . , GF(28) 2. Rijndael . GF(28) , . - . , .
. 3.4 ByteSub, ShiftRows MixColumns.
Rijndael 128, 192 256 . , , 128, 192 256 . 10 14. KeyExpansion "" .
KeyExpansion ( ) 32- Wi, : .
( ) K 4- , :
1 R, ( ) . , .
. 3.4. Rijndael. |
q , Q q .
|
|
16 24 () :
32 (q = 8) :
: S(W) S, 4- , , 4- , GF(28).
, :
, , , , , . 256 (32 ) 4 q .
( , ) :
, , , .
:
(. 3.3), T , T' . :
1. , , . , , , , M. , , : .
2. , S. , b, : . . 3.5.
3.5
ByteSub
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
0x | 6a | d5 | a5 | bf | a3 | 9e | f3 | d7 | fb | |||||||
1x | 7c | e3 | 9b | 2f | ff | 8e | c4 | de | e9 | cb | ||||||
2x | 7b | a6 | c2 | 3d | ee | 4c | 0b | fa | c3 | 4e | ||||||
3x | 2e | a1 | d9 | b2 | 5b | a2 | 6d | 8b | d1 | |||||||
4x | f8 | f6 | d4 | a4 | 5c | cc | 5d | b6 | ||||||||
5x | 6c | fd | ed | b9 | da | 5e | a7 | 8d | 9d | |||||||
6x | d8 | ab | 8c | bc | d3 | 0a | f7 | e4 | b8 | b3 | ||||||
7x | d0 | 2c | 1e | 8f | ca | 3f | 0f | c1 | af | bd | 8a | 6b | ||||
8x | 3a | 4f | dc | ea | f2 | cf | ce | f0 | b4 | e6 | ||||||
9x | ac | e7 | ad | e2 | f9 | e8 | 1c | df | 6e | |||||||
Ax | f1 | 1a | 1d | c5 | 6f | b7 | 0e | aa | be | 1b | ||||||
Bx | fc | 3e | 4b | c6 | d2 | 9a | db | c0 | fe | cd | 5a | f4 | ||||
Cx | 1f | dd | a8 | c7 | b1 | ec | 5f | |||||||||
Dx | 7f | a9 | b5 | 4a | 0d | 2d | e5 | 7a | 9f | c9 | 9c | ef | ||||
Ex | a0 | e0 | 3b | 4d | ae | 2a | f5 | b0 | c8 | eb | bb | 3c | ||||
Fx | 2b | 7e | ba | d6 | e1 | 0c | 7d |
|
|
3. , , .
4. , M: