密碼學雜湊函數__密碼學

來源:互聯網
上載者:User

什麼是雜湊函數。雜湊函數是一個數學函數,其具有以下三個特性:

輸入可以為任意大小的字串; 其產生固定大小的輸出; 對於特定的輸入字串,能在合理時間計算出結果。對應n位的字串,其雜湊值計算的複雜度為O(n)。

要使雜湊函數達到密碼安全,需要附加以下三個特性:碰撞阻力、隱秘性、謎題友好

特性1:碰撞阻力

這裡的碰撞是指對於兩個不同的輸入,產生相同的輸出。如果對於雜湊函數H(x),沒有人能夠找到碰撞,則稱該函數具有碰撞阻力。

定義:


  Hash函數H將可變長度的資料區塊M作為輸入,產生固定長度的Hash值h = H(M)。

  稱M是h的原像。因為H是多對一的映射,所以對於任意給定的Hash值h,對應有多個原像。如果滿足x≠y且H(x)=H(y),則稱為碰撞。

應用:資訊摘要

  用於驗證資料的完整性,即判斷資料是否被篡改過。

特性2:隱秘性

定義:

  雜湊函數H具有隱秘性,如果:當其輸入r選自一個高階最小熵的機率分布,在給定H(r||x)條件下來確定x是不可行的。

應用:承諾

我們把想做的事情稱為承諾。這裡承諾是一個數字化過程,類比如下:首先選定一個數字,將數字裝進信封,然後將該信封放到一個人人都可以看到的桌上。這樣做以後,可以說你就信封裡的數字做出來承諾,在開啟信封之前,雖然你已經做出了承諾,但是對於其他人來說它還是秘密。在之後你可以開啟信封,展示你的承諾的數值。

特性3:謎題友好

定義:

如果對於任意n位輸出值y,假定k選自高階最小熵分布,如果無法找到一個可行的方法,在比2的n次方小很多的時間內找到x,保證H(k||x)=y成立,那麼我們稱雜湊函數H為謎題友好。

  應用:搜尋謎題

在這個應用種,我們將建立一個搜尋謎題,該謎題是一個需要對龐大空間進行搜尋,才能找到解決辦法的數學問題。該搜尋謎題沒有捷徑,也就是說除了搜尋龐大的空間來進行求解,沒有其他辦法。


最後,歡迎各位掃描以下二維碼關注我的個人公眾號。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.