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\)為單變量、二元變量甚至多元變量)所有小整數根(\(\big\|X\big\|<cN^{\beta^{2}/\delta}\),其中\(\delta\)為多項式\(F\)的次數,假設\(N\)具有不小於\(N^{\beta}\)的因子)

  • 明文高位泄露:明文的二進制位表示為\(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}\ \textrm{mod}\ N\),則\(\Delta m\)是模多項式\(F(X)=(m'+X)^{e}\ \textrm{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)\ \textrm{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}\ \textrm{mod}\ N\),則\(\Delta m\)是模多項式\(F(X)=(m'+2^{t}X)^{e}\ \textrm{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)\ \textrm{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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM