天天看點

加密算法簡介加密算法簡介

加密算法簡介

簽名算法

  • 應用場景:檢查封包正确性
  • 方案:從封包文本中生成封包摘要
  • 常用SHA或者MD5作為簽名算法
  • 缺點:簽名算法不是加密算法,不能用來加密,作用是檢查篡改

對稱加密算法

  • 應用場景:傳遞不适合明文傳輸的封包
  • 方案:如果用一個密碼把消息加密,解密的時候還用這個密碼,這種加密算法就是對稱加密算法
  • 常用AES加密算法
  • 缺點:密碼需要定期更新,帶來密碼安全傳遞問題

DH密鑰交換算法

  • 應用場景:通信雙方需要約定一個密碼,但是又必須通過一個不安全的信道傳遞密碼
  • 方案:
    1. 發送方私有一個 a ,通過已知算法發送遺傳資訊 A
    2. 接收方私有一個 b ,通過已知算法發送遺傳資訊 B
    3. 發送方根據 a 和 B 通過算法計算出最終密碼 C ,接收方根據 b 和 A 通過算法計算出最終密碼 C
    4. 中間人隻擷取到 A B ,不足以計算出 C
  • 常用Diffie-Hellman密鑰交換算法
  • 缺點:中間人攻擊可破解

    中間人攻擊:

    僞造接收方向發送方協商密碼,根據 b’ ,發送 B’ ;僞造發送方向接收方協商密碼,根據 a’ ,發送 A’ ;進而獲得最終密碼 C1’ C2’

非對稱加密

  • 應用場景:避免密鑰交換流程
  • 方案:
    1. 發送方根據接收方的公鑰,對原文進行加密;
    2. 接收方根據自己的私鑰,對原文進行解密;
    3. 發送方會對原文摘要,根據自己的私鑰,進行(加密)簽名;
    4. 接收方會對原文解密後,根據發送方的公鑰,進行(解密)驗簽;
    5. 發送方和接收方隻需公開公鑰,保護各自的私鑰,無需向彼此發送秘鑰;
    6. 中間人沒有雙方的私鑰,無法解密封包,也無法僞造簽名(封包);

    簽名:對明文進行摘要後,使用秘鑰對摘要進行加密,得到簽名

    驗簽:對簽名使用秘鑰進行解密,與明文的摘要對比,進行驗簽

  • 常用RSA非對稱加密算法
  • 缺點:
    • 需要事先生成公鑰私鑰對
    • 針對每個使用者各自生成的一對公鑰私鑰,要對原文進行多次加密和簽名
    • 計算量較大

繼續閱讀