Hash
為什麼我不能將雜湊反轉為可能的輸入?
我將提供*“證明”*為什麼雜湊函式可以反轉,我希望你能告訴我為什麼我錯了
因此,雜湊函式可以實現為一系列邏輯門。所有邏輯門都可以僅使用
NOT
和OR
門來實現。(我對這兩個都相當肯定,但如果我錯了,請糾正我。)因此,雜湊函式可以實現為一系列
NOT
和OR
門。通過
NOT
另一個門可以很容易地反轉一個NOT
門。
OR
門不能逆轉,因為它從根本上失去了資訊。但是,可能的輸入可以從任何給定的輸出中導出。因此,在給定一組邏輯門的輸出(包括雜湊函式)的情況下,我應該能夠構造一個可能的輸入。
我在這裡做錯了什麼?
您缺少的是多個邏輯門可以共享相同輸入的事實。因此,您不能單獨查看每個邏輯門並以這種方式“反轉”整個電路,因為選擇邏輯門的輸入可能會限制其他邏輯門的輸出(因此並非任何邏輯門的所有可能輸入選擇都會工作,只有一些人會)。
所以你仍然需要以某種方式“搜尋”一組令人滿意的輸入,你不能只是在本地反轉每個邏輯門,因為它們都是相互連接的。這個搜尋空間是指數級的。