Crypto++ 8.7
Free C++ class library of cryptographic schemes
Classes | Functions | Variables
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
destthe destination block of memory
dsizethe size of the destination block, in bytes
srcthe source block of memory
ssizethe 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.

Variable Documentation

◆ CFB_CipherTemplate< AbstractPolicyHolder< CFB_CipherAbstractPolicy, CFB_ModePolicy > >

Definition at line 337 of file modes.h.

◆ CFB_EncryptionTemplate< AbstractPolicyHolder< CFB_CipherAbstractPolicy, CFB_ModePolicy > >

Definition at line 337 of file modes.h.

◆ CFB_DecryptionTemplate< AbstractPolicyHolder< CFB_CipherAbstractPolicy, CFB_ModePolicy > >

Definition at line 337 of file modes.h.

◆ AdditiveCipherTemplate< AbstractPolicyHolder< AdditiveCipherAbstractPolicy, OFB_ModePolicy > >

Definition at line 337 of file modes.h.

◆ AdditiveCipherTemplate< AbstractPolicyHolder< AdditiveCipherAbstractPolicy, CTR_ModePolicy > >

Definition at line 337 of file modes.h.

◆ CipherModeFinalTemplate_ExternalCipher< ConcretePolicyHolder< Empty, AdditiveCipherTemplate< AbstractPolicyHolder< AdditiveCipherAbstractPolicy, CTR_ModePolicy > > > >

Definition at line 337 of file modes.h.

◆ CipherModeFinalTemplate_ExternalCipher< ECB_OneWay >

Definition at line 337 of file modes.h.

◆ CipherModeFinalTemplate_ExternalCipher< CBC_Encryption >

Definition at line 337 of file modes.h.

◆ CipherModeFinalTemplate_ExternalCipher< CBC_Decryption >

Definition at line 337 of file modes.h.

◆ CipherModeFinalTemplate_ExternalCipher< CBC_CTS_Encryption >

Definition at line 337 of file modes.h.

◆ CipherModeFinalTemplate_ExternalCipher< CBC_CTS_Decryption >

Definition at line 337 of file modes.h.