主題
Search

RSA 加密


一種 公鑰密碼學 演算法,它使用 素因數分解 作為 陷門單向函式。定義

 n=pq
(1)

對於 pq 素數。 還要定義一個私鑰 私鑰 和一個公鑰 公鑰 使得

 de=1 (mod phi(n))
(2)
 (e,phi(n))=1,
(3)

其中 尤拉函式尤拉函式, (a,b) 表示 最大公約數 (所以 (a,b)=1 意味著 ab互質), 並且 a=b (mod m) 是一個 同餘。 令訊息被轉換為數字 M。 然後傳送者公開 ne 併發送

 E=M^e (mod n).
(4)

為了解碼,接收者(知道 d)計算

 E^d=(M^e)^d=M^(ed)=M^(Nphi(n)+1)=M (mod n),
(5)

因為 N 是一個 整數。 為了破解程式碼,必須找到 d。 但這需要因式分解 n 因為

 phi(n)=(p-1)(q-1).
(6)

應該選擇 pq ,使得 p+/-1q+/-1 可以被大的 素數 整除,否則 Pollard p-1 因式分解方法Williams p+1 因式分解方法 可能會很容易地分解 n。 最好 phi(phi(pq)) 也很大並且可以被大的 素數 整除。

如果 Z/phi(n)Z 的單元具有小的 域階 (Simmons 和 Norris 1977, Meijer 1996),則有可能透過重複加密來破解密碼系統,其中 Z/sZ 是 0 到 s-1 之間的 整數環 在加法和乘法下 (模 s)。Meijer (1996) 表明,對於以下 形式 的因子,幾乎每個加密指數 e 都是安全的,不會透過重複加密被破解

p=2p_1+1
(7)
q=2q_1+1,
(8)

其中

p_1=2p_2+1
(9)
q_1=2q_2+1,
(10)

並且 p, p_1, p_2, q, q_1, 和 q_2 都是 素數。 在這種情況下,

phi(n)=4p_1q_1
(11)
phi(phi(n))=8p_2q_2.
(12)

Meijer (1996) 還建議 p_2q_2 應該具有 10^(75) 階數。

使用 RSA 系統,可以在不洩露其私有程式碼的情況下,將傳送者的身份識別為真實的。


另請參閱

同餘, 公鑰密碼學, RSA 數

使用 探索

參考文獻

Coutinho, S. C. 密碼的數學:數論和 RSA 密碼學。 Wellesley, MA: A K Peters, 1999.Flannery, S. and Flannery, D. 程式碼之內:數學之旅。 Profile Books, 2000.Honsberger, R. 數學珍寶 III。 Washington, DC: Math. Assoc. Amer., pp. 166-173, 1985.Meijer, A. R. "群、因式分解和密碼學。" Math. Mag. 69, 103-109, 1996.Rivest, R. L. "關於對 MIT 公鑰密碼系統提出的密碼分析攻擊的評論。" Cryptologia 2, 62-65, 1978.Rivest, R.; Shamir, A.; and Adleman, L. "一種獲取數字簽名和公鑰密碼系統的方法。" MIT Memo MIT/LCS/TM-82, 1977.Rivest, R.; Shamir, A.; and Adleman, L. "一種獲取數字簽名和公鑰密碼系統的方法。" Comm. ACM 21, 120-126, 1978.RSA Laboratories. "RSA 因式分解挑戰" http://www.rsa.com/rsalabs/node.asp?id=2092.Schnorr, C. P. "透過 SVP 演算法快速分解整數。" Cryptology ePrint Archive: Report 2021/232. 2021 年 3 月 1 日. https://eprint.iacr.org/2021/232.Simmons, G. J. and Norris, M. J. "關於 MIT 公鑰密碼系統的初步評論。" Cryptologia 1, 406-414, 1977.

在 中被引用

RSA 加密

引用為

韋斯坦, 埃裡克·W. "RSA 加密。" 來自 —— 資源。 https://mathworld.tw/RSAEncryption.html

主題分類