Cet algorithme utilise l'algorithme Data Encryption Standard (DES) trois fois.
/****************************************************************/
Procedure Crypter(BufferEntree : Binaire, BufferSortie : Binaire Sortie)
/* Objet : Crypte un binaire de 8 octets. */
/****************************************************************/
Variable
/******/
BufferTemporaire1 : Binaire;
BufferTemporaire2 : Binaire;
Debut
/* E(M,K1). */
CrypterDes(CleInitiale1,BufferEntree,BufferTemporaire1);
/* D(E(M,K1),K2). */
DecrypterDes(CleInitiale2,BufferTemporaire1,BufferTemporaire2);
/* E(D(E(M,K1),K2),K3). */
CrypterDes(CleInitiale3,BufferTemporaire2,BufferSortie);
Fin Procedure
/****************************************************************/
Procedure Decrypter(BufferEntree : Binaire, BufferSortie : Binaire Sortie)
/* Objet : Decrypte un binaire de 8 octets. */
/****************************************************************/
Variable
/******/
BufferTemporaire1 : Binaire;
BufferTemporaire2 : Binaire;
Debut
/* D(M,K3). */
DecrypterDes(CleInitiale3,BufferEntree,BufferTemporaire1);
/* E(D(M,K3),K2). */
CrypterDes(CleInitiale2,BufferTemporaire1,BufferTemporaire2);
/* D(E(D(M,K3),K2),K1). */
DecrypterDes(CleInitiale1,BufferTemporaire2,BufferSortie);
Fin Procedure