前言
引石老王上一篇《密碼學發展史之近代密碼—計算機階段》講過。近代密碼發展中,針對私鑰密碼體制(也就是我們經常提到的對稱密碼技術)的缺陷,密碼專家們提出了公鑰加密技術,這也就是我們說的非對稱密碼體制。
非對稱密碼體制中有兩個關鍵技術,那就是密碼學界鼎鼎大名的數字簽名和數字信封技術。數字簽名是隻有信息的發送者才能產生的別人無法偽造的一段數字串,這段數字串同時也是對信息的發送者發送信息真實性的一個有效證;數字信封則是發送者使用接收方的公鑰將對稱密鑰通過非對稱加密後發送給接收者,也一種密鑰傳遞方法。
(一)、數字簽名技術介紹
數字簽名實際上是非對稱密碼算法和消息摘要算法的一種組合應用,其目的在於:如Alice對一段消息進行了數字簽名,那麼其它的人都能驗證這個簽名確實是Alice籤的,同時也能驗證Alice簽名後數據是否被篡改。
- 舉個栗子
下面的例子將詳細介紹Alice如何對一份合同M進行數字簽名,同時Bob又是如何來驗證她所籤的合同(如圖1)。
- 實現流程
- Alice準備了一份合同M;
- Alice用摘要算法計算出該合同M的消息摘要MD;
- Alice用非對稱算法和自己的私鑰對合同消息摘要MD進行加密,該密文S就是合同的數字簽名;
- Alice將合同M和合同的數字簽名S合併在一起,通過網絡傳送到合同的接受者Bob;
- Bob收到Alice的合同M及合同的數字簽名S;
- Bob用Alice的公鑰對合同簽名S進行解密,得到Alice計算的合同摘要MD;
- Bob採用相同摘要算法對收到的合同重新計算消息摘要MD';
- Bob比較MD與MD'是否相等?
- 如結果相等,根據摘要算法的特性表明合同在傳輸過程中未被篡改。同時由於非對稱加密算法的特性可以斷定合同確實是Alice發送的,因為用Alice公鑰能解密成功的數據只有Alice用她自己私鑰對其進行加密才能產生,而她的私鑰其它人是無法獲取的。
(二)、數字信封技術介紹
數字信封是一種非對稱密碼算法和對稱密碼算法組合應用,用於通信雙方間的安全文件交換。
- 舉個栗子
下面的例子將詳細介紹Alice如何利用數字信封將合同安全地傳送給Bob(圖2)。
- 實現流程
- Alice準備了一份合同M;
- Alice生成一個隨機數;
- Alice選用該隨機數作為密鑰對合同M進行對稱加密,生成密文合同;
- Alice選用Bob公鑰對隨機數進行非對稱加密,生成信封;
- Alice將密文合同和信封一起發送給Bob;
- Bob接受Alice發送的密文合同和信封;
- Bob選用自己的私鑰對信封進行解密,得到對稱密鑰(隨機數);
- Bob使用該對稱密鑰(隨機數)對密文合同進行解密,得到合同M。
引石老王:從事信息安全工作20年,國內首批商業密碼從業人員,國家商業密碼應用的參與者與見證者。專注物聯網、人工智能應用的遠程控制指令的加固授權,致力於系統的反劫持防禦與信息安全反黑。
關注引石老王,為您解讀安全與高科技,提高安全意識,保障個人信息安全。歡迎關注交流、留言探討,期待與您的互動!
閱讀更多 引石老王 的文章