13#ifndef CRYPTOPP_SCRYPT_H
14#define CRYPTOPP_SCRYPT_H
19NAMESPACE_BEGIN(CryptoPP)
38 static std::string StaticAlgorithmName () {
44 return StaticAlgorithmName();
49 return static_cast<size_t>(0)-1;
53 size_t GetValidDerivedLength(
size_t keylength)
const;
56 size_t DeriveKey(
byte *derived,
size_t derivedLen,
const byte *secret,
size_t secretLen,
87 size_t DeriveKey(
byte *derived,
size_t derivedLen,
const byte *secret,
size_t secretLen,
88 const byte *salt,
size_t saltLen, word64 cost=2, word64 blockSize=8, word64 parallelization=1)
const;
91 enum {defaultCost=2, defaultBlockSize=8, defaultParallelization=1};
98 inline void ValidateParameters(
size_t derivedlen, word64 cost, word64 blockSize, word64 parallelization)
const;
Interface for all crypto algorithms.
Interface for key derivation functions.
Interface for retrieving values given their names.
Scrypt key derivation function.
std::string AlgorithmName() const
Provides the name of this algorithm.
const Algorithm & GetAlgorithm() const
Returns the base class Algorithm.
size_t MaxDerivedKeyLength() const
Determine maximum number of bytes.
Abstract base classes that provide a uniform interface to this library.
Classes and functions for secure memory allocations.