Coverage Report

Created: 2024-11-21 07:03

/src/cryptopp/seckey.h
Line
Count
Source (jump to first uncovered line)
1
// seckey.h - originally written and placed in the public domain by Wei Dai
2
3
/// \file seckey.h
4
/// \brief Classes and functions for implementing secret key algorithms.
5
6
#ifndef CRYPTOPP_SECKEY_H
7
#define CRYPTOPP_SECKEY_H
8
9
#include "config.h"
10
#include "cryptlib.h"
11
#include "misc.h"
12
#include "simple.h"
13
#include "stdcpp.h"
14
15
#if CRYPTOPP_MSC_VERSION
16
# pragma warning(push)
17
# pragma warning(disable: 4189 4296)
18
#endif
19
20
// Issue 340
21
#if CRYPTOPP_GCC_DIAGNOSTIC_AVAILABLE
22
# pragma GCC diagnostic push
23
# pragma GCC diagnostic ignored "-Wconversion"
24
# pragma GCC diagnostic ignored "-Wsign-conversion"
25
#endif
26
27
NAMESPACE_BEGIN(CryptoPP)
28
29
/// \brief Inverts the cipher's direction
30
/// \param dir the cipher's direction
31
/// \return DECRYPTION if \ref CipherDir "dir" is ENCRYPTION, DECRYPTION otherwise
32
inline CipherDir ReverseCipherDir(CipherDir dir)
33
12
{
34
12
  return (dir == ENCRYPTION) ? DECRYPTION : ENCRYPTION;
35
12
}
36
37
/// \brief Inherited by algorithms with fixed block size
38
/// \tparam N the blocksize of the algorithm
39
template <unsigned int N>
40
class FixedBlockSize
41
{
42
public:
43
  /// \brief The block size of the algorithm provided as a constant.
44
  CRYPTOPP_CONSTANT(BLOCKSIZE = N);
45
};
46
47
// ************** rounds ***************
48
49
/// \brief Inherited by algorithms with fixed number of rounds
50
/// \tparam R the number of rounds used by the algorithm
51
template <unsigned int R>
52
class FixedRounds
53
{
54
public:
55
  /// \brief The number of rounds for the algorithm provided as a constant.
56
  CRYPTOPP_CONSTANT(ROUNDS = R);
57
};
58
59
/// \brief Inherited by algorithms with variable number of rounds
60
/// \tparam D Default number of rounds
61
/// \tparam N Minimum number of rounds
62
/// \tparam M Maximum number of rounds
63
template <unsigned int D, unsigned int N=1, unsigned int M=INT_MAX>   // use INT_MAX here because enums are treated as signed ints
64
class VariableRounds
65
{
66
public:
67
  /// \brief The default number of rounds for the algorithm provided as a constant.
68
  CRYPTOPP_CONSTANT(DEFAULT_ROUNDS = D);
69
  /// \brief The minimum number of rounds for the algorithm provided as a constant.
70
  CRYPTOPP_CONSTANT(MIN_ROUNDS = N);
71
  /// \brief The maximum number of rounds for the algorithm provided as a constant.
72
  CRYPTOPP_CONSTANT(MAX_ROUNDS = M);
73
  /// \brief The default number of rounds for the algorithm based on key length
74
  ///   provided by a static function.
75
  /// \param keylength the size of the key, in bytes
76
  /// \details keylength is unused in the default implementation.
77
  CRYPTOPP_STATIC_CONSTEXPR unsigned int StaticGetDefaultRounds(size_t keylength)
78
  {
79
    return CRYPTOPP_UNUSED(keylength), static_cast<unsigned int>(DEFAULT_ROUNDS);
80
  }
81
82
protected:
83
  /// \brief Validates the number of rounds for an algorithm.
84
  /// \param rounds the candidate number of rounds
85
  /// \param alg an Algorithm object used if the number of rounds are invalid
86
  /// \throw InvalidRounds if the number of rounds are invalid
87
  /// \details ThrowIfInvalidRounds() validates the number of rounds and throws if invalid.
88
  inline void ThrowIfInvalidRounds(int rounds, const Algorithm *alg)
89
160
  {
90
160
    if (M == INT_MAX) // Coverity and result_independent_of_operands
91
160
    {
92
160
      if (rounds < MIN_ROUNDS)
93
0
        throw InvalidRounds(alg ? alg->AlgorithmName() : std::string("VariableRounds"), rounds);
94
160
    }
95
0
    else
96
0
    {
97
0
      if (rounds < MIN_ROUNDS || rounds > MAX_ROUNDS)
98
0
        throw InvalidRounds(alg ? alg->AlgorithmName() : std::string("VariableRounds"), rounds);
99
0
    }
100
160
  }
CryptoPP::VariableRounds<20u, 1u, 2147483647u>::ThrowIfInvalidRounds(int, CryptoPP::Algorithm const*)
Line
Count
Source
89
10
  {
90
10
    if (M == INT_MAX) // Coverity and result_independent_of_operands
91
10
    {
92
10
      if (rounds < MIN_ROUNDS)
93
0
        throw InvalidRounds(alg ? alg->AlgorithmName() : std::string("VariableRounds"), rounds);
94
10
    }
95
0
    else
96
0
    {
97
0
      if (rounds < MIN_ROUNDS || rounds > MAX_ROUNDS)
98
0
        throw InvalidRounds(alg ? alg->AlgorithmName() : std::string("VariableRounds"), rounds);
99
0
    }
100
10
  }
CryptoPP::VariableRounds<6u, 2u, 2147483647u>::ThrowIfInvalidRounds(int, CryptoPP::Algorithm const*)
Line
Count
Source
89
150
  {
90
150
    if (M == INT_MAX) // Coverity and result_independent_of_operands
91
150
    {
92
150
      if (rounds < MIN_ROUNDS)
93
0
        throw InvalidRounds(alg ? alg->AlgorithmName() : std::string("VariableRounds"), rounds);
94
150
    }
95
0
    else
96
0
    {
97
0
      if (rounds < MIN_ROUNDS || rounds > MAX_ROUNDS)
98
0
        throw InvalidRounds(alg ? alg->AlgorithmName() : std::string("VariableRounds"), rounds);
99
0
    }
100
150
  }
101
102
  /// \brief Validates the number of rounds for an algorithm
103
  /// \param param the candidate number of rounds
104
  /// \param alg an Algorithm object used if the number of rounds are invalid
105
  /// \return the number of rounds for the algorithm
106
  /// \throw InvalidRounds if the number of rounds are invalid
107
  /// \details GetRoundsAndThrowIfInvalid() validates the number of rounds and throws if invalid.
108
  inline unsigned int GetRoundsAndThrowIfInvalid(const NameValuePairs &param, const Algorithm *alg)
109
160
  {
110
160
    int rounds = param.GetIntValueWithDefault("Rounds", DEFAULT_ROUNDS);
111
160
    ThrowIfInvalidRounds(rounds, alg);
112
160
    return static_cast<unsigned int>(rounds);
113
160
  }
CryptoPP::VariableRounds<20u, 1u, 2147483647u>::GetRoundsAndThrowIfInvalid(CryptoPP::NameValuePairs const&, CryptoPP::Algorithm const*)
Line
Count
Source
109
10
  {
110
10
    int rounds = param.GetIntValueWithDefault("Rounds", DEFAULT_ROUNDS);
111
10
    ThrowIfInvalidRounds(rounds, alg);
112
10
    return static_cast<unsigned int>(rounds);
113
10
  }
CryptoPP::VariableRounds<6u, 2u, 2147483647u>::GetRoundsAndThrowIfInvalid(CryptoPP::NameValuePairs const&, CryptoPP::Algorithm const*)
Line
Count
Source
109
150
  {
110
150
    int rounds = param.GetIntValueWithDefault("Rounds", DEFAULT_ROUNDS);
111
150
    ThrowIfInvalidRounds(rounds, alg);
112
150
    return static_cast<unsigned int>(rounds);
113
150
  }
114
};
115
116
// ************** key length ***************
117
118
/// \brief Inherited by keyed algorithms with fixed key length
119
/// \tparam N Default key length, in bytes
120
/// \tparam IV_REQ the \ref SimpleKeyingInterface::IV_Requirement "IV requirements"
121
/// \tparam IV_L default IV length, in bytes
122
/// \sa SimpleKeyingInterface
123
template <unsigned int N, unsigned int IV_REQ = SimpleKeyingInterface::NOT_RESYNCHRONIZABLE, unsigned int IV_L = 0>
124
class FixedKeyLength
125
{
126
public:
127
  /// \brief The default key length used by the algorithm provided as a constant
128
  /// \details KEYLENGTH is provided in bytes, not bits
129
  CRYPTOPP_CONSTANT(KEYLENGTH=N);
130
  /// \brief The minimum key length used by the algorithm provided as a constant
131
  /// \details MIN_KEYLENGTH is provided in bytes, not bits
132
  CRYPTOPP_CONSTANT(MIN_KEYLENGTH=N);
133
  /// \brief The maximum key length used by the algorithm provided as a constant
134
  /// \details MAX_KEYLENGTH is provided in bytes, not bits
135
  CRYPTOPP_CONSTANT(MAX_KEYLENGTH=N);
136
  /// \brief The default key length used by the algorithm provided as a constant
137
  /// \details DEFAULT_KEYLENGTH is provided in bytes, not bits
138
  CRYPTOPP_CONSTANT(DEFAULT_KEYLENGTH=N);
139
  /// \brief The default IV requirements for the algorithm provided as a constant
140
  /// \details The default value is NOT_RESYNCHRONIZABLE. See IV_Requirement
141
  ///  in cryptlib.h for allowed values.
142
  CRYPTOPP_CONSTANT(IV_REQUIREMENT = IV_REQ);
143
  /// \brief The default IV length used by the algorithm provided as a constant
144
  /// \details IV_LENGTH is provided in bytes, not bits. The default implementation uses 0.
145
  CRYPTOPP_CONSTANT(IV_LENGTH = IV_L);
146
  /// \brief The default key length for the algorithm provided by a static function.
147
  /// \param keylength the size of the key, in bytes
148
  /// \details The default implementation returns KEYLENGTH. keylength is unused
149
  ///   in the default implementation.
150
  CRYPTOPP_STATIC_CONSTEXPR size_t CRYPTOPP_API StaticGetValidKeyLength(size_t keylength)
151
675
  {
152
675
    return CRYPTOPP_UNUSED(keylength), static_cast<size_t>(KEYLENGTH);
153
675
  }
CryptoPP::FixedKeyLength<32u, 0u, 12u>::StaticGetValidKeyLength(unsigned long)
Line
Count
Source
151
73
  {
152
73
    return CRYPTOPP_UNUSED(keylength), static_cast<size_t>(KEYLENGTH);
153
73
  }
CryptoPP::FixedKeyLength<32u, 4u, 0u>::StaticGetValidKeyLength(unsigned long)
Line
Count
Source
151
36
  {
152
36
    return CRYPTOPP_UNUSED(keylength), static_cast<size_t>(KEYLENGTH);
153
36
  }
CryptoPP::FixedKeyLength<32u, 0u, 24u>::StaticGetValidKeyLength(unsigned long)
Line
Count
Source
151
2
  {
152
2
    return CRYPTOPP_UNUSED(keylength), static_cast<size_t>(KEYLENGTH);
153
2
  }
CryptoPP::FixedKeyLength<64u, 4u, 0u>::StaticGetValidKeyLength(unsigned long)
Line
Count
Source
151
4
  {
152
4
    return CRYPTOPP_UNUSED(keylength), static_cast<size_t>(KEYLENGTH);
153
4
  }
CryptoPP::FixedKeyLength<8u, 4u, 0u>::StaticGetValidKeyLength(unsigned long)
Line
Count
Source
151
26
  {
152
26
    return CRYPTOPP_UNUSED(keylength), static_cast<size_t>(KEYLENGTH);
153
26
  }
CryptoPP::FixedKeyLength<24u, 4u, 0u>::StaticGetValidKeyLength(unsigned long)
Line
Count
Source
151
57
  {
152
57
    return CRYPTOPP_UNUSED(keylength), static_cast<size_t>(KEYLENGTH);
153
57
  }
CryptoPP::FixedKeyLength<16u, 4u, 0u>::StaticGetValidKeyLength(unsigned long)
Line
Count
Source
151
477
  {
152
477
    return CRYPTOPP_UNUSED(keylength), static_cast<size_t>(KEYLENGTH);
153
477
  }
Unexecuted instantiation: CryptoPP::FixedKeyLength<32u, 0u, 16u>::StaticGetValidKeyLength(unsigned long)
154
};
155
156
/// \brief Inherited by keyed algorithms with variable key length
157
/// \tparam D Default key length, in bytes
158
/// \tparam N Minimum key length, in bytes
159
/// \tparam M Maximum key length, in bytes
160
/// \tparam Q Default key length multiple, in bytes. The default multiple is 1.
161
/// \tparam IV_REQ the \ref SimpleKeyingInterface::IV_Requirement "IV requirements"
162
/// \tparam IV_L default IV length, in bytes. The default length is 0.
163
/// \sa SimpleKeyingInterface
164
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>
165
class VariableKeyLength
166
{
167
  // Make these private to avoid Doxygen documenting them in all derived classes
168
  CRYPTOPP_COMPILE_ASSERT(Q > 0);
169
  CRYPTOPP_COMPILE_ASSERT(N % Q == 0);
170
  CRYPTOPP_COMPILE_ASSERT(M % Q == 0);
171
  CRYPTOPP_COMPILE_ASSERT(N < M);
172
  CRYPTOPP_COMPILE_ASSERT(D >= N);
173
  CRYPTOPP_COMPILE_ASSERT(M >= D);
174
175
public:
176
  /// \brief The minimum key length used by the algorithm provided as a constant
177
  /// \details MIN_KEYLENGTH is provided in bytes, not bits
178
  CRYPTOPP_CONSTANT(MIN_KEYLENGTH=N);
179
  /// \brief The maximum key length used by the algorithm provided as a constant
180
  /// \details MAX_KEYLENGTH is provided in bytes, not bits
181
  CRYPTOPP_CONSTANT(MAX_KEYLENGTH=M);
182
  /// \brief The default key length used by the algorithm provided as a constant
183
  /// \details DEFAULT_KEYLENGTH is provided in bytes, not bits
184
  CRYPTOPP_CONSTANT(DEFAULT_KEYLENGTH=D);
185
  /// \brief The key length multiple used by the algorithm provided as a constant
186
  /// \details MAX_KEYLENGTH is provided in bytes, not bits
187
  CRYPTOPP_CONSTANT(KEYLENGTH_MULTIPLE=Q);
188
  /// \brief The default IV requirements for the algorithm provided as a constant
189
  /// \details The default value is NOT_RESYNCHRONIZABLE. See IV_Requirement
190
  ///  in cryptlib.h for allowed values.
191
  CRYPTOPP_CONSTANT(IV_REQUIREMENT=IV_REQ);
192
  /// \brief The default initialization vector length for the algorithm provided as a constant
193
  /// \details IV_LENGTH is provided in bytes, not bits. The default implementation uses 0.
194
  CRYPTOPP_CONSTANT(IV_LENGTH=IV_L);
195
  /// \brief Provides a valid key length for the algorithm provided by a static function.
196
  /// \param keylength the size of the key, in bytes
197
  /// \details If keylength is less than MIN_KEYLENGTH, then the function returns
198
  ///   MIN_KEYLENGTH. If keylength is greater than MAX_KEYLENGTH, then the function
199
  ///   returns MAX_KEYLENGTH. If keylength is a multiple of KEYLENGTH_MULTIPLE,
200
  ///   then keylength is returned. Otherwise, the function returns keylength rounded
201
  ///   \a down to the next smaller multiple of KEYLENGTH_MULTIPLE.
202
  /// \details keylength is provided in bytes, not bits.
203
  CRYPTOPP_STATIC_CONSTEXPR size_t CRYPTOPP_API StaticGetValidKeyLength(size_t keylength)
204
6.29k
  {
205
6.29k
    return (keylength <= N) ? N :
206
6.29k
      (keylength >= M) ? M :
207
5.36k
      (keylength+Q-1) - (keylength+Q-1)%Q;
208
6.29k
  }
CryptoPP::VariableKeyLength<16u, 16u, 32u, 8u, 4u, 0u>::StaticGetValidKeyLength(unsigned long)
Line
Count
Source
204
614
  {
205
614
    return (keylength <= N) ? N :
206
614
      (keylength >= M) ? M :
207
179
      (keylength+Q-1) - (keylength+Q-1)%Q;
208
614
  }
CryptoPP::VariableKeyLength<16u, 0u, 2147483647u, 1u, 4u, 0u>::StaticGetValidKeyLength(unsigned long)
Line
Count
Source
204
5.30k
  {
205
5.30k
    return (keylength <= N) ? N :
206
5.30k
      (keylength >= M) ? M :
207
4.93k
      (keylength+Q-1) - (keylength+Q-1)%Q;
208
5.30k
  }
CryptoPP::VariableKeyLength<16u, 16u, 32u, 1u, 4u, 0u>::StaticGetValidKeyLength(unsigned long)
Line
Count
Source
204
45
  {
205
45
    return (keylength <= N) ? N :
206
45
      (keylength >= M) ? M :
207
22
      (keylength+Q-1) - (keylength+Q-1)%Q;
208
45
  }
CryptoPP::VariableKeyLength<32u, 32u, 64u, 1u, 4u, 0u>::StaticGetValidKeyLength(unsigned long)
Line
Count
Source
204
1
  {
205
1
    return (keylength <= N) ? N :
206
1
      (keylength >= M) ? M :
207
0
      (keylength+Q-1) - (keylength+Q-1)%Q;
208
1
  }
CryptoPP::VariableKeyLength<16u, 4u, 56u, 1u, 4u, 0u>::StaticGetValidKeyLength(unsigned long)
Line
Count
Source
204
37
  {
205
37
    return (keylength <= N) ? N :
206
37
      (keylength >= M) ? M :
207
34
      (keylength+Q-1) - (keylength+Q-1)%Q;
208
37
  }
CryptoPP::VariableKeyLength<16u, 5u, 16u, 1u, 4u, 0u>::StaticGetValidKeyLength(unsigned long)
Line
Count
Source
204
83
  {
205
83
    return (keylength <= N) ? N :
206
83
      (keylength >= M) ? M :
207
58
      (keylength+Q-1) - (keylength+Q-1)%Q;
208
83
  }
CryptoPP::VariableKeyLength<12u, 12u, 16u, 1u, 4u, 0u>::StaticGetValidKeyLength(unsigned long)
Line
Count
Source
204
84
  {
205
84
    return (keylength <= N) ? N :
206
84
      (keylength >= M) ? M :
207
64
      (keylength+Q-1) - (keylength+Q-1)%Q;
208
84
  }
CryptoPP::VariableKeyLength<16u, 16u, 32u, 16u, 4u, 0u>::StaticGetValidKeyLength(unsigned long)
Line
Count
Source
204
73
  {
205
73
    return (keylength <= N) ? N :
206
73
      (keylength >= M) ? M :
207
49
      (keylength+Q-1) - (keylength+Q-1)%Q;
208
73
  }
CryptoPP::VariableKeyLength<16u, 8u, 16u, 8u, 4u, 0u>::StaticGetValidKeyLength(unsigned long)
Line
Count
Source
204
48
  {
205
48
    return (keylength <= N) ? N :
206
48
      (keylength >= M) ? M :
207
23
      (keylength+Q-1) - (keylength+Q-1)%Q;
208
48
  }
Unexecuted instantiation: CryptoPP::VariableKeyLength<32u, 0u, 32u, 1u, 4u, 0u>::StaticGetValidKeyLength(unsigned long)
Unexecuted instantiation: CryptoPP::VariableKeyLength<64u, 0u, 64u, 1u, 4u, 0u>::StaticGetValidKeyLength(unsigned long)
Unexecuted instantiation: CryptoPP::VariableKeyLength<16u, 1u, 128u, 1u, 4u, 0u>::StaticGetValidKeyLength(unsigned long)
Unexecuted instantiation: CryptoPP::VariableKeyLength<16u, 16u, 32u, 4u, 4u, 0u>::StaticGetValidKeyLength(unsigned long)
209
};
210
211
/// \brief Provides key lengths based on another class's key length
212
/// \tparam T another FixedKeyLength or VariableKeyLength class
213
/// \tparam IV_REQ the \ref SimpleKeyingInterface::IV_Requirement "IV requirements"
214
/// \tparam IV_L default IV length, in bytes
215
/// \sa SimpleKeyingInterface
216
template <class T, unsigned int IV_REQ = SimpleKeyingInterface::NOT_RESYNCHRONIZABLE, unsigned int IV_L = 0>
217
class SameKeyLengthAs
218
{
219
public:
220
  /// \brief The minimum key length used by the algorithm provided as a constant
221
  /// \details MIN_KEYLENGTH is provided in bytes, not bits
222
  CRYPTOPP_CONSTANT(MIN_KEYLENGTH=T::MIN_KEYLENGTH);
223
  /// \brief The maximum key length used by the algorithm provided as a constant
224
  /// \details MIN_KEYLENGTH is provided in bytes, not bits
225
  CRYPTOPP_CONSTANT(MAX_KEYLENGTH=T::MAX_KEYLENGTH);
226
  /// \brief The default key length used by the algorithm provided as a constant
227
  /// \details MIN_KEYLENGTH is provided in bytes, not bits
228
  CRYPTOPP_CONSTANT(DEFAULT_KEYLENGTH=T::DEFAULT_KEYLENGTH);
229
  /// \brief The default IV requirements for the algorithm provided as a constant
230
  /// \details The default value is NOT_RESYNCHRONIZABLE. See IV_Requirement
231
  ///  in cryptlib.h for allowed values.
232
  CRYPTOPP_CONSTANT(IV_REQUIREMENT=IV_REQ);
233
  /// \brief The default initialization vector length for the algorithm provided as a constant
234
  /// \details IV_LENGTH is provided in bytes, not bits. The default implementation uses 0.
235
  CRYPTOPP_CONSTANT(IV_LENGTH=IV_L);
236
  /// \brief Provides a valid key length for the algorithm provided by a static function.
237
  /// \param keylength the size of the key, in bytes
238
  /// \details If keylength is less than MIN_KEYLENGTH, then the function returns
239
  ///   MIN_KEYLENGTH. If keylength is greater than MAX_KEYLENGTH, then the function
240
  ///   returns MAX_KEYLENGTH. If keylength is a multiple of KEYLENGTH_MULTIPLE,
241
  ///   then keylength is returned. Otherwise, the function returns keylength rounded
242
  ///   \a down to the next smaller multiple of KEYLENGTH_MULTIPLE.
243
  /// \details keylength is provided in bytes, not bits.
244
  CRYPTOPP_STATIC_CONSTEXPR size_t CRYPTOPP_API StaticGetValidKeyLength(size_t keylength)
245
    {return T::StaticGetValidKeyLength(keylength);}
246
};
247
248
// ************** implementation helper for SimpleKeyingInterface ***************
249
250
/// \brief Provides a base implementation of SimpleKeyingInterface
251
/// \tparam BASE a SimpleKeyingInterface derived class
252
/// \tparam INFO a SimpleKeyingInterface derived class
253
/// \details SimpleKeyingInterfaceImpl() provides a default implementation for ciphers providing a keying interface.
254
///   Functions are virtual and not eligible for C++11 <tt>constexpr</tt>-ness.
255
/// \sa Algorithm(), SimpleKeyingInterface()
256
template <class BASE, class INFO = BASE>
257
class CRYPTOPP_NO_VTABLE SimpleKeyingInterfaceImpl : public BASE
258
{
259
public:
260
  /// \brief The minimum key length used by the algorithm
261
  /// \return minimum key length used by the algorithm, in bytes
262
  size_t MinKeyLength() const
263
0
    {return INFO::MIN_KEYLENGTH;}
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Rijndael_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Rijndael_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA1> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA224> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA384> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA512> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHAKE128> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHAKE256> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD128> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD160> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD256> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD320> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Whirlpool> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Weak1::MD2> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Weak1::MD4> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Weak1::MD5> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SM3> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::BLAKE2b> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::BLAKE2s> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Tiger> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<28u> > >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<32u> > >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<48u> > >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<64u> > >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH224> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH256> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH384> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH512> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH512_256> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::ConcretePolicyHolder<CryptoPP::ChaChaTLS_Policy, CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::SymmetricCipher> >, CryptoPP::AdditiveCipherAbstractPolicy>, CryptoPP::ChaChaTLS_Info>::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::Poly1305TLS_Base, CryptoPP::Poly1305TLS_Base>::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::ConcretePolicyHolder<CryptoPP::XChaCha20_Policy, CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::SymmetricCipher> >, CryptoPP::AdditiveCipherAbstractPolicy>, CryptoPP::XChaCha20_Info>::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna128_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna128_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna256_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna256_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna512_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna512_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE3_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE3_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::IDEA_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::IDEA_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SEED_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SEED_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SM4_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SM4_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Blowfish_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Blowfish_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST128_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST128_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Camellia_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Camellia_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::ARIA_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::ARIA_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<8u, 12u, 12u, 16u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<8u, 12u, 12u, 16u> > >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<8u, 12u, 12u, 16u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<8u, 12u, 12u, 16u> > >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Square_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Square_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM64_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM64_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM128_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM128_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK32_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK32_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK64_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK64_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_K_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_K_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_SK_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_SK_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::HIGHT_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::HIGHT_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::LEA_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::LEA_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC6_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC6_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SHARK_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SHARK_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_XEX3_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_XEX3_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE2_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE2_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<16u, 16u, 16u, 32u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<16u, 16u, 16u, 32u> > >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<16u, 16u, 16u, 32u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<16u, 16u, 16u, 32u> > >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::GOST_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::GOST_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_K_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_K_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_SK_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_SK_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::MessageAuthenticationCode, CryptoPP::BLAKE2s_Info>::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::MessageAuthenticationCode, CryptoPP::BLAKE2b_Info>::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC2_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC2_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST256_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST256_Info> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA256> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::Poly1305_Base<CryptoPP::Rijndael>, CryptoPP::Poly1305_Base<CryptoPP::Rijndael> >::MinKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::MDC_Info<CryptoPP::SHA1> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::MDC_Info<CryptoPP::SHA1> > >::MinKeyLength() const
264
265
  /// \brief The maximum key length used by the algorithm
266
  /// \return maximum key length used by the algorithm, in bytes
267
  size_t MaxKeyLength() const
268
0
    {return static_cast<size_t>(INFO::MAX_KEYLENGTH);}
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Rijndael_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Rijndael_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA1> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA224> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA384> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA512> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHAKE128> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHAKE256> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD128> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD160> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD256> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD320> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Whirlpool> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Weak1::MD2> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Weak1::MD4> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Weak1::MD5> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SM3> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::BLAKE2b> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::BLAKE2s> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Tiger> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<28u> > >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<32u> > >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<48u> > >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<64u> > >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH224> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH256> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH384> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH512> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH512_256> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::ConcretePolicyHolder<CryptoPP::ChaChaTLS_Policy, CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::SymmetricCipher> >, CryptoPP::AdditiveCipherAbstractPolicy>, CryptoPP::ChaChaTLS_Info>::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::Poly1305TLS_Base, CryptoPP::Poly1305TLS_Base>::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::ConcretePolicyHolder<CryptoPP::XChaCha20_Policy, CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::SymmetricCipher> >, CryptoPP::AdditiveCipherAbstractPolicy>, CryptoPP::XChaCha20_Info>::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna128_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna128_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna256_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna256_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna512_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna512_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE3_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE3_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::IDEA_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::IDEA_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SEED_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SEED_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SM4_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SM4_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Blowfish_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Blowfish_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST128_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST128_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Camellia_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Camellia_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::ARIA_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::ARIA_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<8u, 12u, 12u, 16u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<8u, 12u, 12u, 16u> > >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<8u, 12u, 12u, 16u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<8u, 12u, 12u, 16u> > >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Square_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Square_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM64_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM64_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM128_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM128_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK32_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK32_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK64_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK64_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_K_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_K_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_SK_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_SK_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::HIGHT_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::HIGHT_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::LEA_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::LEA_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC6_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC6_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SHARK_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SHARK_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_XEX3_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_XEX3_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE2_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE2_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<16u, 16u, 16u, 32u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<16u, 16u, 16u, 32u> > >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<16u, 16u, 16u, 32u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<16u, 16u, 16u, 32u> > >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::GOST_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::GOST_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_K_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_K_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_SK_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_SK_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::MessageAuthenticationCode, CryptoPP::BLAKE2s_Info>::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::MessageAuthenticationCode, CryptoPP::BLAKE2b_Info>::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC2_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC2_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST256_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST256_Info> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA256> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::Poly1305_Base<CryptoPP::Rijndael>, CryptoPP::Poly1305_Base<CryptoPP::Rijndael> >::MaxKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::MDC_Info<CryptoPP::SHA1> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::MDC_Info<CryptoPP::SHA1> > >::MaxKeyLength() const
269
270
  /// \brief The default key length used by the algorithm
271
  /// \return default key length used by the algorithm, in bytes
272
  size_t DefaultKeyLength() const
273
0
    {return INFO::DEFAULT_KEYLENGTH;}
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Rijndael_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Rijndael_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA1> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA224> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA384> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA512> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHAKE128> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHAKE256> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD128> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD160> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD256> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD320> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Whirlpool> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Weak1::MD2> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Weak1::MD4> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Weak1::MD5> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SM3> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::BLAKE2b> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::BLAKE2s> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Tiger> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<28u> > >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<32u> > >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<48u> > >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<64u> > >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH224> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH256> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH384> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH512> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH512_256> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::ConcretePolicyHolder<CryptoPP::ChaChaTLS_Policy, CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::SymmetricCipher> >, CryptoPP::AdditiveCipherAbstractPolicy>, CryptoPP::ChaChaTLS_Info>::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::Poly1305TLS_Base, CryptoPP::Poly1305TLS_Base>::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::ConcretePolicyHolder<CryptoPP::XChaCha20_Policy, CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::SymmetricCipher> >, CryptoPP::AdditiveCipherAbstractPolicy>, CryptoPP::XChaCha20_Info>::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna128_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna128_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna256_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna256_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna512_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna512_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE3_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE3_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::IDEA_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::IDEA_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SEED_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SEED_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SM4_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SM4_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Blowfish_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Blowfish_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST128_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST128_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Camellia_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Camellia_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::ARIA_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::ARIA_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<8u, 12u, 12u, 16u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<8u, 12u, 12u, 16u> > >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<8u, 12u, 12u, 16u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<8u, 12u, 12u, 16u> > >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Square_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Square_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM64_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM64_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM128_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM128_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK32_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK32_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK64_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK64_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_K_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_K_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_SK_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_SK_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::HIGHT_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::HIGHT_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::LEA_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::LEA_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC6_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC6_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SHARK_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SHARK_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_XEX3_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_XEX3_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE2_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE2_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<16u, 16u, 16u, 32u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<16u, 16u, 16u, 32u> > >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<16u, 16u, 16u, 32u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<16u, 16u, 16u, 32u> > >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::GOST_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::GOST_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_K_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_K_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_SK_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_SK_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::MessageAuthenticationCode, CryptoPP::BLAKE2s_Info>::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::MessageAuthenticationCode, CryptoPP::BLAKE2b_Info>::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC2_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC2_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST256_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST256_Info> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA256> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::Poly1305_Base<CryptoPP::Rijndael>, CryptoPP::Poly1305_Base<CryptoPP::Rijndael> >::DefaultKeyLength() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::MDC_Info<CryptoPP::SHA1> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::MDC_Info<CryptoPP::SHA1> > >::DefaultKeyLength() const
274
275
  /// \brief Provides a valid key length for the algorithm
276
  /// \param keylength the size of the key, in bytes
277
  /// \return the valid key length, in bytes
278
  /// \details keylength is provided in bytes, not bits. If keylength is less than MIN_KEYLENGTH,
279
  ///   then the function returns MIN_KEYLENGTH. If keylength is greater than MAX_KEYLENGTH,
280
  ///   then the function returns MAX_KEYLENGTH. if If keylength is a multiple of KEYLENGTH_MULTIPLE,
281
  ///   then keylength is returned. Otherwise, the function returns a \a lower multiple of
282
  ///   KEYLENGTH_MULTIPLE.
283
6.96k
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Rijndael_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Rijndael_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
254
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA1> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
265
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA224> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
225
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA384> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
243
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA512> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
294
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHAKE128> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
164
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHAKE256> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
176
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD128> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
141
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD160> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
171
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD256> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
123
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD320> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
140
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Whirlpool> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
249
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Weak1::MD2> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
120
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Weak1::MD4> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
222
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Weak1::MD5> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
149
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SM3> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
177
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::BLAKE2b> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
175
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::BLAKE2s> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
206
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Tiger> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
120
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<28u> > >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
92
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<32u> > >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
135
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<48u> > >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
125
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<64u> > >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
239
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH224> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
101
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH256> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
105
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH384> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
104
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH512> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
98
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH512_256> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
89
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::ConcretePolicyHolder<CryptoPP::ChaChaTLS_Policy, CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::SymmetricCipher> >, CryptoPP::AdditiveCipherAbstractPolicy>, CryptoPP::ChaChaTLS_Info>::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
73
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::Poly1305TLS_Base, CryptoPP::Poly1305TLS_Base>::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
36
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::ConcretePolicyHolder<CryptoPP::XChaCha20_Policy, CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::SymmetricCipher> >, CryptoPP::AdditiveCipherAbstractPolicy>, CryptoPP::XChaCha20_Info>::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
2
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna128_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna128_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
5
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna256_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna256_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
1
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna512_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna512_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
4
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
10
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE3_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE3_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
47
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::IDEA_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::IDEA_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
43
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SEED_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SEED_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
10
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SM4_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SM4_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
21
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Blowfish_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Blowfish_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
37
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST128_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST128_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
83
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Camellia_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Camellia_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
317
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::ARIA_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::ARIA_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
5
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<8u, 12u, 12u, 16u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<8u, 12u, 12u, 16u> > >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
22
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<8u, 12u, 12u, 16u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<8u, 12u, 12u, 16u> > >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
62
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Square_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Square_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
21
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM64_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM64_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
19
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM128_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM128_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
73
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK32_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK32_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
16
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK64_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK64_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
19
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_K_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_K_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
21
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_SK_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_SK_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
15
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::HIGHT_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::HIGHT_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
152
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::LEA_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::LEA_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
15
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC6_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC6_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
23
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SHARK_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SHARK_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
167
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_XEX3_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_XEX3_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
10
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE2_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE2_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
25
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<16u, 16u, 16u, 32u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<16u, 16u, 16u, 32u> > >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
27
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<16u, 16u, 16u, 32u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<16u, 16u, 16u, 32u> > >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
13
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::GOST_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::GOST_Info> >::GetValidKeyLength(unsigned long) const
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_K_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_K_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
4
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_SK_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_SK_Info> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
8
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::MessageAuthenticationCode, CryptoPP::BLAKE2s_Info>::GetValidKeyLength(unsigned long) const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::MessageAuthenticationCode, CryptoPP::BLAKE2b_Info>::GetValidKeyLength(unsigned long) const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC2_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC2_Info> >::GetValidKeyLength(unsigned long) const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST256_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST256_Info> >::GetValidKeyLength(unsigned long) const
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA256> >::GetValidKeyLength(unsigned long) const
Line
Count
Source
283
858
  size_t GetValidKeyLength(size_t keylength) const {return INFO::StaticGetValidKeyLength(keylength);}
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::Poly1305_Base<CryptoPP::Rijndael>, CryptoPP::Poly1305_Base<CryptoPP::Rijndael> >::GetValidKeyLength(unsigned long) const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::MDC_Info<CryptoPP::SHA1> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::MDC_Info<CryptoPP::SHA1> > >::GetValidKeyLength(unsigned long) const
284
285
  /// \brief The default IV requirements for the algorithm
286
  /// \details The default value is NOT_RESYNCHRONIZABLE. See IV_Requirement
287
  ///  in cryptlib.h for allowed values.
288
  SimpleKeyingInterface::IV_Requirement IVRequirement() const
289
72
    {return static_cast<SimpleKeyingInterface::IV_Requirement>(INFO::IV_REQUIREMENT);}
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Rijndael_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Rijndael_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA1> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA224> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA384> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA512> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHAKE128> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHAKE256> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD128> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD160> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD256> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD320> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Whirlpool> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Weak1::MD2> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Weak1::MD4> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Weak1::MD5> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SM3> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::BLAKE2b> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::BLAKE2s> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Tiger> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<28u> > >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<32u> > >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<48u> > >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<64u> > >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH224> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH256> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH384> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH512> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH512_256> >::IVRequirement() const
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::ConcretePolicyHolder<CryptoPP::ChaChaTLS_Policy, CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::SymmetricCipher> >, CryptoPP::AdditiveCipherAbstractPolicy>, CryptoPP::ChaChaTLS_Info>::IVRequirement() const
Line
Count
Source
289
72
    {return static_cast<SimpleKeyingInterface::IV_Requirement>(INFO::IV_REQUIREMENT);}
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::Poly1305TLS_Base, CryptoPP::Poly1305TLS_Base>::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::ConcretePolicyHolder<CryptoPP::XChaCha20_Policy, CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::SymmetricCipher> >, CryptoPP::AdditiveCipherAbstractPolicy>, CryptoPP::XChaCha20_Info>::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna128_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna128_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna256_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna256_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna512_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna512_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE3_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE3_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::IDEA_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::IDEA_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SEED_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SEED_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SM4_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SM4_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Blowfish_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Blowfish_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST128_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST128_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Camellia_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Camellia_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::ARIA_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::ARIA_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<8u, 12u, 12u, 16u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<8u, 12u, 12u, 16u> > >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<8u, 12u, 12u, 16u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<8u, 12u, 12u, 16u> > >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Square_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Square_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM64_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM64_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM128_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM128_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK32_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK32_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK64_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK64_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_K_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_K_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_SK_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_SK_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::HIGHT_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::HIGHT_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::LEA_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::LEA_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC6_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC6_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SHARK_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SHARK_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_XEX3_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_XEX3_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE2_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE2_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<16u, 16u, 16u, 32u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<16u, 16u, 16u, 32u> > >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<16u, 16u, 16u, 32u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<16u, 16u, 16u, 32u> > >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::GOST_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::GOST_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_K_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_K_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_SK_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_SK_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::MessageAuthenticationCode, CryptoPP::BLAKE2s_Info>::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::MessageAuthenticationCode, CryptoPP::BLAKE2b_Info>::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC2_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC2_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST256_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST256_Info> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA256> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::Poly1305_Base<CryptoPP::Rijndael>, CryptoPP::Poly1305_Base<CryptoPP::Rijndael> >::IVRequirement() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::MDC_Info<CryptoPP::SHA1> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::MDC_Info<CryptoPP::SHA1> > >::IVRequirement() const
290
291
  /// \brief The initialization vector length for the algorithm
292
  /// \details IVSize is provided in bytes, not bits. The default implementation uses
293
  ///   IV_LENGTH, which is 0.
294
  unsigned int IVSize() const
295
144
    {return INFO::IV_LENGTH;}
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Rijndael_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Rijndael_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA1> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA224> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA384> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA512> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHAKE128> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHAKE256> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD128> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD160> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD256> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::RIPEMD320> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Whirlpool> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Weak1::MD2> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Weak1::MD4> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Weak1::MD5> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SM3> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::BLAKE2b> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::BLAKE2s> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Tiger> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<28u> > >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<32u> > >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<48u> > >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::Keccak_Final<64u> > >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH224> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH256> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH384> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH512> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::LSH512_256> >::IVSize() const
CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::ConcretePolicyHolder<CryptoPP::ChaChaTLS_Policy, CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::SymmetricCipher> >, CryptoPP::AdditiveCipherAbstractPolicy>, CryptoPP::ChaChaTLS_Info>::IVSize() const
Line
Count
Source
295
144
    {return INFO::IV_LENGTH;}
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::Poly1305TLS_Base, CryptoPP::Poly1305TLS_Base>::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::ConcretePolicyHolder<CryptoPP::XChaCha20_Policy, CryptoPP::AdditiveCipherTemplate<CryptoPP::AbstractPolicyHolder<CryptoPP::AdditiveCipherAbstractPolicy, CryptoPP::SymmetricCipher> >, CryptoPP::AdditiveCipherAbstractPolicy>, CryptoPP::XChaCha20_Info>::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna128_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna128_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna256_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna256_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna512_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Kalyna512_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE3_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE3_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::IDEA_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::IDEA_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SEED_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SEED_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SM4_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SM4_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Blowfish_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Blowfish_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST128_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST128_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Camellia_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Camellia_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::ARIA_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::ARIA_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<8u, 12u, 12u, 16u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<8u, 12u, 12u, 16u> > >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<8u, 12u, 12u, 16u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<8u, 12u, 12u, 16u> > >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Square_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::Square_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM64_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM64_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM128_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CHAM128_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK32_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK32_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK64_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMECK64_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_K_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_K_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_SK_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Enc, CryptoPP::SAFER_SK_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::HIGHT_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::HIGHT_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::LEA_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::LEA_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC6_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC6_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SHARK_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SHARK_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_XEX3_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_XEX3_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE2_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::DES_EDE2_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<16u, 16u, 16u, 32u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SIMON_Info<16u, 16u, 16u, 32u> > >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<16u, 16u, 16u, 32u> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::SPECK_Info<16u, 16u, 16u, 32u> > >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::GOST_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::GOST_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_K_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_K_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_SK_Info>, CryptoPP::TwoBases<CryptoPP::SAFER::Dec, CryptoPP::SAFER_SK_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::MessageAuthenticationCode, CryptoPP::BLAKE2s_Info>::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::MessageAuthenticationCode, CryptoPP::BLAKE2b_Info>::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC2_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::RC2_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST256_Info>, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::CAST256_Info> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::HMAC_Base, CryptoPP::HMAC<CryptoPP::SHA256> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::Poly1305_Base<CryptoPP::Rijndael>, CryptoPP::Poly1305_Base<CryptoPP::Rijndael> >::IVSize() const
Unexecuted instantiation: CryptoPP::SimpleKeyingInterfaceImpl<CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::MDC_Info<CryptoPP::SHA1> >, CryptoPP::TwoBases<CryptoPP::BlockCipher, CryptoPP::MDC_Info<CryptoPP::SHA1> > >::IVSize() const
296
};
297
298
/// \brief Provides a base implementation of Algorithm and SimpleKeyingInterface for block ciphers
299
/// \tparam INFO a SimpleKeyingInterface derived class
300
/// \tparam BASE a SimpleKeyingInterface derived class
301
/// \details BlockCipherImpl() provides a default implementation for block ciphers using AlgorithmImpl()
302
///   and SimpleKeyingInterfaceImpl(). Functions are virtual and not eligible for C++11 <tt>constexpr</tt>-ness.
303
/// \sa Algorithm(), SimpleKeyingInterface(), AlgorithmImpl(), SimpleKeyingInterfaceImpl()
304
template <class INFO, class BASE = BlockCipher>
305
class CRYPTOPP_NO_VTABLE BlockCipherImpl : public AlgorithmImpl<SimpleKeyingInterfaceImpl<TwoBases<BASE, INFO> > >
306
{
307
public:
308
  /// Provides the block size of the algorithm
309
  /// \return the block size of the algorithm, in bytes
310
3.95k
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::Rijndael_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
487
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::Kalyna128_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
9
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::Kalyna256_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
4
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::Kalyna512_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
10
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::DES_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
54
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::DES_EDE3_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
158
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::IDEA_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
79
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::SEED_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
40
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::SM4_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
56
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::Blowfish_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
155
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::CAST128_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
186
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::Camellia_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
570
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::ARIA_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
40
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::SIMON_Info<8u, 12u, 12u, 16u>, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
59
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::SPECK_Info<8u, 12u, 12u, 16u>, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
101
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::Square_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
61
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::CHAM64_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
36
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::CHAM128_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
137
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::SIMECK32_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
39
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::SIMECK64_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
72
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::SAFER_K_Info, CryptoPP::SAFER::Enc>::BlockSize() const
Line
Count
Source
310
98
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::SAFER_SK_Info, CryptoPP::SAFER::Enc>::BlockSize() const
Line
Count
Source
310
37
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::HIGHT_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
293
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::LEA_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
38
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::RC6_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
74
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::SHARK_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
846
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::DES_XEX3_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
22
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::DES_EDE2_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
81
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::SIMON_Info<16u, 16u, 16u, 32u>, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
38
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::SPECK_Info<16u, 16u, 16u, 32u>, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
18
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::GOST_Info, CryptoPP::BlockCipher>::BlockSize() const
Line
Count
Source
310
9
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::SAFER_K_Info, CryptoPP::SAFER::Dec>::BlockSize() const
Line
Count
Source
310
7
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
CryptoPP::BlockCipherImpl<CryptoPP::SAFER_SK_Info, CryptoPP::SAFER::Dec>::BlockSize() const
Line
Count
Source
310
42
  unsigned int BlockSize() const {return this->BLOCKSIZE;}
Unexecuted instantiation: CryptoPP::BlockCipherImpl<CryptoPP::RC2_Info, CryptoPP::BlockCipher>::BlockSize() const
Unexecuted instantiation: CryptoPP::BlockCipherImpl<CryptoPP::CAST256_Info, CryptoPP::BlockCipher>::BlockSize() const
Unexecuted instantiation: CryptoPP::BlockCipherImpl<CryptoPP::MDC_Info<CryptoPP::SHA1>, CryptoPP::BlockCipher>::BlockSize() const
311
};
312
313
/// \brief Provides class member functions to key a block cipher
314
/// \tparam DIR a CipherDir
315
/// \tparam BASE a BlockCipherImpl derived class
316
template <CipherDir DIR, class BASE>
317
class BlockCipherFinal : public ClonableImpl<BlockCipherFinal<DIR, BASE>, BASE>
318
{
319
public:
320
  /// \brief Construct a default BlockCipherFinal
321
  /// \details The cipher is not keyed.
322
2.80k
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::Rijndael::Enc>::BlockCipherFinal()
Line
Count
Source
322
272
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::Kalyna128::Base>::BlockCipherFinal()
Line
Count
Source
322
6
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::Kalyna256::Base>::BlockCipherFinal()
Line
Count
Source
322
3
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::Kalyna512::Base>::BlockCipherFinal()
Line
Count
Source
322
3
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::DES::Base>::BlockCipherFinal()
Line
Count
Source
322
38
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::DES_EDE3::Base>::BlockCipherFinal()
Line
Count
Source
322
126
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::IDEA::Base>::BlockCipherFinal()
Line
Count
Source
322
39
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SEED::Base>::BlockCipherFinal()
Line
Count
Source
322
28
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SM4::Enc>::BlockCipherFinal()
Line
Count
Source
322
52
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::Blowfish::Base>::BlockCipherFinal()
Line
Count
Source
322
62
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::CAST128::Enc>::BlockCipherFinal()
Line
Count
Source
322
91
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::Camellia::Base>::BlockCipherFinal()
Line
Count
Source
322
180
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::ARIA::Base>::BlockCipherFinal()
Line
Count
Source
322
31
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SIMON64::Enc>::BlockCipherFinal()
Line
Count
Source
322
38
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SPECK64::Enc>::BlockCipherFinal()
Line
Count
Source
322
74
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::Square::Enc>::BlockCipherFinal()
Line
Count
Source
322
40
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::CHAM64::Enc>::BlockCipherFinal()
Line
Count
Source
322
35
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::CHAM128::Enc>::BlockCipherFinal()
Line
Count
Source
322
135
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SIMECK32::Enc>::BlockCipherFinal()
Line
Count
Source
322
33
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SIMECK64::Enc>::BlockCipherFinal()
Line
Count
Source
322
46
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SAFER_Impl<CryptoPP::SAFER::Enc, CryptoPP::SAFER_K_Info, false> >::BlockCipherFinal()
Line
Count
Source
322
52
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SAFER_Impl<CryptoPP::SAFER::Enc, CryptoPP::SAFER_SK_Info, true> >::BlockCipherFinal()
Line
Count
Source
322
33
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::HIGHT::Enc>::BlockCipherFinal()
Line
Count
Source
322
163
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::LEA::Enc>::BlockCipherFinal()
Line
Count
Source
322
36
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::RC6::Enc>::BlockCipherFinal()
Line
Count
Source
322
41
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SHARK::Enc>::BlockCipherFinal()
Line
Count
Source
322
335
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::DES_XEX3::Base>::BlockCipherFinal()
Line
Count
Source
322
2
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::DES_EDE2::Base>::BlockCipherFinal()
Line
Count
Source
322
35
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SIMON128::Enc>::BlockCipherFinal()
Line
Count
Source
322
31
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SPECK128::Enc>::BlockCipherFinal()
Line
Count
Source
322
17
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::GOST::Enc>::BlockCipherFinal()
Line
Count
Source
322
5
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::Kalyna128::Base>::BlockCipherFinal()
Line
Count
Source
322
2
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::Kalyna256::Base>::BlockCipherFinal()
Line
Count
Source
322
1
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::Kalyna512::Base>::BlockCipherFinal()
Line
Count
Source
322
4
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::DES_XEX3::Base>::BlockCipherFinal()
Line
Count
Source
322
15
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::DES::Base>::BlockCipherFinal()
Line
Count
Source
322
10
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::DES_EDE2::Base>::BlockCipherFinal()
Line
Count
Source
322
18
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::DES_EDE3::Base>::BlockCipherFinal()
Line
Count
Source
322
32
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::IDEA::Base>::BlockCipherFinal()
Line
Count
Source
322
26
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SEED::Base>::BlockCipherFinal()
Line
Count
Source
322
12
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SM4::Dec>::BlockCipherFinal()
Line
Count
Source
322
15
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::Blowfish::Base>::BlockCipherFinal()
Line
Count
Source
322
11
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::CAST128::Dec>::BlockCipherFinal()
Line
Count
Source
322
48
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::Rijndael::Dec>::BlockCipherFinal()
Line
Count
Source
322
50
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::Camellia::Base>::BlockCipherFinal()
Line
Count
Source
322
146
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::ARIA::Base>::BlockCipherFinal()
Line
Count
Source
322
3
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::HIGHT::Dec>::BlockCipherFinal()
Line
Count
Source
322
15
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::LEA::Dec>::BlockCipherFinal()
Line
Count
Source
322
11
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::RC6::Dec>::BlockCipherFinal()
Line
Count
Source
322
13
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SIMON64::Dec>::BlockCipherFinal()
Line
Count
Source
322
10
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SIMON128::Dec>::BlockCipherFinal()
Line
Count
Source
322
18
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SPECK64::Dec>::BlockCipherFinal()
Line
Count
Source
322
6
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SPECK128::Dec>::BlockCipherFinal()
Line
Count
Source
322
12
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::Square::Dec>::BlockCipherFinal()
Line
Count
Source
322
9
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::CHAM64::Dec>::BlockCipherFinal()
Line
Count
Source
322
14
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::CHAM128::Dec>::BlockCipherFinal()
Line
Count
Source
322
9
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SIMECK32::Dec>::BlockCipherFinal()
Line
Count
Source
322
10
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SIMECK64::Dec>::BlockCipherFinal()
Line
Count
Source
322
7
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SHARK::Dec>::BlockCipherFinal()
Line
Count
Source
322
161
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SAFER_Impl<CryptoPP::SAFER::Dec, CryptoPP::SAFER_K_Info, false> >::BlockCipherFinal()
Line
Count
Source
322
11
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SAFER_Impl<CryptoPP::SAFER::Dec, CryptoPP::SAFER_SK_Info, true> >::BlockCipherFinal()
Line
Count
Source
322
16
  BlockCipherFinal() {}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::GOST::Dec>::BlockCipherFinal()
Line
Count
Source
322
4
  BlockCipherFinal() {}
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::MDC<CryptoPP::SHA1>::Enc>::BlockCipherFinal()
323
324
  /// \brief Construct a BlockCipherFinal
325
  /// \param key a byte array used to key the cipher
326
  /// \details key must be at least DEFAULT_KEYLENGTH in length. Internally, the function calls
327
  ///    SimpleKeyingInterface::SetKey.
328
  BlockCipherFinal(const byte *key)
329
    {this->SetKey(key, this->DEFAULT_KEYLENGTH);}
330
331
  /// \brief Construct a BlockCipherFinal
332
  /// \param key a byte array used to key the cipher
333
  /// \param length the length of the byte array
334
  /// \details key must be at least DEFAULT_KEYLENGTH in length. Internally, the function calls
335
  ///    SimpleKeyingInterface::SetKey.
336
  BlockCipherFinal(const byte *key, size_t length)
337
0
    {this->SetKey(key, length);}
338
339
  /// \brief Construct a BlockCipherFinal
340
  /// \param key a byte array used to key the cipher
341
  /// \param length the length of the byte array
342
  /// \param rounds the number of rounds
343
  /// \details key must be at least DEFAULT_KEYLENGTH in length. Internally, the function calls
344
  ///    SimpleKeyingInterface::SetKeyWithRounds.
345
  BlockCipherFinal(const byte *key, size_t length, unsigned int rounds)
346
    {this->SetKeyWithRounds(key, length, rounds);}
347
348
  /// \brief Provides the direction of the cipher
349
  /// \return true if DIR is ENCRYPTION, false otherwise
350
  /// \sa GetCipherDirection(), IsPermutation()
351
1.22k
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::Rijndael::Enc>::IsForwardTransformation() const
Line
Count
Source
351
158
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::Kalyna128::Base>::IsForwardTransformation() const
Line
Count
Source
351
2
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::Kalyna256::Base>::IsForwardTransformation() const
Line
Count
Source
351
3
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::Kalyna512::Base>::IsForwardTransformation() const
Line
Count
Source
351
1
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::DES::Base>::IsForwardTransformation() const
Line
Count
Source
351
3
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::DES_EDE3::Base>::IsForwardTransformation() const
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::IDEA::Base>::IsForwardTransformation() const
Line
Count
Source
351
9
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SEED::Base>::IsForwardTransformation() const
Line
Count
Source
351
3
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SM4::Enc>::IsForwardTransformation() const
Line
Count
Source
351
4
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::Blowfish::Base>::IsForwardTransformation() const
Line
Count
Source
351
29
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::CAST128::Enc>::IsForwardTransformation() const
Line
Count
Source
351
3
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::Camellia::Base>::IsForwardTransformation() const
Line
Count
Source
351
229
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::ARIA::Base>::IsForwardTransformation() const
Line
Count
Source
351
2
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SIMON64::Enc>::IsForwardTransformation() const
Line
Count
Source
351
2
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SPECK64::Enc>::IsForwardTransformation() const
Line
Count
Source
351
2
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::Square::Enc>::IsForwardTransformation() const
Line
Count
Source
351
9
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::CHAM64::Enc>::IsForwardTransformation() const
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::CHAM128::Enc>::IsForwardTransformation() const
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SIMECK32::Enc>::IsForwardTransformation() const
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SIMECK64::Enc>::IsForwardTransformation() const
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SAFER_Impl<CryptoPP::SAFER::Enc, CryptoPP::SAFER_K_Info, false> >::IsForwardTransformation() const
Line
Count
Source
351
8
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SAFER_Impl<CryptoPP::SAFER::Enc, CryptoPP::SAFER_SK_Info, true> >::IsForwardTransformation() const
Line
Count
Source
351
4
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::HIGHT::Enc>::IsForwardTransformation() const
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::LEA::Enc>::IsForwardTransformation() const
Line
Count
Source
351
2
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::RC6::Enc>::IsForwardTransformation() const
Line
Count
Source
351
4
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SHARK::Enc>::IsForwardTransformation() const
Line
Count
Source
351
149
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::DES_XEX3::Base>::IsForwardTransformation() const
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::DES_EDE2::Base>::IsForwardTransformation() const
Line
Count
Source
351
16
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SIMON128::Enc>::IsForwardTransformation() const
Line
Count
Source
351
11
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::SPECK128::Enc>::IsForwardTransformation() const
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::GOST::Enc>::IsForwardTransformation() const
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::Kalyna128::Base>::IsForwardTransformation() const
Line
Count
Source
351
3
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::Kalyna256::Base>::IsForwardTransformation() const
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::Kalyna512::Base>::IsForwardTransformation() const
Line
Count
Source
351
19
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::DES_XEX3::Base>::IsForwardTransformation() const
Line
Count
Source
351
25
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::DES::Base>::IsForwardTransformation() const
Line
Count
Source
351
3
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::DES_EDE2::Base>::IsForwardTransformation() const
Line
Count
Source
351
32
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::DES_EDE3::Base>::IsForwardTransformation() const
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::IDEA::Base>::IsForwardTransformation() const
Line
Count
Source
351
27
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SEED::Base>::IsForwardTransformation() const
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SM4::Dec>::IsForwardTransformation() const
Line
Count
Source
351
2
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::Blowfish::Base>::IsForwardTransformation() const
Line
Count
Source
351
4
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::CAST128::Dec>::IsForwardTransformation() const
Line
Count
Source
351
1
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::Rijndael::Dec>::IsForwardTransformation() const
Line
Count
Source
351
48
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::Camellia::Base>::IsForwardTransformation() const
Line
Count
Source
351
218
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::ARIA::Base>::IsForwardTransformation() const
Line
Count
Source
351
3
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::HIGHT::Dec>::IsForwardTransformation() const
Line
Count
Source
351
3
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::LEA::Dec>::IsForwardTransformation() const
Line
Count
Source
351
1
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::RC6::Dec>::IsForwardTransformation() const
Line
Count
Source
351
5
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SIMON64::Dec>::IsForwardTransformation() const
Line
Count
Source
351
2
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SIMON128::Dec>::IsForwardTransformation() const
Line
Count
Source
351
8
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SPECK64::Dec>::IsForwardTransformation() const
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SPECK128::Dec>::IsForwardTransformation() const
Line
Count
Source
351
4
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::Square::Dec>::IsForwardTransformation() const
Line
Count
Source
351
3
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::CHAM64::Dec>::IsForwardTransformation() const
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::CHAM128::Dec>::IsForwardTransformation() const
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SIMECK32::Dec>::IsForwardTransformation() const
Line
Count
Source
351
2
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SIMECK64::Dec>::IsForwardTransformation() const
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SHARK::Dec>::IsForwardTransformation() const
Line
Count
Source
351
150
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SAFER_Impl<CryptoPP::SAFER::Dec, CryptoPP::SAFER_K_Info, false> >::IsForwardTransformation() const
CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::SAFER_Impl<CryptoPP::SAFER::Dec, CryptoPP::SAFER_SK_Info, true> >::IsForwardTransformation() const
Line
Count
Source
351
6
  bool IsForwardTransformation() const {return DIR == ENCRYPTION;}
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::GOST::Dec>::IsForwardTransformation() const
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::RC2::Enc>::IsForwardTransformation() const
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)1, CryptoPP::RC2::Dec>::IsForwardTransformation() const
Unexecuted instantiation: CryptoPP::BlockCipherFinal<(CryptoPP::CipherDir)0, CryptoPP::MDC<CryptoPP::SHA1>::Enc>::IsForwardTransformation() const
352
};
353
354
/// \brief Provides a base implementation of Algorithm and SimpleKeyingInterface for message authentication codes
355
/// \tparam INFO a SimpleKeyingInterface derived class
356
/// \tparam BASE a SimpleKeyingInterface derived class
357
/// \details MessageAuthenticationCodeImpl() provides a default implementation for message authentication codes
358
///   using AlgorithmImpl() and SimpleKeyingInterfaceImpl(). Functions are virtual and not subject to C++11
359
///   <tt>constexpr</tt>.
360
/// \sa Algorithm(), SimpleKeyingInterface(), AlgorithmImpl(), SimpleKeyingInterfaceImpl()
361
template <class BASE, class INFO = BASE>
362
class MessageAuthenticationCodeImpl : public AlgorithmImpl<SimpleKeyingInterfaceImpl<BASE, INFO>, INFO>
363
{
364
};
365
366
/// \brief Provides class member functions to key a message authentication code
367
/// \tparam BASE a BlockCipherImpl derived class
368
/// \details A default implementation for MessageAuthenticationCode
369
template <class BASE>
370
class MessageAuthenticationCodeFinal : public ClonableImpl<MessageAuthenticationCodeFinal<BASE>, MessageAuthenticationCodeImpl<BASE> >
371
{
372
public:
373
  /// \brief Construct a default MessageAuthenticationCodeFinal
374
  /// \details The message authentication code is not keyed.
375
40
  MessageAuthenticationCodeFinal() {}
CryptoPP::MessageAuthenticationCodeFinal<CryptoPP::Poly1305TLS_Base>::MessageAuthenticationCodeFinal()
Line
Count
Source
375
40
  MessageAuthenticationCodeFinal() {}
Unexecuted instantiation: CryptoPP::MessageAuthenticationCodeFinal<CryptoPP::Poly1305_Base<CryptoPP::Rijndael> >::MessageAuthenticationCodeFinal()
376
  /// \brief Construct a BlockCipherFinal
377
  /// \param key a byte array used to key the algorithm
378
  /// \details key must be at least DEFAULT_KEYLENGTH in length. Internally, the function calls
379
  ///    SimpleKeyingInterface::SetKey.
380
  MessageAuthenticationCodeFinal(const byte *key)
381
    {this->SetKey(key, this->DEFAULT_KEYLENGTH);}
382
  /// \brief Construct a BlockCipherFinal
383
  /// \param key a byte array used to key the algorithm
384
  /// \param length the length of the byte array
385
  /// \details key must be at least DEFAULT_KEYLENGTH in length. Internally, the function calls
386
  ///    SimpleKeyingInterface::SetKey.
387
  MessageAuthenticationCodeFinal(const byte *key, size_t length)
388
    {this->SetKey(key, length);}
389
};
390
391
// ************** documentation ***************
392
393
/// \brief Provides Encryption and Decryption typedefs used by derived classes to
394
///    implement a block cipher
395
/// \details These objects usually should not be used directly. See CipherModeDocumentation
396
///    instead. Each class derived from this one defines two types, Encryption and Decryption,
397
///    both of which implement the BlockCipher interface.
398
struct BlockCipherDocumentation
399
{
400
  /// implements the BlockCipher interface
401
  typedef BlockCipher Encryption;
402
  /// implements the BlockCipher interface
403
  typedef BlockCipher Decryption;
404
};
405
406
/// \brief Provides Encryption and Decryption typedefs used by derived classes to
407
///    implement a symmetric cipher
408
/// \details Each class derived from this one defines two types, Encryption and Decryption,
409
///    both of which implement the SymmetricCipher interface. Two types of classes derive
410
///    from this class: stream ciphers and block cipher modes. Stream ciphers can be used
411
///    alone, cipher mode classes need to be used with a block cipher. See CipherModeDocumentation
412
///    for more for information about using cipher modes and block ciphers.
413
struct SymmetricCipherDocumentation
414
{
415
  /// implements the SymmetricCipher interface
416
  typedef SymmetricCipher Encryption;
417
  /// implements the SymmetricCipher interface
418
  typedef SymmetricCipher Decryption;
419
};
420
421
/// \brief Provides Encryption and Decryption typedefs used by derived classes to
422
///    implement an authenticated encryption cipher
423
/// \details Each class derived from this one defines two types, Encryption and Decryption,
424
///    both of which implement the AuthenticatedSymmetricCipher interface.
425
struct AuthenticatedSymmetricCipherDocumentation
426
{
427
  /// implements the AuthenticatedSymmetricCipher interface
428
  typedef AuthenticatedSymmetricCipher Encryption;
429
  /// implements the AuthenticatedSymmetricCipher interface
430
  typedef AuthenticatedSymmetricCipher Decryption;
431
};
432
433
NAMESPACE_END
434
435
#if CRYPTOPP_MSC_VERSION
436
# pragma warning(pop)
437
#endif
438
439
// Issue 340
440
#if CRYPTOPP_GCC_DIAGNOSTIC_AVAILABLE
441
# pragma GCC diagnostic pop
442
#endif
443
444
#endif