示例#1
0
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")
示例#2
0
    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")
示例#3
0
 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")
示例#4
0
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
示例#5
0
    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")
示例#6
0
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")
示例#7
0
文件: rsa.py 项目: benwaffle/ctf
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