雜湊值

 

區塊鏈網路是由多種加密技術建構而成,其中之一就是使用雜湊函數(Hash Function)。使用雜湊函數會針對輸入的值產生一個幾乎完全無關的數值。這個數值就稱之為雜湊值(Hash Value)

雜湊函數的特徵:

  • 相同輸入值就一定會產生相同的輸出值。
  • 因為要從雜湊值(輸出值)反推輸入值相當困難,所以具備不可逆性值,因此也 稱為單向函數。
  • 只要輸入值有所變化,雜湊值(輸出值)就會完全不同。
  • 不論輸入值的長度長短,雜湊值(輸出值)都是相同長度。
  • 「原則上」不會有不同輸入值卻產生相同輸出值的情形。(2017年在SHA-1雜 湊函數中曾經發生這樣的狀況)

SHA-256

 

雜湊函數有很多種類,SHA-256屬於「SHA-2」規格中的一種,是符合美國國家標準暨技術研究院所制定之聯邦資訊處理標準FIPS-184的雜湊函數家族。

SHA-256全名為「Secure Hash Algorithm 256-bit」,代表雜湊函數的輸出值為256bit (32Byte)。根據輸出值長度的不同,還有長度為224bit的SHA-224、長度為384bit的SHA-384等。

利用SHA-256分別將Aaabcdefghijk雜湊化得到下列三圖。可以看到輸入值和輸出值完全無關,將大小寫a輸入將會得到完全不同的輸出值,而無論輸入值長短,輸出值一樣是固定長度(32 Byte)的雜湊值。雖然輸出了64個字元,但是因為是以16進位來呈現,所以長度是32Byte

利用SHA-256將” A ”雜湊化
利用SHA-256將” a “雜湊化
利用SHA-256將”abcdefghijk”雜湊化

Tags:

3 Comments

    1. 在區塊鏈裡,每個節點都會使用Hash function,來進行加密,以保證每筆交易的安全性,利用其輸入與輸出完全不同與其不可逆的特性,每一筆交易的產生,都會經過每個節點,每經過一次就加密一次,以實現區塊鏈交易的安全與不可串改性。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *