Référence du fichier ecctk-cipher.h


Description détaillée

Ce fichier contiend les références des fonctions disponibles pour la mise en oeuvre des algorithmes de chiffrement symétriques.

Auteur:
Ludovic FLAMENT <ludovic.flament@free.fr>
Avertissement:
L'utilisation et/ou la redistribution de ce code (avec ou sans modification), ainsi que de tous les composants du produit (librairies, documentation, exemples, ...) est soumise aux termes de la licence qui vous est attribuée par son auteur.


Macros

#define ECCTK_CIPHER_ALGO_RC2   0x01
#define ECCTK_CIPHER_ALGO_RC4   0x02
#define ECCTK_CIPHER_ALGO_BLOWFISH   0x03
#define ECCTK_CIPHER_ALGO_DES   0x04
#define ECCTK_CIPHER_ALGO_3DES_EDE_2   0x05
#define ECCTK_CIPHER_ALGO_3DES_EDE_3   0x0b
#define ECCTK_CIPHER_ALGO_CAST128   0x06
#define ECCTK_CIPHER_ALGO_RIJNDAEL   0x07
#define ECCTK_CIPHER_ALGO_TWOFISH   0x08
#define ECCTK_CIPHER_ALGO_MARS   0x09
#define ECCTK_CIPHER_ALGO_SERPENT   0x0a
#define ECCTK_CIPHER_MODE_ECB   0x01
#define ECCTK_CIPHER_MODE_CBC   0x02
#define ECCTK_CIPHER_MODE_CFB   0x03
#define ECCTK_CIPHER_MODE_OFB   0x04
#define ECCTK_CIPHER_MODE_CTR   0x05
#define ECCTK_CIPHER_MODE_RC4   0x06
#define ECCTK_CIPHER_ENCRYPT   0x01
#define ECCTK_CIPHER_DECRYPT   0x02
#define ECCTK_CIPHER_NO_ERROR   0
#define ECCTK_CIPHER_IV_ERROR   -1
#define ECCTK_CIPHER_OPERATION_ERROR   -2
#define ECCTK_CIPHER_MODE_ERROR   -3
#define ECCTK_CIPHER_FILE_OPEN_ERROR   -4
#define ECCTK_CIPHER_FILE_READ_ERROR   -5
#define ECCTK_CIPHER_FILE_WRITE_ERROR   -6
#define ECCTK_CIPHER_NBKEY_ERROR   -7
#define ECCTK_CIPHER_INIT_ERROR   -8
#define ECCTK_CIPHER_UPDATE_ERROR   -9
#define ECCTK_CIPHER_FINAL_ERROR   -10
#define ECCTK_CIPHER_DECRYPT_FAILED   -11
#define ECCTK_CIPHER_FILE_FSEEK_ERROR   -12
#define ECCTK_CIPHER_OUT_TOO_SMALL   -13
#define ECCTK_CIPHER_OUT_BUFFER_NULL   -14
#define ECCTK_CIPHER_ALGO_ERROR   -15
#define ECCTK_CIPHER_NULL_ARGS   -16
#define ECCTK_CIPHER_INTERNAL_ERROR   -17
#define ECCTK_CIPHER_VALID_SUCCESS   1
#define ECCTK_CIPHER_VALID_FAILED   0

Typedefs

typedef cipher_ctx BLOWFISH_CTX
typedef cipher_ctx CAST128_CTX
typedef cipher_ctx DES_CTX
typedef cipher_ctx RC2_CTX
typedef cipher_ctx RC4_CTX
typedef cipher_ctx RIJNDAEL_CTX
typedef cipher_ctx SERPENT_CTX
typedef cipher_ctx TWOFISH_CTX
typedef cipher_ctx MARS_CTX

Fonctions

BLOWFISH_CTXBLOWFISH_Init (u1byte Op, u1byte OpMode, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize)
 Initialisation d'un context pour l'algorithme BLOWFISH.
s4byte BLOWFISH_Update (BLOWFISH_CTX *ctx, u1byte *BufferIn, u1byte *BufferOut, u4byte Size)
 Mise en oeuvre des opérations de chiffrement/déchiffrement pour l'algorithme BLOWFISH.
s4byte BLOWFISH_Final (BLOWFISH_CTX *ctx, u1byte *BufferOut)
 Finalisation du chiffrement/déchiffrement (ajout, retrait du padding éventuel) pour l'algorithme BLOWFISH.
void BLOWFISH_Free (BLOWFISH_CTX *ctx)
 Effacement de la clef de chiffrement/déchiffrement, libération du context pour l'algorithme BLOWFISH.
s2byte BLOWFISH_FileDecrypt (s1byte *InFile, s1byte *OutFile, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Déchiffrement d'un fichier en utilisant l'algorithme BLOWFISH.
s2byte BLOWFISH_FileEncrypt (s1byte *InFile, s1byte *OutFile, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Chiffrement d'un fichier en utilisant l'algorithme BLOWFISH.
s2byte BLOWFISH_StreamEncrypt (u1byte *BufferIn, s4byte BufferInSize, u1byte *BufferOut, s4byte *BufferOutSize, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Chiffrement d'un buffer mémoire en utilisant l'algorithme BLOWFISH.
s2byte BLOWFISH_StreamDecrypt (u1byte *BufferIn, s4byte BufferInSize, u1byte *BufferOut, s4byte *BufferOutSize, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Déchiffrement d'un buffer mémoire en utilisant l'algorithme BLOWFISH.
s2byte BLOWFISH_Valid ()
 Validation de l'algorithme BLOWFISH sur des vecteurs de tests définis par le ou les concepteurs de l'algorithme.
CAST128_CTXCAST128_Init (u1byte Op, u1byte OpMode, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize)
 Initialisation d'un context pour l'algorithme CAST-128.
s4byte CAST128_Update (CAST128_CTX *ctx, u1byte *BufferIn, u1byte *BufferOut, u4byte Size)
 Mise en oeuvre des opérations de chiffrement/déchiffrement pour l'algorithme CAST-128.
s4byte CAST128_Final (CAST128_CTX *ctx, u1byte *BufferOut)
 Finalisation du chiffrement/déchiffrement (ajout, retrait du padding éventuel) pour l'algorithme CAST-128.
void CAST128_Free (CAST128_CTX *ctx)
 Effacement de la clef de chiffrement/déchiffrement, libération du context pour l'algorithme CAST-128.
s2byte CAST128_FileDecrypt (s1byte *InFile, s1byte *OutFile, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Déchiffrement d'un fichier en utilisant l'algorithme CAST-128.
s2byte CAST128_FileEncrypt (s1byte *InFile, s1byte *OutFile, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Chiffrement d'un fichier en utilisant l'algorithme CAST-128.
s2byte CAST128_StreamEncrypt (u1byte *BufferIn, s4byte BufferInSize, u1byte *BufferOut, s4byte *BufferOutSize, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Chiffrement d'un buffer mémoire en utilisant l'algorithme CAST-128.
s2byte CAST128_StreamDecrypt (u1byte *BufferIn, s4byte BufferInSize, u1byte *BufferOut, s4byte *BufferOutSize, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Déchiffrement d'un buffer mémoire en utilisant l'algorithme CAST-128.
s2byte CAST128_Valid ()
 Validation de l'algorithme CAST-128 sur des vecteurs de tests définis par le ou les concepteurs de l'algorithme.
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.
s2byte DES_FileDecrypt (s1byte *InFile, s1byte *OutFile, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte NbKey, u2byte OpMode)
 Déchiffrement d'un fichier en utilisant l'algorithme DES.
s2byte DES_FileEncrypt (s1byte *InFile, s1byte *OutFile, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte NbKey, u2byte OpMode)
 Chiffrement d'un fichier en utilisant l'algorithme DES.
s2byte DES_StreamEncrypt (u1byte *BufferIn, s4byte BufferInSize, u1byte *BufferOut, s4byte *BufferOutSize, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte NbKey, u2byte OpMode)
 Chiffrement d'un buffer mémoire en utilisant l'algorithme DES.
s2byte DES_StreamDecrypt (u1byte *BufferIn, s4byte BufferInSize, u1byte *BufferOut, s4byte *BufferOutSize, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte NbKey, u2byte OpMode)
 Déchiffrement d'un buffer mémoire en utilisant l'algorithme DES.
s2byte DES_Valid ()
 Validation de l'algorithme DES sur des vecteurs de tests définis par le ou les concepteurs de l'algorithme.
RC2_CTXRC2_Init (u2byte Op, u2byte OpMode, u2byte RealKeySize, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize)
 Initialisation d'un context pour l'algorithme RC2.
s4byte RC2_Update (RC2_CTX *ctx, u1byte *BufferIn, u1byte *BufferOut, u4byte Size)
 Mise en oeuvre des opérations de chiffrement/déchiffrement pour l'algorithme RC2.
s4byte RC2_Final (RC2_CTX *ctx, u1byte *BufferOut)
 Finalisation du chiffrement/déchiffrement (ajout, retrait du padding éventuel) pour l'algorithme RC2.
void RC2_Free (RC2_CTX *ctx)
 Effacement de la clef de chiffrement/déchiffrement, libération du context pour l'algorithme RC2.
s2byte RC2_FileDecrypt (s1byte *InFile, s1byte *OutFile, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Déchiffrement d'un fichier en utilisant l'algorithme RC2.
s2byte RC2_FileEncrypt (s1byte *InFile, s1byte *OutFile, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Chiffrement d'un fichier en utilisant l'algorithme RC2.
s2byte RC2_StreamEncrypt (u1byte *BufferIn, s4byte BufferInSize, u1byte *BufferOut, s4byte *BufferOutSize, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Chiffrement d'un buffer mémoire en utilisant l'algorithme RC2.
s2byte RC2_StreamDecrypt (u1byte *BufferIn, s4byte BufferInSize, u1byte *BufferOut, s4byte *BufferOutSize, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Déchiffrement d'un buffer mémoire en utilisant l'algorithme RC2.
s2byte RC2_Valid ()
 Validation de l'algorithme RC2 sur des vecteurs de tests définis par le ou les concepteurs de l'algorithme.
RC4_CTXRC4_Init (u2byte Op, u1byte *Key, u2byte Keysize)
 Initialisation d'un context pour l'algorithme RC4.
s4byte RC4_Update (RC4_CTX *ctx, u1byte *BufferIn, u1byte *BufferOut, u4byte Size)
 Mise en oeuvre des opérations de chiffrement/déchiffrement pour l'algorithme RC4.
s4byte RC4_Final (RC4_CTX *ctx, u1byte *BufferOut)
 Finalisation du chiffrement/déchiffrement (ajout, retrait du padding éventuel) pour l'algorithme RC4.
void RC4_Free (RC4_CTX *ctx)
 Effacement de la clef de chiffrement/déchiffrement, libération du context pour l'algorithme RC4.
s2byte RC4_FileDecrypt (s1byte *InFile, s1byte *OutFile, u1byte *Key, u2byte Keysize)
 Déchiffrement d'un fichier en utilisant l'algorithme RC4.
s2byte RC4_FileEncrypt (s1byte *InFile, s1byte *OutFile, u1byte *Key, u2byte Keysize)
 Chiffrement d'un fichier en utilisant l'algorithme RC4.
s2byte RC4_StreamEncrypt (u1byte *BufferIn, s4byte BufferInSize, u1byte *BufferOut, s4byte *BufferOutSize, u1byte *Key, u2byte Keysize)
 Chiffrement d'un buffer mémoire en utilisant l'algorithme RC4.
s2byte RC4_StreamDecrypt (u1byte *BufferIn, s4byte BufferInSize, u1byte *BufferOut, s4byte *BufferOutSize, u1byte *Key, u2byte Keysize)
 Déchiffrement d'un buffer mémoire en utilisant l'algorithme RC4.
s2byte RC4_Valid ()
 Validation de l'algorithme RC4 sur des vecteurs de tests définis par le ou les concepteurs de l'algorithme.
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.
s2byte RIJNDAEL_FileDecrypt (s1byte *InFile, s1byte *OutFile, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Déchiffrement d'un fichier en utilisant l'algorithme RIJNDAEL.
s2byte RIJNDAEL_FileEncrypt (s1byte *InFile, s1byte *OutFile, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Chiffrement d'un fichier en utilisant l'algorithme RIJNDAEL.
s2byte RIJNDAEL_StreamEncrypt (u1byte *BufferIn, s4byte BufferInSize, u1byte *BufferOut, s4byte *BufferOutSize, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Chiffrement d'un buffer mémoire en utilisant l'algorithme RIJNDAEL.
s2byte RIJNDAEL_StreamDecrypt (u1byte *BufferIn, s4byte BufferInSize, u1byte *BufferOut, s4byte *BufferOutSize, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Déchiffrement d'un buffer mémoire en utilisant l'algorithme RIJNDAEL.
s2byte RIJNDAEL_Valid ()
 Validation de l'algorithme RIJNDAEL sur des vecteurs de tests définis par le ou les concepteurs de l'algorithme.
SERPENT_CTXSERPENT_Init (u1byte Op, u1byte OpMode, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize)
 Initialisation d'un context pour l'algorithme SERPENT.
s4byte SERPENT_Update (SERPENT_CTX *ctx, u1byte *BufferIn, u1byte *BufferOut, u4byte Size)
 Mise en oeuvre des opérations de chiffrement/déchiffrement pour l'algorithme SERPENT.
s4byte SERPENT_Final (SERPENT_CTX *ctx, u1byte *BufferOut)
 Finalisation du chiffrement/déchiffrement (ajout, retrait du padding éventuel) pour l'algorithme SERPENT.
void SERPENT_Free (SERPENT_CTX *ctx)
 Effacement de la clef de chiffrement/déchiffrement, libération du context pour l'algorithme SERPENT.
s2byte SERPENT_FileDecrypt (s1byte *InFile, s1byte *OutFile, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Déchiffrement d'un fichier en utilisant l'algorithme SERPENT.
s2byte SERPENT_FileEncrypt (s1byte *InFile, s1byte *OutFile, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Chiffrement d'un fichier en utilisant l'algorithme SERPENT.
s2byte SERPENT_StreamEncrypt (u1byte *BufferIn, s4byte BufferInSize, u1byte *BufferOut, s4byte *BufferOutSize, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Chiffrement d'un buffer mémoire en utilisant l'algorithme SERPENT.
s2byte SERPENT_StreamDecrypt (u1byte *BufferIn, s4byte BufferInSize, u1byte *BufferOut, s4byte *BufferOutSize, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Déchiffrement d'un buffer mémoire en utilisant l'algorithme SERPENT.
s2byte SERPENT_Valid ()
 Validation de l'algorithme SERPENT sur des vecteurs de tests définis par le ou les concepteurs de l'algorithme.
TWOFISH_CTXTWOFISH_Init (u1byte Op, u1byte OpMode, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize)
 Initialisation d'un context pour l'algorithme TWOFISH.
s4byte TWOFISH_Update (TWOFISH_CTX *ctx, u1byte *BufferIn, u1byte *BufferOut, u4byte Size)
 Mise en oeuvre des opérations de chiffrement/déchiffrement pour l'algorithme TWOFISH.
s4byte TWOFISH_Final (TWOFISH_CTX *ctx, u1byte *BufferOut)
 Finalisation du chiffrement/déchiffrement (ajout, retrait du padding éventuel) pour l'algorithme TWOFISH.
void TWOFISH_Free (TWOFISH_CTX *ctx)
 Effacement de la clef de chiffrement/déchiffrement, libération du context pour l'algorithme TWOFISH.
s2byte TWOFISH_FileDecrypt (s1byte *InFile, s1byte *OutFile, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Déchiffrement d'un fichier en utilisant l'algorithme TWOFISH.
s2byte TWOFISH_FileEncrypt (s1byte *InFile, s1byte *OutFile, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Chiffrement d'un fichier en utilisant l'algorithme TWOFISH.
s2byte TWOFISH_StreamEncrypt (u1byte *BufferIn, s4byte BufferInSize, u1byte *BufferOut, s4byte *BufferOutSize, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Chiffrement d'un buffer mémoire en utilisant l'algorithme TWOFISH.
s2byte TWOFISH_StreamDecrypt (u1byte *BufferIn, s4byte BufferInSize, u1byte *BufferOut, s4byte *BufferOutSize, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Déchiffrement d'un buffer mémoire en utilisant l'algorithme TWOFISH.
s2byte TWOFISH_Valid ()
 Validation de l'algorithme TWOFISH sur des vecteurs de tests définis par le ou les concepteurs de l'algorithme.
MARS_CTXMARS_Init (u1byte Op, u1byte OpMode, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize)
 Initialisation d'un context pour l'algorithme MARS.
s4byte MARS_Update (MARS_CTX *ctx, u1byte *BufferIn, u1byte *BufferOut, u4byte Size)
 Mise en oeuvre des opérations de chiffrement/déchiffrement pour l'algorithme MARS.
s4byte MARS_Final (MARS_CTX *ctx, u1byte *BufferOut)
 Finalisation du chiffrement/déchiffrement (ajout, retrait du padding éventuel) pour l'algorithme MARS.
void MARS_Free (MARS_CTX *ctx)
 Effacement de la clef de chiffrement/déchiffrement, libération du context pour l'algorithme MARS.
s2byte MARS_FileDecrypt (s1byte *InFile, s1byte *OutFile, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Déchiffrement d'un fichier en utilisant l'algorithme MARS.
s2byte MARS_FileEncrypt (s1byte *InFile, s1byte *OutFile, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Chiffrement d'un fichier en utilisant l'algorithme MARS.
s2byte MARS_StreamEncrypt (u1byte *BufferIn, s4byte BufferInSize, u1byte *BufferOut, s4byte *BufferOutSize, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Chiffrement d'un buffer mémoire en utilisant l'algorithme MARS.
s2byte MARS_StreamDecrypt (u1byte *BufferIn, s4byte BufferInSize, u1byte *BufferOut, s4byte *BufferOutSize, u1byte *Key, u2byte Keysize, u1byte *IV, u2byte IVsize, u2byte OpMode)
 Déchiffrement d'un buffer mémoire en utilisant l'algorithme MARS.
s2byte MARS_Valid ()
 Validation de l'algorithme MARS sur des vecteurs de tests définis par le ou les concepteurs de l'algorithme.
u2byte CipherAlgorithmIVSize (s2byte Algorithm)
 Permet de connaître la taille "normale" du vecteur d'initialisation pour un algorithme donné.
u2byte CipherAlgorithmKeySize (s2byte Algorithm)
 Permet de connaître la taille maximale d'une clef pour un algorithme donné.
void EcctkCipherInfo (char *Information, u2byte Size)
 Permet d'obtenir des informations sur la librairie.


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