Security Scol plugin
|
HC-128 stream cipher implementation. More...
#include <hc128.h>
Protected Member Functions | |
void | CipherSetKey (const NameValuePairs ¶ms, const byte *key, size_t length) |
Key the cipher. | |
void | OperateKeystream (KeystreamOperation operation, byte *output, const byte *input, size_t iterationCount) |
Operates the keystream. | |
void | CipherResynchronize (byte *keystreamBuffer, const byte *iv, size_t length) |
Resynchronize the cipher. | |
bool | CanOperateKeystream () const |
Flag indicating. | |
bool | CipherIsRandomAccess () const |
Flag indicating random access. | |
void | GenerateKeystream (word32 *keystream) |
void | SetupUpdate () |
Additional Inherited Members | |
Public Types inherited from AdditiveCipherConcretePolicy< word32, 16 > | |
typedef word32 | WordType |
Word type for the cipher. | |
Public Member Functions inherited from AdditiveCipherConcretePolicy< word32, 16 > | |
CRYPTOPP_CONSTANT (BYTES_PER_ITERATION=sizeof(WordType) *W) | |
Number of bytes for an iteration. | |
unsigned int | GetAlignment () const |
Provides data alignment requirements. | |
unsigned int | GetBytesPerIteration () const |
Provides number of bytes operated upon during an iteration. | |
unsigned int | GetIterationsToBuffer () const |
Provides buffer size based on iterations. | |
Public Member Functions inherited from AdditiveCipherAbstractPolicy | |
virtual unsigned int | GetOptimalBlockSize () const |
Provides number of ideal bytes to process. | |
virtual void | WriteKeystream (byte *keystream, size_t iterationCount) |
Generate the keystream. | |
virtual void | SeekToIteration (lword iterationCount) |
Seeks to a random position in the stream. | |
virtual std::string | AlgorithmProvider () const |
Retrieve the provider of this algorithm. | |
Public Member Functions inherited from HC128Info | |
CRYPTOPP_STATIC_CONSTEXPR const char * | StaticAlgorithmName () |
Public Member Functions inherited from FixedKeyLength< 16, SimpleKeyingInterface::UNIQUE_IV, 16 > | |
CRYPTOPP_CONSTANT (KEYLENGTH=N) | |
The default key length used by the algorithm provided as a constant. | |
CRYPTOPP_CONSTANT (MIN_KEYLENGTH=N) | |
The minimum key length used by the algorithm provided as a constant. | |
CRYPTOPP_CONSTANT (MAX_KEYLENGTH=N) | |
The maximum key length used by the algorithm provided as a constant. | |
CRYPTOPP_CONSTANT (DEFAULT_KEYLENGTH=N) | |
The default key length used by the algorithm provided as a constant. | |
CRYPTOPP_CONSTANT (IV_REQUIREMENT=IV_REQ) | |
The default IV requirements for the algorithm provided as a constant. | |
CRYPTOPP_CONSTANT (IV_LENGTH=IV_L) | |
The default IV length used by the algorithm provided as a constant. | |
CRYPTOPP_STATIC_CONSTEXPR size_t CRYPTOPP_API | StaticGetValidKeyLength (size_t keylength) |
The default key length for the algorithm provided by a static function. | |
|
inlineprotectedvirtual |
Flag indicating.
Reimplemented from AdditiveCipherConcretePolicy< word32, 16 >.
|
inlineprotectedvirtual |
Flag indicating random access.
Implements AdditiveCipherAbstractPolicy.
|
protectedvirtual |
Resynchronize the cipher.
keystreamBuffer | the keystream buffer |
iv | a byte array used to resynchronize the cipher |
length | the size of the IV array |
Reimplemented from AdditiveCipherAbstractPolicy.
|
protectedvirtual |
Key the cipher.
params | set of NameValuePairs use to initialize this object |
key | a byte array used to key the cipher |
length | the size of the key array |
Implements AdditiveCipherAbstractPolicy.
|
protected |
|
protectedvirtual |
Operates the keystream.
operation | the operation with additional flags |
output | the output buffer |
input | the input buffer |
iterationCount | the number of iterations to perform on the input |
OperateKeystream() will attempt to operate upon GetOptimalBlockSize() buffer, which will be derived from GetBytesPerIteration().
Implements AdditiveCipherConcretePolicy< word32, 16 >.