RSA算法簡單實例


2020-07-05

10:41:51

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)。

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

 

 

引用自:https://segmentfault.com/a/1190000016836514


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM