BugkuCTF-Crypto题rsa

这篇博客介绍了如何利用RsaCtfTool解决BugkuCTF中的一道Crypto题目,涉及RSA加密和Wiener攻击。在给定的n和e值下,通过Wiener攻击找到私钥d,从而解密密文获取flag。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解题流程

在这里插入图片描述
n,e已经给出,可以看出e特别大,在e特别大的情况下,可以使用wiener attack的方法进行破解,正好工具RsaCtfTool集成了wiener attack的方法,所以可以直接使用RsaCtfTool计算私钥。

典型的rsa…
密钥的产生:
选两个满足需要的大素数p和q,计算n= p x q, φ(n) = (p - 1) x (q - 1),其里φ(n)是n的欧拉函数值。
选一个整数e,满足1< e < φ \varphi φ,且gcd(φ(n), e) = 1。通过d x e ≡ 1 mod φ(n),计算得出d。
以{ e,n }为公开密钥,{d, n }为私钥。

加解密都为模幂运算
加密:c = m^e mod n,即得到密文 c
解密:m = c^d mod n,即得到明文m

分析

题里给了 n即由两个大素数p x q得到的, e, 以及密文enc,也就是给了{e,n }公开密钥以及密文,我们需要的目标是要获得明文。
通过解密算法我们知道,对于m = c^d mod n,m是我们想要获取的,c为密文,n也是已知的,然而d是不知道的,目标就是要获取d,该题因为n和e是同数量级的,证明d会很小。

解决方案</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值