重用基本的不經意傳輸
我是 Oblivious Transfer (OT) 的新手,並且在使用 OT 擴展(僅用於被動安全)時,無法找到關於是否/何時/如何在計算中重用 baseOT 的明確答案。
假設兩方正在執行安全功能評估 (SFE) 協議,並且需要對其中的某些部分使用多輪不經意傳輸(例如,為 GMW 協議中的每個與門評估 1-out-of-4 OT)。據我了解,例如,各方可以在“離線”階段使用 k = 128 個 baseOT 來交換對稱密鑰,然後在“線上”階段使用這些 baseOT 傳輸實際輸入。
對於 SFE 協議要求的每一輪 OT,各方是否需要重新執行 baseOT,或者每輪 SFE OT 是否可以重複使用一組初始 baseOT?
現在說,計算安全函式評估協議後,雙方斷開連接,下線。之後,他們重新上線並想要對 SFE 協議進行另一次評估(例如,通過一組不同的輸入)。
同樣,各方是否需要再次執行 baseOT,或者之前的相同 baseOT 是否可以在這裡重新使用?
最後,假設各方想要評估一種不同類型的也使用 OT 的安全功能評估協議。可以在這裡重複使用相同的 baseOT 嗎?
我的直覺是所有這些問題的答案都是肯定的,但我找不到任何證實。我認為如果種子受到損害,各方經常重複baseOT步驟可能是好的,但我主要想知道以這種方式重用baseOT在理論上是否安全。
一旦你和我完成了 128 次真正的基礎 OT,我們就再也不需要再做任何事情了。“真正的基礎 OT”是指使用公鑰密碼術實現的 OT。
這是一個簡單的查看方法:每次我們的協議呼叫一批 $ n $ 來自 OT 擴展的 OT 實例,我們改為生成 $ n+128 $ OT 實例。我們使用 $ n $ 像往常一樣,保存其他 128 個作為我們下一批 OT 擴展的“基礎 OT”。我稱它們為基礎 OT,因為它們被用作 OT 擴展的種子,但它們不需要任何公鑰操作,因此它們不是“真正的”基礎 OT。
在實踐中,這種方法被證明有點不優雅,因為與基本 OT 相比,IKNP 風格的 OT 擴展協議交換了發送者和接收者的角色。因此,您可能需要在此方法中進行兩次 OT 擴展,以保持 OT 的“方向”符合您的要求。
通過查看 IKNP OT 擴展的細節,有一種更直接的方法可以看到您可以重用基礎 OT。在基礎 OT 之後,IKNP 協議讓各方使用 PRG 擴展他們的 OT 值。擴展的 OT 值的每一位都會導致一個擴展的 OT 實例。換句話說,如果我想要 $ n $ OT 實例然後我需要一個從 128 位種子擴展到 $ n $ 位輸出。
這些擴展的 OT 值不能在協議中重複使用,但您可以使用無限長的 PRG繼續擴展*原始種子/基礎 OT 值。*所以如果你想執行 OT 擴展,但已經使用這些基礎 OT 生成 $ n $ 擴展 OT 實例,您可以執行 IKNP,使用 PRG 擴展種子,但忽略第一個 $ n $ 這些擴展的一部分。通過這種方式,您將獲得一批新的/安全的擴展 OT。在實踐中,最好將 PRG 與 PRF 替換或組合,這樣您就可以隨機訪問此偽隨機位流。
許多 OT 擴展協議為您提供所謂的“隨機 OT”,它類似於 OT,但無法選擇消息,而是將它們設置為隨機。為了從隨機 OT 中獲得“選擇輸入”OT,需要執行一個簡單的去隨機化協議。
考慮到這一點,您可以使用 Random OT 的單個實例(可能使用 OT 擴展生成),然後將其去隨機化,可能經過多輪,以獲得 OT。