# modes.h File Reference

## Detailed Description

Definition in file modes.h.

`#include "cryptlib.h"`
`#include "secblock.h"`
`#include "misc.h"`
`#include "strciphr.h"`
`#include "argnames.h"`
`#include "algparam.h"`

Go to the source code of this file.

## Classes
struct | CipherModeDocumentation
| Cipher modes documentation. See NIST SP 800-38A for definitions of these modes. See AuthenticatedSymmetricCipherDocumentation for authenticated encryption modes. More...
class | CipherModeBase
class | ModePolicyCommonTemplate< POLICY_INTERFACE >
class | CFB_ModePolicy
class | OFB_ModePolicy
class | CTR_ModePolicy
class | BlockOrientedCipherModeBase
class | ECB_OneWay
class | CBC_ModeBase
class | CBC_Encryption
class | CBC_CTS_Encryption
class | CBC_Decryption
class | CBC_CTS_Decryption
class | CipherModeFinalTemplate_CipherHolder< CIPHER, BASE >
| _ More...
class | CipherModeFinalTemplate_ExternalCipher< BASE >
| _ More...
struct | CFB_Mode< CIPHER >
| CFB mode. More...
struct | CFB_Mode_ExternalCipher
| CFB mode, external cipher. More...
struct | CFB_FIPS_Mode< CIPHER >
| CFB mode FIPS variant, requiring full block plaintext according to FIPS 800-38A. More...
struct | CFB_FIPS_Mode_ExternalCipher
| CFB mode FIPS variant, requiring full block plaintext according to FIPS 800-38A, external cipher. More...
struct | OFB_Mode< CIPHER >
| OFB mode. More...
struct | OFB_Mode_ExternalCipher
| OFB mode, external cipher. More...
struct | CTR_Mode< CIPHER >
| CTR mode. More...
struct | CTR_Mode_ExternalCipher
| CTR mode, external cipher. More...
struct | ECB_Mode< CIPHER >
| ECB mode. More...
struct | ECB_Mode_ExternalCipher
| ECB mode, external cipher. More...
struct | CBC_Mode< CIPHER >
| CBC mode. More...
struct | CBC_Mode_ExternalCipher
| CBC mode, external cipher. More...
struct | CBC_CTS_Mode< CIPHER >
| CBC mode with ciphertext stealing. More...
struct | CBC_CTS_Mode_ExternalCipher
| CBC mode with ciphertext stealing, external cipher. More...
## Functions
void | CopyOrZero (void *dest, const void *src, size_t s)