股海盒子 : 虛擬貨幣專有名詞篇-Hash雜湊

分享

作者 : 股海盒子(Bryan),盒子從事財策業務多年,對股票、基金及環球市場投資略有見解,希望將一套分析理論配合投資經驗套用在崛起中的虛擬貨幣市場。

虛擬貨幣專有名詞篇-Hash雜湊

Hash函數是甚麼?

Hash(散列、雜湊)就是把任何長度的數據投射為有限長度的區域上。簡單說就是對一串數據進行加密,輸出另一段固定長度的數據H,作為這段數據的特徵(又稱作:指紋),不論數據的規模多大,輸出的H都為固定長度。

如何產出H?

將本數據輸出固定長度的H(可以是128位元),依次進行Hash運算-即Hashing,然後用不同的方法迭代即可。如果不夠128位怎麼辦?在算法中加入用0或1以完整的條件即可。

由於用途的不同,Hash在數據結構中的含義和密碼學中的含義並不相同,所以在這兩種不同的領域裡,算法的設計側重點也不同。

Hash安全性

對於兩個不同的數據塊,Hash值相同的機率極小,約要攻擊一個數據塊,要撞對一組H值可能要花上幾千年。在一個數據塊,我們篡改當中的一個比特位,其H值將會出現全新的一組,所以其安全性很高。

Hash實際應用

在生活應用密碼學中,Hash算法主要的作用是用於消息摘要和簽名,換然之它主要用於對整個消息的完整性進行校驗。例如我們登入FB的時候都需要輸入密碼,若FB有保存密碼的系統設定,那麼黑客就很容易竊取大家的密碼來登入,若用家有將信用卡綁定FB的話,那將會很危險隨時有財務損失。那麼FB可以使用Hash算法生成一個密碼的簽名,FB後台只保存這個簽名值。由於Hash算法是不可逆的,那麼黑客即便得到這個簽名,也絲毫沒有用處;而如果你在網站登入界面上輸入你的密碼,那麼FB後台就會重新計算一下這個hash值,與網站中儲存的原hash值進行比對,如果相同,證明你擁有這個帳戶的密碼,那麼就會允許你登入。銀行也是如此。

分享