def test_next_prime(self): # Test prime factorization for number 3 self.assertEqual(next_prime(3), 5) # Test prime factorization for number 28 self.assertEqual(next_prime(14), 17) # Test prime factorization for number 28 self.assertEqual(next_prime(24), 29)
def gennext(self): rnd = rndgen(int.from_bytes(self.seed.tobytes(), byteorder='big')) num = int(rnd.randint(self.minval, self.maxval, dtype=int64)) xorshift = next_prime(abs(num)) if xorshift > self.maxval: xorshift %= self.maxval xorshift = next_prime(xorshift) xorshift %= len(self.mainseed) xorwith = bitarray(endian='big') xorwith.frombytes((num & 0xffffffffffffffff).to_bytes(8, byteorder='big')) self.mainseed = cyclicxor(self.mainseed, xorwith, xorshift) xorsz = rnd.randint(1, 9) xorspace = rnd.randint(1, 9) baseloc = rnd.randint(len(self.mainseed)) self.newseed(baseloc, xorsz, xorspace) return num
def pick_p(vss_q,n=0): '''find nearest prime greater than n such that p|(q-1), field for commitments''' global vss_p s = vss_q i = 2 while True: p = nextprime.next_prime(s) if (p-1) % vss_q == 0: vss_p = p return vss_p else: i += 1 s *= i
def pick_q(n): '''find nearest prime greater than n, field for polynomial''' global vss_q vss_q = nextprime.next_prime(n)
def init(n): '''generate prime group with order > n''' p = nextprime.next_prime(n) return n
def init(n): '''generate prime group with order > n, returns [group_size,generator]''' p = nextprime.next_prime(n) g = random.randrange(2, p - 1) return n #assuming g is as generated in Threshold RSA