Crypto++
8.2
Free C++ class library of cryptographic schemes
|
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
size_t size() const
Length of the memory block.
const char * Tweak()
ConstByteArrayParameter.
Encryption transformation.
Encryption transformation.
Threefish 512-bit block cipher.
Encryption transformation.
Classes and functions for secure memory allocations.
#define CRYPTOPP_ASSERT(exp)
Debugging and diagnostic assertion.
@ LITTLE_ENDIAN_ORDER
byte order is little-endian
Threefish block cipher transformation functions.
Encryption transformation.
Threefish block cipher transformation functions.
Inherited by algorithms with fixed block size.
Standard names for retrieving values by name when working with NameValuePairs.
Provides a base implementation of Algorithm and SimpleKeyingInterface for block ciphers.
Inherited by keyed algorithms with fixed key length.
Threefish 1024-bit block cipher.
Encryption transformation.
Threefish block cipher transformation functions.
std::string IntToString(T value, unsigned int base=10)
Converts a value to a string.
Threefish 256-bit block cipher.
Provides Encryption and Decryption typedefs used by derived classes to implement a block cipher.
Classes and functions for implementing secret key algorithms.
Threefish block cipher information.
Threefish block cipher base class.
const byte * begin() const
Pointer to the first byte in the memory block.
Crypto++ library namespace.
bool GetValue(const char *name, T &value) const
Get a named value.
Library configuration file.
Interface for one direction (encryption or decryption) of a block cipher.
Secure memory block with allocator and cleanup.
Interface for retrieving values given their names.
Used to pass byte array input as part of a NameValuePairs object.
Classes for working with NameValuePairs.
Encryption transformation.