Rijndael
[Chiffrement "pas à pas"]


Typedefs

typedef cipher_ctx RIJNDAEL_CTX

Fonctions

RIJNDAEL_CTXRIJNDAEL_Init (u1byte Op, u1byte OpMode, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize)
 Initialisation d'un context pour l'algorithme RIJNDAEL.
s4byte RIJNDAEL_Update (RIJNDAEL_CTX *ctx, u1byte *BufferIn, u1byte *BufferOut, u4byte Size)
 Mise en oeuvre des opérations de chiffrement/déchiffrement pour l'algorithme RIJNDAEL.
s4byte RIJNDAEL_Final (RIJNDAEL_CTX *ctx, u1byte *BufferOut)
 Finalisation du chiffrement/déchiffrement (ajout, retrait du padding éventuel) pour l'algorithme RIJNDAEL.
void RIJNDAEL_Free (RIJNDAEL_CTX *ctx)
 Effacement de la clef de chiffrement/déchiffrement, libération du context pour l'algorithme RIJNDAEL.


Documentation des typedef

typedef struct cipher_ctx RIJNDAEL_CTX
 

Context utilisé pour effectuer les opérations avec l'algorithme RIJNDAEL (AES)


Documentation des fonctions

RIJNDAEL_CTX* RIJNDAEL_Init u1byte  Op,
u1byte  OpMode,
u1byte Key,
u2byte  Keysize,
u1byte IV,
u2byte  IVsize
 

Initialisation d'un context pour l'algorithme RIJNDAEL.

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_...).
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:
si la taille de la clef est :
  • inférieur à 16 octets, un padding de 0 est ajouté pour atteidre la taille de 16 octets
  • comprise entre 17 et 23 octets, un padding de 0 est ajouté pour atteidre la taille de 24 octets
  • comprise entre 25 et 31 octets, un padding de 0 est ajouté pour atteidre la taille de 32 octets
  • supérieur à 32 octets, les octets supplémentaires sont ignorés

le vecteur d'initialisation peut-être NULL si on utilise le mode ECCTK_CIPHER_MODE_ECB.

Renvoie:
un context initialisé, ou NULL en cas d'erreur.

s4byte RIJNDAEL_Update RIJNDAEL_CTX ctx,
u1byte BufferIn,
u1byte BufferOut,
u4byte  Size
 

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

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 + 16) octets.
Renvoie:
le nombre d'octets chiffrés/déchiffrés ou un code d'erreur.

s4byte RIJNDAEL_Final RIJNDAEL_CTX ctx,
u1byte BufferOut
 

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

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 RIJNDAEL_Free RIJNDAEL_CTX ctx  ) 
 

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

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


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