10 #ifndef CRYPTOPP_CHAM_H
11 #define CRYPTOPP_CHAM_H
18 #if (CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X86)
19 # define CRYPTOPP_CHAM_ADVANCED_PROCESS_BLOCKS 1
24 #if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x5120)
25 # undef CRYPTOPP_CHAM_ADVANCED_PROCESS_BLOCKS
76 void UncheckedSetKey(
const byte *userKey,
unsigned int keyLength,
const NameValuePairs ¶ms);
77 std::string AlgorithmProvider()
const;
88 class CRYPTOPP_NO_VTABLE
Enc :
public Base
91 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
93 #if CRYPTOPP_CHAM_ADVANCED_PROCESS_BLOCKS
94 size_t AdvancedProcessBlocks(
const byte *inBlocks,
const byte *xorBlocks,
byte *outBlocks,
size_t length, word32 flags)
const;
105 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
107 #if CRYPTOPP_CHAM_ADVANCED_PROCESS_BLOCKS
108 size_t AdvancedProcessBlocks(
const byte *inBlocks,
const byte *xorBlocks,
byte *outBlocks,
size_t length, word32 flags)
const;
139 void UncheckedSetKey(
const byte *userKey,
unsigned int keyLength,
const NameValuePairs ¶ms);
140 std::string AlgorithmProvider()
const;
154 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
156 #if CRYPTOPP_CHAM_ADVANCED_PROCESS_BLOCKS
157 size_t AdvancedProcessBlocks(
const byte *inBlocks,
const byte *xorBlocks,
byte *outBlocks,
size_t length, word32 flags)
const;
168 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
170 #if CRYPTOPP_CHAM_ADVANCED_PROCESS_BLOCKS
171 size_t AdvancedProcessBlocks(
const byte *inBlocks,
const byte *xorBlocks,
byte *outBlocks,
size_t length, word32 flags)
const;
Classes for working with NameValuePairs.
CHAM128::Encryption CHAM128Encryption
CHAM128 encryption.
CHAM64::Encryption CHAM64Encryption
CHAM64 encryption.
CHAM128::Decryption CHAM128Decryption
CHAM128 decryption.
CHAM64::Decryption CHAM64Decryption
CHAM64 decryption.
Provides a base implementation of Algorithm and SimpleKeyingInterface for block ciphers.
CHAM block cipher transformation functions.
Decryption transformation.
Encryption transformation.
CHAM 128-bit block cipher.
BlockCipherFinal< DECRYPTION, Dec > Decryption
CHAM128 decryption.
BlockCipherFinal< ENCRYPTION, Enc > Encryption
CHAM128 encryption.
CHAM block cipher transformation functions.
Decryption transformation.
Encryption transformation.
CHAM 64-bit block cipher.
BlockCipherFinal< ENCRYPTION, Enc > Encryption
CHAM64 encryption.
BlockCipherFinal< DECRYPTION, Dec > Decryption
CHAM64 decryption.
Inherited by algorithms with fixed block size.
Inherited by keyed algorithms with fixed key length.
Interface for retrieving values given their names.
Inherited by keyed algorithms with variable key length.
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.
CHAM block cipher information.
static const std::string StaticAlgorithmName()
The algorithm name.
CHAM block cipher information.
static const std::string StaticAlgorithmName()
The algorithm name.