攻防世界Crypto - easy_rsa

攻防世界Crypto - easy_rsa

从今天开始,把RSA的题目刷一刷,每次做题总有RSA的题目,是时候该补补课了。

RSA原理

简单的rsa题目,但是首先应该明白什么是RSA
rsa中涉及到的运算
N=pq
r=(p-1)
(q-1)
r与e互质
d*e%r=1

其中n e为公匙,d为私钥

传送过程中33^e%N =c

传送发送秘钥c
解密
c^d%n=加密的数字

解题步骤


在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=17
求解出d
通过刚才的分析,这个题目相对就比较简单了,按照逻辑编写脚本

import gmpy2
# 在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=17
# 求解出d
p=473398607161
q=4511491
e=17
n=p*q
r=(p-1)*(q-1)
d=gmpy2.invert(e,r)
print(d)

通过脚本获取到flag,根据相关题目要求提交即可。其中需要解释的是gmpy2.invert(e,r)函数,在本题目中,这个函数的作用是计算这个公式:d为未知数 d*e%r=1 已知er求d。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值