zoukankan      html  css  js  c++  java
  • RSA攻击大全及其实现

    一、RSA攻击大全

    1. 模数分解

    • Small q:模数N有小素数因子;
    • fermat:模数N的因子p与q非常接近;
    • 模不互素:给出多组公钥,但是其中的模数共用了素因子;

    2. 针对指数进行攻击

    • 小公钥指数攻击:指数很小;
    • 低加密指数广播攻击:相同的消息发送给多个接收者,且加密指数较低;

    3. 针对私钥进行攻击

    • 维纳攻击:指数很大(理论上(d<N^{0.25})此攻击起作用);
    • Boneh-Durfee攻击:同样针对指数很大的情形,理论上(d<N^{0.29})此攻击起作用;

    4. Coppersmith相关攻击

    Coppersmith算法用于求解模(N)多项式(F(X))((X)为单变量、二元变量甚至多元变量)所有小整数根((ig|Xig|<cN^{eta^{2}/delta}),其中(delta)为多项式(F)的次数,假设(N)具有不小于(N^{eta})的因子)

    • 明文高位泄露:明文的二进制位表示为(m_{b} cdots m_{t+1}m_{t} cdots m_{1}),其高位(m_{b} cdots m_{t+1})泄露,记(m'=m_{b} cdots m_{t+1}0 cdots 0),则(m')已知,但(Delta m=m_{t} cdots m_{1})未知;由(c equiv m^{e} extrm{mod} N),则(Delta m)是模多项式(F(X)=(m'+X)^{e} extrm{mod} N)的小整数根。接下来使用Coppersmith算法求解。

    • 因子低位泄露:因子的二进制位表示为(p_{b} cdots p_{t+1}p_{t} cdots p_{1}),其高位(p_{b} cdots p_{t+1})泄露,记(p'=p_{b} cdots p_{t+1}0 cdots 0),则(p')已知,但(Delta p=p_{t} cdots p_{1})未知;由(p cdot q=N),则(Delta p)是模多项式(F(X)=(p'+X) extrm{mod} N)的小整数根。接下来使用Coppersmith算法求解。

    • 明文低位泄露:明文的二进制位表示为(m_{b} cdots m_{t+1}m_{t} cdots m_{1}),其低位(m_{t} cdots m_{1})泄露,记(m'=m_{t} cdots m_{1}),则(m')已知,但(Delta m=m_{b} cdots m_{t+1})未知;由(c equiv m^{e} extrm{mod} N),则(Delta m)是模多项式(F(X)=(m'+2^{t}X)^{e} extrm{mod} N)的小整数根。接下来使用Coppersmith算法求解。

    • 因子低位泄露:因子的二进制位表示为(p_{b} cdots p_{t+1}p_{t} cdots p_{1}),其低位(p_{t} cdots p_{1})泄露,记(p'=p_{t} cdots p_{1}),则(p')已知,但(Delta p=p_{b} cdots p_{t+1})未知;由(p cdot q=N),则(Delta p)是模多项式(F(X)=(p'+2^{t}X) extrm{mod} N)的小整数根。接下来使用Coppersmith算法求解。

    GithHub实现链接

    二、攻击工具

    1. RsaCtfTool

    GitHub链接:RsaCtfTool

    在Ubuntu18.04下的安装RsaCtfTool(进入RsaCtfTool目录下):

    apt install -y libgmp-dev
    apt install -y libmpfr-dev
    apt install -y libmpc-dev
    pip3 install gmpy2 -i https://pypi.douban.com/simple
    pip3 install -r requirements.txt -i https://pypi.douban.com/simple
    

    2. yafu

    我认为最强大的分解因子的工具。

    3. 在线分解因子网站

    factordb

  • 相关阅读:
    Bash
    FireDAC
    忽然看到字符汉字特殊字符在计算机中的存储方式
    Windows环境下使用Nginx搭建负载均衡
    Session跨域、Session共享、Mode=StateSever方式解决问题
    原生Js在各大浏览器上、火狐、ie、谷歌、360等出现的不兼容问题。
    Sina 新浪Ip归属地Api 很好用的,使用get请求
    前端页面使用 Json对象与Json字符串之间的互相转换
    使用bootstrap 弹出效果演示
    Mvc自定义路由让支持.html的格式
  • 原文地址:https://www.cnblogs.com/coming1890/p/13506057.html
Copyright © 2011-2022 走看看