摘要: 在RSA攻击中,存在着“小明文攻击“的方式; 在明文够小时,密文也够小,直接开e次方即可; 在明文有点小时,如果e也较小,可用pow(m,e)=n*k+c穷举k尝试爆破 所以,比如说,在选择明文攻击中,单纯的RSA非常容易被破解。 于是,我们就像将密文进行一下填充,最好让密文都等长。 但是填充方式也 阅读全文
posted @ 2021-10-24 17:33 hiddener 阅读(1201) 评论(0) 推荐(0) 编辑
摘要: emmmm感觉其实自己对这个的理解完全不够,原理只能写出这么个东西(悲) 代码完全是 攻击方式中(1)(2)内容的实现。 lambda是一种可以理解为匿名函数的写法;写在这里看起来很酷炫(bushi) 程序中的N对应的就是原理讲解中的m,用朴实的东西完全可以写出来。 iroot(x,y)对x开y次方 阅读全文
posted @ 2021-10-24 17:33 hiddener 阅读(116) 评论(0) 推荐(0) 编辑
摘要: RSA基本实现 首先获得N比特的伪随机数;使用Random库中内容。 randint(n,m) 表示生成一个在n和m之间的随机数, **表示乘幂。 getPrime找素数,or 1运算是一种优化;如果当前数不是素数,则+2再验证;方法有点糙,但勉强能用。 exgcd此处用来计算逆元。它读取两个三元组 阅读全文
posted @ 2021-10-24 12:10 hiddener 阅读(187) 评论(0) 推荐(0) 编辑