RSA非對稱加密原理

2021-10-07 05:13:19 字數 1056 閱讀 4028

rsa加密屬於非對稱加密,即加密和解密是使用金鑰對中不同的秘鑰進行的。自己保留的為私鑰,公開的為公鑰,兩者都可以加密,但是只有使用另一者才能解密。

rsa加密的金鑰對表示為(e,d,n)。(e是單詞加密encryption的首字母,d是解密decryption的首字母,n是單詞數字number的首字母)。

rsa可以彌補對稱加密中通訊雙方使用同一秘鑰,在使用太多時,需要分配的秘鑰數太多的問題,不過因為rsa需要的計算過程比較繁雜,加密速度就比對稱加密慢。

e,d,n是加解密的關鍵,那麼如何得到這些呢?

有幾個關鍵的數值,這裡說明一下:

關鍵數含義

(e,n)

加密金鑰對

(d,n)

解密金鑰對

e加密次方

d解密次方

n加解密模數

p,q,l

都是求解中間數

第一二步為中間值,後面為核心數e,d,n。

1、首先隨機選擇兩個質數p,q,比如p=17,q=19。

2、求l,l為兩個質數-1的最小公倍數,即l=最小公倍((q-1),(p-1))= 144。

3、n為兩個質數之積,n=q*p=323。

4、求e,e必須滿足兩個條件,非定值。

條件1:1 < e < l

條件1:最大公約數(e,l)= 1

這裡可以隨意取,本文取e=5。

5、求d,d也必須滿足兩個條件,非定值。

條件1:1 < d < l

條件2: d*e mod l = 1

d需要根據e去取,本文取d=29

很好,那麼得到金鑰對(5,29,323)。加密秘鑰為(5,323),解密秘鑰為(29,323)。

加密密文=明文^e mod n

即密文是由明文先取e次方,再對n取餘得到的。

以上面金鑰對(5,29,323)為例:

密文=245^5 mod 323 = 215

明文=密文^d mod n

即明文是由密文先取d次方,再對n取餘得到的。

以上面金鑰對(5,29,323)為例:

明文=215^29 mod 323 = 245

RSA非對稱金鑰加密原理

一 基礎數論 1 互質關係 2 尤拉函式 二 rsa加密 第一步,隨機選擇兩個不相等的質數p和q。愛麗絲選擇了61和53。實際應用中,這兩個質數越大,就越難破解。第二步,計算p和q的乘積n。愛麗絲就把61和53相乘。n 61 53 3233 n的長度就是金鑰長度。3233寫成二進位制是1100101...

RSA非對稱加密

現實網路中,web應用的開發少不了需要對敏感資訊來進行加密,但是加密又不能草草了事,過於簡單。一旦被鑽了空子,就成了事故。比如密碼。之前用到了非對稱加密沒做記錄,這次又用到了,所以記錄下來!rsa是目前最有影響力的公鑰加密演算法,該演算法基於乙個十分簡單的數論事實 將兩個大素數相乘十分容易,但那時想...

RSA非對稱加密

對稱加密 演算法 在加密和解密時使用的是同乙個秘鑰 而 非對稱加密演算法 需要兩個 金鑰 來進行加密和解密,這兩個秘鑰是 公開金鑰 public key,簡稱公鑰 和私有金鑰 private key,簡稱私鑰 與對稱加密 演算法 不同,非對稱加密演算法 需要兩個 金鑰 公開金鑰 publickey ...