現代加密技術

让我读个条發表於2024-03-24

共享金鑰加密演算法(對稱加密演算法)

加密和解密的金鑰也一樣

公鑰加密演算法(非對稱加密演算法)

加密和解密的金鑰不一樣

共享金鑰/對稱加密演算法

資料加密標準(DES

一種分組密碼,在加密前,先對整個明文進行分組。每一個分組為64,之後進行16論迭代,產生一組64位密文資料,使用的金鑰是56

3DES

使用兩個金鑰,執行三次DES演算法,金鑰長度是112

國際資料加密演算法(IDEA

使用128位金鑰,把明文分成64位的塊,進行8輪迭代IDEA可以使用硬體或軟體實現,比DES

高階加密標準(AES

AES支援128位、192位、256三種金鑰長度,可透過硬體實現

流加密演算法和RC4

加密速度快,可以達到DES10

公鑰加密演算法/非對稱加密演算法

每兩個實體有兩個金鑰,公鑰公開,私鑰自己儲存

公鑰加密,私鑰解密,可實現保密通訊

私鑰加密,公鑰解密,可實現數字簽名

典型公鑰加密演算法:RSADH

數字簽名

數字簽名是用於確認傳送者身份和訊息完整性的一個加密訊息摘要,具體特點如下:

  • 接收者能夠核實傳送者
  • 傳送者事後不能抵賴對報文的簽名
  • 接收者不能偽造對報文的簽名

數字簽名和資料加密聯合使用的流程如下:

  1. 傳送者A 使用 A的私鑰 對資料進行加密,進行數字簽名
  2. 傳送者A 使用 B的公鑰 對資料進行加密,進行資料加密
  3. 接收者B 使用 B的私鑰 對資料進行解密,進行資料解密
  4. 接收者B 使用 A的公鑰 對資料進行解密,進行身份核實

報文摘要(雜湊/雜湊)

MD5

對任意長度報文進行運算,先把報文512位分組,最後得到128報文摘要

SHA

512長的資料進行復雜運算,最終產生160雜湊值,比MD5更安全,計算比MD5

將一段資料(任意長度)經過一道計算,轉換為一段定長的資料

雜湊Hash(雜湊函式)

不可逆性(單向)

幾乎無法透過Hash結果推匯出原文,即無法透過xHash值推匯出x

無碰撞性

幾乎沒有可能找到一個y,使得yHash值等於xHash

雪崩效應

輸入輕微變化,Hash輸出值產生巨大變化

使用場景

  • 釋出檔案的完整性驗證,如炒股軟體+MD5驗證軟體完整性
  • 下載檔案+MD5驗證檔案完整性
  • 伺服器中儲存使用者的密碼
    • 增加一個key做雜湊

HMAC = Hash(檔案+key

需要雙方預先知道這個key

HMAC:消除中間人攻擊,源認證+完整性校驗(數字簽名也能實現)

  • 數字簽名

數字證書與CA

數字證書可類比為身份證的作用,用於證明身份

CA是電子商務認證授權機構

比如:

要證明傳送者是否是A

需要得到A的數字證書

要證明得到的數字證書是否真的是A的數字證書

可以得到的A的數字證書是否有CA數字簽名(簽名用CA的私鑰)

證書鏈

如果使用者數量很多,通常由多個CA。每個CA為一部分使用者發行和簽署證書

如果有兩個CAX1X2,假設使用者ACA機構X1獲得了證書,使用者BX2獲得證書。如果兩個證書發放機構X1X2彼此間安全交換了公鑰,彼此信任,那麼他們的證書可以形成證書鏈

A透過一個證書鏈來獲取B的公鑰,證書連結串列示為:

X1X2X2B

B也能透過相反的證書鏈來獲取A的公開金鑰:

X2X1X1A

相關文章