from binascii import unhexlify from operator import mul from functools import reduce def egcd(a, b): if a == 0: return (b, 0, 1) else: g, y, x = egcd(b % a, a) return (g, x - (b // a) * y, y) def inverse_mod(a, m): g, x, y = egcd(a, m) if g != 1: raise Exception('modular inverse does not exist') else: return x % m def NumToBytes(n): return unhexlify(hex(n)[2:]) def FuckRsaFactored(primes,n,c,e): d = inverse_mod(e, reduce(mul, [i-1 for i in primes])) m = pow(c,d,n) return m
SageMath
from binascii import unhexlify from operator import mul def NumToBytes(n): return unhexlify(hex(n)[2:]) def FuckRsaFactored(primes,n,c,e): d = inverse_mod(e, reduce(mul, [i-1 for i in primes])) m = pow(c,d,n) return m