DES
[Chiffrement "pas à pas"]


Typedefs

typedef cipher_ctx DES_CTX

Fonctions

DES_CTXDES_Init (u2byte Op, u2byte OpMode, u2byte NbKey, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize)
 Initialisation d'un context pour l'algorithme DES.
s4byte DES_Update (DES_CTX *ctx, u1byte *BufferIn, u1byte *BufferOut, u4byte Size)
 Mise en oeuvre des opérations de chiffrement/déchiffrement pour l'algorithme DES.
s4byte DES_Final (DES_CTX *ctx, u1byte *BufferOut)
 Finalisation du chiffrement/déchiffrement (ajout, retrait du padding éventuel) pour l'algorithme DES.
void DES_Free (DES_CTX *ctx)
 Effacement de la clef de chiffrement/déchiffrement, libération du context pour l'algorithme DES.


Documentation des typedef

typedef struct cipher_ctx DES_CTX
 

Context utilisé pour effectuer les opérations avec l'algorithme DES


Documentation des fonctions

DES_CTX* DES_Init u2byte  Op,
u2byte  OpMode,
u2byte  NbKey,
u1byte Key,
u2byte  Keysize,
u1byte IV,
u2byte  IVsize
 

Initialisation d'un context pour l'algorithme DES.

Paramètres:
Op : précise si on chiffre ou si on déchiffre (ECCTK_CIPHER_ENCRYPT ou ECCTK_CIPHER_DECRYPT).
OpMode : mode de chiffrement (ECCTK_CIPHER_MODE_...).
NbKey : nombre de clefs, 1 ==> DES, 2 ==> 3DES (mode EDE à 2 clefs), , 3 ==> 3DES (mode EDE à 3 clefs).
Key : buffer contenant la clef de chiffrement/déchiffrement.
Keysize : taille de la clef (en octets).
IV : buffer contenant le vecteur d'initialisation.
IVsize : taille du vecteur d'initialisation (en octets).
Remarques:
le vecteur d'initialisation peut-être NULL si on utilise le mode ECCTK_CIPHER_MODE_ECB.
Avertissement:
si le vecteur d'initialisation n'est pas NULL, sa taille doit-être de 8 octets.

la taille du buffer contenant la clef doit-être :

  • 8 octets pour le DES
  • 16 octets pour le 3DES-EDE2
  • 24 octets pour le 3DES-EDE3
Renvoie:
un context initialisé, ou NULL en cas d'erreur.

s4byte DES_Update DES_CTX ctx,
u1byte BufferIn,
u1byte BufferOut,
u4byte  Size
 

Mise en oeuvre des opérations de chiffrement/déchiffrement pour l'algorithme DES.

Paramètres:
ctx : un context précédemment initialisé.
BufferIn : buffer à chiffré/déchiffré.
BufferOut : buffer de sortie contenant le buffer déchiffré/chiffré.
Size : taille du buffer à chiffré/déchiffré.
Remarques:
la taille minimale du buffer de sortie doit être de (Size + 8) octets.
Renvoie:
le nombre d'octets chiffrés/déchiffrés ou un code d'erreur.

s4byte DES_Final DES_CTX ctx,
u1byte BufferOut
 

Finalisation du chiffrement/déchiffrement (ajout, retrait du padding éventuel) pour l'algorithme DES.

Paramètres:
ctx : un context précédemment initialisé.
BufferOut : buffer de sortie conenant le buffer déchiffré/chiffré.
Avertissement:
il faut directement passer le buffer provenant de la fonction Update.
Renvoie:
la taille exacte du buffer chiffré/déchiffré ou un code d'erreur.

void DES_Free DES_CTX ctx  ) 
 

Effacement de la clef de chiffrement/déchiffrement, libération du context pour l'algorithme DES.

Paramètres:
ctx : un context précédemment initialisé.


Généré pour ECCTK (Elliptic Curve Cryptographic ToolKit) avec  doxygen