buu [INSHack2017]rsa16m

该博客讨论了一种极端情况,即为了确保最高级别的安全性,使用了16777216位的RSA密钥来加密传输核发射代码。通过介绍一个Python脚本,演示了解密这个超大密钥的过程,利用低密度指数攻击方法,成功地将加密信息还原。这种方法展示了在理论上的加密安全性与实际操作之间的平衡。
摘要由CSDN通过智能技术生成
When you need really secure communications, you use RSA with a 4096 bit key. <br>
I want really really really secure communications to transmit the nuclear launch codes (yeah IoT is everywhere man) so I used RSA with a 16777216 bit key. Surely russians will not be able to factor that one ! <br>
File md5 : 1049a0c83a2e34760363b4ad9778753f

首先,我们审计题目并打开题目给与我们的数据文件,我们可以发现题目给了我们一个非常的大的n,以及e=65537,其中,n值为一个2^4096级的数。所以,我们可以推断此题为低密度指数攻击,直接将n开方即可:(我认为重点在于考察将含有n的文件引入python中)

import gmpy2
with open('C:\\rsa_16m',"r") as f:
    f.readline()
    c=int(f.readline().strip("\n").split("=")[1],16)
import libnum
e=65537
m=gmpy2.iroot(c,e)[0]
print(libnum.n2s(int(m)))
f.close()

运行exp后得到解:

b'INSA{(I)NSA_W0uld_bE_pr0uD}'

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值