Fabcoin Core
0.16.2
P2P Digital Currency
|
Base class for feedback based stream ciphers with SymmetricCipher interface. More...
#include <strciphr.h>
Public Types | |
typedef BASE::PolicyInterface | PolicyInterface |
Public Member Functions | |
void | ProcessData (byte *outString, const byte *inString, size_t length) |
Apply keystream to data. More... | |
void | Resynchronize (const byte *iv, int length=-1) |
Resynchronize the cipher. More... | |
unsigned int | OptimalBlockSize () const |
Provides number of ideal bytes to process. More... | |
unsigned int | GetOptimalNextBlockSize () const |
Provides number of ideal bytes to process. More... | |
unsigned int | OptimalDataAlignment () const |
Provides number of ideal data alignment. More... | |
bool | IsRandomAccess () const |
Flag indicating random access. More... | |
bool | IsSelfInverting () const |
Determines if the cipher is self inverting. More... | |
Protected Member Functions | |
virtual void | CombineMessageAndShiftRegister (byte *output, byte *reg, const byte *message, size_t length)=0 |
void | UncheckedSetKey (const byte *key, unsigned int length, const NameValuePairs ¶ms) |
Protected Attributes | |
size_t | m_leftOver |
Base class for feedback based stream ciphers with SymmetricCipher interface.
BASE | AbstractPolicyHolder base class |
Definition at line 489 of file strciphr.h.
typedef BASE::PolicyInterface CFB_CipherTemplate< BASE >::PolicyInterface |
Definition at line 538 of file strciphr.h.
|
protectedpure virtual |
Implemented in CFB_DecryptionTemplate< BASE >, and CFB_EncryptionTemplate< BASE >.
|
inline |
Provides number of ideal bytes to process.
Internally, the default implementation returns remaining unprocessed bytes
Definition at line 522 of file strciphr.h.
|
inline |
Flag indicating random access.
Definition at line 532 of file strciphr.h.
|
inline |
Determines if the cipher is self inverting.
Definition at line 536 of file strciphr.h.
|
inline |
Provides number of ideal bytes to process.
Internally, the default implementation returns GetBytesPerIteration()
Definition at line 516 of file strciphr.h.
|
inline |
Provides number of ideal data alignment.
Definition at line 527 of file strciphr.h.
void CFB_CipherTemplate< BASE >::ProcessData | ( | byte * | outString, |
const byte * | inString, | ||
size_t | length | ||
) |
Apply keystream to data.
outString | a buffer to write the transformed data |
inString | a buffer to read the data |
length | the size fo the buffers, in bytes |
This is the primary method to operate a stream cipher. For example:
size_t size = 30; byte plain[size] = "Do or do not; there is no try"; byte cipher[size]; ... ChaCha20 chacha(key, keySize); chacha.ProcessData(cipher, plain, size);
Definition at line 177 of file strciphr.cpp.
void CFB_CipherTemplate< BASE >::Resynchronize | ( | const byte * | iv, |
int | length = -1 |
||
) |
Resynchronize the cipher.
iv | a byte array used to resynchronize the cipher |
length | the size of the IV array |
Definition at line 169 of file strciphr.cpp.
|
protected |
Definition at line 153 of file strciphr.cpp.
|
protected |
Definition at line 545 of file strciphr.h.