日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

破解RSA的一些技术

發布時間:2025/3/21 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 破解RSA的一些技术 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

RSA簡介:

取一個大數 n=p*q,p,q為大素數.

設n的歐拉函數為 f(n) = (p-1)(q-1);

?

則取一個公鑰為e,相應密鑰為d.

ed?+ x * f(n) = 1

要求: e*d = 1 (mod f(n))

原文為m:

密文為c =?m^e (mod n)

因為: m ^ f(n) = 1 (mod n)

解密:?c^d =?m^(e*d)? = m*( (m^f(n)) ^(-x)) (mod n)

?

破密:

1,因子分解法:

破解意向:若知道?p-1 , q-1 ,就知道了 f(n),?則就很容易破解了.

?

由于 p*q = n, p+q = n - f(n) +1

p,q 是 x^2 + (f(n)-n-1)x + n = 0 的根.

?

進而只要試出n的因子分解,就可以破解,因此n的分子分解決定了安全性.

如:

當p 和 q 很接近時,

因為 n = p*q =? ((p + q)/2)^2 -? ((p - q)/2)^2

當 (p - q)/2 接近于 0 時 ,? t = (p + q)/2 接近于 n^(1/2)

只要枚舉大于 n^(1/2) 的 t 很快就可以找出滿足

t^2 - n 為平方數的 t

使得?t^2 - n = s^2

則 n = (t+s) * (t-s)

至此就求出了 p 和? q.

?

2,階乘法

意向:

黑客可能會利用階乘法不斷地遞增 t 來求出 m 如:

?

因為 c^(e^t) = c? (mod n), 就有 c^(e^(t-1)) = m (mod n)

而 c^(e^(t-1)) = m? (mod n) 就是 m^(e^t) = m (mod n)

即 n |? (?m^(e^t -1) - 1 )

若 m mod n 的階為k,則

e^t = 1 (mod k)

取 t 的最小值就是 e mod k 的階,

而 e mod k 的階,是 f(k) 在因子,又 k 是 m mod n 階,

即 k 是 f(n) 的因子,求出 k 就容易破解了.

所以 最好使 f(n) ?中的兩個因子 p-1 , q-1 ,它們的因子中出現的素因子都要為大素數因子,

才能不容易被破解.

總結

以上是生活随笔為你收集整理的破解RSA的一些技术的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。