雜湊函式
又稱hash函式,Hash函式(也稱雜湊函式或雜湊演算法)就是把任意長的輸入訊息串變化成固定長的輸出串的一種函式。這個輸出串稱為該訊息的雜湊值。一般用於產生訊息摘要,金鑰加密等.
一個安全的雜湊函式應該至少滿足以下幾個條件:
①輸入長度是任意的;
②輸出長度是固定的,根據目前的計算技術應至少取128bits長,以便抵抗生日攻擊;
④給定雜湊函式的描述,找到兩個不同的輸入訊息雜湊到同一個值是計算上不可行的,或給定雜湊函式的描述和一個隨機選擇的訊息,找到另一個與該訊息不同的訊息使得它們雜湊到同一個值是計算上不可行的。
Hash函式主要用於完整性校驗和提高數字簽名的有效性,目前已有很多方案。這些演算法都是偽隨機函式,任何雜湊值都是等可能的。輸出並不以可辨別的方式依賴於輸入;在任何輸入串中單個位元的變化,將會導致輸出位元串中大約一半的位元發生變化。
常見雜湊函式(Hash函式)
·MD5(MessageDigestAlgorithm5):是RSA資料安全公司開發的一種單向雜湊演算法,MD5被廣泛使用,可以用來把不同長度的資料塊進行暗碼運算成一個128位的數值;
·SHA(SecureHashAlgorithm)這是一種較新的雜湊演算法,可以對任意長度的資料運算生成一個160位的數值;
·MAC(MessageAuthenticationCode):訊息認證程式碼,是一種使用金鑰的單向函式,可以用它們在系統上或使用者之間認證檔案或訊息。HMAC(用於訊息認證的金鑰雜湊法)就是這種函式的一個例子。
·CRC(CyclicRedundancyCheck):迴圈冗餘校驗碼,CRC校驗由於實現簡單,檢錯能力強,被廣泛使用在各種資料校驗應用中。佔用系統資源少,用軟硬體均能實現,是進行資料傳輸差錯檢測地一種很好的手段(CRC並不是嚴格意義上的雜湊演算法,但它的作用與雜湊演算法大致相同,所以歸於此類)。
雜湊函式
又稱hash函式,Hash函式(也稱雜湊函式或雜湊演算法)就是把任意長的輸入訊息串變化成固定長的輸出串的一種函式。這個輸出串稱為該訊息的雜湊值。一般用於產生訊息摘要,金鑰加密等.
一個安全的雜湊函式應該至少滿足以下幾個條件:
①輸入長度是任意的;
②輸出長度是固定的,根據目前的計算技術應至少取128bits長,以便抵抗生日攻擊;
④給定雜湊函式的描述,找到兩個不同的輸入訊息雜湊到同一個值是計算上不可行的,或給定雜湊函式的描述和一個隨機選擇的訊息,找到另一個與該訊息不同的訊息使得它們雜湊到同一個值是計算上不可行的。
Hash函式主要用於完整性校驗和提高數字簽名的有效性,目前已有很多方案。這些演算法都是偽隨機函式,任何雜湊值都是等可能的。輸出並不以可辨別的方式依賴於輸入;在任何輸入串中單個位元的變化,將會導致輸出位元串中大約一半的位元發生變化。
常見雜湊函式(Hash函式)
·MD5(MessageDigestAlgorithm5):是RSA資料安全公司開發的一種單向雜湊演算法,MD5被廣泛使用,可以用來把不同長度的資料塊進行暗碼運算成一個128位的數值;
·SHA(SecureHashAlgorithm)這是一種較新的雜湊演算法,可以對任意長度的資料運算生成一個160位的數值;
·MAC(MessageAuthenticationCode):訊息認證程式碼,是一種使用金鑰的單向函式,可以用它們在系統上或使用者之間認證檔案或訊息。HMAC(用於訊息認證的金鑰雜湊法)就是這種函式的一個例子。
·CRC(CyclicRedundancyCheck):迴圈冗餘校驗碼,CRC校驗由於實現簡單,檢錯能力強,被廣泛使用在各種資料校驗應用中。佔用系統資源少,用軟硬體均能實現,是進行資料傳輸差錯檢測地一種很好的手段(CRC並不是嚴格意義上的雜湊演算法,但它的作用與雜湊演算法大致相同,所以歸於此類)。