為什麼不能計算兩次雜湊,以及在什麼情況下不能計算兩次雜湊?

時間 2021-05-11 14:58:10

1樓:惜墨

一般原文雜湊之後會縮短,會出現多個明文對映到乙個雜湊值的現象,也就是碰撞。

因為碰撞所以雜湊函式沒有逆運算

但是雜湊值是固定長度的,雜湊值的雜湊值長度不變,也就是一一的對映,沒有碰撞,也就可以寫出反函式。二次雜湊沒有意義。(推測,未經論證)

2樓:封禁讓我戒乎

雜湊值不是不可見字串啊,

而是只限於0-9,A-F這16個字元,比普通可見字元的範圍窄多了——這就是說攻擊的嘗試次數可以大大減少

3樓:jerry shaw

彩虹表需要構造乙個逆函式,將hash值對映回明文密碼,若干明文密文對首位相連形成乙個環狀。

如果是多次hash,那麼這個逆函式就可以和hash函式是同乙個,只要查詢到密文屬於某個環,那麼順著此環查詢可以構造出之前任意次數的hash。 而且不用真正找出明文。

簡言之就是多次hash不僅沒有增加加密強度,反而縮小的明文的空間。

4樓:DKMILAN

兩次Hash之後碰撞的概率會增大

hash一次之後就只剩下數字了

再進行第2次Hash的時候,你相當於對一串給定格式的字串做hash,碰撞的概率是增加了的

和加鹽做對比,hash(hash(raw))的演算法相當於只有一種,給定乙個raw那麼拿到的密文肯定是一樣的,你加鹽Hash了,如果破解者不知道你的鹽值,那麼你的給定乙個原文raw有無限種可能的結果

5樓:

兩次雜湊本身實質上是和一次雜湊是等價的,簡單來說就是

y = H(x)

由於H是自定義的,因此H(x)當然可以等同於 F(G(x))

6樓:深藍加菲

安全方面, 總是希望哪怕攻擊者能夠知道演算法,也能夠盡量的保護資料, 比方說加密演算法從來都不將安全寄託在在演算法本身的保密上, 而是使用金鑰來保證安全, 只要金鑰不洩露就好.

兩次 hash 實際上是等於實現乙個新的hash演算法, 別人根據這個計算新的彩虹表就可以了. 而且就算你不告訴別人你怎麼組合的兩次hash, 黑客只要自己註冊乙個賬號,設定密碼, 獲取到hash的密碼值, 反正hash演算法就那麼多, 排列組合一下,他就可以知道你怎麼做的hash了。

加鹽靈活的多, 比如你更改加鹽字串, 結果就會大大不同, 加鹽的字串就好像金鑰一樣. 這樣, 我們可以在系統第一次安裝的時候或者某個合適的時機, 採集某個隨機資料, 作為加鹽的數值, 這樣每個系統的加鹽的結果都不同, 假如你能夠很好的保護這個加鹽的隨機資料的話, 別人基本上是無法計算彩虹表的.

7樓:Ivony

這裡有兩個問題,第乙個是兩次雜湊事實上是另一種雜湊演算法,當然加鹽也是另一種雜湊演算法,但是加鹽的演算法有很多種,別人不一定有彩虹表,但是兩次雜湊的只有一種,很可能別人手上就有。

另乙個問題就是兩次雜湊導致值域變小,因為雜湊函式的值域大小總是會小於等於定義域,所以多次雜湊後,就有可能造成值域縮小。當然,用於密碼雜湊的時候,這個問題並不那麼重要(相較於彩虹表攻擊)。

8樓:

理論上,如果你的雜湊函式足夠好,那你多次雜湊的安全性和你一次雜湊是一樣的。

如果你的雜湊函式不夠好(例如說對映並不均勻),那多次雜湊的安全性只會更差。

所以這麼幹只可能更糟,而不可能更好。

啤酒製作糖化中為什麼要兩次糖化?為什麼兩次糖化溫度控制有差別?為什麼第一次糖化溫度比第二次糖化溫度低?

太空精釀 啤酒的本質是酵母吃掉糖分,把排洩物 酒精 二氧化碳和風味物質 留在啤酒裡,人類甘之若飴。但是酵母比較作,複雜的糖不願意吃,甚至寧死不吃,只願意從簡單的開始吃。太空精釀 為什麼大公尺不是釀啤酒的首選?而出糖的本質在於將大麥芽中複雜的長鏈澱粉在酶的作用下不斷水解,成為酵母可以直接消化的單醣 雙...

為什麼德國在兩次世界大戰中都是反派?

空軍決勝者 一戰是列強爭奪世界霸權,無正邪之分。好像後世提到一戰也沒怎麼把德國當反派。二戰雖然軸心國有不少罪惡 蘇聯比他們只多不少 但這並不是它們被當做反派的原因。被當做反派,只是因為戰敗了。科幻大劇 高堡奇人 展示了世界的另一種可能,軸心國勝利,德國和日本平分美國。 如果沒有希特拉的種族滅絕問題,...

為什麼會出現兩次雪球地球?

野狗般戰鬥著 從地球的起源開始,講的很詳細 Mercury 最近在上亞利桑那大學教授adam showman 在北大開的行星大氣課,兩次雪球地球剛好與兩次大氧化事件的時間點一致,這兩者前腳後腳發生不是偶然。有一種解釋是這樣的,產氧光合作用生物例如藍藻的出現逐漸將地球大氣和海洋轉變為氧化性。這一過程的...