Crypto++ 8.7
Free C++ class library of cryptographic schemes
Public Member Functions | List of all members
XSalsa20_Policy Class Reference

XSalsa20 stream cipher operation. More...

#include <salsa.h>

+ Inheritance diagram for XSalsa20_Policy:

Public Member Functions

void CipherSetKey (const NameValuePairs &params, const byte *key, size_t length)
 Key the cipher. More...
 
void CipherResynchronize (byte *keystreamBuffer, const byte *IV, size_t length)
 Resynchronize the cipher. More...
 
- Public Member Functions inherited from AdditiveCipherConcretePolicy< word32, 16 >
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...
 
virtual void OperateKeystream (KeystreamOperation operation, byte *output, const byte *input, size_t iterationCount)=0
 Operates the keystream. More...
 
- Public Member Functions inherited from AdditiveCipherAbstractPolicy
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 &params, 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...
 

Additional Inherited Members

- Public Types inherited from AdditiveCipherConcretePolicy< word32, 16 >
typedef word32 WordType
 Word type for the cipher. More...
 
- Static Public Attributes inherited from AdditiveCipherConcretePolicy< word32, 16 >
static const int BYTES_PER_ITERATION
 Number of bytes for an iteration. More...
 

Detailed Description

XSalsa20 stream cipher operation.

Since
Crypto++ 5.4

Definition at line 82 of file salsa.h.

Member Function Documentation

◆ CipherSetKey()

void XSalsa20_Policy::CipherSetKey ( const NameValuePairs params,
const byte key,
size_t  length 
)
virtual

Key the cipher.

Parameters
paramsset of NameValuePairs use to initialize this object
keya byte array used to key the cipher
lengththe size of the key array

Reimplemented from Salsa20_Policy.

Definition at line 708 of file salsa.cpp.

◆ CipherResynchronize()

void XSalsa20_Policy::CipherResynchronize ( byte keystreamBuffer,
const byte iv,
size_t  length 
)
virtual

Resynchronize the cipher.

Parameters
keystreamBufferthe keystream buffer
iva byte array used to resynchronize the cipher
lengththe size of the IV array

Reimplemented from Salsa20_Policy.

Definition at line 725 of file salsa.cpp.


The documentation for this class was generated from the following files: