summaryrefslogtreecommitdiff
path: root/validat8.cpp
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2019-08-27 06:10:38 -0400
committerJeffrey Walton <noloader@gmail.com>2019-08-27 06:10:38 -0400
commit90b0699eddbe73ab08c7a9aa08b8cf07708e2097 (patch)
tree4c66c17248841fba3b1b4b77de0599c0968a54de /validat8.cpp
parente06e3bd7a998662fc2b12fd258ae5880537665b5 (diff)
downloadcryptopp-git-90b0699eddbe73ab08c7a9aa08b8cf07708e2097.tar.gz
Add private key test data for ElGamal
Diffstat (limited to 'validat8.cpp')
-rw-r--r--validat8.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/validat8.cpp b/validat8.cpp
index 7396bc79..8f84d680 100644
--- a/validat8.cpp
+++ b/validat8.cpp
@@ -307,8 +307,6 @@ bool ValidateElGamal()
bool pass = true;
{
// Data from https://github.com/weidai11/cryptopp/issues/876.
- // The interesting thing about this data is, the public key
- // has 3 ASN.1 Integer types, and not 4 Integer types.
const std::string encodedPublicKey =
"MHYwTwYGKw4HAgEBMEUCIQDebUvQDd9UPMmD27BJ ovZSIgWfexL0SWkfJQPMLsJvMwIgDy/kEthwO6Q+"
"L8XHnzumnEKs+txH8QkQD+M/8u82ql0DIwACIAY6 rfW+BTcRZ9QAJovgoB8DgNLJ8ocqOeF4nEBB0DHH";
@@ -316,10 +314,21 @@ bool ValidateElGamal()
ElGamal::PublicKey publicKey;
publicKey.Load(decodedPublicKey);
-
pass = publicKey.Validate(GlobalRNG(), 3) && pass;
}
{
+ // Data from https://github.com/weidai11/cryptopp/issues/876.
+ const std::string encodedPrivateKey =
+ "MHkCAQAwTwYGKw4HAgEBMEUCIQDebUvQDd9UPMmD 27BJovZSIgWfexL0SWkfJQPMLsJvMwIgDy/kEthw"
+ "O6Q+L8XHnzumnEKs+txH8QkQD+M/8u82ql0EIwIh AJb0S4TZLvApTVjXZyocPJ5tUgWgRqScXm5vNqu2"
+ "YqdM";
+ StringSource decodedPrivateKey(encodedPrivateKey, true, new Base64Decoder);
+
+ ElGamal::PrivateKey privateKey;
+ privateKey.Load(decodedPrivateKey);
+ pass = privateKey.Validate(GlobalRNG(), 3) && pass;
+ }
+ {
FileSource fc(DataDir("TestData/elgc1024.dat").c_str(), true, new HexDecoder);
ElGamalDecryptor privC(fc);
ElGamalEncryptor pubC(privC);