from sympy import mod_inverse from Crypto.Util.number import *
defdecrypt(c, p, k, D): m = 0 B = 1 C = pow(c, (p - 1) // (2**k), p) for j inrange(1, k): z = pow(C, 2**(k-j), p) if z != 1: m += B C = (C * D) % p B <<= 1# B = 2 * B D = (D * D) % p if C != 1: m += B return m
q = 863327174253852394776516978368858092781662547 p = 628729403897154553626034231171921094272614401 n = 542799179636839492268900255776759322356188435185061417388485378278779491236741777034539347 y = 304439269593920283890993394966761083993573819485737741439790516965458877720153847056020690 k = 79