def n2s(num): t = hex(num)[2:] if len(t) % 2 == 1: return ('0'+t).decode('hex') return t.decode('hex')
c = int(open('flag.enc','rb').read().encode('hex'),16) # 密文 c p = 275127860351348928173285174381581152299 # 分解后的素数 p q = 319576316814478949870590164193048041239 # 分解后的素数 q n = p*q # 公钥 N
# 根据中国剩余定理求解相应明文 r = pow(c,(p+1)/4,p) s = pow(c,(q+1)/4,q) a = gmpy.invert(p,q) b = gmpy.invert(q,p) x =(a*p*s+b*q*r)%n y =(a*p*s-b*q*r)%n