AES與RSA相結(jié)合數(shù)據(jù)加密方案

? ? ? ? RSA算法是公開(kāi)密鑰系統(tǒng)的代表,其安全性建立 在具有大素?cái)?shù)因子的合數(shù),其因子分解困難這一法則之上的。Rijndael算法作為新一代的高級(jí)加密標(biāo)準(zhǔn),運(yùn)行時(shí)不需要計(jì)算機(jī)有非常高的處理能力和大的內(nèi) 存,操作可以很容易的抵御時(shí)間和空間的攻擊,在不同的運(yùn)行環(huán)境下始終能保持良好的性能。這使AES將安全,高效,性能,方便,靈活性集于一體,理應(yīng)成為網(wǎng) 絡(luò)數(shù)據(jù)加密的首選。相比較,因?yàn)锳ES密鑰的長(zhǎng)度最長(zhǎng)只有256比特,可以利用軟件和硬件實(shí)現(xiàn)高速處理,而RSA算法需要進(jìn)行大整數(shù)的乘冪和求模等多倍字 長(zhǎng)處理,處理速度明顯慢于AES[5];所以AES算法加解密處理效率明顯高于RSA算法。在密鑰管理方面,因?yàn)锳ES算法要求在通信前對(duì)密鑰進(jìn)行秘密分 配,解密的私鑰必須通過(guò)網(wǎng)絡(luò)傳送至加密數(shù)據(jù)接收方,而RSA采用公鑰加密,私鑰解密(或私鑰加密,公鑰解密),加解密過(guò)程中不必網(wǎng)絡(luò)傳輸保密的密鑰;所以 RSA算法密鑰管理要明顯優(yōu)于AES算法。

? ? ? ?從上面比較得知,由于RSA加解密速度慢,不適合大量數(shù)據(jù)文件加密,因此在網(wǎng)絡(luò)中完全用公開(kāi)密碼體制傳輸機(jī)密信息是沒(méi)有必要,也是不太現(xiàn)實(shí)的。AES加密速度很快,但是在網(wǎng)絡(luò)傳輸過(guò)程中如何安全管理AES密鑰是保證AES加密安全的重要環(huán)節(jié)。這樣在傳送機(jī) 密信息的雙方,如果使用AES對(duì)稱密碼體制對(duì)傳輸數(shù)據(jù)加密,同時(shí)使用RSA不對(duì)稱密碼體制來(lái)傳送AES的密鑰,就可以綜合發(fā)揮AES和RSA的優(yōu)點(diǎn)同時(shí)避 免它們?nèi)秉c(diǎn)來(lái)實(shí)現(xiàn)一種新的數(shù)據(jù)加密方案。加解密實(shí)現(xiàn)流程如下圖。


AES+RSA 流程

? ? ?具體過(guò)程是先由接收方創(chuàng)建RSA密鑰對(duì),接收方通過(guò)Internet發(fā)送RSA公鑰到發(fā)送方,同時(shí)保存RSA私鑰。而發(fā)送方創(chuàng)建AES密鑰,并用該 AES密鑰加密待傳送的明文數(shù)據(jù),同時(shí)用接受的RSA公鑰加密AES密鑰,最后把用RSA公鑰加密后的AES密鑰同密文一起通過(guò)Internet傳輸發(fā)送 到接收方。當(dāng)接收方收到這個(gè)被加密的AES密鑰和密文后,首先調(diào)用接收方保存的RSA私鑰,并用該私鑰解密加密的AES密鑰,得到AES密鑰。最后用該 AES密鑰解密密文得到明文。


AES+RSA結(jié)合最佳實(shí)踐

基本要求

保證傳輸數(shù)據(jù)的安全性

保證數(shù)據(jù)的完整性

能夠驗(yàn)證客戶端的身份

基本流程

請(qǐng)求:

1. 服務(wù)器端(server)和客戶端(client)分別生成自己的密鑰對(duì)

2. server和client分別交換自己的公鑰

3. client生成AES密鑰(aesKey)

4. client使用自己的RSA私鑰(privateKey)對(duì)請(qǐng)求明文數(shù)據(jù)(params)進(jìn)行數(shù)字簽名

5. 將簽名加入到請(qǐng)求參數(shù)中,然后轉(zhuǎn)換為json格式

6. client使用aesKey對(duì)json數(shù)據(jù)進(jìn)行加密得到密文(data)

7. client使用sever的RSA公鑰對(duì)aesKey進(jìn)行加密(encryptkey)

8. 分別將data和encryptkey作為參數(shù)傳輸給服務(wù)器端

服務(wù)器端進(jìn)行請(qǐng)求響應(yīng)時(shí)將上面流程反過(guò)來(lái)即可

具體實(shí)現(xiàn)流程可做優(yōu)化,例如:client將encryptkey傳輸給服務(wù)器端的方式可以通過(guò)HttpHeader來(lái)實(shí)現(xiàn)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容