//+------------------------------------------------------------------------- // // Microsoft Windows // // Copyright (C) Microsoft Corporation, 1997 - 1999 // // File: modes.h // //-------------------------------------------------------------------------- /* modes.h Defines the generic routines used to do chaining modes with a block cipher. */ #ifdef __cplusplus extern "C" { #endif // constants for operations #define ENCRYPT 1 #define DECRYPT 0 /* CBC() * * Performs a XOR on the plaintext with the previous ciphertext * * Parameters: * * output Input buffer -- MUST be RC2_BLOCKLEN * input Output buffer -- MUST be RC2_BLOCKLEN * keyTable * op ENCRYPT, or DECRYPT * feedback feedback register * */ void CBC(void Cipher(BYTE *, BYTE *, void *, int), DWORD dwBlockLen, BYTE *output, BYTE *input, void *keyTable, int op, BYTE *feedback); /* CFB (cipher feedback) * * * Parameters: * * * output Input buffer -- MUST be RC2_BLOCKLEN * input Output buffer -- MUST be RC2_BLOCKLEN * keyTable * op ENCRYPT, or DECRYPT * feedback feedback register * */ void CFB(void Cipher(BYTE *, BYTE *, void *, int), DWORD dwBlockLen, BYTE *output, BYTE *input, void *keyTable, int op, BYTE *feedback); #ifdef __cplusplus } #endif