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
TDES DES. .
DES 64 56 ( 64 ). excel . 1 :
IP. 64 T IP.
16 . T0 L0 R0. :
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). .
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