Implementação de hardware de algoritmos DES e TDES-EDE3

História

O algoritmo TDES (3DES, Tripple DES) foi criado em 1978 como uma melhoria do algoritmo DES. Comparado ao último, a força criptográfica melhorou, mas o tempo de computação aumentou três vezes. Embora o algoritmo de criptografia mais comum hoje seja o AES, que é adotado como o padrão de criptografia pelo governo dos EUA, o TDES é amplamente utilizado. Por exemplo, mesmo agora ele pode ser encontrado em produtos de sistema da Microsoft.





O algoritmo também é usado para streaming de criptografia de dados em canais de transmissão onde a alta força criptográfica não é necessária. A implementação de hardware do algoritmo TDES, e ainda mais do DES, ocupa uma área menor em comparação com o AES mais seguro, que pode desempenhar um papel fundamental na escolha de um algoritmo. Por esse motivo, ainda hoje pode ser encontrado em processadores de sinais nacionais e estrangeiros.





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





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





DES

Figura:  1. Esquema de criptografia DES
. 1. DES

TDES DES. .





DES 64 56 ( 64 ). excel . 1 :





  • IP. 64 T IP.





  • 16 . T0 L0 R0. :





    \ begin {equação} \ begin {reuniu} L_ {i} = R_ {i-1} \\ R_ {i} = L_ {i-1} \ oplus f (R_ {i-1}, k_i), \ end {reuniu} \ end {equação}
  • 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 descriptografia 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 .





Resultado

Eu escrevi e testei os algoritmos de criptografia RTL DES e TDES-EDE3. Também escrevi vetores de teste para esses algoritmos. Todas as fontes estão no github , espero que ajudem você no conhecimento ou mesmo na implementação desses algoritmos. Obrigado pela atenção!






Links Úteis:

  • [1]





  • [2]





  • Bom artigo com exemplos de cálculos de estágios





  • Github com fontes












All Articles