Security Scol plugin
Public Member Functions | Protected Member Functions | List of all members
Kalyna512::Base Class Reference
Inheritance diagram for Kalyna512::Base:
Kalyna_Base BlockCipherImpl< Kalyna512_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< Kalyna512_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_88 (const word64 key[8])
 
void ProcessBlock_88 (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 169 of file kalyna.h.

Member Function Documentation

◆ AlgorithmName()

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

◆ OptimalDataAlignment()

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

◆ ProcessAndXorBlock()

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

Definition at line 1347 of file kalyna.cpp.

◆ ProcessBlock_88()

void Kalyna512::Base::ProcessBlock_88 ( const byte inBlock,
const byte xorBlock,
byte outBlock 
) const
protected

Definition at line 1147 of file kalyna.cpp.

◆ SetKey_88()

void Kalyna512::Base::SetKey_88 ( const word64  key[8])
protected

Definition at line 820 of file kalyna.cpp.

◆ UncheckedSetKey()

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

Definition at line 1322 of file kalyna.cpp.


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