Protocol-Design

如何在特定場景下使用Real-Ideal模型(兩方有云)

  • August 31, 2018

我設計了一個兩方協議,其中兩方將他們的輸入外包給雲。例如,Alice 和 Bob 有輸入 $ X $ 和 $ Y $ , 之後,Alice 和 Bob 分別獨立加密他們的輸入,然後各自獨立地將加密數據外包給雲端。之後,雲對從 Alice 和 Bob 收到的加密數據執行同態加密,並將結果發送給 Alice。

我的協議是在半誠實模型中設計的,雲將無法了解有關各方的輸入或最終結果的任何資訊。每一方都不應該了解另一方。

我的問題是:

  1. 在這個協議中,我應該如何使用真實/理想模型範式來證明協議的安全性?
  2. 我是否應該將雲視為沒有任何輸入和輸出的一方?
  3. 我可以考慮以下情況來證明這個協議的安全性嗎?

一個。愛麗絲被破壞了

灣。鮑勃被破壞了

C。雲已損壞 4. 對於問題3中的案例c,模擬器應該如何模擬?雲只會看到加密數據?

在這個協議中,我應該如何使用真實/理想模型範式來證明協議的安全性?

這個問題太模糊了。真實理想範式中的安全性被定義為“對於每個對手,都有一個模擬器,使得視圖無法區分”。所以你必須這樣做。

我是否應該將雲視為沒有任何輸入和輸出的一方?

它在協議中接收/發送消息,因此您必須這樣做。

我可以考慮以下情況來證明這個協議的安全性嗎?

是的,但如果這些是您考慮的唯一情況,那麼您只是證明了針對單一損壞的安全性。在一個 $ n $ -party協議,通常你會想要考慮所有的情況 $ n-1 $ 腐敗的政黨。

對於破壞 Alice 和雲的對手,您的協議可能不安全。我從您的描述中推斷,Alice 擁有加密方案的解密密鑰,因此在與雲勾結時,她可以清楚地獲得 Bob 的輸入。

對於問題3中的案例c,模擬器應該如何模擬?雲只會看到加密數據?

雲的視圖由各方的密文組成。您必須建構一個模擬器,它會生成一些無法區分的東西,只給定一方的功能輸出(這是半誠實安全的要求)。在這種情況下,我猜雲方不會從功能中獲得任何輸出。那麼,在沒有關於誠實方輸入的資訊的情況下,你能生成一些看起來像是對他們的輸入進行加密的東西嗎?當然,只需加密虛擬內容並使用 CPA 安全性來證明這種模擬是無法區分的。

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