RSA算法整理

1.隨機取大質數(shù) p、q

2.設 n = p x q, n 的二進制位數(shù)就是密鑰長度,一般為1024,2048.

3.計算n的歐拉函數(shù) φ(n) = (p - 1)(q - 1)

4.從 1 - φ(n) 之間選擇一個整數(shù),且 eφ(n) 互質,計作 e

5.計算 e 對于 φ(n) 的模反元素d
ed ≡ 1 (mod φ(n))
意思就是 ed / φ(n) 余數(shù) 1
等價于 ed - 1 = k * φ(n), 由于dk 未知,相當于二元一次方程求解

  1. (n,e) 作為公鑰, (n,d) 作為私鑰

7.加密: me ≡ c (mod n) ,其中m (密文,整數(shù))二進制長度不可超過n m:明文 c:密文

8.解密: cd ≡ m (mod n) 歐拉定理可證

9.暴力破解:

  • 因為解密需要私鑰(n,d).
  • 根據(jù) ed ≡ 1 (mod φ(n))
  • e 已經(jīng)是公鑰提供了,所以只要知道φ(n)就可以破解
  • 問題轉化為求 φ(n):
    • φ(n), 根據(jù) φ(n) = (p - 1)(q - 1)
    • 所以轉求 p - 1q - 1, 根據(jù)n = p * q
    • 只要因數(shù)分解 n 得出pq 就可以計算φ(n) = (p - 1)(q - 1)
  • 但是,想要因數(shù)分解n為兩個大質數(shù)的乘積,只能從最小的質數(shù)一點點循環(huán)的試,目前貌似只有768位的二進制被質因數(shù)分解了.再長還未公布.
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 一、RSA的歷史 1976 年以前,所有的加密方法都是同一種模式: (1)甲方選擇某一種加密規(guī)則,對信息進行加密;...
    開著保時捷堵你家門口閱讀 2,555評論 0 1
  • 本文結構: 一些基本的數(shù)學知識 RSA的具體過程 為什么RSA的私鑰解密一定能得到明文 RSA算法可靠嗎 RSA算...
    風再起時ME閱讀 3,533評論 2 2
  • 關于使用python實現(xiàn)RSA加密解密 一、非對稱加密算法 1、乙方生成兩把密鑰(公鑰和私鑰)。公鑰是公開的,任何...
    ttaymm閱讀 1,055評論 0 0
  • 預備知識: 0. 模運算基本性質 (a + b) % p = (a % p + b % p) % p (a - b...
    耀鵬閱讀 2,478評論 0 51
  • 《 我》 生活的蒼白無力 有時候 我像獅子 大喊大叫 抒發(fā)憤怒 有時候 想個超人 無所不從 有時候 像個兔子 ...
    夏一墨閱讀 164評論 0 0

友情鏈接更多精彩內容