MessageAuthenticationCodeFinal< BASE > Class Template Reference

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

Inheritance diagram for MessageAuthenticationCodeFinal< BASE >:
ClonableImpl< MessageAuthenticationCodeFinal< BASE >, MessageAuthenticationCodeImpl< BASE > > MessageAuthenticationCodeImpl< BASE > AlgorithmImpl< SimpleKeyingInterfaceImpl< BASE, BASE >, BASE > SimpleKeyingInterfaceImpl< BASE, BASE > BASE

List of all members.

Public Member Functions

 MessageAuthenticationCodeFinal ()
 Construct a default MessageAuthenticationCodeFinal.
 MessageAuthenticationCodeFinal (const byte *key)
 Construct a BlockCipherFinal.
 MessageAuthenticationCodeFinal (const byte *key, size_t length)
 Construct a BlockCipherFinal.
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.
SimpleKeyingInterface::IV_Requirement IVRequirement () const
 The default IV requirements for the cipher.
unsigned int IVSize () const
 The default initialization vector length for the cipher.

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:
DIR a CipherDir
BASE a 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:
key a 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:
key a byte array used to key the cipher
length the 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 [inline, inherited]

Provides a valid key length for the cipher.

Parameters:
keylength the 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 [inline, inherited]

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 [inline, inherited]

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:

Generated on 24 Mar 2016 for Crypto++ by  doxygen 1.6.1