|
Crypto++
8.4
Free C++ class library of cryptographic schemes
|
Policy object for additive stream ciphers. More...
Inheritance diagram for AdditiveCipherAbstractPolicy:Public Member Functions | |
| virtual unsigned int | GetAlignment () const |
| Provides data alignment requirements. More... | |
| virtual unsigned int | GetBytesPerIteration () const =0 |
| Provides number of bytes operated upon during an iteration. More... | |
| virtual unsigned int | GetOptimalBlockSize () const |
| Provides number of ideal bytes to process. More... | |
| virtual unsigned int | GetIterationsToBuffer () const =0 |
| Provides buffer size based on iterations. More... | |
| virtual void | WriteKeystream (byte *keystream, size_t iterationCount) |
| Generate the keystream. More... | |
| virtual bool | CanOperateKeystream () const |
| Flag indicating. More... | |
| virtual void | OperateKeystream (KeystreamOperation operation, byte *output, const byte *input, size_t iterationCount) |
| Operates the keystream. More... | |
| virtual void | CipherSetKey (const NameValuePairs ¶ms, const byte *key, size_t length)=0 |
| Key the cipher. More... | |
| virtual void | CipherResynchronize (byte *keystreamBuffer, const byte *iv, size_t length) |
| Resynchronize the cipher. More... | |
| virtual bool | CipherIsRandomAccess () const =0 |
| Flag indicating random access. More... | |
| virtual void | SeekToIteration (lword iterationCount) |
| Seeks to a random position in the stream. More... | |
| virtual std::string | AlgorithmProvider () const |
| Retrieve the provider of this algorithm. More... | |
Policy object for additive stream ciphers.
Definition at line 104 of file strciphr.h.
|
inlinevirtual |
Provides data alignment requirements.
Definition at line 112 of file strciphr.h.
|
pure virtual |
Provides number of bytes operated upon during an iteration.
Implemented in AdditiveCipherConcretePolicy< WT, W, X, BASE >.
|
inlinevirtual |
Provides number of ideal bytes to process.
Definition at line 123 of file strciphr.h.
|
pure virtual |
Provides buffer size based on iterations.
Implemented in AdditiveCipherConcretePolicy< WT, W, X, BASE >.
|
inlinevirtual |
Generate the keystream.
| keystream | the key stream |
| iterationCount | the number of iterations to generate the key stream |
Definition at line 133 of file strciphr.h.
|
inlinevirtual |
Flag indicating.
Reimplemented in AdditiveCipherConcretePolicy< WT, W, X, BASE >.
Definition at line 139 of file strciphr.h.
|
inlinevirtual |
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(). |
Reimplemented in AdditiveCipherConcretePolicy< WT, W, X, BASE >, AdditiveCipherConcretePolicy< word32, 20 >, AdditiveCipherConcretePolicy< word32, 4 >, AdditiveCipherConcretePolicy< word32, 8 >, AdditiveCipherConcretePolicy< word32, 256 >, AdditiveCipherConcretePolicy< word32, 16 >, and AdditiveCipherConcretePolicy< word32, 1, 64 >.
Definition at line 149 of file strciphr.h.
|
pure virtual |
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 |
Implemented in XSalsa20_Policy.
|
inlinevirtual |
Resynchronize the cipher.
| keystreamBuffer | the keystream buffer |
| iv | a byte array used to resynchronize the cipher |
| length | the size of the IV array |
Reimplemented in XSalsa20_Policy.
Definition at line 163 of file strciphr.h.
|
pure virtual |
Flag indicating random access.
Implemented in CTR_ModePolicy, and OFB_ModePolicy.
|
inlinevirtual |
Seeks to a random position in the stream.
Definition at line 174 of file strciphr.h.
|
inlinevirtual |
Retrieve the provider of this algorithm.
AES/GCM returns "AESNI" rather than "CLMUL" or "AES+SSE4.1" or "AES+CLMUL" or "AES+SSE4.1+CLMUL". Definition at line 192 of file strciphr.h.