加密貨幣的兩個密碼學基礎(chǔ):哈希函數(shù)和數(shù)字簽名,今天介紹我對于哈希函數(shù)和哈希指針以及數(shù)據(jù)結(jié)構(gòu)的理解和記錄理解哈希函數(shù)過程中的疑問以待日后解決跺撼。
哈希函數(shù)的特性
碰撞阻力
任何哈希函數(shù)在理論上都是碰撞的病线,但是由于實踐中對于一個哈希函數(shù)無法找到碰撞吓著,就默認為其具有碰撞阻力,無法找到的原因是:①測試碰撞計算量要求太高送挑,②無法確認識別碰撞的有效方法夜矗;
碰撞阻力的應(yīng)用:信息摘要,其保證了文件的唯一性让虐;
隱秘性
H(r ll x)= y
取至一個具備高階最小熵的分別中的值 r 與輸入值 x 進行連接構(gòu)成新的輸入值 r ll x紊撕,這樣就是取至任意分布的 x 具有了隱秘性,也就是無法通過輸出值y計算出輸出值x赡突;
隱秘性的應(yīng)用是承諾对扶,一個承諾協(xié)議如果成立需要兩個安全特性:隱秘性和約束性,對于約束性和碰撞阻力我的理解是:兩則是子母集關(guān)系惭缰,如圖:
謎題友好
H(id ll x)∈Y
謎題友好中id與Y共同決定了解決上述數(shù)學問題的難度浪南,因為id和Y的范圍都可認為控制,這樣就可控制挖礦的難度漱受。
哈希指針
哈希指針具有兩個特征:告訴使用者存儲的位置和告訴位置數(shù)據(jù)的哈希值
問題集結(jié):
络凿?1,約束性隱含在哈希函數(shù)的碰撞阻力特性中,但是結(jié)論反之不成立絮记,就是說我們可以找到碰撞摔踱,但是都不是滿足H(nonce ll msg)= = H(nonce’ ll msg’)意義下的碰撞,例如怨愤,你可以對于同一個信息來產(chǎn)生滿足同一個承諾的隨機數(shù)派敷,但這里的哈希函數(shù)不具備碰撞阻力特性。
撰洗?2篮愉,安全哈希算法中的SHA-256哈希函數(shù)簡化圖中的MD變換的解釋能夠看懂,但是簡化圖不理解什么意思
差导?3试躏,在講到區(qū)塊鏈的結(jié)構(gòu)的時候提到:區(qū)塊鏈的結(jié)構(gòu)與我們上節(jié)見到的MD變換類似,這個很不理解设褐。
以上是學習:區(qū)塊鏈 技術(shù)驅(qū)動金融 數(shù)字貨幣與智能合約技術(shù) 這個本書第一張第一小節(jié)和第二小節(jié)的總結(jié)冗酿,如果發(fā)現(xiàn)有任何理解錯誤之處歡迎交流。