Crypto++ 8.8
Free C++ class library of cryptographic schemes
SIMON128::Enc Class Reference

SIMON128 encryption transformation. More...

#include <simon.h>

Inheritance diagram for SIMON128::Enc:

Public Member Functions

void ProcessAndXorBlock (const byte *inBlock, const byte *xorBlock, byte *outBlock) const
size_t AdvancedProcessBlocks (const byte *inBlocks, const byte *xorBlocks, byte *outBlocks, size_t length, word32 flags) const
Public Member Functions inherited from SIMON128::Base
std::string AlgorithmName () const
 The algorithm name.
std::string AlgorithmProvider () const
unsigned int OptimalDataAlignment () const
 Provides input and output data alignment for optimal performance.
Public Member Functions inherited from BlockCipherImpl< SIMON_Info< 16, 16, 16, 32 > >
unsigned int BlockSize () const
 Provides the block size of the algorithm.
Public Member Functions inherited from AlgorithmImpl< SimpleKeyingInterfaceImpl< TwoBases< BlockCipher, SIMON_Info< 16, 16, 16, 32 > > > >
std::string AlgorithmName () const
 The algorithm name.
Public Member Functions inherited from SimpleKeyingInterfaceImpl< TwoBases< BlockCipher, SIMON_Info< 16, 16, 16, 32 > > >
size_t MinKeyLength () const
 The minimum key length used by the algorithm.
size_t MaxKeyLength () const
 The maximum key length used by the algorithm.
size_t DefaultKeyLength () const
 The default key length used by the algorithm.
size_t GetValidKeyLength (size_t keylength) const
 Provides a valid key length for the algorithm.
SimpleKeyingInterface::IV_Requirement IVRequirement () const
 The default IV requirements for the algorithm.
unsigned int IVSize () const
 The initialization vector length for the algorithm.

Additional Inherited Members

Static Public Member Functions inherited from AlgorithmImpl< SimpleKeyingInterfaceImpl< TwoBases< BlockCipher, SIMON_Info< 16, 16, 16, 32 > > > >
static std::string StaticAlgorithmName ()
 The algorithm name.

Detailed Description

SIMON128 encryption transformation.

Enc provides the encryption transformation. All key sizes are supported.

Since
Crypto++ 6.0

Definition at line 178 of file simon.h.

Member Function Documentation

◆ ProcessAndXorBlock()

void SIMON128::Enc::ProcessAndXorBlock ( const byte * inBlock,
const byte * xorBlock,
byte * outBlock ) const

Definition at line 409 of file simon.cpp.

◆ AdvancedProcessBlocks()

size_t SIMON128::Enc::AdvancedProcessBlocks ( const byte * inBlocks,
const byte * xorBlocks,
byte * outBlocks,
size_t length,
word32 flags ) const

Definition at line 462 of file simon.cpp.


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