Hash
包含雜湊文本的圖像文件中的雜湊悖論?
是否可以在圖像中包含可見的雜湊摘要,以便圖像本身的雜湊是相同的摘要?
當我們在圖像中繪製散列的文本時,我們當然會同時改變圖像的散列*,*因為眾所周知,散列函式輸入的微小變化會導致輸出的顯著變化。
我也知道雜湊函式是不可逆的。
我在學習圖像處理時想到了這一點。我想將帶有圖像雜湊值的文本放在圖像頂部附近。
有沒有辦法以某種方式實現我的目的?
有沒有解決方案如何實現我的目的?
我們可以將您的問題重新形式化為一般形式:
查找其中包含其雜湊的文本。 $$ \text{digest-value} = \operatorname{Hash}(\text{some part| digest-value | some other part)}) $$
當您更改文本時,雜湊值將被更改。這對於加密雜湊函式是不可能的,因為搜尋超出了所有範圍。
你可以做什麼;
- 如果散列文本確實是16 個十六進制值,那麼您嘗試所有可能的 $ 2^{64} $ 要匹配的值。我們可能會假設您使用 SHA-256 並修剪結果。缺點是這樣;我們不知道修剪後的 SHA-256 會達到所有值。
如果一個雜湊 $ 2^k $ 值和修剪到 $ k-bit $ 然後由於生日悖論的碰撞期望,我們不期望所有值都會發生。
因此,這可能無法解決所有圖像。這仍然需要大量的工作。
如果散列文本是實際大小,則上述內容是不可能的。
- 使用部分圖像,這類似於紙 PUF。他們用一些模糊提取器提取了紙張的表面,然後在沒有進行提取的部分對紙張進行簽名。
使用圖像的一部分計算雜湊值,然後在未計算雜湊的部分列印雜湊值。
- 使用分層圖像。一層包含整個部分可以散列的圖像,上層可以包含有值。
使用者可能很難處理圖層,相反,您可以使用網頁中的程式技巧,可以使用HTML 和 CSS 在圖像上添加文本。
我的目的是讓一些人更容易,他們不需要手動散列它。
為什麼他們不需要手動散列,那麼散列的用途是什麼?攻擊者不能只發送帶有文件雜湊值的圖像,讓使用者相信嗎?這根本不是一個好的安全做法,讓使用者計算雜湊甚至檢查它是由你簽名的數字簽名。