Crypto++ 8.1 Free C++ class library of cryptographic schemes

Classes | Typedefs
kalyna.h File Reference

Classes for the Kalyna block cipher. More...

Go to the source code of this file.

## Classes
struct | Kalyna128_Info
| Kalyna-128 block cipher information. More...
struct | Kalyna256_Info
| Kalyna-256 block cipher information. More...
struct | Kalyna512_Info
| Kalyna-512 block cipher information. More...
class | Kalyna_Base
| Kalyna block cipher base class. More...
class | Kalyna128
| Kalyna 128-bit block cipher. More...
class | Kalyna128::Base
class | Kalyna256
| Kalyna 256-bit block cipher. More...
class | Kalyna256::Base
class | Kalyna512
| Kalyna 512-bit block cipher. More...
class | Kalyna512::Base

## Typedefs
typedef Kalyna128::Encryption | Kalyna128Encryption
typedef Kalyna128::Decryption | Kalyna128Decryption
typedef Kalyna256::Encryption | Kalyna256Encryption
typedef Kalyna256::Decryption | Kalyna256Decryption
typedef Kalyna512::Encryption | Kalyna512Encryption
typedef Kalyna512::Decryption | Kalyna512Decryption

## Detailed Description

Classes for the Kalyna block cipher.

The Crypto++ implementation relied upon three sources. First was Oliynykov, Gorbenko, Kazymyrov, Ruzhentsev, Kuznetsov, Gorbenko, Dyrda, Dolgov, Pushkaryov, Mordvinov and Kaidalov's "A New Encryption Standard of Ukraine: The Kalyna Block Cipher" (http://eprint.iacr.org/2015/650.pdf). Second was Roman Oliynykov and Oleksandr Kazymyrov's GitHub with the reference implementation (http://github.com/Roman-Oliynykov/Kalyna-reference). The third resource was Keru Kuro's implementation of Kalyna in CppCrypto (http://sourceforge.net/projects/cppcrypto/). Kuro has an outstanding implementation that performed better than the reference implementation and our initial attempts.

Definition in file kalyna.h.