rsa 算法簡單實例

rsa算法過程:

(1)選擇一對不一樣的、足夠大的素數p,q。
(2)計算n=pq。
(3)計算f(n)=(p-1)(q-1),同時對p, q嚴加保密,不讓任何人知道。
(4)找一個與f(n)互質的數e,且1<e<f(n)。
(5)計算d,使得de≡1 mod f(n)。
(6)公鑰KU=(e,n),私鑰KR=(d,n)。
(7)加密時,先將明文變換成0至n-1的一個整數M。若明文較長,可先分割成適當的組,而後再進行交換。設密文爲C,則加密過程爲:C≡Me(mod n)。
(8)解密過程爲:M≡Cd(mod n)。html

MOD,是一個數學運算符號。指求餘運算符,例如a mod b=c,代表a除以b餘數爲c。
兩個整數a,b,若它們除以正整數m所得的餘數相等,則稱a,b對於模m同餘,記做: a ≡ b (mod m);

圖片描述

rsa 算法實例

取p =3 ,q = 11; 則 n = pq = 33; f(n) = (p-1)(q-1) = 20, 在1到20中取e與20互質,取e=3(也能夠取其餘);
d*3≡1 mod 20 ;取d = 7(d也能夠爲27等)
公鑰KU爲e,n : 3,33
私鑰KR爲d, n : 7, 33
原文11,5,25進行加密
113 mod 33 = 11
53 mod 33 = 26
253 mod 33 = 16
對11,26, 16解密
117 mod 33 = 11
267 mod 33 = 5
167 mod 33 = 25算法

參考文章: RSA密碼體制的實現及數字簽名技術的應用加密

相關文章
相關標籤/搜索