Chiffrement par blocs symétriques Advanced Encryption Standard

De quoi parle l'article





Bonne journée, lecteur. Dans cet article, je voudrais parler de l'un des algorithmes de cryptage symétrique les plus courants - l'algorithme AES.






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 — .





  • Structure orientée octets, ce qui donne de bonnes perspectives d'implémentation de l'algorithme dans les futurs processeurs.





  • Haute performance sur plusieurs plates-formes.





Conclusion

Dans cet article, j'ai essayé de décrire en détail le principe de l'algorithme AES. Je tiens à noter une fois de plus que l'algorithme a vraiment gagné à juste titre le concours d'un nouveau standard en raison du grand nombre de ses avantages. Merci pour votre attention.
















All Articles