变色龙哈希函数-区块链
變色龍哈希調研
1. 調研背景
1.1哈希函數定義
哈希函數是一類具有以下特征的函數:將任意長度輸入的字串可轉換成一個固定長度的字串,通過原始字串可以很容易地算出轉換后的字串,通過轉換后的字串很難還原出原始字串。
1.2哈希函數特征
? ? ? ?已知一個消息x,去找y使得兩者的哈希相等要比隨便找兩個消息x,y使得兩個的哈希相等要更難,可能性更“弱”,所以已知一個消息x,尋找消息y使得兩個哈希值相等叫做“弱碰撞”,找到x,y使得兩個哈希值相等叫做強碰撞
??????
1.3哈希函數在區塊鏈中的使用
區塊鏈技術當中,使用了哈希函數來計算當前區塊的父區塊的區塊頭的哈希,并存放在當前區塊中。如下圖所示:
?????? ?????? 在上述區塊鏈示意圖中,使用的哈希函數是SHA256。如果我們想要碰撞一個已經確定了的區塊,就要嘗試2256中可能,這是不可行的。這也是區塊鏈不可篡改的密碼學基礎。
1.4存在的問題
?????? 如果使用普通的哈希哈希函數,對于基于區塊鏈的版權保護系統而言,可能會有這樣一種場景:原作者創作了數字作品之后,并沒有將自己的作用上鏈,而是以其他方式公布到了網上,Evil可能在網上或者其他地方看到這個作品,然后在未經作者的應允的情況下,將作品以自己的身份上鏈。如果上鏈成功,此后,當原作者要求改變區塊鏈上該作品的版權的時候,由于區塊鏈的不可篡改性,這時候就難以解決。
?????? 因此,我們考慮引入變色龍哈希。
2. 變色龍哈希概述
2.1變色龍哈希(Chameleon Hash)的定義
一個變色龍哈希函數由四個部分組成:cham_hash=(Setup,KeyGen,Hash,Forge)
2.2變色龍哈希滿足的安全性要求
2.3變色龍哈希函數分析
? ? ? ?相比于傳統哈希函數的難以找到碰撞,變色龍哈希可以人為的設一個“弱點”或者“后門”:掌握了這個后門就可以輕松的找到哈希碰撞。
?????? 這種設計在一定程度上破壞了哈希函數的兩個碰撞性的特點,同時,也破壞了基于哈希函數的區塊鏈的不可篡改的特性,但是也擴大了區塊鏈的應用場景,而且對于不知道門限的普通用戶來說,想要找到碰撞依然是不可行的,也就是說,變色龍哈希的安全性也是可以保障的,對于持有“后門”的管理人員,如果其隨意篡改區塊,也是可以通過驗證兩個區塊的哈希是否相等來驗證。
2.4變色龍哈希函數構造
? ? ? 同傳統的密碼學算法一樣,變色龍哈希也都是基于數學難題的,比如:
2.4.1 基于因式分解的變色龍哈希函數的有效構造
2.4.2基于格的變色龍哈希函數的構造
2.4.3基于離散對數的變色龍哈希函數的構造
Hugo Krawczky 和 Tal Rabin 在2000年提出了變色龍哈希方案,具體方案描述如下:
? ? ? ? 如果攻擊者在不知道門限的情況下,想要進行碰撞,就必須要求解離散對數𝑙𝑜𝑔𝑔h,而這是不可行的。
? ? ? ? 對于其他的變色龍哈希函數,其難度也是基于一定的數學難題的,因此其安全性取決于其對應的數學難題的難易程度。
?
?
總結
以上是生活随笔為你收集整理的变色龙哈希函数-区块链的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ZOJ-3380 Patchouli's
- 下一篇: 磁场传感器(指北针)