Crypto++  5.6.3
Free C++ class library of cryptographic schemes
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
Salsa20 Class Reference

Salsa20 block cipher information. More...

+ Inheritance diagram for Salsa20:

Public Types

typedef SymmetricCipherFinal< ConcretePolicyHolder< Salsa20_Policy, AdditiveCipherTemplate<> >, Salsa20_InfoEncryption
 
typedef Encryption Decryption
 

Static Public Member Functions

static const char * StaticAlgorithmName ()
 
static size_t StaticGetValidKeyLength (size_t keylength)
 Provides a valid key length for the cipher provided by a static function. More...
 

Static Public Attributes

static const int MIN_KEYLENGTH
 The minimum key length used by the cipher provided as a constant. More...
 
static const int MAX_KEYLENGTH
 The maximum key length used by the cipher provided as a constant. More...
 
static const int DEFAULT_KEYLENGTH
 The default key length used by the cipher provided as a constant. More...
 
static const int KEYLENGTH_MULTIPLE
 The key length multiple used by the cipher provided as a constant. More...
 
static const int IV_REQUIREMENT
 The default IV requirements for the cipher provided as a constant. More...
 
static const int IV_LENGTH
 The default initialization vector length for the cipher provided as a constant. More...
 

Detailed Description

Salsa20 block cipher information.

Salsa20 provides a variable number of rounds: 8, 12 or 20. The default number of rounds is 20.

Definition at line 49 of file salsa.h.

Member Function Documentation

static size_t VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::StaticGetValidKeyLength ( size_t  keylength)
inlinestaticinherited

Provides a valid key length for the cipher provided by a static function.

Parameters
keylengththe size of the key, in bytes

If keylength is less than MIN_KEYLENGTH, then the function returns MIN_KEYLENGTH. If keylength is greater than MAX_KEYLENGTH, then the function returns MAX_KEYLENGTH. If keylength is a multiple of KEYLENGTH_MULTIPLE, then keylength is returned. Otherwise, the function returns keylength rounded down to the next smaller multiple of KEYLENGTH_MULTIPLE.

keylength is provided in bytes, not bits.

Definition at line 190 of file seckey.h.

Member Data Documentation

const int VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::MIN_KEYLENGTH
staticinherited

The minimum key length used by the cipher provided as a constant.

MIN_KEYLENGTH is provided in bytes, not bits

Definition at line 165 of file seckey.h.

const int VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::MAX_KEYLENGTH
staticinherited

The maximum key length used by the cipher provided as a constant.

MAX_KEYLENGTH is provided in bytes, not bits

Definition at line 168 of file seckey.h.

const int VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::DEFAULT_KEYLENGTH
staticinherited

The default key length used by the cipher provided as a constant.

DEFAULT_KEYLENGTH is provided in bytes, not bits

Definition at line 171 of file seckey.h.

const int VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::KEYLENGTH_MULTIPLE
staticinherited

The key length multiple used by the cipher provided as a constant.

MAX_KEYLENGTH is provided in bytes, not bits

Definition at line 174 of file seckey.h.

const int VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::IV_REQUIREMENT
staticinherited

The default IV requirements for the cipher provided as a constant.

The default value is NOT_RESYNCHRONIZABLE. See IV_Requirement in cryptlib.h for allowed values.

Definition at line 178 of file seckey.h.

const int VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::IV_LENGTH
staticinherited

The default initialization vector length for the cipher provided as a constant.

IV_LENGTH is provided in bytes, not bits. The default implementation uses 0.

Definition at line 181 of file seckey.h.


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