Implémentation matérielle des algorithmes DES et TDES-EDE3

Histoire

L'algorithme TDES (3DES, Tripple DES) a été créé en 1978 comme une amélioration de l'algorithme DES. Par rapport à ce dernier, la force cryptographique s'est améliorée, mais le temps de calcul a été multiplié par trois. Bien que l'algorithme de cryptage le plus courant aujourd'hui soit AES, qui est adopté comme norme de cryptage par le gouvernement américain, TDES est largement utilisé. Par exemple, même maintenant, il peut être trouvé dans les produits système Microsoft.





L'algorithme est également utilisé pour le cryptage des données en streaming dans les canaux de transmission où une force cryptographique élevée n'est pas nécessaire. L'implémentation matérielle de l'algorithme TDES, et encore plus du DES, occupe une zone plus petite par rapport à l'AES plus sécurisé, qui peut jouer un rôle clé dans le choix d'un algorithme. Pour cette raison, même aujourd'hui, il peut être trouvé dans les processeurs de signaux nationaux et étrangers.





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





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





DES

Figure:  1. Schéma de chiffrement DES
. 1. DES

TDES DES. .





DES 64 56 ( 64 ). excel . 1 :





  • IP. 64 T IP.





  • 16 . T0 L0 R0. :





    \ begin {equation} \ begin {together} L_ {i} = R_ {i-1} \\ R_ {i} = L_ {i-1} \ oplus f (R_ {i-1}, k_i), \ end {rassemblé} \ end {équation}
  • 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). .





Figure:  2. Schéma de décryptage 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 .





Résultat

J'ai écrit et testé les algorithmes de cryptage RTL DES et TDES-EDE3. J'ai également écrit des vecteurs de test pour ces algorithmes. Toutes les sources sont sur github , j'espère qu'elles vous aideront dans la connaissance voire la mise en œuvre de ces algorithmes. Merci pour l'attention!






Liens utiles:

  • [1]





  • [2]





  • Bon article avec des exemples de calculs de scène





  • Github avec sources












All Articles