Hash
Keccak 是“有效可逆的”是什麼意思?
閱讀維基百科,我看到了這個:
已經證明,SHA-2 使用的 Merkle-Damgård 結構正在坍塌,因此具有抗量子碰撞性,但對於 SHA-3 使用的海綿結構,作者僅提供了以下情況的證明:塊函式 f 不是有效可逆的;Keccak-f
$$ 1600 $$然而, 是有效可逆的,因此他們的證明不適用。
所以:
- 在這種情況下,“有效可逆”是什麼意思?它是不可逆的(如解密),那還有什麼意思呢?
- 為什麼 Keccak 是可逆的?是設計使然,還是因為這不重要而他們沒有打擾?
- 在這種情況下,“有效可逆”是什麼意思?它是不可逆的(如解密),那還有什麼意思呢?
- 為什麼 Keccak 是可逆的?是設計使然,還是因為這不重要而他們沒有打擾?
如果你仔細觀察,你會發現它並沒有聲稱Keccak是有效可逆的,它說Keccak-f是有效可逆的。
Keccak-f 是用於混合海綿構造中的內部狀態的函式。
因為它是一個排列,所以它是可逆的。如果您擁有整個狀態,則可以應用逆排列以倒退到前一個狀態。
由於散列函式不會將整個狀態作為散列輸出輸出,因此當給定散列輸出以查找原像時,攻擊者可能不會執行此操作,因此 Keccak-f 可逆不是問題(儘管可能有更多使用置換與函式混合狀態時的細微差別)。
如此有效的可逆意味著它通常做的事情。
至於設計師為什麼選擇它,您可能需要詢問他們以獲得明確的答案。保證一個函式是可逆排列並不難,只要每一步都是可逆的,整個函式就會是可逆的。