朋友打的24年9月份泰山杯CTF rsa 解密题目专业是做信息安全的但是这道题目研究了三天两夜实在打不出来,求助会的大佬帮忙解惑,不要思路,要实现。
题目名称:深度优先BD
题目类型:Crypto
代码:
from Crypto.Util.number import *
from random import getrandbits
from lov2add import flag
q = getPrime(512)
p = getPrime(512)
N = q*p
phi = (q-1)*(p-1)
d = getPrime(310)
e = inverse(d, phi)
m = bytes_to_long(flag.encode())
c = pow(m, e, N)
"""
hint = 919118994544561119625384641331802076366992212934315033164233
N = 103829048158160832215258987334385867596066226043333295400860873147858761283154731897842245860327785740907161723664642019424631459920562715637696321863520223667361351257635058965133109740494062662325562167863537646588986713618382677415858457217642967462448622830068746994527587611607492448560544918384160375433
e = 12006034401081780047527112998184071966116941305225832312176420703493369950140344171554961743366487565062457093534722085148183145586849697953740524174746707073874029899170877668506479170894060781507392995874778817358605837989475324147666612456986193986170962139792852696257350027598512378514936841123817466949
c = 8274541264859141284106615446298875681572617960162218365532767921458680959749204527380386812369882711692102267769655059284189437072951903805224666333651448608610190899215266044079260177276226199100660473155934540373451832320727201678014931045320646171845465
"""
q泄露了一部分,但是不够多,够多的话,用铜匠算法直接就能打,e很大要么是winner攻击,要么用Sage跑BonehDurfee。
题目叫做深度优先BD,我感觉大概率还是使用BonehDurfee算法构造格来打