Hash

允許返回明文部分的散列函式?

  • August 23, 2021

說 $ m $ 是一些明文,並且 $ h_n(m) $ 是它的 $ n $ 位雜湊。

***問題:***我們如何設計 $ h_n $ 這樣我們就可以提取關於 $ m $ 從 $ h_n(m) $ ?


我問這個問題的原因是,我認為,如果我們回答這個問題,我們將確定完美的有損壓縮函式。

我之所以這麼認為,是因為每一點 $ n $ 位在 $ h_n(m) $ 包含有關每個位的資訊 $ m $ .

注意:我知道,如果 $ h_n $ 滿足問題中的標準,那麼它將不再用於大多數加密目的。

要保留資訊,您需要使輸出更大。我們可以保存的最大資訊量就是全部。這可以通過以下方式實現:例如,身份功能。 $ h(m)=m $

顯然,這根本不提供壓縮。資訊論告訴我們我們不能壓縮一般數據,有些數據可以用某些函式壓縮,但沒有函式可以壓縮所有數據。

如果您正在尋找有損壓縮,這需要您決定哪些資訊不太重要,這在圖像影片和聲音中相當容易理解,但不適用於一般數據。對於一般數據,如果您不在乎失去什麼,則可以截斷消息並保留一些資訊,從資訊論的原因來看,沒有比這更好的了。n 位的散列輸出可以包含不超過 n 位的資訊。

如果您希望保留大量有關未知結構的非隨機消息的資訊,那麼密碼散列函式非常好。將例如 SHA3-256 應用於任意可壓縮消息,您可能會得到非常接近 256 位的資訊。

遺憾的是(幸運的是)找到產生這樣一個雜湊的可能消息集或對它們說任何有趣的東西都超出了我們的範圍。

引用自:https://crypto.stackexchange.com/questions/93691