Coursera加密與加密貨幣導論1-1加密哈希函數

此係列爲普林斯頓大學Coursera課程《比特幣與加密貨幣技術》第一章第一節筆記


加密哈希函數(cryptographic hash function)

任意長字符串輸入,定長輸出(256bits),計算效率高

1、近似於無衝突:if x!=y,nobody can find H(x)=H(y) , because it takes too long to matter. (2^256種爲例,以2^130步99.8%的找到概率爲方法,計算時間過長)

所以可用於信息摘要驗證。

2、不可逆:當輸入取值不固定時,由哈希值不可逆解出輸入

3、puzzle friendly:已知哈希函數輸出y,若k是適合的輸入集(如不可窮舉)的一個值,則沒有比隨機找x更優的方法,使H(k|x)=y


比特幣使用的SHA-256 哈希函數

使用512bits作爲分組長度


加上多餘的一段數據,padding還包括了整條信息的bit長度,在這之前有1位1和指定的若干位0,使總長爲512位。

函數計算流程如圖。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章