Provable-Security

數字儲物櫃中的安全參數如何幫助證明它已正確解鎖?

  • July 28, 2019

我指的是 Canetti 等人,“用於低熵分佈的可重用模糊提取器”,可在此處獲得。

解釋§3中的相關部分:-

鎖定算法 $ lock(key,val) $ 輸出對 $ nonce,H(nonce,key) \oplus (val||0^s) $ ,其中 H 是加密雜湊函式,nonce 是 nonce,|| 表示連接,s 是安全參數。

s 確定 $ 1−2^{−s} $ 說明解鎖成功。肯定有一些關係從論文中遺漏了 s, |(nonce,key)| 和 |val| 異或運算是有用的。它有HMAC的氣味。

看起來用 s 零填充的東西如何幫助證明儲物櫃已正確打開?簡單地保證(nonce + key)的位長是不是某種奇怪的數學方法?


筆記。鎖定功能的隨機數輸出似乎不是解鎖功能的輸入,這增加了我的困惑。

他們提到 $ H(nonce, key) $ 被建模為隨機預言機。然後, $ H(nonce, key) \oplus M\cong U\oplus M $ 在哪裡 $ U $ 是均勻隨機的,因此加密方案(本質上)成為一次性密碼。這是一個相當標準的結構。

一次性密碼本的一個“缺陷”是所有內容都有有效的解密。鑑於這種情況,您如何確定您擁有某些密文的“正確”密鑰?他們提到的解決方案是尋找字元串 $ 0^s $ 在明文的末尾。這將:

  1. 如果您有某些密文的正確密鑰,則始終出現
  2. 如果您的某些密文的密鑰不正確,幾乎永遠不會出現(具體來說,它會很有可能出現 $ 2^{-s} $ ,所以你會檢測到錯誤的密鑰被使用的機率 $ 1-2^{-s} $ ).

這在道德上等同於校驗和,並且可能可以使用糾錯碼的術語來形式化(但我不會嘗試)。

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