Skip to content

Instantly share code, notes, and snippets.

@Diapolo10
Created February 15, 2021 20:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Diapolo10/19ad4eb7c2eee2c04e73f04442d31241 to your computer and use it in GitHub Desktop.
Save Diapolo10/19ad4eb7c2eee2c04e73f04442d31241 to your computer and use it in GitHub Desktop.
RSA prime pair bruteforce searcher
#!/usr/bin/env python3
from typing import Optional, List, Generator
def prime_gen(limit: Optional[int]=None) -> Generator[int, None, None]:
"""Generates prime numbers with an optional upper limit"""
primes = [2]
n = 3
while limit is None or limit >= n:
for prime in primes:
if n % prime == 0:
break
else:
yield primes[-1]
primes.append(n)
n += 2
def test_pq(n: int):
"""Returns all pairs of primes that can form n via multiplication."""
results = []
for first in prime_gen():
for second in prime_gen():
if first * second >= n:
break
if first * second == n:
results.append((first, second))
if first > n//2:
break
return results
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment