Crypto++  8.3
Free C++ class library of cryptographic schemes
elgamal.cpp
1 // elgamal.cpp - originally written and placed in the public domain by Wei Dai
2 
3 #include "pch.h"
4 #include "elgamal.h"
5 #include "asn.h"
6 #include "nbtheory.h"
7 
8 // Squash MS LNK4221 and libtool warnings
9 extern const char ELGAMAL_FNAME[] = __FILE__;
10 
11 NAMESPACE_BEGIN(CryptoPP)
12 
13 #if defined(CRYPTOPP_DEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING)
14 void ElGamal_TestInstantiations()
15 {
16  ElGamalEncryptor test1(1, 1, 1);
17  ElGamalDecryptor test2(NullRNG(), 123);
18  ElGamalEncryptor test3(test2);
19 }
20 #endif
21 
22 NAMESPACE_END
nbtheory.h
Classes and functions for number theoretic operations.
elgamal.h
Classes and functions for ElGamal key agreement and encryption schemes.
pch.h
Precompiled header file.
asn.h
Classes and functions for working with ANS.1 objects.
CryptoPP
Crypto++ library namespace.
NullRNG
CRYPTOPP_DLL RandomNumberGenerator &CRYPTOPP_API NullRNG()
Random Number Generator that does not produce random numbers.
Definition: cryptlib.cpp:400
PK_FinalTemplate
Template implementing constructors for public key algorithm classes.
Definition: pubkey.h:2188