|
| DH_Domain () |
| Construct a Diffie-Hellman domain.
|
|
| DH_Domain (const GroupParameters ¶ms) |
| Construct a Diffie-Hellman domain.
|
|
| DH_Domain (BufferedTransformation &bt) |
| Construct a Diffie-Hellman domain.
|
|
template<class T2 > |
| DH_Domain (RandomNumberGenerator &v1, const T2 &v2) |
| Create a Diffie-Hellman domain.
|
|
template<class T2 , class T3 > |
| DH_Domain (RandomNumberGenerator &v1, const T2 &v2, const T3 &v3) |
| Create a Diffie-Hellman domain.
|
|
template<class T2 , class T3 , class T4 > |
| DH_Domain (RandomNumberGenerator &v1, const T2 &v2, const T3 &v3, const T4 &v4) |
| Create a Diffie-Hellman domain.
|
|
template<class T1 , class T2 > |
| DH_Domain (const T1 &v1, const T2 &v2) |
| Construct a Diffie-Hellman domain.
|
|
template<class T1 , class T2 , class T3 > |
| DH_Domain (const T1 &v1, const T2 &v2, const T3 &v3) |
| Construct a Diffie-Hellman domain.
|
|
template<class T1 , class T2 , class T3 , class T4 > |
| DH_Domain (const T1 &v1, const T2 &v2, const T3 &v3, const T4 &v4) |
| Construct a Diffie-Hellman domain.
|
|
const GroupParameters & | GetGroupParameters () const |
| Retrieves the group parameters for this domain.
|
|
GroupParameters & | AccessGroupParameters () |
| Retrieves the group parameters for this domain.
|
|
void | GeneratePublicKey (RandomNumberGenerator &rng, const byte *privateKey, byte *publicKey) const |
| Generate a public key from a private key in this domain.
|
|
std::string | AlgorithmName () const |
| Provides the name of this algorithm.
|
|
Public Member Functions inherited from DL_SimpleKeyAgreementDomainBase< GROUP_PARAMETERS::Element > |
CryptoParameters & | AccessCryptoParameters () |
| Retrieves a reference to Crypto Parameters.
|
|
unsigned int | AgreedValueLength () const |
| Provides the size of the agreed value.
|
|
unsigned int | PrivateKeyLength () const |
| Provides the size of the private key.
|
|
unsigned int | PublicKeyLength () const |
| Provides the size of the public key.
|
|
void | GeneratePrivateKey (RandomNumberGenerator &rng, byte *privateKey) const |
| Generate private key in this domain.
|
|
void | GeneratePublicKey (RandomNumberGenerator &rng, const byte *privateKey, byte *publicKey) const |
| Generate a public key from a private key in this domain.
|
|
bool | Agree (byte *agreedValue, const byte *privateKey, const byte *otherPublicKey, bool validateOtherPublicKey=true) const |
| Derive agreed value.
|
|
const Element & | GetGenerator () const |
| Retrieves a reference to the group generator.
|
|
Public Member Functions inherited from SimpleKeyAgreementDomain |
virtual void | GenerateKeyPair (RandomNumberGenerator &rng, byte *privateKey, byte *publicKey) const |
| Generate a private/public key pair.
|
|
CryptoMaterial & | AccessMaterial () |
| Retrieves a reference to Crypto Parameters.
|
|
const CryptoMaterial & | GetMaterial () const |
| Retrieves a reference to Crypto Parameters.
|
|
virtual const CryptoParameters & | GetCryptoParameters () const |
| Retrieves a reference to Crypto Parameters.
|
|
| Algorithm (bool checkSelfTestStatus=true) |
| Interface for all crypto algorithms.
|
|
virtual std::string | AlgorithmProvider () const |
| Retrieve the provider of this algorithm.
|
|
virtual Clonable * | Clone () const |
| Copies this object.
|
|
template<class GROUP_PARAMETERS, class COFACTOR_OPTION = typename GROUP_PARAMETERS::DefaultCofactorOption>
class DH_Domain< GROUP_PARAMETERS, COFACTOR_OPTION >
Diffie-Hellman domain.
- Template Parameters
-
GROUP_PARAMETERS | group parameters |
COFACTOR_OPTION | cofactor multiplication option |
A Diffie-Hellman domain is a set of parameters that must be shared by two parties in a key agreement protocol, along with the algorithms for generating key pairs and deriving agreed values.
For COFACTOR_OPTION, see CofactorMultiplicationOption.
- See also
- DL_SimpleKeyAgreementDomainBase
- Since
- Crypto++ 1.0
Definition at line 25 of file dh.h.
template<class GROUP_PARAMETERS , class COFACTOR_OPTION = typename GROUP_PARAMETERS::DefaultCofactorOption>
template<class T2 , class T3 , class T4 >
Create a Diffie-Hellman domain.
- Template Parameters
-
T2 | template parameter used as a constructor parameter |
T3 | template parameter used as a constructor parameter |
T4 | template parameter used as a constructor parameter |
- Parameters
-
v1, v2, v3 and v4 are passed directly to the GROUP_PARAMETERS object.
Definition at line 80 of file dh.h.
template<class GROUP_PARAMETERS , class COFACTOR_OPTION = typename GROUP_PARAMETERS::DefaultCofactorOption>
template<class T1 , class T2 , class T3 >
DH_Domain< GROUP_PARAMETERS, COFACTOR_OPTION >::DH_Domain |
( |
const T1 & | v1, |
|
|
const T2 & | v2, |
|
|
const T3 & | v3 ) |
|
inline |
Construct a Diffie-Hellman domain.
- Template Parameters
-
T1 | template parameter used as a constructor parameter |
T2 | template parameter used as a constructor parameter |
T3 | template parameter used as a constructor parameter |
- Parameters
-
v1 | first parameter |
v2 | second parameter |
v3 | third parameter |
v1, v2 and v3 are passed directly to the GROUP_PARAMETERS object.
Definition at line 102 of file dh.h.
template<class GROUP_PARAMETERS , class COFACTOR_OPTION = typename GROUP_PARAMETERS::DefaultCofactorOption>
template<class T1 , class T2 , class T3 , class T4 >
DH_Domain< GROUP_PARAMETERS, COFACTOR_OPTION >::DH_Domain |
( |
const T1 & | v1, |
|
|
const T2 & | v2, |
|
|
const T3 & | v3, |
|
|
const T4 & | v4 ) |
|
inline |
Construct a Diffie-Hellman domain.
- Template Parameters
-
T1 | template parameter used as a constructor parameter |
T2 | template parameter used as a constructor parameter |
T3 | template parameter used as a constructor parameter |
T4 | template parameter used as a constructor parameter |
- Parameters
-
v1 | first parameter |
v2 | second parameter |
v3 | third parameter |
v4 | fourth parameter |
v1, v2, v3 and v4 are passed directly to the GROUP_PARAMETERS object.
Definition at line 116 of file dh.h.