# bytes_to_long()函数,把字母转成数字 m = bytes_to_long(b'**********************************')
# 生成两个随机的素数,取名p和q e = 65537 p = getPrime(512) q = getPrime(512)
# 计算p乘q n = p*q
# RSA加密,pow()实现了次幂运算,第三个参数是模数,例如pow(2,4,3)=(2*2*2*2) % 3 = 1 c = pow(m, e, n)
# 输出p、q、c print(p, q, c)
# 下面是解密代码,当你配好所需要的python环境后,上网自行搜索RSA解密的步骤,补全代码进行解密 p = 11272029161810989637077873599019496877008218675207504587156140192021377360482704022176035187554108368278190548694137066116291687848811218316609251992398531 q = 8907273588185400007517004981004813156071713948292117095141121709405743482454098895087505262599398998351848699006495710441163005192326918043131527773275261 n = p*q e = 65537
d =86878502655260118864644922031588477057410536348819682235197775008566666793725177071665880121392724687843582788113205748413157483597543224904923252083988393307886889482606627681815785098540071203174556413083407356299373068894395628419702691762298577890184942379591377595895204260258458213890493837578458778073 c = 59456089016060766225332390698350903116623033134514592830079717766948507914949032997169195220803642273910722815705790231122189278462009688705900558121892002228836045157732582528181395382772779860190430228823868911649968133987708461443646703064201375236983090379446718660629027030001866595377945046940440636896 print(long_to_bytes(pow(c, d, n)))
安装好所对应的库之后,掏出我们的
一个个输进去就能解出flag了
X^2-RSA
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
from Crypto.Util.number import * import gmpy2
p = getPrime(512) q = getPrime(512) e = getPrime(512) n = p*q c = pow(bytes_to_long(flag), e, n) gift1 = p+q gift2 = e**2 % p
n = 119599732159422912237126092503633593127444912729791769936188025920440247693519660056564377003327876458608897540804699714727762677074095341934117636626737553788910255544086673845028462552403437563867021138226332533523261069120346290748100178821888057505879672808893138750370221354811388445573458187283950529329 c = 26993320920246459282903918258141924700555534517795083322600888678032578078748098842182757614410623183383625789026194273160849599428611123639374938192451695449150144414006335708435850583611654329589400433382496740881780217929655022786322641976440238749489472351300088441838107888022748740774750642665176409512 gift1 = 21880888517757890831027504308354774959604394643578725603877760598995238359425630435298497116759287279215040830436678520457866585439083039292573782745193150 gift2 = 10396530748040666625822969282831155457018939705806203185375728535142910851038248041763489482743937736843953702379394388895553869400661190661679347693932652