14 #ifndef CRYPTOPP_KALYNA_H 15 #define CRYPTOPP_KALYNA_H 27 static const char* StaticAlgorithmName()
38 static const char* StaticAlgorithmName()
49 static const char* StaticAlgorithmName()
68 unsigned int m_kl, m_nb, m_nk;
92 return std::string(
"Kalyna-128") +
"(" +
IntToString(m_kl*8) +
")";
99 return GetAlignmentOf<word64>();
103 void UncheckedSetKey(
const byte *key,
unsigned int keylen,
const NameValuePairs ¶ms);
104 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
107 void SetKey_22(
const word64 key[2]);
108 void SetKey_24(
const word64 key[4]);
109 void ProcessBlock_22(
const word64 inBlock[2],
const word64 xorBlock[2], word64 outBlock[2])
const;
110 void ProcessBlock_24(
const word64 inBlock[2],
const word64 xorBlock[2] ,word64 outBlock[2])
const;
138 return std::string(
"Kalyna-256") +
"(" +
IntToString(m_kl*8) +
")";
145 return GetAlignmentOf<word64>();
149 void UncheckedSetKey(
const byte *key,
unsigned int keylen,
const NameValuePairs ¶ms);
150 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
153 void SetKey_44(
const word64 key[4]);
154 void SetKey_48(
const word64 key[8]);
155 void ProcessBlock_44(
const word64 inBlock[4],
const word64 xorBlock[4], word64 outBlock[4])
const;
156 void ProcessBlock_48(
const word64 inBlock[4],
const word64 xorBlock[4], word64 outBlock[4])
const;
184 return std::string(
"Kalyna-512") +
"(" +
IntToString(m_kl*8) +
")";
191 return GetAlignmentOf<word64>();
195 void UncheckedSetKey(
const byte *key,
unsigned int keylen,
const NameValuePairs ¶ms);
196 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
199 void SetKey_88(
const word64 key[8]);
200 void ProcessBlock_88(
const word64 inBlock[8],
const word64 xorBlock[8], word64 outBlock[8])
const;
218 #endif // CRYPTOPP_KALYNA_H Kalyna 512-bit block cipher.
Inherited by keyed algorithms with fixed key length.
Provides Encryption and Decryption typedefs used by derived classes to implement a block cipher...
Secure memory block with allocator and cleanup.
Kalyna 256-bit block cipher.
Library configuration file.
unsigned int OptimalDataAlignment() const
Provides input and output data alignment for optimal performance.
Classes and functions for secure memory allocations.
Inherited by algorithms with fixed block size.
Classes and functions for implementing secret key algorithms.
Provides class member functions to key a block cipher.
unsigned int OptimalDataAlignment() const
Provides input and output data alignment for optimal performance.
Kalyna block cipher base class.
unsigned int OptimalDataAlignment() const
Provides input and output data alignment for optimal performance.
Inherited by keyed algorithms with variable key length.
Kalyna-256 block cipher information.
std::string AlgorithmName() const
Provides the name of this algorithm.
Kalyna-512 block cipher information.
Kalyna-128 block cipher information.
std::string IntToString(T value, unsigned int base=10)
Converts a value to a string.
std::string AlgorithmName() const
Provides the name of this algorithm.
Provides a base implementation of Algorithm and SimpleKeyingInterface for block ciphers.
Crypto++ library namespace.
Kalyna 128-bit block cipher.
std::string AlgorithmName() const
Provides the name of this algorithm.
Interface for retrieving values given their names.