Cryptography, Cybersecurity, Rsa.
print("\n\nAnswer:") x=PolynomialRing(Zmod(N),"x").gen(); f=x+hint; sr=f.small_roots(beta=0.5) if sr: kp=hint+sr[0]; p=gcd(N,kp) print (f"\nDiscovered p={p}") d = ZZr(e)^-1 m=C^d print ("m=",m) else: print ("\nfail!") print ("\n\nChecking answer") print ("p=",p) print ("q=",q) print ("m=",m) A