aboutsummaryrefslogtreecommitdiffstats
path: root/checks
diff options
context:
space:
mode:
authorlloyd <[email protected]>2008-06-20 11:39:33 +0000
committerlloyd <[email protected]>2008-06-20 11:39:33 +0000
commit770a9850f1a7c6c65b0316503b99798a6ff910dd (patch)
tree8e10281d15a1095b2151a1d1482898d75251589f /checks
parent8f32a90b0aa6ab873c1d5337947e3642c640e3a4 (diff)
Consolidate the two DH_PrivateKey constructors into a single one taking
a RNG reference, a group, and an (optional) private key. The public key is now always rederived from the private.
Diffstat (limited to 'checks')
-rw-r--r--checks/pk.cpp30
-rw-r--r--checks/pk_bench.cpp4
2 files changed, 20 insertions, 14 deletions
diff --git a/checks/pk.cpp b/checks/pk.cpp
index 8498c8291..93007c8d8 100644
--- a/checks/pk.cpp
+++ b/checks/pk.cpp
@@ -427,9 +427,11 @@ u32bit validate_dh(const std::string& algo,
if(str.size() != 5 && str.size() != 6)
throw Exception("Invalid input from pk_valid.dat");
+ RandomNumberGenerator& rng = global_state().prng_reference();
+
DL_Group domain(to_bigint(str[0]), to_bigint(str[1]));
- DH_PrivateKey mykey(domain, to_bigint(str[2]), 0);
+ DH_PrivateKey mykey(rng, domain, to_bigint(str[2]));
DH_PublicKey otherkey(domain, to_bigint(str[3]));
std::string kdf = algo.substr(3, std::string::npos);
@@ -452,10 +454,12 @@ u32bit validate_dlies(const std::string& algo,
if(str.size() != 6)
throw Exception("Invalid input from pk_valid.dat");
+ RandomNumberGenerator& rng = global_state().prng_reference();
+
DL_Group domain(to_bigint(str[0]), to_bigint(str[1]));
- DH_PrivateKey from(domain, to_bigint(str[2]), 0);
- DH_PrivateKey to(domain, to_bigint(str[3]), 0);
+ DH_PrivateKey from(rng, domain, to_bigint(str[2]));
+ DH_PrivateKey to(rng, domain, to_bigint(str[3]));
const std::string opt_str = algo.substr(6, std::string::npos);
@@ -485,32 +489,34 @@ void do_pk_keygen_tests()
/* Putting each key in a block reduces memory pressure, speeds it up */
#define IF_SIG_KEY(TYPE, BITS) \
{ \
- TYPE key(BITS, global_state().prng_reference()); \
- key.check_key(global_state().prng_reference(), true); \
+ TYPE key(BITS, rng); \
+ key.check_key(rng, true); \
std::cout << '.' << std::flush; \
}
#define DL_SIG_KEY(TYPE, GROUP) \
{ \
- TYPE key(DL_Group(GROUP), global_state().prng_reference()); \
- key.check_key(global_state().prng_reference(), true); \
+ TYPE key(DL_Group(GROUP), rng); \
+ key.check_key(rng, true); \
std::cout << '.' << std::flush; \
}
#define DL_ENC_KEY(TYPE, GROUP) \
{ \
- TYPE key(DL_Group(GROUP), global_state().prng_reference()); \
- key.check_key(global_state().prng_reference(), true); \
- std::cout << '.' << std::flush; \
+ TYPE key(DL_Group(GROUP), rng); \
+ key.check_key(rng, true); \
+ std::cout << '.' << std::flush; \
}
#define DL_KEY(TYPE, GROUP) \
{ \
- TYPE key(DL_Group(GROUP), global_state().prng_reference()); \
- key.check_key(global_state().prng_reference(), true); \
+ TYPE key(rng, DL_Group(GROUP)); \
+ key.check_key(rng, true); \
std::cout << '.' << std::flush; \
}
+ RandomNumberGenerator& rng = global_state().prng_reference();
+
IF_SIG_KEY(RSA_PrivateKey, 1024);
IF_SIG_KEY(RW_PrivateKey, 1024);
diff --git a/checks/pk_bench.cpp b/checks/pk_bench.cpp
index d00130ebd..8daa1fe91 100644
--- a/checks/pk_bench.cpp
+++ b/checks/pk_bench.cpp
@@ -108,8 +108,8 @@ void bench_pk(const std::string& algo, bool html, double seconds)
{
const std::string len_str = to_string(keylen[j]);
- DH_PrivateKey key("modp/ietf/" + len_str,
- global_state().prng_reference());
+ DH_PrivateKey key(global_state().prng_reference(),
+ "modp/ietf/" + len_str);
bench_kas(get_pk_kas(key, "Raw"), "DH-" + len_str, seconds, html);
}