https://github.com/CryptDB/cryptdb
Tip revision: 7678bc98d3054f1418371779c6d1050cd1a88b2e authored by Raluca Ada Popa on 04 January 2014, 01:31:06 UTC
small changes to readme
small changes to readme
Tip revision: 7678bc9
prng.cc
#include <crypto/prng.hh>
using namespace NTL;
ZZ
PRNG::rand_zz_nbits(size_t nbits)
{
if (nbits == 0)
return to_ZZ(0);
uint8_t buf[(nbits + 7) / 8];
rand_bytes(sizeof(buf), buf);
ZZ r = ZZFromBytes(buf, sizeof(buf));
SetBit(r, nbits - 1);
return r;
}
ZZ
PRNG::rand_zz_prime(size_t nbits)
{
for (;;) {
ZZ r = rand_zz_nbits(nbits);
SetBit(r, 0);
// XXX assume ProbPrime is perfect
if (ProbPrime(r, 10))
return r;
}
}