加密演算法初探
參考:https://blog.csdn.net/qq_31878855/article/details/69396791

加密演算法分類
常見的加密演算法可以分成三類:對稱加密演算法、非對稱加密演算法和Hash演算法,
- 對稱加密演算法
加密和解密用的是同一串密鑰,如果密鑰發生改變就必須一起改變, - 非對稱加密演算法
非對稱密鑰就是加密和解密所用到的密鑰不一樣,也稱為公私鑰加密,公鑰用來加密,私鑰用來解密,單向加密的話,加密方持有公鑰,解密方持有私鑰,雙向加密的話,兩方交換公鑰即可,這可真巧妙,就是加密有點慢, - Hash演算法
Hash演算法特別的地方在于它是一種單向演算法,用戶可以通過Hash演算法對目標資訊生成一段特定長度的唯一的Hash值,卻不能通過這個Hash值重新獲得目標資訊,就是說你可以根據源資料推出一串唯一的數字,但是根據這串數字是沒有辦法推出源資料的,
加密演算法的選擇
我們應該根據自己的使用特點來確定,由于非對稱加密演算法的運行速度比對稱加密演算法的速度慢很多,當我們需要加密大量的資料時,建議采用對稱加密演算法,提高加解密速度,
對稱加密演算法不能實作簽名,因此簽名只能非對稱演算法,
由于對稱加密演算法的密鑰管理是一個復雜的程序,密鑰的管理直接決定著他的安全性,因此當資料量很小時,我們可以考慮采用非對稱加密演算法,
在實際的操作程序中,我們通常采用的方式是:采用非對稱加密演算法管理對稱演算法的密鑰,然后用對稱加密演算法加密資料,這樣我們就集成了兩類加密演算法的優點,既實作了加密速度快的優點,又實作了安全方便管理密鑰的優點,
如果在選定了加密演算法后,那采用多少位的密鑰呢?一般來說,密鑰越長,運行的速度就越慢,應該根據的我們實際需要的安全級別來選擇,一般來說,RSA建議采用1024位的數字,ECC建議采用160位,AES采用128為即可,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/132266.html
標籤:其他
