def test_primes(): p = primes(100000) assertEqual(p[0], 2) assertEqual(len(p), 9592) assertEqual(p[9591], 99991) # 9592th prime number assertRaises(TypeError, primes, "") assertEqual(primes(-1), []) assertEqual(primes(1), []) assertRaises(TypeError, primes, 1000000, "fake")
def test_primes(self): p = primes(100000) self.assertEqual(p[0], 2) self.assertEqual(len(p), 9592) self.assertEqual(p[9591], 99991) # 9592th prime number self.assertRaises(TypeError, primes, "") self.assertEqual(primes(-1), []) self.assertEqual(primes(1), []) self.assertRaises(TypeError, primes, 1000000, "fake")
def test_primes(self): for method in (None, "Eratosphen sieve"): p = libnum.primes(100000, method=method) self.assertEqual(p[0], 2) self.assertEqual(len(p), 9592) self.assertEqual(p[9591], 99991) # 9592th prime number self.assertRaises(TypeError, libnum.primes, "") self.assertEqual(libnum.primes(-1), []) self.assertEqual(libnum.primes(1), []) self.assertRaises(TypeError, libnum.primes, 1000000, "fake")
def smallq(N): log.debug('factor N: try small q') # Try an attack where q < 100,000, from BKPCTF2016 - sourcekris for prime in libnum.primes(100000): if N % prime == 0: q = prime p = N / q return p, q
def do_test_prime_test(self, func): for p in (3, 1993, 17333, 1582541, 459167430810992879232575962113190418519): self.assertTrue(func(p, 50)) for p in primes(1000): self.assertTrue(func(p, 50)) for not_p in (4, 1994, 1995, 16231845893292108971): self.assertFalse(func(not_p, 50)) self.assertRaises(TypeError, func, "test")
def do_test_prime_test(func): for p in (3, 1993, 17333, 1582541, 459167430810992879232575962113190418519): assertTrue(func(p, 50)) for p in primes(1000): assertTrue(func(p, 50)) for not_p in (4, 1994, 1995, 16231845893292108971): assertFalse(func(not_p, 50)) assertRaises(TypeError, func, "test")
import libnum, string n = 0x219cc6aa0ec13d041c4971 m = 0xac470f7350ea67d7a0696 p = 1398023584459 q = 29065965967667 tot = (p-1)*(q-1) for e in libnum.primes(10000000): if tot % e != 0: d = libnum.invmod(e,tot) s = libnum.n2s(pow(m,d,n)) noprint = False for c in s: if c not in string.printable: noprint = True break if not noprint: print s