首頁>科技>

最流行的計算機演算法之一可能是SHA-256雜湊函式。它是目前最流行、最強的加密函式之一。它非常強大,被用於比特幣等加密貨幣。這是一個牢不可破的函式,由此產生的問題價值數千億美元。

SHA-256

SHA-256(安全雜湊演算法-256)是一個確定的單向雜湊函式。它是美國國家安全域性開發的SHA-2加密雜湊函式的成員之一。到目前為止,它的256位金鑰從未被洩露過。以前SHA-1是用於加密的雜湊演算法。但是,隨著時間的推移,SHA-1逐漸被棄用,它也不再被認為是安全的。所以SHA-2就被開發出來了。

2016年,SSL證書行業向SHA-2過渡,SHA-2成為新標準。SHA-256是SHA-2加密雜湊函式的成員,從未被洩露。那麼,它為何如此安全呢?我們馬上就知道了。

它是如何工作的?

雜湊函式只是將大量的資訊轉換成較小的隨機數。SHA-256演算法從給定的大隨機數中生成一個小的隨機數。但是,當相同的大數值透過雜湊函式傳遞時,較小的數值總是相同的。

SHA-256非常安全,即使我們只改變了輸入中的一位數字,輸出也會完全改變。SHA-256返回一個十六進位制表示,256位表示64個十六進位制字元。無論輸入多長,它總是返回64個字元的十六進位制字串。

還記得我說過SHA-256是一個確定的單向雜湊函式嗎?這意味著,它是一個數學函式,接受任意大小的輸入,但返回固定大小的輸出,就像檔案或字串的數字指紋。它是確定性的,因為相同的輸入總是產生相同的輸出。這是一種方法,因為很難向後執行操作,也就是說,從輸出返回輸入字串。

以下是一些例子:

Input: hello

Output: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

Input: Hello

Output: 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969

不管它的長度是多少,它都會返回一個64個字元的字串。而且,即使是大寫一個單詞也會完全改變雜湊值,我們不可能透過雜湊函式,猜出" hello "和" Hello "很相似。

現在,您可以向雜湊函式提供任何型別的輸入,例如任意長度和大小的影象、文字、影片,它將生成精確為64個字元的輸出。這就像是任何檔案或字串的數字指紋。

它的安全性如何?

獲得相同雜湊號的唯一方法是輸入相同的檔案或字串。即使是一個小的調整也會完全改變輸出。這就是它如此安全的原因。

你可以用這個演算法嘗試一些有趣的東西。你可以隨便拍一張照片,透過SHA-256函式,輸出的數字可能是人類歷史上從未見過的。

千億美元的問題是什麼?

沒人能找到逆轉演算法的方法。記得我說過這是單向的嗎?這是因為幾乎不可能逆轉,至少在今天是這樣。建立一個可以逆轉SHA-256雜湊的演算法需要數十億美元。

為什麼它如此珍貴?

因為如果你能逆轉SHA-256雜湊,你就能比地球上任何人都更快地挖掘比特幣。要挖掘比特幣,你必須找到一個輸入,它的輸出是SHA-256,開頭有70多個0。由於沒有已知的公式來做到這一點,我們唯一的方法是透過蠻力計算。它只是嘗試一系列不同的輸入,直到我們找到一個可行的答案。

找到相同的雜湊輸入是不可能的(我將在後面解釋),但是要挖掘比特幣,您只需要匹配它的一小部分。所以,這是可能的。透過這種方式,在大約10分鐘內,某個人在某個地方賺了12.5個比特幣,差不多40萬美元(截止2月1日價格)。

現在,像這樣想,如果你有一個演算法來找到一個輸入,它將生成與給定雜湊匹配的輸出。你很快就會賺上不可估量的財產。

一些隨機資料

我們已經建立了儘可能快地執行SHA-256演算法的特殊機器。在整個世界,比特幣礦工每秒執行60,000,000,000,000雜湊!

10
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 看完位元組大佬的演算法刷題寶典,我直接手撕了500道演算法演算法題