安全hash函數(shù)有哪些特性 什么是Hash函數(shù)?
什么是Hash函數(shù)?hash function(也稱為hash function或hash algorithm)也稱為hash function,是一種將任意長度的輸入消息字符串更改為固定長度的輸出字
什么是Hash函數(shù)?
hash function(也稱為hash function或hash algorithm)也稱為hash function,是一種將任意長度的輸入消息字符串更改為固定長度的輸出字符串的函數(shù)。這個輸出字符串稱為消息的哈希值。一個安全的哈希函數(shù)至少要滿足以下條件:①輸入長度是任意的;②輸出長度是固定的;根據目前的計算技術,它至少要有128位的長度來抵抗生日攻擊;③對于每個給定的輸入,在給定哈希函數(shù)描述的情況下,計算輸出哈希值④是非常容易的,在計算上不可能找到兩個不同的輸入消息以哈希相同的值,或者在給定哈希函數(shù)描述的情況下,在計算上不可能找到另一個不同于消息的消息以哈希相同的值隨機選擇的消息。Hash函數(shù)主要用于完整性檢查和提高數(shù)字簽名的有效性,方案很多。這些算法是偽隨機函數(shù),任何哈希值都是同樣可能的。輸出不依賴于任何輸入字符串中輸入的單個位的變化,這將導致輸出字符串中大約一半的位發(fā)生變化。
哈希函數(shù)應用功能有哪些?
主要功能如下:
1。文件驗證:我們熟悉奇偶校驗和CRC校驗,它們沒有抵抗數(shù)據篡改的能力。在一定程度上,它們可以檢測和糾正數(shù)據傳輸中的信道錯誤,但不能防止惡意破壞數(shù)據。
MD5哈希算法的“數(shù)字指紋”特性使其成為目前應用最廣泛的文件完整性校驗和算法。許多UNIX系統(tǒng)提供了計算MD5校驗和的命令。
2. 數(shù)字簽名:哈希算法也是現(xiàn)代密碼系統(tǒng)的重要組成部分。由于非對稱算法運算速度慢,單向散列函數(shù)在數(shù)字簽名協(xié)議中占有重要地位。哈希值的數(shù)字簽名,也稱為“數(shù)字摘要”,在統(tǒng)計學上等同于文件本身的數(shù)字簽名。這樣的協(xié)議還有其他好處。
3. 認證協(xié)議:當傳輸通道可以被截獲但不被篡改時,這是一種簡單而安全的方法。