aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/if_algo.cpp5
-rw-r--r--src/pk_core.cpp6
2 files changed, 6 insertions, 5 deletions
diff --git a/src/if_algo.cpp b/src/if_algo.cpp
index 4e64e82ae..209c51c46 100644
--- a/src/if_algo.cpp
+++ b/src/if_algo.cpp
@@ -158,7 +158,7 @@ PKCS8_Decoder* IF_Scheme_PrivateKey::pkcs8_decoder()
*************************************************/
void IF_Scheme_PublicKey::X509_load_hook()
{
- core = IF_Core(e, n);
+ core = IF_Core(global_state().prng_reference(), e, n);
load_check(global_state().prng_reference());
}
@@ -172,7 +172,8 @@ void IF_Scheme_PrivateKey::PKCS8_load_hook(bool generated)
if(d2 == 0) d2 = d % (q - 1);
if(c == 0) c = inverse_mod(q, p);
- core = IF_Core(e, n, d, p, q, d1, d2, c);
+ core = IF_Core(global_state().prng_reference(),
+ e, n, d, p, q, d1, d2, c);
if(generated)
gen_check(global_state().prng_reference());
diff --git a/src/pk_core.cpp b/src/pk_core.cpp
index 4c76716f2..6d02c1cd3 100644
--- a/src/pk_core.cpp
+++ b/src/pk_core.cpp
@@ -22,7 +22,8 @@ const u32bit BLINDING_BITS = BOTAN_PRIVATE_KEY_OP_BLINDING_BITS;
/*************************************************
* IF_Core Constructor *
*************************************************/
-IF_Core::IF_Core(const BigInt& e, const BigInt& n, const BigInt& d,
+IF_Core::IF_Core(RandomNumberGenerator& rng,
+ const BigInt& e, const BigInt& n, const BigInt& d,
const BigInt& p, const BigInt& q,
const BigInt& d1, const BigInt& d2, const BigInt& c)
{
@@ -30,8 +31,7 @@ IF_Core::IF_Core(const BigInt& e, const BigInt& n, const BigInt& d,
if(d != 0)
{
- BigInt k = random_integer(global_state().prng_reference(),
- std::min(n.bits()-1, BLINDING_BITS));
+ BigInt k = random_integer(rng, std::min(n.bits()-1, BLINDING_BITS));
if(k != 0)
blinder = Blinder(power_mod(k, e, n), inverse_mod(k, n), n);
}