无需爆破e
pow(2,dp*e,p)==2
pow(2,dp*e,n)-2==kp
m%n同余m%p
m%n同余m%q
1≡e*dp≡ed(mod p-1)
pow(2,p-1,p)==1
from Crypto.Util.number import *
e = 65537
dp= 5892502924236878675675338970704766304539618343869489297045857272605067962848952532606770917225218534430490745895652561015493032055636004130931491316020329
n= 50612159190225619689404794427464916374543237300894011803225784470008992781409447214236779975896311093686413491163221778479739252804271270231391599602217675895446538524670610623369953168412236472302812808639218392319634397138871387898452935081756580084070333246950840091192420542761507705395568904875746222477
c= 39257649468514605476432946851710016346016992413796229928386230062780829495844059368939749930876895443279723032641876662714088329296631207594999580050131450251288839714711436117326769029649419789323982613380617840218087161435260837263996287628129307328857086987521821533565738409794866606381789730458247531619
p=GCD(pow(2,dp*e,n)-2,n)
print('test:',n%GCD(pow(2,dp*e-1,n)-1,n))
q=n//p
phi=(p-1)*(q-1)
d=inverse(e,phi)
m=pow(c,d,n)
print(long_to_bytes(m))