diff --git a/ipcl/keygen.cpp b/ipcl/keygen.cpp index 3d5b6d0..ecd1de6 100644 --- a/ipcl/keygen.cpp +++ b/ipcl/keygen.cpp @@ -19,14 +19,13 @@ BigNumber getPrimeBN(int max_bits) { Ipp8u* rand_param = NULL; constexpr int seed_size = 160; auto buff = std::vector(prime_size); + if (kRNGenType == RNGenType::PSEUDO) { rand_param = buff.data(); ippsPRNGInit(seed_size, reinterpret_cast(rand_param)); - auto seed = std::vector(seed_size); - rand32u(seed); - BigNumber seed_bn(seed.data(), seed_size, IppsBigNumPOS); - ippsPRNGSetSeed(BN(seed_bn), reinterpret_cast(rand_param)); + BigNumber seed = getRandomBN(seed_size); + ippsPRNGSetSeed(seed, reinterpret_cast(rand_param)); } BigNumber prime_bn(0, max_bits / 8);