Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def gen_pubkey(e, p):
- assert gmpy.is_prime(p) != 0
- B = bin(p).strip('0b')
- k = random.randrange(len(B))
- k, l = min(k, len(B) - k), max(k, len(B) - k)
- assert k != l
- BB = B[:k] + str(int(B[k]) ^ 1) + B[k+1:l] + str(int(B[l]) ^ 1) + B[l+1:]
- q = gmpy.next_prime(int(BB, 2))
- assert p != q
- n = p*q
- key = RSA.construct((long(n), long(e)))
- pubkey = key.publickey().exportKey("PEM")
- return n, p, q, pubkey
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement