Crypto++  8.8
Free C++ class library of cryptographic schemes
Static Public Member Functions | Static Public Attributes | List of all members
SameKeyLengthAs< T, IV_REQ, IV_L > Class Template Reference

Provides key lengths based on another class's key length. More...

+ Inheritance diagram for SameKeyLengthAs< T, IV_REQ, IV_L >:

Static Public Member Functions

static size_t StaticGetValidKeyLength (size_t keylength)
 Provides a valid key length for the algorithm provided by a static function. More...
 

Static Public Attributes

static const int MIN_KEYLENGTH =T::MIN_KEYLENGTH
 The minimum key length used by the algorithm provided as a constant. More...
 
static const int MAX_KEYLENGTH =T::MAX_KEYLENGTH
 The maximum key length used by the algorithm provided as a constant. More...
 
static const int DEFAULT_KEYLENGTH =T::DEFAULT_KEYLENGTH
 The default key length used by the algorithm provided as a constant. More...
 
static const int IV_REQUIREMENT =IV_REQ
 The default IV requirements for the algorithm provided as a constant. More...
 
static const int IV_LENGTH =IV_L
 The default initialization vector length for the algorithm provided as a constant. More...
 

Detailed Description

template<class T, unsigned int IV_REQ = SimpleKeyingInterface::NOT_RESYNCHRONIZABLE, unsigned int IV_L = 0>
class SameKeyLengthAs< T, IV_REQ, IV_L >

Provides key lengths based on another class's key length.

Template Parameters
Tanother FixedKeyLength or VariableKeyLength class
IV_REQthe IV requirements
IV_Ldefault IV length, in bytes
See also
SimpleKeyingInterface

Definition at line 217 of file seckey.h.

Member Function Documentation

◆ StaticGetValidKeyLength()

template<class T , unsigned int IV_REQ = SimpleKeyingInterface::NOT_RESYNCHRONIZABLE, unsigned int IV_L = 0>
static size_t SameKeyLengthAs< T, IV_REQ, IV_L >::StaticGetValidKeyLength ( size_t  keylength)
inlinestatic

Provides a valid key length for the algorithm provided by a static function.

Parameters
keylengththe size of the key, in bytes

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 keylength is a multiple of KEYLENGTH_MULTIPLE, then keylength is returned. Otherwise, the function returns keylength rounded down to the next smaller multiple of KEYLENGTH_MULTIPLE.

keylength is provided in bytes, not bits.

Definition at line 244 of file seckey.h.

Member Data Documentation

◆ MIN_KEYLENGTH

template<class T , unsigned int IV_REQ = SimpleKeyingInterface::NOT_RESYNCHRONIZABLE, unsigned int IV_L = 0>
const int SameKeyLengthAs< T, IV_REQ, IV_L >::MIN_KEYLENGTH =T::MIN_KEYLENGTH
static

The minimum key length used by the algorithm provided as a constant.

MIN_KEYLENGTH is provided in bytes, not bits

Definition at line 222 of file seckey.h.

◆ MAX_KEYLENGTH

template<class T , unsigned int IV_REQ = SimpleKeyingInterface::NOT_RESYNCHRONIZABLE, unsigned int IV_L = 0>
const int SameKeyLengthAs< T, IV_REQ, IV_L >::MAX_KEYLENGTH =T::MAX_KEYLENGTH
static

The maximum key length used by the algorithm provided as a constant.

MIN_KEYLENGTH is provided in bytes, not bits

Definition at line 225 of file seckey.h.

◆ DEFAULT_KEYLENGTH

template<class T , unsigned int IV_REQ = SimpleKeyingInterface::NOT_RESYNCHRONIZABLE, unsigned int IV_L = 0>
const int SameKeyLengthAs< T, IV_REQ, IV_L >::DEFAULT_KEYLENGTH =T::DEFAULT_KEYLENGTH
static

The default key length used by the algorithm provided as a constant.

MIN_KEYLENGTH is provided in bytes, not bits

Definition at line 228 of file seckey.h.

◆ IV_REQUIREMENT

template<class T , unsigned int IV_REQ = SimpleKeyingInterface::NOT_RESYNCHRONIZABLE, unsigned int IV_L = 0>
const int SameKeyLengthAs< T, IV_REQ, IV_L >::IV_REQUIREMENT =IV_REQ
static

The default IV requirements for the algorithm provided as a constant.

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

Definition at line 232 of file seckey.h.

◆ IV_LENGTH

template<class T , unsigned int IV_REQ = SimpleKeyingInterface::NOT_RESYNCHRONIZABLE, unsigned int IV_L = 0>
const int SameKeyLengthAs< T, IV_REQ, IV_L >::IV_LENGTH =IV_L
static

The default initialization vector length for the algorithm provided as a constant.

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

Definition at line 235 of file seckey.h.


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