现代密码学大作业

  前两次作业时间太久了,找不到了(

  所以只放了最后一次大作业上来,附件都在github上

题目:RSA大礼包

摘要:

RSA算法是现在使用最广泛的公钥密码体制之一,其体制基于大数分解的困难性而设计,以安全性高独树一帜。本文通过对21个加密数据进行数据分类和分析,采用了共计五种方法成功解出大部分密文,并通过英语语义分析猜测并验证了剩下的明文,实现了对明文信息的破译。本文用到的破解方法基本上都是RSA密文破解的常规思路,将在正文中逐个分析。

题目描述

题目是2016年全国高校密码数学挑战赛的赛题三——RSA加密体制破译。RSA算法只需要选择5个参数(N,p,q,e,d),简单且易于实现,而且破解难度比较大。1024bit的N理论上是安全的,但其他参数可能会带来安全隐患。题目大致为一个RSA加解密软件,已知该软件发送某个明文的所有参数和加密过程全部数据,并给出了21个Frame,挑战者要通过加密数据恢复这21个帧,并得到通关密语。

过程

根据对密文的分析,我们可以通过以下几个步骤解密:

首先遍历所有帧的N,如果有相同N的情况且加密片段相同,则使用共模攻击;

再遍历所有帧N的公因数,若不为1则可以将这两个N成功分解(因数碰撞);

遍历e,检测是否存在低指数广播攻击

对剩下的帧再使用费马分解和P-1分解,看是否能解密。

分析后可得:

Frame0与4的N和加密片段均相同,可以共模攻击;

Frame1和18的N有公因子,可以因数碰撞

Frame7,11,15的e=3,Frame3,8,12,16,20的e=5,均可以使用低指数广播攻击进行破解。

Frame10可以用费马分解法破解

Frame2,6,19可以用p-1分解法破解

并可以对剩余帧进行语义分析,从而得出结果。

共模攻击原理(04):

显然,Frame0和4是由同一个明文m的经过两个公钥e1,e2加密的密文c1,c2,并且有c1=pow(m,e1,n);c2=pow(m,e2,n)

那么,若e1,e2互素,由扩展欧几里得算法,存在e1*s1+e2*s2==1。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值