Crypto++ 8.1 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...

## 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

  T | another FixedKeyLength or VariableKeyLength class
  IV_REQ | the IV requirements
  IV_L | default 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 | ) |
| inline static

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

Parameters

  keylength | the 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:

- seckey.h