【學習筆記】密碼學哈希算法、哈希指針鏈

哈希算法

密碼哈希函數是一類數學函數,可以在有限合理的時間內,將任意長度的消息壓縮為固定長度的二進制串,其輸出值稱為哈希值,也成為散列值。

一個優秀的哈希算法將實現:

1)正向快速:給定明文和hash算法,在有限時間和有限資源內能計算出hash值

2)逆向困難:給定(若干)hash值,在有限時間內很難(基本不可能)推出明文

3)輸入敏感:原始輸入信息輸入一點信息,產生的hash值看起來應該都有很大的不同

4)沖突避免:很難找到兩段不同的明文,使得他們的hash值一致(發生沖突)


哈希算法的輸入值和輸出值之間沒有任何規律,所以不能從輸出值算出輸入值,想要找到指定的輸出值只能枚舉,不斷跟換輸入值,尋找滿足條件的輸入值


幾大成熟哈希算法介紹 :

1)MD系列哈希算法 MD就是MessageDigest的簡稱。家族成員包括MD2,MD4和MD5都產生128位哈希值。目前MD系列算法都發生過碰撞。

2)SHA哈希算法 Secure Hash Algorithm,直譯為安全散列算法。現共有SHA-1,SHA-224,SHA-256,SHA-384,SHA-512。

3)SM3雜湊算法 MD和SHA是國家通用的標準,SM3是我國算法標準。輸入長度的上限是2的6次方,輸出長度是256比特。

比特幣中,應用了兩個密碼學哈希函數,一個是SHA256,一個是RIPEMD160,用于比特幣地址的生成


哈希指針鏈

哈希指針是一個指向存儲地點的指針,加上一個針對存儲信息的哈希值。哈希指針不僅是一種檢索信息的方法,同時也是一種檢查信息是否被修改過的方法。

區塊鏈就可以看做是一類使用哈希指針的鏈表,因此每個區塊不僅僅告訴前一個區塊的位置,也提供一個哈希值去驗證這個區塊所包含的數據是否發生改變

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 所有貨幣都需要一些方法來控制供應,并強制執行各種安全屬性以防止作弊。在法定貨幣方面,像中央銀行這樣的組織控制貨幣供...
    Nutbox_Lab閱讀 3,146評論 1 3
  • 了解區塊鏈哈希如何工作非常重要。但為了做到這一點,我們需要先了解區塊鏈創建的核心原則之一。區塊鏈技術是上個世紀最具...
    盤木閱讀 1,203評論 0 0
  • 每個父母都知道,孩子小時候的陪伴是最重要的。關乎到孩子們的未來。我父母也是這樣。 每當我考上95分或者93分及以上...
    花兒朵朵_5e81閱讀 250評論 0 2
  • 我們都曾經或者不久的將來都要面對找工作的困惑。俗話說,女怕嫁錯郎,男怕入錯行。但,其實每個人都害怕入錯行。 那,究...
    強尼君閱讀 1,547評論 0 17
  • 初三在家一天,早起卻晚吃了飯,心里有些不高興,被老公嘻嘻哈哈化解,人家隨即表示打掃衛生,做午飯,我也就樂得輕松。開...
    Min_Xu閱讀 191評論 0 0