Security Scol plugin
Public Member Functions | Protected Member Functions | List of all members
Kalyna128::Base Class Reference
Inheritance diagram for Kalyna128::Base:
Kalyna_Base BlockCipherImpl< Kalyna128_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< Kalyna128_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_22 (const word64 key[2])
 
void SetKey_24 (const word64 key[4])
 
void ProcessBlock_22 (const byte *inBlock, const byte *xorBlock, byte *outBlock) const
 
void ProcessBlock_24 (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 77 of file kalyna.h.

Member Function Documentation

◆ AlgorithmName()

std::string Kalyna128::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 91 of file kalyna.h.

◆ OptimalDataAlignment()

unsigned int Kalyna128::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 98 of file kalyna.h.

◆ ProcessAndXorBlock()

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

Definition at line 1241 of file kalyna.cpp.

◆ ProcessBlock_22()

void Kalyna128::Base::ProcessBlock_22 ( const byte inBlock,
const byte xorBlock,
byte outBlock 
) const
protected

Definition at line 935 of file kalyna.cpp.

◆ ProcessBlock_24()

void Kalyna128::Base::ProcessBlock_24 ( const byte inBlock,
const byte xorBlock,
byte outBlock 
) const
protected

Definition at line 980 of file kalyna.cpp.

◆ SetKey_22()

ANONYMOUS_NAMESPACE_END void Kalyna128::Base::SetKey_22 ( const word64  key[2])
protected

Definition at line 419 of file kalyna.cpp.

◆ SetKey_24()

void Kalyna128::Base::SetKey_24 ( const word64  key[4])
protected

Definition at line 494 of file kalyna.cpp.

◆ UncheckedSetKey()

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

Definition at line 1210 of file kalyna.cpp.


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