ECCTK (Elliptic Curve Cryptographic ToolKit): RC4

# RC4
[Chiffrement "pas à pas"]

## Typedefs
typedef cipher_ctx | RC4_CTX
## Fonctions
RC4_CTX * | RC4_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.

## Documentation des typedef

typedef struct cipher_ctx RC4_CTX

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

## Documentation des fonctions

RC4_CTX* RC4_Init | ( | u2byte | Op,
|  | u1byte * | Key,
|  | u2byte | Keysize
| ) |

  | Initialisation d'un context pour l'algorithme RC4. Paramètres:
  | Op | : précise si on chiffre ou si on déchiffre (ECCTK_CIPHER_ENCRYPT ou ECCTK_CIPHER_DECRYPT).
  | Key | : buffer contenant la clef de chiffrement/déchiffrement.
  | Keysize | : taille de la clef (en octets).
Remarques: si la taille de la clef est supérieure à 256 octets, les octets supplémentaires sont ignorés Renvoie: un context initialisé, ou NULL en cas d'erreur. Exemples: decrypt_file_stepbystep.cpp, et encrypt_file_stepbystep.cpp.

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. 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. Exemples: decrypt_file_stepbystep.cpp, et encrypt_file_stepbystep.cpp.

s4byte RC4_Final | ( | RC4_CTX * | ctx,
|  | u1byte * | BufferOut
| ) |

  | Finalisation du chiffrement/déchiffrement (ajout, retrait du padding éventuel) pour l'algorithme RC4. 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. Exemples: decrypt_file_stepbystep.cpp, et encrypt_file_stepbystep.cpp.

void RC4_Free | ( | RC4_CTX * | ctx | ) |

  | Effacement de la clef de chiffrement/déchiffrement, libération du context pour l'algorithme RC4. Paramètres:
  | ctx | : un context précédemment initialisé.
Exemples: decrypt_file_stepbystep.cpp, et encrypt_file_stepbystep.cpp.