- 博客(4)
- 收藏
- 关注
原创 NexHuntCTF2025-Crypto-X_O
分析题目,自定义了RSA加密中的指数e,满足即加密指数e只会是类似0b1111111...这样的数继续分析,进行了p,q的生成,然后进行标准RSA加密,并将n和加密得到的c输出出来其中,p,q的生成值得注意返回的p,q满足关系q=~p(p按二进制位取反)+31337已知n,可以通过解方程得到p的值,n=p*q-->p^2 - (2^1024 + 31336) p + n = 0,进而分解n分解n后注意到加密指数e并未给出,因此需要对e进行爆破求解e的生成其中i在爆破范围内遍历。
2025-12-14 21:49:49
351
原创 XYCTF 2024 CRYPTO wp2
gift1=(p**e-q**e)%n(模数相同), gift2=(p**e+q**e)%n(二项式展开),得到(gift1+gift2)/2=p**e%n。观察题目,除p,q,e,d之外没有其他关于flag的信息,即需要求出p+q的值再代入flag生成式。已知p*q,e,而e是由p,q的信息生成的,因此将e视作密文,先处理p*q。知道乘法逆元的结果和与模数相关的信息求模数,可以使用连分数求解p+q。出现了四个值,没办法,只能每个都当目标值(p**3 - 1) * (q**3 - 1)试一下。
2024-05-02 03:31:45
669
2
原创 XYCTF 2024 CRYPTO wp1
观察题目,在基础rsa上仅增加获得质数的方式get_happy_prime,从中得到线索q为p的512位全部取反。基础rsa解密需要d,已经给出e,也就是还需要phi,而phi=(p-1)(q-1)=n+1-(p+q),即需要p+q,由取反可知p+q=2**512-1,512为数字位数。加密程序是按位置值进行加法后取模,于是反向得到解密方案即按位加上(10-位置值)后再对10取模,接着利用现成的翻转函数,从而得到填充后的二进制数。声明:可能有些操作并非最优解,仅提供一种可行思路,勿喷。
2024-04-30 14:34:42
696
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅