Garbled-Circuits

亂碼電路:發送方如何安全地檢索輸出?

  • May 27, 2017

我已經閱讀了幾篇關於如何使 Yao 的亂碼電路協議免受惡意對手攻擊的論文,但我沒有看到任何提及發送者如何在接收者計算後安全地檢索函式的輸出。

假設 Alice 是發送者,也就是說她把電路弄亂了,然後把它發送給 Bob。現在假設整個協議執行良好,最後 Bob 輸出了正確的答案。在雙方安全計算的情況下,雙方都應該能夠獲得函式的正確輸出,但是如果 Bob 是惡意的並且不簡單地將答案發回給 Alice 怎麼辦?

那時,Bob 可以停止協議或向 Alice 發送錯誤的答案。是否存在一種機制,既可以防止 Bob 知道輸出,直到 Alice 也知道它,又可以確保 Alice 獲得的是正確的輸出?

這裡有兩個單獨的問題:

**保證輸出/公平:**協議如何防止 Bob 扣留 Alice 的輸出(保證輸出),或者至少阻止他在決定扣留 Alice 的輸出時自己學習輸出(公平)?簡短的回答是亂碼電路協議提供任何此類保證。該領域中惡意安全的標准定義是“帶有中止的安全”。該模型允許惡意方首先學習他們的輸出,然後阻止誠實方接收輸出。

這樣做的原因是,對於 2 方安全計算,一般無法保證公平性。這是由於 Richard Cleve 的一個舊結果(當一半處理器出現故障時,硬幣翻轉的安全性限制,STOC 1986)。由於某些2 方功能不可能實現公平,而亂碼電路為您提供任何功能的安全 2PC,您不能指望典型的亂碼電路協議具有公平性。

**輸出真實性:**如果 Bob 沒有完全保留她的輸出,協議如何防止 Bob 向 Alice 撒謊?有幾種方法,但我喜歡的一種方法是讓 Bob 將輸出線標籤呈現給 Alice。電線標籤具有“真實性”屬性:評估器僅在每條電線上學習一個,而無法猜測互補的。因此,它們充當了 Alice 的一種“證明”,證明這確實是正確的輸出。

這是主要思想,但有很多陷阱需要避免。如果選擇中的所有電路都具有相同的輸出線標籤,這將有所幫助。但是,如果其中一些電路在選擇過程中打開,就會破壞“真實性”屬性。所以你必須以巧妙的順序安排事情:鮑勃評估電路後,他承諾輸出線標籤。然後可以打開檢查電路。如果它們都很好,那麼 Bob 才會打開對輸出線標籤的承諾。

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