hash 函式的特點:將可變長度的資料塊作為輸入,產生固定長度的hash值。
hash函式應該具備的特性:單向性和抗碰撞性。
hash函式的應用:保證資料完整性。
訊息認證是用來驗證訊息完整性的一種機制或服務,訊息認證保證傳送方和接收方的資訊一致,通常還要保證傳送方的身份真實有效。
上圖展示了hash碼不同方式的訊息認證:
使用對稱密碼演算法加密訊息和hash碼。這種方式a和b共享金鑰k,能夠提供保密性。
使用對稱密碼演算法只對hash碼進行加密。這種方式應用於無需保密性的場景,減少了加解密的負擔。
不使用加密演算法,僅使用hash函式實現訊息認證。a和b共享金鑰s,b可以驗證hash值。
將整個訊息和hash值加密,能夠提供方案3中不能提供的保密性。
訊息認證通常用訊息認證碼(mac)實現,即帶金鑰的hash函式。
數字簽名與mac相似,在進行數字簽名過程中,使用者的私鑰加密訊息作為hash的輸入,然後輸出訊息摘要,其他任何知道該使用者公鑰的人都可以通過數字簽名來驗證訊息的完整性。攻擊者只有獲得了私鑰,才能篡改訊息。
hash用於數字簽名的方案如圖所示
使用傳送方的私鑰,利用公鑰密碼演算法對hash碼加密。
如果既希望實現保密性,又希望有數字簽名,則先用傳送方的私鑰對hash碼加密,然後後對稱密碼中的金鑰對訊息和公鑰演算法加密結果進行加密。
hash函式還可以用於產生單向口令檔案,用於入侵檢測和病毒檢測,用於構建隨機函式或者偽隨機數發生器。
密碼學原理
備註 vpn 技術中的密碼學原理。用於對使用者資料進行加密,常用演算法有 des 3des aes rsa dh 演算法。根據金鑰特徵,分為對稱和非對稱演算法。使用者 a 通過網際網路向使用者 b 傳送訊息,資料如果不經過加密可能遭到竊取 篡改。採用對稱演算法對資料進行加密,所謂的對稱是指通訊雙方用...
密碼學原理筆記
注 好記性不如爛筆頭。參閱 密碼編碼學與網路安全 原理與實踐 第六版,william stallings著 和 區塊鏈原理 設計與應用 作者楊保華 陳昌 如有錯漏,還望斧正。hash值在應用中又常被稱為指紋或摘要,hash演算法的核心思想也經常被應用到基於內容的編址或命名演算法中 常見的hash演算...
密碼學 密碼學基礎
密碼學是研究編制密碼和破譯密碼的技術科學。密碼學的安全目標至少包含三個方面 保密性 完整性 可用性。完整性 資源只有授權方以授權的方式進行修改,所有資源沒有授權則不能修改。可用性 資源只有在適當的時候被授權方訪問,並按需求使用。密碼系統由5部分組成 1 明文空間m 全體明文的集合 2 密文空間c 全...