Fabcoin Core
0.16.2
P2P Digital Currency
|
Panama stream cipher operation. More...
#include <panama.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... | |
bool | CipherIsRandomAccess () const |
Flag indicating random access. More... | |
void | CipherResynchronize (byte *keystreamBuffer, const byte *iv, size_t length) |
Resynchronize the cipher. More... | |
unsigned int | GetAlignment () const |
Provides data alignment requirements. More... | |
Protected Member Functions inherited from Panama< B > | |
void | Reset () |
void | Iterate (size_t count, const word32 *p=NULL, byte *output=NULL, const byte *input=NULL, KeystreamOperation operation=WRITE_KEYSTREAM) |
Protected Attributes | |
FixedSizeSecBlock< word32, 8 > | m_key |
Protected Attributes inherited from Panama< B > | |
FixedSizeAlignedSecBlock< word32, 20+8 *32 > | m_state |
Additional Inherited Members | |
Public Types inherited from AdditiveCipherConcretePolicy< word32, 8 > | |
typedef word32 | WordType |
Public Member Functions inherited from AdditiveCipherConcretePolicy< word32, 8 > | |
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... | |
virtual void | SeekToIteration (lword iterationCount) |
Seeks to a random position in the stream. More... | |
Public Member Functions inherited from PanamaCipherInfo< B > | |
CRYPTOPP_STATIC_CONSTEXPR const char * | StaticAlgorithmName () |
Public Member Functions inherited from FixedKeyLength< 32, SimpleKeyingInterface::UNIQUE_IV, 32 > | |
CRYPTOPP_STATIC_CONSTEXPR size_t CRYPTOPP_API | StaticGetValidKeyLength (size_t keylength) |
The default key length used by the algorithm provided as a constant. More... | |
Protected Types inherited from Panama< B > | |
typedef word32 | Stage[8] |
Panama stream cipher operation.
|
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.
Definition at line 460 of file panama.cpp.
|
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.
Definition at line 452 of file panama.cpp.
|
protectedvirtual |
Provides data alignment requirements.
Internally, the default implementation returns 1. If the stream cipher is implemented using an SSE2 ASM or intrinsics, then the value returned is usually 16.
Reimplemented from AdditiveCipherAbstractPolicy.
Definition at line 489 of file panama.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, 8 >.
Definition at line 500 of file panama.cpp.
|
protected |