RSA 是用於公開加密的加密系統,廣泛用於保護敏感資料,尤其是在透過不安全的網路(如 Internet)發送時。
---------------------------------------- RSA 的受歡迎程度: ----------------------------------------
RSA 的安全性來自於考慮作為兩個大質數的因數的大整數的困難。將這兩個數位相乘是很容易的,但是從總的(保理)中確定原始底數被認為是不可行的,因為使用今天的超級計算機甚至需要時間。
公共和私鑰生成演算法是 RSA 加密中最複雜的部分。使用拉賓-米勒原始性測試演算法生成兩個大的等數 p 和 q。模數 n 的計算方法是乘以 p 和 q。此數位由公鑰和私鑰使用,並提供它們之間的連結。其長度(通常以位表示)稱為鍵長度。公鑰由模數 n 和公共指數 e 組成,通常設置為 65537,因為它的底數不是太大。e 數位不必是秘密選擇的底數,因為公鑰與所有人共用。私鑰由模量 n 和私有指數 d 組成,使用擴展歐幾裡德演演算法計算,以查找與 n 的 totient 的乘數反向。
---------------------------------------- 例子 ----------------------------------------
Alice 通過選擇兩個底數生成 RSA 密鑰:p=11 和 q=13。模數 n=p=時間;q=143。n ϕ(n)=(p &減;1)x(q &減;1)=120。她為 RSA 公開金鑰 e 選擇 7,並使用擴展歐幾裡德演演算法計算她的 RSA 私密金鑰,該演算法為她提供了 103 個。
Bob 希望向 Alice 發送加密訊息 M,以便他獲取她的 RSA 公鑰 (n, e),在此示例中為 (143, 7)。他的純文字消息只是數位 9,並加密成密碼文本 C 如下所示:
C = M+e mod n = 97 mod 143 = 48。
所以,要發送的密碼是48。
當 Alice 收到 Bob 的消息時,她使用 RSA 私密金鑰 (d, n) 解密郵件,如下所示:
M = C=d mod n = 48103 mod 143 = 9。
因此,收到的消息為9。
版本歷史記錄
- 版本 1.0 發佈於 2016-09-13