Erweiterte Verschlüsselung Standard symmetrische Blockverschlüsselung

Wovon handelt der Artikel





Guten Tag, Leser. In diesem Artikel möchte ich über einen der häufigsten symmetrischen Verschlüsselungsalgorithmen sprechen - den AES-Algorithmus.






Einführung

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





  • Byteorientierte Struktur, die gute Aussichten für die Implementierung des Algorithmus in zukünftigen Prozessoren bietet.





  • Hohe Leistung auf mehreren Plattformen.





Fazit

In diesem Artikel habe ich versucht, das Prinzip des AES-Algorithmus detailliert zu beschreiben. Ich möchte noch einmal darauf hinweisen, dass der Algorithmus aufgrund der Vielzahl seiner Vorteile den Wettbewerb um einen neuen Standard wirklich verdient gewonnen hat. Danke für Ihre Aufmerksamkeit.
















All Articles