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
TDES DES. .
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.
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!