|
Crypto++
8.1
Free C++ class library of cryptographic schemes
|
Hashed Menezes-Qu-Vanstone in GF(p) More...
Inheritance diagram for HMQV_Domain< GROUP_PARAMETERS, COFACTOR_OPTION, HASH >:Public Types | |
| typedef GROUP_PARAMETERS | GroupParameters |
| typedef GroupParameters::Element | Element |
| typedef HMQV_Domain< GROUP_PARAMETERS, COFACTOR_OPTION, HASH > | Domain |
Public Member Functions | |
| HMQV_Domain (bool clientRole=true) | |
| HMQV_Domain (const GroupParameters ¶ms, bool clientRole=true) | |
| HMQV_Domain (BufferedTransformation &bt, bool clientRole=true) | |
| template<class T1 > | |
| HMQV_Domain (T1 v1, bool clientRole=true) | |
| template<class T1 , class T2 > | |
| HMQV_Domain (T1 v1, T2 v2, bool clientRole=true) | |
| template<class T1 , class T2 , class T3 > | |
| HMQV_Domain (T1 v1, T2 v2, T3 v3, bool clientRole=true) | |
| template<class T1 , class T2 , class T3 , class T4 > | |
| HMQV_Domain (T1 v1, T2 v2, T3 v3, T4 v4, bool clientRole=true) | |
| const GroupParameters & | GetGroupParameters () const |
| GroupParameters & | AccessGroupParameters () |
| CryptoParameters & | AccessCryptoParameters () |
| Retrieves a reference to Crypto Parameters. More... | |
| unsigned int | AgreedValueLength () const |
| return length of agreed value produced | |
| unsigned int | StaticPrivateKeyLength () const |
| return length of static private keys in this domain | |
| unsigned int | StaticPublicKeyLength () const |
| return length of static public keys in this domain | |
| void | GenerateStaticPrivateKey (RandomNumberGenerator &rng, byte *privateKey) const |
| generate static private key More... | |
| void | GenerateStaticPublicKey (RandomNumberGenerator &rng, const byte *privateKey, byte *publicKey) const |
| generate static public key More... | |
| unsigned int | EphemeralPrivateKeyLength () const |
| Provides the size of ephemeral private key. More... | |
| unsigned int | EphemeralPublicKeyLength () const |
| Provides the size of ephemeral public key. More... | |
| void | GenerateEphemeralPrivateKey (RandomNumberGenerator &rng, byte *privateKey) const |
| return length of ephemeral private keys in this domain | |
| void | GenerateEphemeralPublicKey (RandomNumberGenerator &rng, const byte *privateKey, byte *publicKey) const |
| return length of ephemeral public keys in this domain | |
| bool | Agree (byte *agreedValue, const byte *staticPrivateKey, const byte *ephemeralPrivateKey, const byte *staticOtherPublicKey, const byte *ephemeralOtherPublicKey, bool validateStaticOtherPublicKey=true) const |
| derive agreed value from your private keys and couterparty's public keys, return false in case of failure More... | |
Public Member Functions inherited from AuthenticatedKeyAgreementDomain | |
| virtual void | GenerateStaticKeyPair (RandomNumberGenerator &rng, byte *privateKey, byte *publicKey) const |
| Generate a static private/public key pair. More... | |
| virtual void | GenerateEphemeralKeyPair (RandomNumberGenerator &rng, byte *privateKey, byte *publicKey) const |
| Generate private/public key pair. More... | |
Public Member Functions inherited from KeyAgreementAlgorithm | |
| CryptoMaterial & | AccessMaterial () |
| Retrieves a reference to Crypto Parameters. More... | |
| const CryptoMaterial & | GetMaterial () const |
| Retrieves a reference to Crypto Parameters. More... | |
| virtual const CryptoParameters & | GetCryptoParameters () const |
| Retrieves a reference to Crypto Parameters. More... | |
Public Member Functions inherited from Algorithm | |
| Algorithm (bool checkSelfTestStatus=true) | |
| Interface for all crypto algorithms. More... | |
| virtual std::string | AlgorithmName () const |
| Provides the name of this algorithm. More... | |
| virtual std::string | AlgorithmProvider () const |
| Retrieve the provider of this algorithm. More... | |
Public Member Functions inherited from Clonable | |
| virtual Clonable * | Clone () const |
| Copies this object. More... | |
Hashed Menezes-Qu-Vanstone in GF(p)
This implementation follows Hugo Krawczyk's HMQV: A High-Performance Secure Diffie-Hellman Protocol. Note: this implements HMQV only. HMQV-C with Key Confirmation is not provided.
|
inlinevirtual |
Retrieves a reference to Crypto Parameters.
Implements KeyAgreementAlgorithm.
|
inlinevirtual |
generate static private key
Implements AuthenticatedKeyAgreementDomain.
|
inlinevirtual |
generate static public key
Implements AuthenticatedKeyAgreementDomain.
|
inlinevirtual |
Provides the size of ephemeral private key.
Implements AuthenticatedKeyAgreementDomain.
|
inlinevirtual |
Provides the size of ephemeral public key.
Implements AuthenticatedKeyAgreementDomain.
|
inlinevirtual |
derive agreed value from your private keys and couterparty's public keys, return false in case of failure
Implements AuthenticatedKeyAgreementDomain.
1.8.14