Crypto++  8.8
Free C++ class library of cryptographic schemes
mqv.cpp
1 // mqv.cpp - originally written and placed in the public domain by Wei Dai
2 // HMQV provided by Jeffrey Walton, Ray Clayton and Uri Blumenthal.
3 // FHMQV provided by Uri Blumenthal.
4 
5 #include "pch.h"
6 #include "config.h"
7 #include "mqv.h"
8 #include "hmqv.h"
9 #include "fhmqv.h"
10 #include "eccrypto.h"
11 
12 // Squash MS LNK4221 and libtool warnings
13 extern const char MQV_FNAME[] = __FILE__;
14 
15 NAMESPACE_BEGIN(CryptoPP)
16 
17 #if defined(CRYPTOPP_DEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING)
18 void TestInstantiations_MQV()
19 {
20  MQV mqv;
21  ECMQV<ECP> ecmqv;
22 
23  CRYPTOPP_UNUSED(mqv);
24  CRYPTOPP_UNUSED(ecmqv);
25 }
26 
27 void TestInstantiations_HMQV()
28 {
29  HMQV hmqv;
30  ECHMQV<ECP> echmqv;
31 
32  CRYPTOPP_UNUSED(hmqv);
33  CRYPTOPP_UNUSED(echmqv);
34 }
35 
36 void TestInstantiations_FHMQV()
37 {
38  FHMQV fhmqv;
39  ECFHMQV<ECP> ecfhmqv;
40 
41  CRYPTOPP_UNUSED(fhmqv);
42  CRYPTOPP_UNUSED(ecfhmqv);
43 }
44 #endif
45 
46 NAMESPACE_END
Fully Hashed Menezes-Qu-Vanstone in GF(p)
Definition: fhmqv.h:25
Hashed Menezes-Qu-Vanstone in GF(p)
Definition: hmqv.h:24
MQV domain for performing authenticated key agreement.
Definition: mqv.h:29
Library configuration file.
Classes and functions for Elliptic Curves over prime and binary fields.
Classes for Fully Hashed Menezes-Qu-Vanstone key agreement in GF(p)
Classes for Hashed Menezes-Qu-Vanstone key agreement in GF(p)
Classes for Menezes–Qu–Vanstone (MQV) key agreement.
Crypto++ library namespace.
Precompiled header file.
Fully Hashed Elliptic Curve Menezes-Qu-Vanstone.
Definition: eccrypto.h:308
Hashed Elliptic Curve Menezes-Qu-Vanstone.
Definition: eccrypto.h:290
Elliptic Curve Menezes-Qu-Vanstone.
Definition: eccrypto.h:278