參考:https://blog.csdn.net/qq_31878855/article/details/69396791
常見的加密演演算法可以分成三類:對稱加密演演算法、非對稱加密演演算法和Hash演演算法。
我們應該根據自己的使用特點來確定,由於非對稱加密演演算法的執行速度比對稱加密演演算法的速度慢很多,當我們需要加密大量的資料時,建議採用對稱加密演演算法,提高加解密速度。
對稱加密演演算法不能實現簽名,因此簽名只能非對稱演演算法。
由於對稱加密演演算法的金鑰管理是一個複雜的過程,金鑰的管理直接決定著他的安全性,因此當資料量很小時,我們可以考慮採用非對稱加密演演算法。
在實際的操作過程中,我們通常採用的方式是:採用非對稱加密演演算法管理對稱演演算法的金鑰,然後用對稱加密演演算法加密資料,這樣我們就整合了兩類加密演演算法的優點,既實現了加密速度快的優點,又實現了安全方便管理金鑰的優點。
如果在選定了加密演演算法後,那採用多少位的金鑰呢?一般來說,金鑰越長,執行的速度就越慢,應該根據的我們實際需要的安全級別來選擇,一般來說,RSA建議採用1024位元的數位,ECC建議採用160位元,AES採用128為即可。