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
-
D | Default key length, in bytes |
N | Minimum key length, in bytes |
M | Maximum key length, in bytes |
Q | Default key length multiple, in bytes. The default multiple is 1. |
IV_REQ | the IV requirements |
IV_L | default IV length, in bytes. The default length is 0. |
- See also
- SimpleKeyingInterface
Definition at line 165 of file seckey.h.
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>
static size_t VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::StaticGetValidKeyLength |
( |
size_t | keylength | ) |
|
|
inlinestatic |
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 203 of file seckey.h.
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>
The minimum key length used by the algorithm provided as a constant.
MIN_KEYLENGTH is provided in bytes, not bits
Definition at line 178 of file seckey.h.
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>
The maximum key length used by the algorithm provided as a constant.
MAX_KEYLENGTH is provided in bytes, not bits
Definition at line 181 of file seckey.h.
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>
The default key length used by the algorithm provided as a constant.
DEFAULT_KEYLENGTH is provided in bytes, not bits
Definition at line 184 of file seckey.h.
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>
The key length multiple used by the algorithm provided as a constant.
MAX_KEYLENGTH is provided in bytes, not bits
Definition at line 187 of file seckey.h.
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>
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 191 of file seckey.h.
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>
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 194 of file seckey.h.