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