Security Scol plugin
Public Member Functions | Protected Member Functions | List of all members
Kalyna256::Base Class Reference
Inheritance diagram for Kalyna256::Base:
Kalyna_Base BlockCipherImpl< Kalyna256_Info > AlgorithmImpl< BASE, ALGORITHM_INFO >

Public Member Functions

std::string AlgorithmName () const
 Provides the name of this algorithm.
 
unsigned int OptimalDataAlignment () const
 Provides input and output data alignment for optimal performance.
 
- Public Member Functions inherited from BlockCipherImpl< Kalyna256_Info >
unsigned int BlockSize () const
 
- Public Member Functions inherited from AlgorithmImpl< BASE, ALGORITHM_INFO >
std::string AlgorithmName () const
 The algorithm name.
 

Protected Member Functions

void UncheckedSetKey (const byte *key, unsigned int keylen, const NameValuePairs &params)
 
void ProcessAndXorBlock (const byte *inBlock, const byte *xorBlock, byte *outBlock) const
 
void SetKey_44 (const word64 key[4])
 
void SetKey_48 (const word64 key[8])
 
void ProcessBlock_44 (const byte *inBlock, const byte *xorBlock, byte *outBlock) const
 
void ProcessBlock_48 (const byte *inBlock, const byte *xorBlock, byte *outBlock) const
 

Additional Inherited Members

- Static Public Member Functions inherited from AlgorithmImpl< BASE, ALGORITHM_INFO >
static std::string CRYPTOPP_API StaticAlgorithmName ()
 The algorithm name.
 
- Protected Types inherited from Kalyna_Base
typedef SecBlock< word64, AllocatorWithCleanup< word64, true > > AlignedSecBlock64
 
- Protected Attributes inherited from Kalyna_Base
AlignedSecBlock64 m_wspace
 
AlignedSecBlock64 m_mkey
 
AlignedSecBlock64 m_rkeys
 
unsigned int m_kl
 
unsigned int m_nb
 
unsigned int m_nk
 

Detailed Description

Definition at line 123 of file kalyna.h.

Member Function Documentation

◆ AlgorithmName()

std::string Kalyna256::Base::AlgorithmName ( ) const
inline

Provides the name of this algorithm.

Returns
the standard algorithm name

If the object is unkeyed, then the generic name "Kalyna" is returned to the caller. If the algorithm is keyed, then a two or three part name is returned to the caller. The name follows DSTU 7624:2014, where block size is provided first and then key length. The library uses a dash to identify block size and parenthesis to identify key length. For example, Kalyna-128(256) is Kalyna with a 128-bit block size and a 256-bit key length. If a mode is associated with the object, then it follows as expected. For example, Kalyna-128(256)/ECB. DSTU is a little more complex with more parameters, dashes, underscores, but the library does not use the delimiters or full convention.

Definition at line 137 of file kalyna.h.

◆ OptimalDataAlignment()

unsigned int Kalyna256::Base::OptimalDataAlignment ( ) const
inline

Provides input and output data alignment for optimal performance.

Returns
the input data alignment that provides optimal performance
See also
GetAlignment() and OptimalBlockSize()

Definition at line 144 of file kalyna.h.

◆ ProcessAndXorBlock()

void Kalyna256::Base::ProcessAndXorBlock ( const byte inBlock,
const byte xorBlock,
byte outBlock 
) const
protected

Definition at line 1297 of file kalyna.cpp.

◆ ProcessBlock_44()

void Kalyna256::Base::ProcessBlock_44 ( const byte inBlock,
const byte xorBlock,
byte outBlock 
) const
protected

Definition at line 1033 of file kalyna.cpp.

◆ ProcessBlock_48()

void Kalyna256::Base::ProcessBlock_48 ( const byte inBlock,
const byte xorBlock,
byte outBlock 
) const
protected

Definition at line 1086 of file kalyna.cpp.

◆ SetKey_44()

void Kalyna256::Base::SetKey_44 ( const word64  key[4])
protected

Definition at line 595 of file kalyna.cpp.

◆ SetKey_48()

void Kalyna256::Base::SetKey_48 ( const word64  key[8])
protected

Definition at line 698 of file kalyna.cpp.

◆ UncheckedSetKey()

void Kalyna256::Base::UncheckedSetKey ( const byte key,
unsigned int  keylen,
const NameValuePairs params 
)
protected

Definition at line 1266 of file kalyna.cpp.


The documentation for this class was generated from the following files: