Crypto++  5.6.3
Free C++ class library of cryptographic schemes
Public Member Functions | Static Public Member Functions | List of all members
MessageAuthenticationCodeFinal< BASE > Class Template Reference

Provides class member functions to key a message authentication code. More...

+ Inheritance diagram for MessageAuthenticationCodeFinal< BASE >:

Public Member Functions

 MessageAuthenticationCodeFinal ()
 Construct a default MessageAuthenticationCodeFinal. More...
 
 MessageAuthenticationCodeFinal (const byte *key)
 Construct a BlockCipherFinal. More...
 
 MessageAuthenticationCodeFinal (const byte *key, size_t length)
 Construct a BlockCipherFinal. More...
 
ClonableClone () const
 
std::string AlgorithmName () const
 
size_t MinKeyLength () const
 The minimum key length used by the cipher.
 
size_t MaxKeyLength () const
 The maximum key length used by the cipher.
 
size_t DefaultKeyLength () const
 The default key length used by the cipher.
 
size_t GetValidKeyLength (size_t keylength) const
 Provides a valid key length for the cipher. More...
 
SimpleKeyingInterface::IV_Requirement IVRequirement () const
 The default IV requirements for the cipher. More...
 
unsigned int IVSize () const
 The default initialization vector length for the cipher. More...
 

Static Public Member Functions

static std::string StaticAlgorithmName ()
 

Detailed Description

template<class BASE>
class MessageAuthenticationCodeFinal< BASE >

Provides class member functions to key a message authentication code.

Template Parameters
DIRa CipherDir
BASEa BlockCipherImpl derived class

Definition at line 356 of file seckey.h.

Constructor & Destructor Documentation

template<class BASE>
MessageAuthenticationCodeFinal< BASE >::MessageAuthenticationCodeFinal ( )
inline

Construct a default MessageAuthenticationCodeFinal.

The message authentication code is not keyed.

Definition at line 361 of file seckey.h.

template<class BASE>
MessageAuthenticationCodeFinal< BASE >::MessageAuthenticationCodeFinal ( const byte *  key)
inline

Construct a BlockCipherFinal.

Parameters
keya byte array used to key the cipher

key must be at least DEFAULT_KEYLENGTH in length. Internally, the function calls SimpleKeyingInterface::SetKey.

Definition at line 366 of file seckey.h.

template<class BASE>
MessageAuthenticationCodeFinal< BASE >::MessageAuthenticationCodeFinal ( const byte *  key,
size_t  length 
)
inline

Construct a BlockCipherFinal.

Parameters
keya byte array used to key the cipher
lengththe length of the byte array

key must be at least DEFAULT_KEYLENGTH in length. Internally, the function calls SimpleKeyingInterface::SetKey.

Definition at line 373 of file seckey.h.

Member Function Documentation

size_t SimpleKeyingInterfaceImpl< BASE, BASE >::GetValidKeyLength ( size_t  keylength) const
inlineinherited

Provides a valid key length for the cipher.

Parameters
keylengththe size of the key, in bytes

keylength is provided in bytes, not bits. If keylength is less than MIN_KEYLENGTH, then the function returns MIN_KEYLENGTH. If keylength is greater than MAX_KEYLENGTH, then the function returns MAX_KEYLENGTH. if If keylength is a multiple of KEYLENGTH_MULTIPLE, then keylength is returned. Otherwise, the function returns a lower multiple of KEYLENGTH_MULTIPLE.

Definition at line 273 of file seckey.h.

SimpleKeyingInterface::IV_Requirement SimpleKeyingInterfaceImpl< BASE, BASE >::IVRequirement ( ) const
inlineinherited

The default IV requirements for the cipher.

The default value is NOT_RESYNCHRONIZABLE. See IV_Requirement in cryptlib.h for allowed values.

Definition at line 278 of file seckey.h.

unsigned int SimpleKeyingInterfaceImpl< BASE, BASE >::IVSize ( ) const
inlineinherited

The default initialization vector length for the cipher.

IVSize is provided in bytes, not bits. The default implementation uses IV_LENGTH, which is 0.

Definition at line 283 of file seckey.h.


The documentation for this class was generated from the following file: