Hardware-Implementierung von DES- und TDES-EDE3-Algorithmen

Geschichte

Der TDES-Algorithmus (3DES, Tripple DES) wurde 1978 als Verbesserung des DES-Algorithmus entwickelt. Im Vergleich zu letzterem hat sich die kryptografische Stärke verbessert, aber die Rechenzeit hat sich verdreifacht. Obwohl der heute am häufigsten verwendete Verschlüsselungsalgorithmus AES ist, der von der US-Regierung als Verschlüsselungsstandard übernommen wurde, ist TDES weit verbreitet. Zum Beispiel kann es bereits jetzt in Microsoft-Systemprodukten gefunden werden.





Der Algorithmus wird auch zum Streamen von Datenverschlüsselung in Übertragungskanälen verwendet, in denen keine hohe kryptografische Stärke erforderlich ist. Die Hardware-Implementierung des TDES-Algorithmus und vor allem DES nimmt im Vergleich zum sichereren AES, das bei der Auswahl eines Algorithmus eine Schlüsselrolle spielen kann, einen kleineren Bereich ein. Aus diesem Grund ist es auch heute noch in in- und ausländischen Signalprozessoren zu finden.





Warum habe ich mich dazu entschlossen und beschrieben

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





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





DES

Zahl:  1. DES-Verschlüsselungsschema
. 1. DES

TDES DES. .





DES 64 56 ( 64 ). excel . 1 :





  • IP. 64 T IP.





  • 16 . T0 L0 R0. :





    \ begin {Gleichung} \ begin {gesammelt} L_ {i} = R_ {i-1} \\ R_ {i} = L_ {i-1} \ oplus f (R_ {i-1}, k_i), \ end {gesammelt} \ end {Gleichung}
  • 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). .





Zahl:  2. DES-Entschlüsselungsschema
. 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 .





Ergebnis

Ich habe RTL-Verschlüsselungsalgorithmen DES und TDES-EDE3 geschrieben und getestet. Ich habe auch Testvektoren für diese Algorithmen geschrieben. Alle Quellen sind auf Github , ich hoffe, sie helfen Ihnen bei der Bekanntschaft oder sogar Implementierung dieser Algorithmen. Vielen Dank für Ihre Aufmerksamkeit!






Nützliche Links:

  • [1]





  • [2]





  • Guter Artikel mit Beispielen für Stufenberechnungen





  • Github mit Quellen












All Articles