Botan 3.8.1
Crypto and TLS for C&
Botan::Key_Length_Specification Class Referencefinal

#include <sym_algo.h>

Public Member Functions

 Key_Length_Specification (size_t keylen)
 
 Key_Length_Specification (size_t min_k, size_t max_k, size_t k_mod=1)
 
size_t keylength_multiple () const
 
size_t maximum_keylength () const
 
size_t minimum_keylength () const
 
Key_Length_Specification multiple (size_t n) const
 
bool valid_keylength (size_t length) const
 

Detailed Description

Represents the length requirements on an algorithm key

Definition at line 23 of file sym_algo.h.

Constructor & Destructor Documentation

◆ Key_Length_Specification() [1/2]

Botan::Key_Length_Specification::Key_Length_Specification ( size_t keylen)
inlineexplicit

Constructor for fixed length keys

Parameters
keylenthe supported key length

Definition at line 29 of file sym_algo.h.

29: m_min_keylen(keylen), m_max_keylen(keylen), m_keylen_mod(1) {}

Referenced by multiple().

◆ Key_Length_Specification() [2/2]

Botan::Key_Length_Specification::Key_Length_Specification ( size_t min_k,
size_t max_k,
size_t k_mod = 1 )
inline

Constructor for variable length keys

Parameters
min_kthe smallest supported key length
max_kthe largest supported key length
k_modthe number of bytes the key must be a multiple of

Definition at line 37 of file sym_algo.h.

37 :
38 m_min_keylen(min_k), m_max_keylen(max_k ? max_k : min_k), m_keylen_mod(k_mod) {}

Member Function Documentation

◆ keylength_multiple()

size_t Botan::Key_Length_Specification::keylength_multiple ( ) const
inline
Returns
key length multiple in bytes

Definition at line 61 of file sym_algo.h.

61{ return m_keylen_mod; }

◆ maximum_keylength()

size_t Botan::Key_Length_Specification::maximum_keylength ( ) const
inline
Returns
maximum key length in bytes

Definition at line 56 of file sym_algo.h.

56{ return m_max_keylen; }

◆ minimum_keylength()

size_t Botan::Key_Length_Specification::minimum_keylength ( ) const
inline
Returns
minimum key length in bytes

Definition at line 51 of file sym_algo.h.

51{ return m_min_keylen; }

◆ multiple()

Key_Length_Specification Botan::Key_Length_Specification::multiple ( size_t n) const
inline

Definition at line 68 of file sym_algo.h.

68 {
69 return Key_Length_Specification(n * m_min_keylen, n * m_max_keylen, n * m_keylen_mod);
70 }
Key_Length_Specification(size_t keylen)
Definition sym_algo.h:29

References Key_Length_Specification().

Referenced by Botan::SIV_Mode::key_spec(), and Botan::XTS_Mode::key_spec().

◆ valid_keylength()

bool Botan::Key_Length_Specification::valid_keylength ( size_t length) const
inline
Parameters
lengthis a key length in bytes
Returns
true iff this length is a valid length for this algo

Definition at line 44 of file sym_algo.h.

44 {
45 return ((length >= m_min_keylen) && (length <= m_max_keylen) && (length % m_keylen_mod == 0));
46 }

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