雜湊函數(Hash Function)是一種將任意長度的輸入數據(稱為訊息)轉換成固定長度的輸出數據(稱為雜湊值或雜湊碼)的數學函數。這個過程被稱為雜湊(Hashing)。雜湊函數的特性包括:
雜湊函數在資訊安全中有多種應用,主要保障以下安全特性:
雜湊函數可以用來驗證數據的完整性。通過比較數據傳輸前後的雜湊值,可以檢測數據在傳輸過程中是否被篡改。
雜湊函數在數字簽名中起著關鍵作用。數字簽名使用雜湊函數生成文件的雜湊值,再用私鑰對該雜湊值進行加密,形成數字簽名。驗證時,用戶可以用簽名者的公鑰解密數字簽名,並與原文件的雜湊值進行比較。
MAC 是基於雜湊函數和密鑰的認證碼,用於驗證訊息的完整性和訊息來源的真實性。發送者使用密鑰和訊息生成 MAC,接收者用相同的密鑰和訊息重新計算 MAC 進行驗證。
雜湊函數用於將密碼轉換成雜湊值存儲在系統中,防止密碼被直接存取。當用戶登入時,系統會將輸入的密碼經過同樣的雜湊函數運算,並與存儲的雜湊值比較。
雜湊函數可以用於生成數據的唯一指紋,以快速比較和查找重複數據。
| 安全特性 | 說明 | 應用 |
|---|---|---|
| 數據完整性 | 驗證數據是否被篡改 | 文件完整性校驗、數據庫完整性驗證 |
| 數字簽名 | 驗證數據來源和不可否認性 | 電子郵件簽名、電子合同簽名 |
| 訊息認證碼(MAC) | 驗證訊息的完整性和真實性 | 安全訊息傳輸、驗證數據來源 |
| 密碼儲存 | 將密碼轉換成雜湊值存儲 | 用戶密碼管理、登入認證 |
| 資料指紋 | 生成數據唯一指紋 | 重複數據刪除、資料庫查重 |
雜湊函數在資訊安全中扮演著重要角色,其應用範圍包括數據完整性、數字簽名、訊息認證碼、密碼儲存和資料指紋等。這些應用共同保障了數據的安全性和系統的可靠性,使得雜湊函數成為現代計算機安全不可或缺的工具。