Crypto++
8.6
Free C++ class library of cryptographic schemes
|
Go to the documentation of this file.
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 byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
110 void ProcessBlock_24(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
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 byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
156 void ProcessBlock_48(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
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 byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
218 #endif // CRYPTOPP_KALYNA_H
Kalyna 256-bit block cipher.
Kalyna block cipher base class.
std::string AlgorithmName() const
Provides the name of this algorithm.
Classes and functions for secure memory allocations.
Kalyna-256 block cipher information.
Kalyna-512 block cipher information.
Kalyna-128 block cipher information.
unsigned long long word64
64-bit unsigned datatype
unsigned int OptimalDataAlignment() const
Provides input and output data alignment for optimal performance.
Inherited by algorithms with fixed block size.
Provides a base implementation of Algorithm and SimpleKeyingInterface for block ciphers.
std::string AlgorithmName() const
Provides the name of this algorithm.
Inherited by keyed algorithms with fixed key length.
unsigned int OptimalDataAlignment() const
Provides input and output data alignment for optimal performance.
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 Encryption and Decryption typedefs used by derived classes to implement a block cipher.
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.
Crypto++ library namespace.
Kalyna 128-bit block cipher.
Library configuration file.
Secure memory block with allocator and cleanup.
Kalyna 512-bit block cipher.
Interface for retrieving values given their names.
Inherited by keyed algorithms with variable key length.