#include "os.h"
#include <mp.h>
#include <libsec.h>

/*  generate a probable prime.  accuracy is the miller-rabin interations */
void
genprime(mpint *p, int n, int accuracy)
{
	mpdigit x;

	/* generate n random bits with high and low bits set */
	mpbits(p, n);
	genrandom((uchar*)p->p, (n+7)/8);
	p->top = (n+Dbits-1)/Dbits;
	x = 1;
	x <<= ((n-1)%Dbits);
	p->p[p->top-1] &= (x-1);
	p->p[p->top-1] |= x;
	p->p[0] |= 1;

	/* keep icrementing till it looks prime */
	for(;;){
		if(probably_prime(p, accuracy))
			break;
		mpadd(p, mptwo, p);
	}
}
