Crypto++ 8.7
Free C++ class library of cryptographic schemes
|
Block cipher mode of operation information. More...
#include <modes.h>
Additional Inherited Members | |
Public Types inherited from SymmetricCipherDocumentation | |
typedef SymmetricCipher | Encryption |
implements the SymmetricCipher interface More... | |
typedef SymmetricCipher | Decryption |
implements the SymmetricCipher interface More... | |
Block cipher mode of operation information.
Each class derived from this one defines two types, Encryption and Decryption, both of which implement the SymmetricCipher interface. For each mode there are two classes, one of which is a template class, and the other one has a name that ends in "_ExternalCipher". The "external cipher" mode objects hold a reference to the underlying block cipher, instead of holding an instance of it. The reference must be passed in to the constructor. For the "cipher holder" classes, the CIPHER template parameter should be a class derived from BlockCipherDocumentation, for example DES or AES.
See NIST SP 800-38A for definitions of these modes. See AuthenticatedSymmetricCipherDocumentation for authenticated encryption modes.