Crypto++
8.3
Free C++ class library of cryptographic schemes
|
Base class for additive stream ciphers. More...
Public Types | |
typedef WT | WordType |
Word type for the cipher. | |
Public Member Functions | |
unsigned int | GetBytesPerIteration () const |
Provides number of bytes operated upon during an iteration. More... | |
unsigned int | GetIterationsToBuffer () const |
Provides buffer size based on iterations. More... | |
bool | CanOperateKeystream () const |
Flag indicating. More... | |
virtual void | OperateKeystream (KeystreamOperation operation, byte *output, const byte *input, size_t iterationCount)=0 |
Operates the keystream. More... | |
Static Public Attributes | |
static const int | BYTES_PER_ITERATION = sizeof(WordType) * W |
Number of bytes for an iteration. More... | |
Base class for additive stream ciphers.
WT | word type |
W | count of words |
X | bytes per iteration count |
BASE | AdditiveCipherAbstractPolicy derived base class |
Definition at line 201 of file strciphr.h.
|
inline |
Provides number of bytes operated upon during an iteration.
Definition at line 227 of file strciphr.h.
|
inline |
Provides buffer size based on iterations.
Definition at line 231 of file strciphr.h.
|
inline |
Flag indicating.
Definition at line 237 of file strciphr.h.
|
pure virtual |
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().
|
static |
Number of bytes for an iteration.
BYTES_PER_ITERATION is the product sizeof(WordType) * W
. For example, ChaCha uses 16 each word32
, and the value of BYTES_PER_ITERATION is 64. Each invocation of the ChaCha block function produces 64 bytes of keystream.
Definition at line 211 of file strciphr.h.