文章閱讀頁通欄

河南22选5第280期开奖结果:比特幣的加密本質: 哈希函數是什么?

來源: 區塊網 作者:
什么是哈希? 加密哈希函數是在數字數據上運行的數學運算。在比特幣中,所有操作都使用SHA256作為底層加密哈希函數。 安全哈希算法是由美國國家安......
什么是哈希?

加密哈希函數是在數字數據上運行的數學運算。在比特幣中,所有操作都使用SHA256作為底層加密哈希函數。

安全哈希算法是由美國國家安全局(NSA)設計的一套加密哈希函數。

簡單地說,哈希函數就像一個黑盒子,在這里輸入任何大小的數字信息,結果(輸出)是一個字母數字字符串(例如:0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855)。對于SHA-256,輸出是32字節。該函數有兩個特點:

1)毫不含糊:哈希 (輸出)就像輸入數據的指紋。因此,從數字輸入的哈希中,您無法創建原始數字輸入。

河南22选5第202期开奖 www.lyedr.com 2)抗沖突:任何人都不可能能夠找到導致相同哈希輸出的兩個不同輸入值?;瘓浠八?,對于任何不同的輸入,總會有不同的輸出。這允許使用這個函數來檢查數據完整性,通過將計算的“哈?!?算法執行的輸出)與已知和期望的哈希進行比較,可以確定數據的完整性。例如,計算下載文件的哈希,并將結果與之前發布的哈希進行比較,可以顯示下載是否被修改或篡改。

但是為什么哈希在區塊鏈中如此重要呢?

這是挖礦過程和礦工職責的一部分: 礦工獲取一些交易并將其用作輸入的一部分,他們試圖計算一個哈希函數來為鏈提供一個新的塊。

加密哈希算法有很多。下面列出了一些相對經常被引用的算法??梢栽詘用芄:冉系囊趁嬪險業礁惴旱牧斜?。

MD5

MD5是由Ronald Rivest在1991年設計的,用于替換以前的哈希函數MD4,并在1992年指定為RFC 1321。對MD5的沖突可以在幾秒鐘內計算出來,這使得該算法不適合大多數需要加密哈希的用例。MD5生成128位(16字節)。

SHA-1

SHA-1是美國政府Capstone項目的一部分。該算法的最初規范——現在通常稱為SHA-0——由美國政府標準機構NIST(國家標準與技術研究所)于1993年以“安全哈希標準FIPS PUB 180”的名義發布。它在出版后不久就被美國國家安全局撤回,并被1995年在FIPS PUB 180-1(通常稱為SHA-1)上出版的修訂版所取代。SHA-1生成一個160位(20字節)的哈希。

文檔可能只將SHA-1稱為“SHA”,這可能與其他標準哈希算法(如SHA-0、SHA-2和SHA-3)相沖突。

RIPEMD - 160

RIPEMD (RACE Integrity Primitives Evaluation Message Digest)是由比利時魯汶大學(Katholieke Universiteit Leuven) COSIC研究小組的Hans Dobbertin、Antoon Bosselaers和Bart Preneel在魯汶開發的一個加密哈希函數,于1996年首次出版。RIPEMD基于MD4中使用的設計原則,其性能類似于更流行的SHA-1。然而,RIPEMD-160并沒有被破壞。顧名思義,RIPEMD-160生成160位(20字節)的哈希。

Whirlpool

在計算機科學和密碼學中,Whirlpool是一個加密哈希函數。它是由Vincent Rijmen和Paulo s.l. M. Barreto設計的,他們在2000年首次描述了它。Whirlpool是基于一個基本修改版本的高級加密標準(AES)。Whirlpool生成一個512位(64字節)的哈希。

SHA-2

SHA-2(安全哈希算法2)是由美國國家安全局(NSA)設計的一組加密哈希函數,于2001年首次發布。它們是使用merker - damgard結構(來自單向壓縮函數本身)構建的,使用分類的專用塊密碼器中使用的Davies結構來構建。

SHA-2基本上由兩種哈希算法組成:SHA-256和SHA-512。SHA-224是SHA-256的一個變體,具有不同的初始值和截斷的輸出。SHA-384和不太為人所知的SHA-512/224和SHA-512/256都是SHA-512的變形。在AMD64等64位上,SHA-512比SHA-256更安全,而且通常比SHA-256更快。

以位為單位的輸出大小由“SHA”名稱的擴展名給出,因此SHA-224的輸出大小為224位(28字節),SHA-256生成32字節,SHA-384生成48字節,最后SHA-512生成64字節。

SHA-3

SHA-3 (Secure Hash Algorithm 3)于2015年8月5日由NIST發布。SHA-3是更廣泛的Keccak的一個子集。Keccak算法是Guido Bertoni、Joan Daemen、Michael Peeters和Gilles Van Assche的成果。Keccak基于sponge 結構,sponge 結構還可以用于構建其他加密原語,如流cypher。SHA-3提供與SHA-2相同的輸出大小:224、256、384和512位。

還可以使用SHAKE-128和SHAKE-256函數獲得可配置的輸出大小。這里名稱的-128和-256擴展表示函數的安全強度,而不是以位為單位的輸出大小。

BLAKE2

2012年12月21日,布萊克的改版產品BLAKE2發布。它是由Jean-Philippe Aumasson、Samuel Neves、Zooko Wilcox-O 'Hearn和Christian Winnerlein創建的,目標是取代廣泛使用的MD5和SHA-1算法。當運行在64x64和ARM架構上時,BLAKE2b比SHA-3、SHA-2、SHA-1和MD5更快。盡管BLAKE和BLAKE2還沒有被標準化為SHA-3,但它已經在許多協議中使用,包括argon2加密哈希,因為它在現代cpu上提供了很高的效率。由于BLAKE是SHA-3的候選對象,BLAKE和BLAKE2都提供了與SHA-3相同的輸出大小——包括可配置的輸出大小。

關鍵詞: 比特幣  哈希函數  
0/300
?