Provable-Security

與使用標準模型相比,隨機預言模型如何簡化證明?

  • June 3, 2019

如果我使用標準模型,那麼證明必須依賴於數學假設。

這種安全證明通常會更長/更複雜嗎?

有沒有使用隨機預言機來證明安全性的例子,然後將其刪除以顯示這一點?

是的,有些例子是先使用隨機預言模型,然後再刪除,是的,證明最終變得更加(非常)複雜。但事實上,證明的簡單性並不是我們最初證明 ROM 安全性的原因。主要原因是我們甚至不知道我們的雜湊函式必須滿足什麼安全屬性!

直覺地說,隨機預言機模擬了一個理想化的散列函式,它將滿足您夢寐以求的所有安全屬性。所以,考慮一個使用散列函式的協議 $ H $ . 在密碼學中,這個協議似乎是安全的,因為我們不知道如何破解它。然而,為了證明它是安全的,我們需要安全性降低:從破壞協議的對手的存在到存在與我們的雜湊函式的某些安全屬性相矛盾的算法的存在的有效減少。

但是問題就變成了:哪個安全屬性?我們想要 $ k $ - 明智的獨立?單向性?防撞?多重防撞?輸出難處理?相關性難處理?相關穩健性?可提取的抗碰撞性?

我上面列出的所有屬性實際上是散列函式的安全屬性,已用於各種密碼結構的安全證明。但還有更多。至少有十幾個。

由於很難找到正確的安全概念,密碼學家通常喜歡在隨機預言模型中爭論安全。如果你能直覺地做到這一點,這保證了我們有可能有一天能夠在某些情況下證明我們的協議的安全性關於我們的雜湊函式的假設。如果你失敗了,那可能只是意味著你的協議不安全——所以這是一個很好的健全性檢查。ROM 中的證明通常非常簡單:對手對函式一無所知,它的行為是完全隨機的,所以你可以只計算對手積累的關於隨機預言機的資訊,併計算他找到一些預言機的確切機率具體資訊。在證明中,您還可以訪問對手對預言機所做的所有查詢 - 如果您願意,您甚至可以操縱預言機。

有沒有使用隨機預言機來證明安全性的例子,然後將其刪除以顯示這一點?

許多。這裡有幾個這樣的例子:

  • 不經意傳輸擴展是安全計算領域的核心密碼學原語,它允許通過將少量“不經意傳輸”轉換為更大數量來實現更高效的協議,每次生成的新不經意傳輸僅使用少量雜湊. 本文首先給出了一種高效的OT擴展協議。安全性在 ROM 中得到證明,但也可以假設散列函式滿足相關強韌性(他們在同一篇論文中介紹的屬性)來證明。
  • free-XOR 技巧是一種提高亂碼電路效率的方法,也是安全計算中的核心原語。它首先在這裡介紹並在 ROM 中證明是安全的,後來在本文的標準模型中證明是安全的,方法是用一種特殊的對稱加密來替換散列,以防止某種類型的相關密鑰攻擊。
  • Fiat-Shamir 變換可以說是 ROM 最著名的應用之一。它允許將互動式零知識協議轉換為非互動式零知識協議。證明通過 Fiat-Shamir 啟發式獲得的非互動式協議的安全性已成為 3 多年以來的一個重大開放性問題,引起了密碼學界的廣泛關注。這方面的第一個結果主要是負面的,證明了標準模型中的 Fiat-Shamir 變換對於某些類型的協議是不可實例化的。然而,最近情況發生了變化:已經證明一大類互動協議可以如果散列函式滿足適當類別的採樣器的相關難處理性,則使其與 Fiat-Shamir 變換不互動。然後,根據各種假設構造了滿足重要樣本類相關難處理性的散列函式,最終從 LWE 假設構造了此類散列函式,最終解決了構造非互動式零知識這一長期存在的開放性問題來自 LWE 的證明。
  • 其他情況包括使用輔助輸入建構點函式混淆,或非常強形式的洩漏彈性偽隨機生成器,兩者都在 ROM 中已知,但最近才在一篇漂亮的論文中獲得,並在標準模型中進行了安全分析。
  • RSA-OAEP 已在此處的標準模型中分析和證明 IND-CPA 安全,根據 $ \phi $ -隱藏假設,並假設底層雜湊函式是 $ k $ -明智的獨立。在將散列函式建模為隨機預言時,以前只知道在 RSA 假設下是安全的

這只是我直接想到的事情的一個範例,還有更多。

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