Cifrado de bloque simétrico estándar de cifrado avanzado

De qué se trata este artículo





Buen día, lector. En este artículo, me gustaría hablar sobre uno de los algoritmos de cifrado simétrico más comunes: el algoritmo AES.






Introducción

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





  • Estructura orientada a bytes, que da buenas perspectivas para la implementación del algoritmo en futuros procesadores.





  • Alto rendimiento en múltiples plataformas.





Conclusión

En este artículo, traté de describir en detalle el principio del algoritmo AES. Me gustaría señalar una vez más que el algoritmo ganó merecidamente la competencia por un nuevo estándar debido a la gran cantidad de ventajas. Gracias por su atención.
















All Articles