Crypto++ 8.2 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
fhmqv.h
Classes for Fully Hashed Menezes-Qu-Vanstone key agreement in GF(p)
FHMQV_Domain
Fully Hashed Menezes-Qu-Vanstone in GF(p)
Definition: fhmqv.h:24
ECFHMQV
Fully Hashed Elliptic Curve Menezes-Qu-Vanstone.
Definition: eccrypto.h:307
HMQV_Domain
Hashed Menezes-Qu-Vanstone in GF(p)
Definition: hmqv.h:23
config.h
Library configuration file.
hmqv.h
Classes for Hashed Menezes-Qu-Vanstone key agreement in GF(p)
MQV_Domain
MQV domain for performing authenticated key agreement.
Definition: mqv.h:28
ECHMQV
Hashed Elliptic Curve Menezes-Qu-Vanstone.
Definition: eccrypto.h:289
ECMQV
Elliptic Curve Menezes-Qu-Vanstone.
Definition: eccrypto.h:277
pch.h
Precompiled header file.
eccrypto.h
Classes and functions for Elliptic Curves over prime and binary fields.
CryptoPP
Crypto++ library namespace.
mqv.h
Classes for Menezes–Qu–Vanstone (MQV) key agreement.