Implementación de hardware de algoritmos DES y TDES-EDE3

Historia

El algoritmo TDES (3DES, Tripple DES) se creó en 1978 como una mejora del algoritmo DES. En comparación con este último, la fuerza criptográfica ha mejorado, pero el tiempo de cálculo se ha triplicado. Aunque el algoritmo de cifrado más común en la actualidad es AES, que ha sido adoptado como estándar de cifrado por el gobierno de los EE. UU., TDES se usa ampliamente. Por ejemplo, incluso ahora se puede encontrar en los productos del sistema de Microsoft.





El algoritmo también se utiliza para el cifrado de datos en streaming en canales de transmisión donde no se necesita una alta capacidad criptográfica. La implementación de hardware del algoritmo TDES, y aún más DES, ocupa un área más pequeña en comparación con el AES más seguro, que puede jugar un papel clave a la hora de elegir un algoritmo. Por esta razón, aún hoy se puede encontrar en procesadores de señal nacionales y extranjeros.





¿Por qué decidí hacer esto y describir

, . , , . -, , . -, ROM , " ". - , . , . .





, . DES , [1], TDES-EDE3 .





DES

Figura:  1. Esquema de cifrado DES
. 1. DES

TDES DES. .





DES 64 56 ( 64 ). excel . 1 :





  • IP. 64 T IP.





  • 16 . T0 L0 R0. :





    \ begin {ecuación} \ begin {reunido} L_ {i} = R_ {i-1} \\ R_ {i} = L_ {i-1} \ oplus f (R_ {i-1}, k_i), \ end {reunidos} \ end {ecuación}
  • ki. 8, 16, 24, 32, 40, 48, 56, 64 , . . 64- , 56 . , . , KI ( 64- ), . 28 . , : , , , .





    48 56 KO.





  • f. f 32- R(i-1) 48- ki. f :





    • E. 32- R(i-1) 48 E.





    • Xor .





    • S. 8 6 . S-. , .





    • P. P. 32 .





  • OP. 16 OP.





DES (. 2). .





Figura:  2. Esquema de descifrado DES
. 2. DES

DES

. [2], -. .





, , . , , , . , , , .





, , f. , P. xor , , , S.





S .





. (. . 1). , stage 0.





, . , -, f, - Ri. R(i-1) L(i-1) 32 ki 48 . Ri Li. . System Verilog.





, .





, , , , .





fdecrypt. .. , Lout Rout fencrypt. , .. 16- , 15- ..





.





DES. , . .





S-. 512 = 64*8 , S-. key = 64'h0, : S-, , . , , . , E 32- 64-. , , OP. , S-. .





, .





.. , , 17 (16 ), .





, RTL DES .





TDES

TDES . 3DES-EDE3 (encrypt-decrypt-encrypt) . , 168 ( 192 ), 64 .





. 16 . IP OP, . . RTL .





: DES , TDES. 64'hffffffffffffffff. , S- TDES, .. , , DES. TDES. , , , S- , DES 64'h0.





512*3 = 1536 . TDES .





Salir

He escrito y probado los algoritmos de cifrado RTL DES y TDES-EDE3. También escribí vectores de prueba para estos algoritmos. Todas las fuentes están en github , espero que te ayuden a familiarizarte o incluso a implementar estos algoritmos. ¡Gracias por la atención!






Enlaces útiles:

  • [uno]





  • [2]





  • Buen artículo con ejemplos de cálculos de etapas.





  • Github con fuentes












All Articles