![]() |
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 |
1.8.11