diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/if_algo.cpp | 5 | ||||
-rw-r--r-- | src/pk_core.cpp | 6 |
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); } |