Fabcoin Core
0.16.2
P2P Digital Currency
|
Salsa20 stream cipher operation. More...
#include <salsa.h>
Protected Member Functions | |
void | CipherSetKey (const NameValuePairs ¶ms, const byte *key, size_t length) |
Key the cipher. More... | |
void | OperateKeystream (KeystreamOperation operation, byte *output, const byte *input, size_t iterationCount) |
Operates the keystream. More... | |
void | CipherResynchronize (byte *keystreamBuffer, const byte *IV, size_t length) |
Resynchronize the cipher. More... | |
bool | CipherIsRandomAccess () const |
Flag indicating random access. More... | |
void | SeekToIteration (lword iterationCount) |
Seeks to a random position in the stream. More... | |
Protected Attributes | |
FixedSizeAlignedSecBlock< word32, 16 > | m_state |
int | m_rounds |
Additional Inherited Members | |
Public Types inherited from AdditiveCipherConcretePolicy< word32, 16 > | |
typedef word32 | WordType |
Public Member Functions inherited from AdditiveCipherConcretePolicy< word32, 16 > | |
unsigned int | GetAlignment () const |
Provides data alignment requirements. More... | |
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... | |
Public Member Functions inherited from AdditiveCipherAbstractPolicy | |
virtual | ~AdditiveCipherAbstractPolicy () |
virtual unsigned int | GetOptimalBlockSize () const |
Provides number of ideal bytes to process. More... | |
virtual void | WriteKeystream (byte *keystream, size_t iterationCount) |
Generate the keystream. More... | |
|
inlineprotectedvirtual |
Flag indicating random access.
Implements AdditiveCipherAbstractPolicy.
Definition at line 36 of file salsa.h.
|
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.
Reimplemented in XSalsa20_Policy.
|
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.
Reimplemented in XSalsa20_Policy.
Definition at line 43 of file salsa.cpp.
|
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 >.
Definition at line 111 of file salsa.cpp.
|
protectedvirtual |
Seeks to a random position in the stream.
Reimplemented from AdditiveCipherAbstractPolicy.
Definition at line 73 of file salsa.cpp.
|
protected |