9 #ifndef CRYPTOPP_THREEFISH_H 10 #define CRYPTOPP_THREEFISH_H 24 template <
unsigned int BS>
27 static const std::string StaticAlgorithmName()
39 template <
unsigned int BS>
53 m_tweak[2] = m_tweak[0] ^ m_tweak[1];
57 std::memset(m_tweak.begin(), 0x00, 24);
81 void UncheckedSetKey(
const byte *userKey,
unsigned int keyLength,
const NameValuePairs ¶ms);
88 class CRYPTOPP_NO_VTABLE
Enc :
public Base 91 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
98 class CRYPTOPP_NO_VTABLE
Dec :
public Base 101 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
125 void UncheckedSetKey(
const byte *userKey,
unsigned int keyLength,
const NameValuePairs ¶ms);
135 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
145 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
169 void UncheckedSetKey(
const byte *userKey,
unsigned int keyLength,
const NameValuePairs ¶ms);
179 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
189 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
201 #endif // CRYPTOPP_THREEFISH_H Used to pass byte array input as part of a NameValuePairs object.
Encryption transformation.
Standard names for retrieving values by name when working with NameValuePairs.
Threefish block cipher transformation functions.
Inherited by keyed algorithms with fixed key length.
Classes for working with NameValuePairs.
Threefish block cipher transformation functions.
Provides Encryption and Decryption typedefs used by derived classes to implement a block cipher...
size_t size() const
Length of the memory block.
Threefish block cipher transformation functions.
Secure memory block with allocator and cleanup.
Threefish 512-bit block cipher.
Library configuration file.
Threefish 256-bit block cipher.
Threefish block cipher base class.
Encryption transformation.
byte order is little-endian
Interface for one direction (encryption or decryption) of a block cipher.
Classes and functions for secure memory allocations.
Encryption transformation.
Inherited by algorithms with fixed block size.
Threefish block cipher information.
const byte * begin() const
Pointer to the first byte in the memory block.
Classes and functions for implementing secret key algorithms.
const char * Tweak()
ConstByteArrayParameter.
#define CRYPTOPP_ASSERT(exp)
Debugging and diagnostic assertion.
Encryption transformation.
std::string IntToString(T value, unsigned int base=10)
Converts a value to a string.
Encryption transformation.
Provides a base implementation of Algorithm and SimpleKeyingInterface for block ciphers.
Threefish 1024-bit block cipher.
Crypto++ library namespace.
bool GetValue(const char *name, T &value) const
Get a named value.
Encryption transformation.
Interface for retrieving values given their names.