Advanced Encryption Standard symmetric block cipher

What is this article about





Good day, reader. In this article I would like to talk about one of the most common symmetric encryption algorithms - the AES algorithm.






Introduction

80- DES (Data Encryption Standard). 90- . , 56 . , .





1997 NIST (National Institute of Standards and Technology,) . :





  • 128- ;





  • 3 (128, 192, 256 ), ;





  • , , ;





  • , ;





, AES – Advanced Encryption Standard, Rijndael ( AES). , . , , , .





, .





, AES , F(28). , , , . :





  • xor. , P = { p7, p6, p5, p4, p3, p2, p1, p0 } Q = { q7, q6, q5, q4, q3, q2, q1, q0 } R = { r7, r6, r5 , r4, r3, r2, r1, r0 }, ri = pi xor ri .





  • . : p(x) = p7x7 + p6x6 + p5x5 + p4x4 + p3x3 + p2x2 + p1x + p0 , F(28) m(x) = x8 + x4 + x3 + x + 1. , , F(28), p(x) q(x), m(x) p(x) q(x), r(x) = p(x)q(x) mod (m(x)), r(x), 8- F(28).





AES c 128 .





16 , 16 , , 16 . 4x4 β€” state. state 2-4. , :





  1. - KeyExpansion;





  2. - state ;





  3. 9 , :





    Β· SubBytes





    Β· ShiftRows





    Β· MixColumns





    Β· AddRoundKey





  4. , :





    Β· SubBytes





    Β· ShiftRows





    Β· AddRoundKey





:





  • SubBytes - state S-box. b = (x, y), x 4 b, y β€” 4 . S-box 16x16 : b' x y S-box b.





  • ShiftRows β€” state. , 1 , 2 3 .





  • MixColumns β€” state . state. , .





  • AddRoundKey β€” state XOR.





  • KeyExpansion β€” , . 44 (wi): 4 4 10 . , 1408 .





    Rcon :





    • .





    • i 4, wi =SubBytes(RotByte(wi-1 )) xor Rconi/4 .





    • : wi = wi-4 xor wi-1 .





RotByte : { x0, x1, x2, x3 } β†’ { x3 , x0 , x1 , x2 }.





, 2 .





https://www.youtube.com/watch?v=CxU4ROAYGzs
https://www.youtube.com/watch?v=CxU4ROAYGzs

, , . , :





  1. - KeyExpansion;





  2. 9 , :





    Β· AddRoundKey β€” state ;





    Β· InverseMixColumns β€” state;





    Β· InverseShiftRows β€” state;





    Β· SubBytes β€” state InverseS- box;





  3. :





    Β· AddRoundKey





    Β· InverseShiftRows





    Β· InverseSubBytes





AES

stateβ€” 128 3 AES. : AES-192 192 β€” 12 , AES-256 β€” 256 14 .





. , AES-256 . , , .





, , Nk - , Nb - Nr - .





AES

. 2 .





  1. .





    , . , , .





    , ( ), AES , , .





    :





    Β· , . , , , .





    Β· , .





  2. .





    . , , .





    :





    Β· β€” .





    Β· .





, - ?

, .





32- : w0, w1, w2, w3, …, w40, w41, w42, w43, w0, w1, w2, w3 - 128- AES, w40, w41, w42, w43 - . wi = wi-4 xor Fi(wi-1), Fi - , KeyExpansion. w0, w1, w2, w3 .





, AES-128. : wj = wj+4 xor Fj+4(wj+3). j = i - 4 . , , w40, w41, w42, w43 ,c w0 .





AES-192 AES-256. , 256- AES, AES 2256 2128, .









AES

:





  • β€” .





  • β€” .





  • , : , , square β€” .





  • Byte-oriented structure, which gives good prospects for implementing the algorithm in future processors.





  • High performance across multiple platforms.





Conclusion

In this article, I tried to describe in detail the principle of the AES algorithm. I would like to note once again that the algorithm really deservedly won the competition for a new standard due to the large number of its advantages. Thank you for your attention.
















All Articles