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 ¶m, 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 |