modes.h File Reference

Classes for block cipher modes of operation. More...

Go to the source code of this file.

## Classes

struct | CipherModeDocumentation
| Block cipher mode of operation information. More...
class | CipherModeBase
| Block cipher mode of operation information. More...
class | ModePolicyCommonTemplate< POLICY_INTERFACE >
| Block cipher mode of operation common operations. More...
class | CFB_ModePolicy
| CFB block cipher mode of operation. More...
class | OFB_ModePolicy
| OFB block cipher mode of operation. More...
class | CTR_ModePolicy
| CTR block cipher mode of operation. More...
class | BlockOrientedCipherModeBase
| Block cipher mode of operation default implementation. More...
class | ECB_OneWay
| ECB block cipher mode of operation default implementation. More...
class | CBC_ModeBase
| CBC block cipher mode of operation default implementation. More...
class | CBC_Encryption
| CBC block cipher mode of operation encryption operation. More...
class | CBC_CTS_Encryption
| CBC-CTS block cipher mode of operation encryption operation. More...
class | CBC_Decryption
| CBC block cipher mode of operation decryption operation. More...
class | CBC_CTS_Decryption
| CBC-CTS block cipher mode of operation decryption operation. More...
class | CipherModeFinalTemplate_CipherHolder< CIPHER, BASE >
| Block cipher mode of operation aggregate. More...
class | CipherModeFinalTemplate_ExternalCipher< BASE >
struct | CFB_Mode< CIPHER >
| CFB block cipher mode of operation. More...
struct | CFB_Mode_ExternalCipher
| CFB mode, external cipher. More...
struct | CFB_FIPS_Mode< CIPHER >
| CFB block cipher mode of operation providing FIPS validated cryptography. More...
struct | CFB_FIPS_Mode_ExternalCipher
| CFB mode, external cipher, providing FIPS validated cryptography. More...
struct | OFB_Mode< CIPHER >
| OFB block cipher mode of operation. More...
struct | OFB_Mode_ExternalCipher
| OFB mode, external cipher. More...
struct | CTR_Mode< CIPHER >
| CTR block cipher mode of operation. More...
struct | CTR_Mode_ExternalCipher
| CTR mode, external cipher. More...
struct | ECB_Mode< CIPHER >
| ECB block cipher mode of operation. More...
struct | ECB_Mode_ExternalCipher
| ECB mode, external cipher. More...
struct | CBC_Mode< CIPHER >
| CBC block cipher mode of operation. More...
struct | CBC_Mode_ExternalCipher
| CBC mode, external cipher. More...
struct | CBC_CTS_Mode< CIPHER >
| CBC-CTS block cipher mode of operation. More...
struct | CBC_CTS_Mode_ExternalCipher
| CBC mode with ciphertext stealing, external cipher. More...

## Functions

void | CopyOrZero (void *dest, size_t dsize, const void *src, size_t ssize)
| Initialize a block of memory. More...

## Variables

| CFB_CipherTemplate< AbstractPolicyHolder< CFB_CipherAbstractPolicy, CFB_ModePolicy > >
| CFB_EncryptionTemplate< AbstractPolicyHolder< CFB_CipherAbstractPolicy, CFB_ModePolicy > >
| CFB_DecryptionTemplate< AbstractPolicyHolder< CFB_CipherAbstractPolicy, CFB_ModePolicy > >
| AdditiveCipherTemplate< AbstractPolicyHolder< AdditiveCipherAbstractPolicy, OFB_ModePolicy > >
| AdditiveCipherTemplate< AbstractPolicyHolder< AdditiveCipherAbstractPolicy, CTR_ModePolicy > >
| CipherModeFinalTemplate_ExternalCipher< ConcretePolicyHolder< Empty, AdditiveCipherTemplate< AbstractPolicyHolder< AdditiveCipherAbstractPolicy, CTR_ModePolicy > > > >
| CipherModeFinalTemplate_ExternalCipher< ECB_OneWay >
| CipherModeFinalTemplate_ExternalCipher< CBC_Encryption >
| CipherModeFinalTemplate_ExternalCipher< CBC_Decryption >
| CipherModeFinalTemplate_ExternalCipher< CBC_CTS_Encryption >
| CipherModeFinalTemplate_ExternalCipher< CBC_CTS_Decryption >

## Detailed Description

Classes for block cipher modes of operation.

Definition in file modes.h.

## Function Documentation

## CopyOrZero()

void CopyOrZero | ( | void * | dest,
|  | size_t | dsize,
|  | const void * | src,
|  | size_t | ssize
| ) |  |

inline

Initialize a block of memory.

Parameters

  dest | the destination block of memory
  dsize | the size of the destination block, in bytes
  src | the source block of memory
  ssize | the size of the source block, in bytes

CopyOrZero copies ssize bytes from source to destination if src is not NULL. If src is NULL then dest is zero'd. Bounds are not checked at runtime. Debug builds assert if ssize exceeds dsize.

Definition at line 196 of file modes.h.