RSA演算法(二)

2021-10-10 12:37:50 字數 818 閱讀 7594

一. 甲方隨機生成兩個質數a (61), b(53),實際上質數越大,就越難破解

二. 計算 a和b的乘積 n

n的長度就是秘鑰的長度,n = 61×53 = 3233, 寫成二進位制是110010100001,一共有12位,所以這個金鑰就是12位,實際應用中,rsa金鑰一般是1024位,重要場合則為2048位

三、計算n的尤拉函式φ(n) —φ(n) = (p-1)(q-1)

φ(3233)等於60×52,即3120

四、隨機選擇乙個整數e,條件是1< e < φ(n),且e與φ(n) 互質

甲 就在1到3120之間,隨機選擇了17。(實際應用中,常常選擇65537。)

五、計算e對於φ(n)的模反元素d

ed ≡ 1

(mod φ

(n))

*****=》 ed -1=

kφ(n)

17d - k3120 =1;

(d,k)=(

2753,-

15)

六、將n和e封裝成公鑰,n和d封裝成私鑰。
n=

3233,e=

17,d=

2753

,所以公鑰就是

(3233,17

),私鑰就是(3233

,2753)

n和e 構成公鑰

n和d 構成私鑰

加密和解密

加密

m^e ≡ c

(mod n)

解密

c^d ≡ m

(mod n)

RSA演算法原理(二)

上一次,我介紹了一些數論知識。有了這些知識,我們就可以看懂rsa演算法。這是目前地球上最重要的加密演算法。六 金鑰生成的步驟 我們通過乙個例子,來理解rsa演算法。假設愛麗絲要與鮑勃進行加密通訊,她該怎麼生成公鑰和私鑰呢?第一步,隨機選擇兩個不相等的質數p和q。愛麗絲選擇了61和53。實際應用中,這...

RSA演算法原理(二)

有了這些知識,我們就可以看懂 rsa 演算法。這是目前地球上最重要的加密演算法。六 金鑰生成的步驟 我們通過乙個例子,來理解 rsa 演算法。假設愛麗絲要與鮑勃進行加密通訊,她該怎麼生成公鑰和私鑰呢?第一步,隨機選擇兩個不相等的質數p和q。愛麗絲選擇了 61 和 53。實際應用中,這兩個質數越大,就...

c 實現rsa演算法 RSA演算法實現過程

rsa演算法是實現非對稱加密的一種演算法,其用到很多有關數論的內容,在此我們不多討論。而將目光聚焦於演算法的實現過程。rsa過程 第二步 計算n a b 61 53 3233 第三步 計算 a 1 b 1 60 52 3120 第四步 選擇與3120互質的乙個數e 17,這個e也就是我們的公鑰,需要...