Security Scol plugin
Public Member Functions | List of all members
VariableKeyLength< D, N, M, Q, IV_REQ, IV_L > Class Template Reference

Inherited by keyed algorithms with variable key length. More...

#include <seckey.h>

Inheritance diagram for VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >:
SIMON_Info< 16, 16, 16, 32 > SIMON_Info< 8, 12, 12, 16 > SPECK_Info< 16, 16, 16, 32 > SPECK_Info< 8, 12, 12, 16 > SIMON_Info< L, D, N, M > SPECK_Info< L, D, N, M > TwoBases< BlockCipher, SIMON_Info< 16, 16, 16, 32 > > SIMON128 TwoBases< BlockCipher, SIMON_Info< 8, 12, 12, 16 > > SIMON64 TwoBases< BlockCipher, SPECK_Info< 16, 16, 16, 32 > > SPECK128 TwoBases< BlockCipher, SPECK_Info< 8, 12, 12, 16 > > SPECK64

Public Member Functions

 CRYPTOPP_CONSTANT (MIN_KEYLENGTH=N)
 The minimum key length used by the algorithm provided as a constant.
 
 CRYPTOPP_CONSTANT (MAX_KEYLENGTH=M)
 The maximum key length used by the algorithm provided as a constant.
 
 CRYPTOPP_CONSTANT (DEFAULT_KEYLENGTH=D)
 The default key length used by the algorithm provided as a constant.
 
 CRYPTOPP_CONSTANT (KEYLENGTH_MULTIPLE=Q)
 The key length multiple used by the algorithm provided as a constant.
 
 CRYPTOPP_CONSTANT (IV_REQUIREMENT=IV_REQ)
 The default IV requirements for the algorithm provided as a constant.
 
 CRYPTOPP_CONSTANT (IV_LENGTH=IV_L)
 The default initialization vector length for the algorithm provided as a constant.
 
CRYPTOPP_STATIC_CONSTEXPR size_t CRYPTOPP_API StaticGetValidKeyLength (size_t keylength)
 Provides a valid key length for the algorithm provided by a static function.
 

Detailed Description

template<unsigned int D, unsigned int N, unsigned int M, unsigned int Q = 1, unsigned int IV_REQ = SimpleKeyingInterface::NOT_RESYNCHRONIZABLE, unsigned int IV_L = 0>
class VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >

Inherited by keyed algorithms with variable key length.

Template Parameters
DDefault key length, in bytes
NMinimum key length, in bytes
MMaximum key length, in bytes
QDefault key length multiple, in bytes. The default multiple is 1.
IV_REQthe IV requirements
IV_Ldefault IV length, in bytes. The default length is 0.
See also
SimpleKeyingInterface

Definition at line 165 of file seckey.h.

Member Function Documentation

◆ CRYPTOPP_CONSTANT() [1/6]

template<unsigned int D, unsigned int N, unsigned int M, unsigned int Q = 1, unsigned int IV_REQ = SimpleKeyingInterface::NOT_RESYNCHRONIZABLE, unsigned int IV_L = 0>
VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::CRYPTOPP_CONSTANT ( DEFAULT_KEYLENGTH  = D)

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

DEFAULT_KEYLENGTH is provided in bytes, not bits

◆ CRYPTOPP_CONSTANT() [2/6]

template<unsigned int D, unsigned int N, unsigned int M, unsigned int Q = 1, unsigned int IV_REQ = SimpleKeyingInterface::NOT_RESYNCHRONIZABLE, unsigned int IV_L = 0>
VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::CRYPTOPP_CONSTANT ( IV_LENGTH  = IV_L)

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.

◆ CRYPTOPP_CONSTANT() [3/6]

template<unsigned int D, unsigned int N, unsigned int M, unsigned int Q = 1, unsigned int IV_REQ = SimpleKeyingInterface::NOT_RESYNCHRONIZABLE, unsigned int IV_L = 0>
VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::CRYPTOPP_CONSTANT ( IV_REQUIREMENT  = IV_REQ)

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.

◆ CRYPTOPP_CONSTANT() [4/6]

template<unsigned int D, unsigned int N, unsigned int M, unsigned int Q = 1, unsigned int IV_REQ = SimpleKeyingInterface::NOT_RESYNCHRONIZABLE, unsigned int IV_L = 0>
VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::CRYPTOPP_CONSTANT ( KEYLENGTH_MULTIPLE  = Q)

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

MAX_KEYLENGTH is provided in bytes, not bits

◆ CRYPTOPP_CONSTANT() [5/6]

template<unsigned int D, unsigned int N, unsigned int M, unsigned int Q = 1, unsigned int IV_REQ = SimpleKeyingInterface::NOT_RESYNCHRONIZABLE, unsigned int IV_L = 0>
VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::CRYPTOPP_CONSTANT ( MAX_KEYLENGTH  = M)

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

MAX_KEYLENGTH is provided in bytes, not bits

◆ CRYPTOPP_CONSTANT() [6/6]

template<unsigned int D, unsigned int N, unsigned int M, unsigned int Q = 1, unsigned int IV_REQ = SimpleKeyingInterface::NOT_RESYNCHRONIZABLE, unsigned int IV_L = 0>
VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::CRYPTOPP_CONSTANT ( MIN_KEYLENGTH  = N)

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

MIN_KEYLENGTH is provided in bytes, not bits

◆ StaticGetValidKeyLength()

template<unsigned int D, unsigned int N, unsigned int M, unsigned int Q = 1, unsigned int IV_REQ = SimpleKeyingInterface::NOT_RESYNCHRONIZABLE, unsigned int IV_L = 0>
CRYPTOPP_STATIC_CONSTEXPR size_t CRYPTOPP_API VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::StaticGetValidKeyLength ( size_t  keylength)
inline

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 203 of file seckey.h.


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