12 #ifndef CRYPTOPP_SIMECK_H
13 #define CRYPTOPP_SIMECK_H
20 #if (CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X86)
21 # define CRYPTOPP_SIMECK_ADVANCED_PROCESS_BLOCKS 1
26 #if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x5120)
27 # undef CRYPTOPP_SIMECK_ADVANCED_PROCESS_BLOCKS
78 void UncheckedSetKey(
const byte *userKey,
unsigned int keyLength,
const NameValuePairs ¶ms);
79 std::string AlgorithmProvider()
const;
89 class CRYPTOPP_NO_VTABLE
Enc :
public Base
92 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
99 class CRYPTOPP_NO_VTABLE
Dec :
public Base
102 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
128 void UncheckedSetKey(
const byte *userKey,
unsigned int keyLength,
const NameValuePairs ¶ms);
129 std::string AlgorithmProvider()
const;
142 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
144 #if CRYPTOPP_SIMECK_ADVANCED_PROCESS_BLOCKS
145 size_t AdvancedProcessBlocks(
const byte *inBlocks,
const byte *xorBlocks,
byte *outBlocks,
size_t length, word32 flags)
const;
156 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
158 #if CRYPTOPP_SIMECK_ADVANCED_PROCESS_BLOCKS
159 size_t AdvancedProcessBlocks(
const byte *inBlocks,
const byte *xorBlocks,
byte *outBlocks,
size_t length, word32 flags)
const;
Classes for working with NameValuePairs.
Provides a base implementation of Algorithm and SimpleKeyingInterface for block ciphers.
Inherited by algorithms with fixed block size.
Inherited by keyed algorithms with fixed key length.
Inherited by algorithms with fixed number of rounds.
Interface for retrieving values given their names.
SIMECK block cipher transformation functions.
Encryption transformation.
Encryption transformation.
SIMECK 32-bit block cipher.
SIMECK block cipher transformation functions.
Encryption transformation.
Encryption transformation.
SIMECK 64-bit block cipher.
Library configuration file.
Crypto++ library namespace.
Classes and functions for secure memory allocations.
Classes and functions for implementing secret key algorithms.
Provides Encryption and Decryption typedefs used by derived classes to implement a block cipher.
BlockCipher Decryption
implements the BlockCipher interface
BlockCipher Encryption
implements the BlockCipher interface
SIMECK block cipher information.
static const std::string StaticAlgorithmName()
The algorithm name.
SIMECK block cipher information.
static const std::string StaticAlgorithmName()
The algorithm name.