|
Security Scol plugin
|
HC-256 stream cipher implementation. More...
#include <hc256.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. | |
| word32 | H1 (word32 u) |
| word32 | H2 (word32 u) |
| word32 | Generate () |
Additional Inherited Members | |
Public Types inherited from AdditiveCipherConcretePolicy< word32, 4 > | |
| typedef word32 | WordType |
| Word type for the cipher. | |
Public Member Functions inherited from AdditiveCipherConcretePolicy< word32, 4 > | |
| 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 HC256Info | |
| CRYPTOPP_STATIC_CONSTEXPR const char * | StaticAlgorithmName () |
Public Member Functions inherited from FixedKeyLength< 32, SimpleKeyingInterface::UNIQUE_IV, 32 > | |
| 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, 4 >.
|
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.
|
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, 4 >.