單向雜湊函式的具體例子

2021-08-28 08:49:03 字數 1531 閱讀 7479

一 md4、md5

md4是由rivest於2023年設計的單向雜湊函式,能夠產生128bit的雜湊值。不過隨著dobbertin提出尋找md4雜湊的碰撞方法,現在已經不安全了。

md5是由rivest於2023年設計的單向雜湊函式,能夠產生128位元的雜湊值。

md5的強抗碰撞性已經被攻破,也就是說,現在已經能夠產生具備相同雜湊值的兩條不同的訊息,因此它已經不安全了。

md4和md5中的md是訊息摘要(message digest)的縮寫。

二 sha-1、sha-256、sha-384、sha-512

sha-1是由nist設計的一種能夠產生160位元的雜湊函式。

2023年被作為美國聯邦資訊處理標準規格發布的是sha。

2023年發布的修訂版fips pub 180-1稱為sha-1。在《cryptrec密碼清單》中,sha-1已經被列入「可謹慎運用的密碼清單」,即除了可用於保持相容性的目的外,其他情況下都不推薦使用。

sha-256、sha-384、sha-512都是由nist設計的單向雜湊函式,它們的雜湊值長度分別為256bit、384bit、512bit。這些單向雜湊函式合起來統稱sha-2,它們的訊息長度也存在上限(sha-256的上限接近於2的64方位元,sha-384和sha-512的上限接近於2的128位元)。這些單向雜湊函式於2023年和sha-1一起作為fips pub 180-2發布的。

sha-1的強抗碰撞性已於2023年被攻破,也就是說,現在已經能夠產生具備相同雜湊值的兩條不同的訊息。不過,sha-2還尚未被攻破。

sha-2共包含6種版本,這6種sha-2實質上都是由sha-256和sha-512這兩種版本衍生出來的,其他的版本都是通過將上述兩種版本的結果進行擷取得到的。此外,sha-224和sha-256在實現上採用了32*8位元的內部狀態,因此更適合32位的cpu。

6種版本的sha-2

三 pipemd-160

pipemd-160是於2023年設計出的一種能夠產生160bit的雜湊值的單向雜湊函式。pipemd-160是歐盟pipe專案所設計的ripemd單向雜湊函式的修訂版。這一系列的函式還包括pipemd-128、pipemd-256、pipemd-320等其他一些版本。在cryptrec密碼清單》中,pipemd-160已經被列入「可謹慎運用的密碼清單」,即除了用於保持相容性的目的以外,其他情況都不推薦使用。

pipemd的強抗碰撞性已經於2023年被攻破,但pipemd-160還尚未被攻破。順便一提,位元幣使用的就是pipemd-160。

四 sha-3

在2023年sha-1的強抗碰撞性被攻破的背景下,nist開始著手制定用於取代sha-1的下一代單向雜湊函式sha-3.sha-3和aes一樣採用公開競爭的方式進行標準化。

sha-3的選拔於5年後的2023年塵埃落定,乙個名叫keccak的演算法勝出,最終成為了sha-3.

I O流具體例子

按位元組來讀取檔案 複製 如下 public class readfromfile in.close catch ioexception e try catch exception e1 finally catch ioexception e1 按字元來讀取檔案 複製 如下 以字元為單位讀取檔案,常...

eventfd 的分析與具體例子

linux 2.6.27後新增了乙個新的特性,就是eventfd,是用來實現多程序或多執行緒的之間的事件通知的,也可以由核心通知使用者空間應用程式事件。eventfd的建立是通過eventfd函式實現的,返回值即是該eventfd所對應的檔案描述符,函式的原型如下所示 include inteven...

正規化間的區別(具體例子)

由於最近要做畢業設計了,所以加強了一下資料庫設計的基礎知識,主要是正規化的應用。在此作些總結吧。首先是基礎概念,也就是術語 1 實體 entity 就是實際應用中要用資料描述的事物,一般是名詞。2 字段 fields 就是一項資料,也就是我們平常所說的 列 4 鍵 key 可唯一標識一條記錄的乙個欄...