1. 程式人生 > >對RSA和AES的理解

對RSA和AES的理解

原文地址:https://blog.csdn.net/huanhuanq1209/article/details/80614271

1、RSA和AES的區別:
總結於:http://www.360doc.com/content/16/0606/15/12385684_565529546.shtml#

RSA:

是公開金鑰系統的代表;

安全性:建立在具有大素數因子的合數,其因子分解困難這一法則之上;

處理速度慢;

金鑰管理:加解密過程中不必網路傳輸保密的金鑰;金鑰管理優於AES演算法;

RSA加解密速度慢,不適合大量資料檔案加密;

AES:

Rijndael演算法是新一代的高階加密標準,執行時不需計算機有非常高的處理能力和大的記憶體;

操作可以很容易的抵禦時間和空間的攻擊,在不同的執行環境下始終保持良好的效能;

AES金鑰長度:最長只有256bit,可用軟體和硬體實現高速處理;

金鑰管理:要求在通訊前對金鑰進行祕密分配,解密的私鑰必須通過網路傳送至加密資料接收方;

AES加密速度很快;

AES+RSA:

使用AES對稱密碼體制對傳輸資料加密,同時使用RSA不對稱密碼體制來傳送AES的金鑰,就可以綜合發揮AES和RSA的優點同時

避免它們缺點來實現一種新的資料加密方案

2、RSA簽名和驗籤的流程圖:


特點:只需交換公鑰;公/祕鑰機制,公鑰加密,私鑰解密;(或者私鑰加密,公鑰解密);公鑰負責加密,私鑰負責解密;私鑰負責簽名,公鑰負責驗證。

缺點:加解密速度慢,特別是解密

3、AES框圖:
特點:加解密用同一祕鑰

優點:速度快,效率高;

存在的問題:祕鑰交換問題

摘自:http://www.360doc.com/content/16/0606/15/12385684_565529546.shtml#

4、AES+RSA=資料加密方案:
摘自:http://www.360doc.com/content/16/0606/15/12385684_565529546.shtml#

流程:

接收方建立RSA祕鑰對,

傳送RSA公鑰給傳送方,自己保留RSA私鑰

傳送方建立AES金鑰,加密待傳送的明文,之後用RSA公鑰加密該金鑰,

RSA公鑰加密AES的金鑰+AES金鑰加密明文的密文----通過Internet發給---->接收方

接收方用RSA私鑰解密加密的金鑰,之後再用解密後的AES金鑰解密資料密文,得到明文。