Crypto++ 8.2
Free C&
Public Member Functions | List of all members
GeneratableCryptoMaterial Class Reference

Interface for generatable crypto material, such as private keys and crypto parameters. More...

#include <cryptlib.h>

+ Inheritance diagram for GeneratableCryptoMaterial:

Public Member Functions

virtual void GenerateRandom (RandomNumberGenerator &rng, const NameValuePairs &params=g_nullNameValuePairs)
 Generate a random key or crypto parameters.
 
void GenerateRandomWithKeySize (RandomNumberGenerator &rng, unsigned int keySize)
 Generate a random key or crypto parameters.
 
- Public Member Functions inherited from CryptoMaterial
virtual void AssignFrom (const NameValuePairs &source)=0
 Assign values to this object.
 
virtual bool Validate (RandomNumberGenerator &rng, unsigned int level) const =0
 Check this object for errors.
 
virtual void ThrowIfInvalid (RandomNumberGenerator &rng, unsigned int level) const
 Check this object for errors.
 
virtual void Save (BufferedTransformation &bt) const
 Saves a key to a BufferedTransformation.
 
virtual void Load (BufferedTransformation &bt)
 Loads a key from a BufferedTransformation.
 
virtual bool SupportsPrecomputation () const
 Determines whether the object supports precomputation.
 
virtual void Precompute (unsigned int precomputationStorage)
 Perform precomputation.
 
virtual void LoadPrecomputation (BufferedTransformation &storedPrecomputation)
 Retrieve previously saved precomputation.
 
virtual void SavePrecomputation (BufferedTransformation &storedPrecomputation) const
 Save precomputation for later use.
 
void DoQuickSanityCheck () const
 Perform a quick sanity check.
 
- Public Member Functions inherited from NameValuePairs
template<class T >
bool GetThisObject (T &object) const
 Get a copy of this object or subobject.
 
template<class T >
bool GetThisPointer (T *&ptr) const
 Get a pointer to this object.
 
template<class T >
bool GetValue (const char *name, T &value) const
 Get a named value.
 
template<class T >
GetValueWithDefault (const char *name, T defaultValue) const
 Get a named value.
 
std::string GetValueNames () const
 Get a list of value names that can be retrieved.
 
bool GetIntValue (const char *name, int &value) const
 Get a named value with type int.
 
int GetIntValueWithDefault (const char *name, int defaultValue) const
 Get a named value with type int, with default.
 
bool GetWord64Value (const char *name, word64 &value) const
 Get a named value with type word64.
 
word64 GetWord64ValueWithDefault (const char *name, word64 defaultValue) const
 Get a named value with type word64, with default.
 
template<class T >
void GetRequiredParameter (const char *className, const char *name, T &value) const
 Retrieves a required name/value pair.
 
void GetRequiredIntParameter (const char *className, const char *name, int &value) const
 Retrieves a required name/value pair.
 
virtual bool GetVoidValue (const char *name, const std::type_info &valueType, void *pValue) const =0
 Get a named value.
 

Additional Inherited Members

- Static Public Member Functions inherited from NameValuePairs
static void ThrowIfTypeMismatch (const char *name, const std::type_info &stored, const std::type_info &retrieving)
 Ensures an expected name and type is present.
 

Detailed Description

Interface for generatable crypto material, such as private keys and crypto parameters.

Definition at line 2399 of file cryptlib.h.

Constructor & Destructor Documentation

◆ ~GeneratableCryptoMaterial()

virtual GeneratableCryptoMaterial::~GeneratableCryptoMaterial ( )
inlinevirtual

Definition at line 2402 of file cryptlib.h.

Member Function Documentation

◆ GenerateRandom()

virtual void GeneratableCryptoMaterial::GenerateRandom ( RandomNumberGenerator rng,
const NameValuePairs params = g_nullNameValuePairs 
)
inlinevirtual

Generate a random key or crypto parameters.

Parameters
rnga RandomNumberGenerator to produce keying material
paramsadditional initialization parameters
Exceptions
KeyingErrif a key can't be generated or algorithm parameters are invalid

If a derived class does not override GenerateRandom(), then the base class throws NotImplemented.

Reimplemented in DL_GroupParameters_EC< EC >, InvertibleESIGNFunction, DL_GroupParameters_IntegerBased, DL_GroupParameters_DSA, InvertibleLUCFunction, InvertibleRabinFunction, InvertibleRSAFunction, InvertibleRWFunction, DL_PrivateKeyImpl< GP >, x25519, and ed25519PrivateKey.

Definition at line 2410 of file cryptlib.h.

◆ GenerateRandomWithKeySize()

void GeneratableCryptoMaterial::GenerateRandomWithKeySize ( RandomNumberGenerator rng,
unsigned int  keySize 
)

Generate a random key or crypto parameters.

Parameters
rnga RandomNumberGenerator to produce keying material
keySizethe size of the key, in bits
Exceptions
KeyingErrif a key can't be generated or algorithm parameters are invalid

GenerateRandomWithKeySize calls GenerateRandom() with a NameValuePairs object with only "KeySize"

Definition at line 811 of file cryptlib.cpp.


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