Hash

是否有可以僅使用紙和筆計算而不會洩露任何明文資訊的加密雜湊函式?

  • January 21, 2022

我正在尋找一種加密散列函式,它可以由人類僅使用紙和筆計算,而不會洩露有關紙上明文的任何資訊

密碼散列函式應該可以通過滿足以下屬性的算法進行計算:

  • 輸入/輸出:任何輸入/輸出集都是可以接受的,只要人類可以表示並在它和文本之間進行轉換(例如,base-2 <-> ASCII是可以接受的)。
  • 記憶:請記住,人類可以在工作記憶中保存大約 7±2 個對象,該算法在任何時候都必須要求不超過 11 個(例如,11 個數字、字母或常用詞)的安全記憶。不需要保密的數據可以解除安裝到紙上。假設可以從儲存在人類頭腦中的安全只讀儲存器中隨機訪問明文。
  • 速度:對於短輸入(例如 16 個 ASCII 字元),雜湊應該可以在一天內計算。不到一個小時會很棒。不到一分鐘,太棒了。
  • 材料:假設可以使用筆和紙。預先計算的表(例如,對於S-boxes)是不可取的,但可以接受;更好的是可以從易於記憶的壓縮表示中重新計算的表。幻數或其他預先計算的數據也是如此。
  • 安全性:雜湊函式應該是抗原像的。第二原像抗性和抗碰撞性將是不錯的獎勵。
  • 旁道攻擊:論文(或大腦以外的任何介質)在任何時候都不得包含洩露明文資訊的數據(事後燒紙是不夠的;假設論文的狀態自始至終受到對手的監控計算)。
  • 指令集:處理工具是人腦,操作必須可由典型的數學/CS 研究生(通過實踐)執行。假設人類可以執行個位數的base-64算術(一組 $ 64^2 $ 通過間隔重複可以在一年內輕鬆學習映射)。
  • 描述:如果算法可以被記住(連同所有預先計算的表和幻數的表示),那就太好了。否則,最好將描述放在 A4 紙的兩側(文字、圖表或其他任何內容)。

目前主流的加密散列函式當然是可以接受的,只要有計算它們的算法滿足列出的屬性。

深奧的指示是可以接受的。例如,如果需要大量安全記憶體的算法的某些部分可以在只需要很少的安全記憶體來執行的同態方案下完成(想法是所有內容都可以解除安裝到紙上而不會有洩漏明文的風險),然後去吧。(這樣的事情可能需要密碼隨機性的來源。沒關係:人類可以記住其他人不知道的高熵字元串。)

對於此問題的限制較少的版本,允許訪問現代電腦,但假設所有輸入、輸出、記憶體和指令都由對手監視(因此sha512sum &lt;plaintext&gt;不允許輸入,因為這會洩漏明文)。使用任何標準的 Unix 工具或語言。保證輸入輸出不被篡改。

我正在尋找這樣一種算法,以便我可以隨意(重新)生成高熵密碼片語——即使我沒有隱私也沒有訪問安全電腦的權限——通過記住一個高熵密鑰和計算 $ \operatorname{hash}(\text{key}\mathbin{|}\text{salt}) $ , 在哪裡 $ \text{salt} $ 是每個密碼片語獨有的易於猜測的字元串。

在 crypto.SE 上有一些類似的問題。下面我概述了這個問題與每個問題的不同之處:

是否有一個簡單的雜湊函式可以在沒有電腦的情況下計算?

有沒有足夠強大的筆和紙或頭腦密碼?

我更關心安全和側通道攻擊,而不是速度和簡單性。

是否有可以在精神上執行的安全密碼系統?

我正在尋找雜湊函式,而不是加密協議。

用於外部匿名調查的筆和紙單向函式

這個問題要求一個快速簡單的陷門函式,我不是在尋找它。

查看 Manuel Blum 的人類可計算雜湊函式。他將其稱為人類可電腦器牢不可破的 HCMU。

他聲稱你必須花一個小時來記住這項技術,然後你可以在大約 20 秒內應用散列函式,甚至不用鉛筆和紙。

所需的記憶是記住字母表中每個字母到 0 到 9 範圍內的數字的隨機映射。您還需要記住數字 0 到 9 的隨機排列。對於您想要的每個字元串,這些保持不變雜湊,所以你只需要記住一次。這完全在一般人的記憶能力範圍內。

雜湊函式涉及將輸入字元串映射到數字,執行簡單的加法函式,然後在您記住的隨機排列中查找值。他有證據表明電腦應該很難破解雜湊。

http://www.heidelberg-laureate-forum.org/blog/video/lecture-monday-september-22-2014-manuel-blum/

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