当前位置: 首页 > news >正文

【密码学】RSA密码体制存在的问题

1 直接分解N

1.1 介绍

虽然RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价。如果随着数学研究的发展,发现“大数分解”问题能够解决,则RSA系统将不再安全。随着计算机处理能力的不断提升,包括量子计算机的加持,特别是通过Internet使大量计算机协同工作,解决一个具体的“大数分解”问题需要的时间越来越短。

1.2 防御措施

为了应对直接分解N的安全问题,可以选取较高的公钥模长来提升系统安全强度。理论上来讲N越大,安全强度越高,算法运算速度越慢。另外p和q需要足够大,使N的分解更加困难;其次p和q之差也尽量大,否则容易根据N猜测p和q的规模。

2 低指数攻击

2.1 介绍

加密指数指的是e,当e很小,可直接破解。例如e=3时,

2.2 防御措施

加密指数e应该尽量避免选取得太小的情况发生,一般情况下e选取65535。

3 模不互素

3.1 介绍

如果在多次RSA加密中选取了不同的模数,存在两个或更多模数 ,且gcd(N1,N2)!=1,多个模数N共用质数,则可以很容易利用欧几里得算法求得他们的质因数之一exgcd(N1,N2) ,然后这个最大公约数可用于分解模数分别得到对应的p和q,即可进行解密。

3.2 防御措施

在模数N的选取上要注意避免上述情况的发生,邻近的RSA加密的模N尽量互素。

4 共模攻击

4.1 介绍

对同一明文的多次加密使用相同的模数和不同的公钥指数可能导致共模攻击。即为在两次RSA加密中,明文m和模数n相同,公钥指数e和密文c不同,且gcd(e1,e2)==1。

4.2 防御措施

密钥产生中心(KGC)应该采取相应方法避免共模攻击,例如不定时更新使用的模数N,当然这意味着要消耗一些额外的资源。

5 迭代攻击

5.1 介绍

5.2 防御措施

Rivest证明,当p-1q-1中含有大素数因子,且n足够大时,这种攻击法成功的概率趋于0

6 伪造签名

6.1 介绍

对于想要伪造签名的消息Mtarget,根据在模N数域上的乘法同态原理,如果我们能从已知消息中找到M1和M2满足条件

Mtarget=M1M2(mod N)

及其对应的数字签名

sig(M1)=M1d(mod N)

sig(M2)=M2d(mod N)

进而可得

sig(Mtarget)=(M1M2)d(mod N)=M1dM2d(mod N)=sig(M1)sig(M2)

所以我们的目标就明确了,只要找到符合条件的M1和M2及二者对应的签名,就可以利用公式推导的结果伪造出目标消息Mtarget的RSA电子签名sig(Mtarget)。

6.2 防御措施

签名者对消息的哈希值进行数字签名而非直接对消息本身进行签名,将伪造签名的困难基于Hash算法的抗碰撞性。

相关文章:

  • app开发方式有哪些/windows优化大师win10
  • 自助建设分销商城网站/网站排名优化多少钱
  • 东莞网站设计讯息/营销公司
  • 机械加工外协网站/最优化方法
  • 做的网站太大怎么办/外链百科
  • 工作室网站建设方案模板/seo优化与品牌官网定制
  • mysql 5类聚集函数
  • 最小生成树-Prim + Kruskal算法
  • SpringBoot测试配置属性与启动web环境
  • MVS-Texturing 相关背景知识与论文总结
  • 从Linux内核学软件设计和开发
  • 动态内存管理【详解】
  • 从零备战蓝桥杯——动态规划(递推篇)
  • Java泛型03:通配符的使用和泛型的继承
  • java对象序列化流 将对象写入文件当中
  • Linux 虚拟化技术 KVM
  • 程序设计基础系列作业(湖南师范大学)
  • C++ Reference: Standard C++ Library reference: C Library: cstdio: tmpfile