演算法收集 Hash解析 01 hash定義

2021-04-16 21:14:33 字數 822 閱讀 5936

hash雜湊演算法詳細解析(一)

本文詳細描述了hash演算法的通用模式,在這個基礎上對目前作為標準的幾種主要hash演算法進行了一些分析:md5,ripemd系列,sha系列,tiger以及剛加入到標準不久的whirlpool。給出了部分演算法的**。

1 hash定義

傳統hash函式的定義:乙個hash函式滿足下列條件:

我們目前所說的hash,已經不是傳統意義上的普通雜湊了。按照密碼學的定義,hash函式其實就是乙個單向函式。乙個函式f是單向的,如果f滿足:

簡單一點說,單向函式就是後向函式,只能計算以後的值,不能計算以前的值。

對稱加密函式也是單向函式。不同的是,這些單向函式具有陷門。陷門相當於後門一樣,知道陷門的人就能夠反轉單向函式,不知道的人就不能夠做到這點。正因為hash函式和加密函式具有一樣的性質,所以,它們的設計思路和方法是一致的。下面用乙個簡單的例子來說明它們之間的聯絡:

加密函式e的**為:

e(data,key) = data ^ md5(key);

對應的解密函式為:

d(data,key) = data ^ md5(key);

如果選擇了乙個好的加密模式,上面的這對簡單的加密/解密函式對也具有極高的安全度。

《密碼學基礎(英文版)》《現代密碼學理論與研究》

2 hash 演算法的一般模式

當前所提出來的hash演算法都具有乙個一般的模式。其主要計算步驟有3步:

有乙個例外的,就是whirlpool演算法不需要第3步。下面將對各種標準hash函式進行簡單分析,並給出其實現**。 

hash表 收集雪花

題目描述 不同的雪花往往有不同的形狀。在北方的同學想將雪花收集起來,作為禮物送給在南方的同學們。一共有n個時刻,給出每個時刻下落雪花的形狀,用不同的整數表示不同的形狀。在收集的過程中,同學們不希望有重複的雪花。你可以從任意a時刻開始,在b時刻停止。a到b時刻中間的雪花也都將被收集。他們希望收集的雪花...

Hash雜湊演算法詳細解析(一)

hash雜湊演算法詳細解析 一 本文詳細描述了hash演算法的通用模式,在這個基礎上對目前作為標準的幾種主要hash演算法進行了一些分析 md5,ripemd系列,sha系列,tiger以及剛加入到標準不久的whirlpool。給出了部分演算法的 1 hash定義 傳統hash函式的定義 乙個has...

Hash雜湊演算法詳細解析(二)

3 md5演算法 md5演算法定義在rfc 1321中,由ron rivest rsa公司 在1992年提出。然而很多學者已經找出了構造md5衝突的方法。這些人中包括中國山東大學的王教授和hans dobbertin。所以,單純使用md5的資訊認證模式變得不可靠了。但並不是說md5不能夠使用。md5...