|
virtual | ~AdditiveCipherTemplate () |
|
void | GenerateBlock (byte *output, size_t size) |
| Generate random array of bytes. More...
|
|
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 | IsSelfInverting () const |
| Determines if the cipher is self inverting. More...
|
|
bool | IsForwardTransformation () const |
| Determines if the cipher is a forward transformation. More...
|
|
bool | IsRandomAccess () const |
| Flag indicating random access. More...
|
|
void | Seek (lword position) |
| Seeks to a random position in the stream. More...
|
|
Public Member Functions inherited from RandomNumberGenerator |
virtual | ~RandomNumberGenerator () |
|
virtual void | IncorporateEntropy (const byte *input, size_t length) |
| Update RNG state with additional unpredictable values. More...
|
|
virtual bool | CanIncorporateEntropy () const |
| Determines if a generator can accept additional entropy. More...
|
|
virtual byte | GenerateByte () |
| Generate new random byte and return it. More...
|
|
virtual unsigned int | GenerateBit () |
| Generate new random bit and return it. More...
|
|
virtual word32 | GenerateWord32 (word32 min=0, word32 max=0xffffffffUL) |
| Generate a random 32 bit word in the range min to max, inclusive. More...
|
|
virtual void | GenerateIntoBufferedTransformation (BufferedTransformation &target, const std::string &channel, lword length) |
| Generate random bytes into a BufferedTransformation. More...
|
|
virtual void | DiscardBytes (size_t n) |
| Generate and discard n bytes. More...
|
|
template<class IT > |
void | Shuffle (IT begin, IT end) |
| Randomly shuffle the specified array. More...
|
|
virtual | ~Algorithm () |
|
| Algorithm (bool checkSelfTestStatus=true) |
| Interface for all crypto algorithms. More...
|
|
virtual std::string | AlgorithmName () const |
| Provides the name of this algorithm. More...
|
|
virtual | ~Clonable () |
|
virtual Clonable * | Clone () const |
| Copies this object. More...
|
|
template<class BASE = AbstractPolicyHolder<AdditiveCipherAbstractPolicy, SymmetricCipher>>
class AdditiveCipherTemplate< BASE >
Base class for additive stream ciphers with SymmetricCipher interface.
- Template Parameters
-
Definition at line 267 of file strciphr.h.
Apply keystream to data.
- Parameters
-
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 67 of file strciphr.cpp.