Salsa20 block cipher information. More...
Public Types | |
typedef SymmetricCipherFinal < ConcretePolicyHolder < Salsa20_Policy, AdditiveCipherTemplate <> >, Salsa20_Info > | Encryption |
implements the SymmetricCipher interface | |
typedef Encryption | Decryption |
implements the SymmetricCipher interface | |
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. | |
Static Public Attributes | |
static const int | MIN_KEYLENGTH |
The minimum key length used by the cipher provided as a constant. | |
static const int | MAX_KEYLENGTH |
The maximum key length used by the cipher provided as a constant. | |
static const int | DEFAULT_KEYLENGTH |
The default key length used by the cipher provided as a constant. | |
static const int | KEYLENGTH_MULTIPLE |
The key length multiple used by the cipher provided as a constant. | |
static const int | IV_REQUIREMENT |
The default IV requirements for the cipher provided as a constant. | |
static const int | IV_LENGTH |
The default initialization vector length for the cipher provided as a constant. |
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.
static size_t VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::StaticGetValidKeyLength | ( | size_t | keylength | ) | [inline, static, inherited] |
Provides a valid key length for the cipher provided by a static function.
keylength | the 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.
const int VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::MIN_KEYLENGTH [static, inherited] |
const int VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::MAX_KEYLENGTH [static, inherited] |
const int VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::DEFAULT_KEYLENGTH [static, inherited] |
const int VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::KEYLENGTH_MULTIPLE [static, inherited] |
const int VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::IV_REQUIREMENT [static, inherited] |
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.
const int VariableKeyLength< D, N, M, Q, IV_REQ, IV_L >::IV_LENGTH [static, inherited] |