| 
|   | 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.