13#ifndef CRYPTOPP_SCRYPT_H
14#define CRYPTOPP_SCRYPT_H
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.
size_t MaxDerivedKeyLength() const
Determine maximum number of bytes.
unsigned long long word64
64-bit unsigned datatype
Abstract base classes that provide a uniform interface to this library.
Crypto++ library namespace.
Classes and functions for secure memory allocations.