官术网_书友最值得收藏!

2.3.2 RSA算法

Rivest-Shamir-Adleman(RSA)算法是最流行和最安全的公鑰加密方法之一。該算法利用了這樣一個事實:根據數論,尋求兩個大素數相對比較簡單,但是將它們的乘積進行因式分解卻極其困難,因此可以將乘積公開,作為加密密鑰。加密密鑰是公開的,解密密鑰由用戶保密。

假設使用加密密鑰key(en),其實現算法如下:

將消息表示為0到(n-1)之間的整數。大型消息可以分解為多個塊。然后,每個塊將由相同范圍內的整數表示。

取其e次方再模n,得到密文消息C;

要解密密文消息C,取其d次方再模n

加密密鑰(en)是公開的。解密密鑰(dn)由用戶保密。

如何確定edn的適當值?

選擇兩個非常大(100位以上)的素數,將其表示為pq

n設為等于p * q

選擇任何大整數d,使得GCD(d,((p-1)*(q-1)))= 1。

e使得e * d = 1(mod((p-1)*(q-1)))。

Rivest、Shamir和Adleman為每個所需的操作提供了有效的算法。

主站蜘蛛池模板: 沛县| 大姚县| 镇巴县| 徐州市| 奈曼旗| 西吉县| 兰溪市| 西乌珠穆沁旗| 湘潭县| 吉林省| 西和县| 桂林市| 大同市| 丁青县| 柳州市| 抚宁县| 廉江市| 桐城市| 和政县| 宁海县| 平原县| 霞浦县| 丹江口市| 津南区| 东台市| 汝阳县| 紫金县| 鸡泽县| 扬州市| 怀远县| 托里县| 喀喇沁旗| 吉木乃县| 旬邑县| 延庆县| 陈巴尔虎旗| 广昌县| 龙陵县| 昭苏县| 且末县| 高邑县|