加密算法的分類與區別

編程工做中總是能看到RSA、DES等字眼,大概就知道是個加密的算法,可是具體是什麼,正常的使用流程、之間的區別、在客戶端和服務端之間怎麼配合使用、容易出安全的環節在哪裏?這些問題都不知道,下面記錄個人學習過程。算法


加密算法的分類---分類方式一

RSA、DES都屬於加密算法,加密算法又分爲下列幾類:編程

  • 不須要祕鑰
    • MD5
    • SHA-1
  • 須要祕鑰
    • 對稱加密
      • DES
      • 3DES
      • AES
    • 非對稱加密
      • RSA
      • DSA

名詞解釋:
不須要祕鑰 指 加密時不須要祕鑰的散列算法,解密只能撞庫了
須要祕鑰 指 加密算法的加密、解密都須要祕鑰
對稱加密 指 加密算法的加密、解密密鑰相同
非對稱加密 指 加密算法的加密密鑰、解密密鑰都不一樣安全


加密算法分類---分類方式二

  • 對稱性
  • 非對稱性
  • Hash

區別

對稱加密之間的區別

DES學習

  • 祕鑰長度56位
  • 速度中,消耗資源中
  • 安全性低

3DES大數據

  • 祕鑰長度1十二、168位
  • 速度慢、消耗資源高
  • 安全性中

AES編碼

  • 祕鑰長度12八、19二、256位
  • 速度快、消耗資源低
  • 安全性高

非對稱加密之間的區別

RSA加密

  • 安全性取決於密碼長度,越長越安全
  • 速度慢,消耗資源高
  • 能夠加密數據、數字簽名

DSAcode

  • 安全性取決於密碼長度,越長越安全
  • 運算快,消耗資源低
  • 只能作數字簽名

散列算法之間的區別

SHA-1資源

  • 安全性高
  • 速度慢

MD5互聯網

  • 安全性低
  • 速度快

對稱與非對稱的比較

對稱算法

  • 祕鑰管理難
  • 安全性中
  • 速度快,適合大數量

非對稱算法

  • 祕鑰管理容易
  • 安全性高
  • 速度慢,適合少許數據(數據簽名)

RSA

RSA是如今業界使用最流行的加密算法,由於它是最安全的;

做用場景

能同時用於以下兩個場景:

  • 加密
  • 數字簽名

容易出安全問題的環節

  • 公鑰給客戶端使用時,客戶端泄露了公鑰;
  • 服務端的私鑰被搞到;

DES

DES屬於分組算法,以64位爲分組對數據加密,它的密鑰長度爲56位

使用場景

  • 運算速度很快,適合大數據量的加解密處理;
  • 由於祕鑰管理比較難,不適合用於互聯網,通常用於內部系統;

容易出安全問題的環節

  • 只要掌握了任意一方(發、送方)的密鑰,就能解讀由DES加密算法加密的密文數據;
  • 採用窮舉法破譯,破解DES加密算法實際上就是搜索密鑰的編碼。對於56位長度的密鑰來講,若是用窮舉法來進行搜索的話,其運算次數爲2的56次方;
相關文章
相關標籤/搜索