Protocol-Design

任何人都可以解釋 Rabin 和 Ben-or 安全多方計算的證明嗎?

  • December 15, 2021

任何人都可以解釋Rabin 和 Ben-or安全多方計算的證明嗎?

這個想法是每個玩家 $ i $ , 的 $ N<+\infty $ 玩家,有一個秘密說 $ s_i $ . 他們都希望以規則起作用的方式共享他們的資訊 $ f(s_1,s_2,\cdots,s_N)=(a_1,a_2,…a_N) $ 被塑造並且協議末尾的每個玩家將只知道她自己的組件 $ a_i $ 並且沒有其他資訊。

  • Rabin 和 Ben-or 的協議是如何一步步執行的?任何人都可以解釋程序嗎?
  • 作者是否使用排列?如果不能,我們能否為這種帶有排列的協議提供不同的證明?換句話說,這些功能是什麼 $ f $ 它採用相同的輸入加密玩家之間共享的秘密消息,並可以計算輸出 $ a $ 這可能是隨機行動推薦的概況,其中每個玩家 $ i $ 學習 $ a_i $ ?

好的,讓我通過以下定義從協議中提供更多詳細資訊

$ \textbf{Definition:} $ 一群 $ N $ 玩家持有經過驗證的秘密(數據) $ s $ , 使用多項式共享 $ f(x) $ , 以便 $ f(0)=s $ ,並且滿足 VSS 的條件,如果:

  • 多項式 $ f(x) $ 有學位 $ t $
  • 每個玩家, $ P_i $ , 持有一份秘密 $ b_i=f(a_i) $
  • 每一塊 $ b_i $ 被分享 $ P_i $ , 使用 WSS

如果存在中介,這很容易顯示出來,但如果沒有中介,問題就會變得複雜而具有挑戰性。從我的角度來看,我知道我要做的第一件事就是證明這個秘密是可驗證的。但是,如果每個玩家掌握的秘密都是玩家在開始交換資訊之前就知道的私人資訊,會發生什麼?也就是說,每個玩家都有一個私人秘密 $ s_i $ 如果他們都與一個特定的方案分享他們的秘密,那麼他們將建立一個規則函式,將單個信號作為輸入並將它們作為輸出提供“新”資訊,他們將使用它來在遊戲中執行一個動作在不存在通信的情況下可能會有所不同。所以,為了生成這個函式 $ f $ 我需要證明個人秘密 $ s_i $ 這是秘密數據的組成部分 $ s=(s_1,s_2,…,s_N) $ 遵循一個可驗證的秘密共享方案,並且該協議被賦予了這個可驗證的秘密的加法和乘法。基於 Rabin 和 Ben 的協議,或者我該如何處理?

另外,我可以使用Dodis et al (2000)的協議而不是 Rabin 和 Ben-or 協議來為兩個以上的玩家展示可驗證的秘密共享方案嗎?

老實說,我不是 100% 熟悉 RB89 中的原始展示文稿,但他們介紹了已在多篇後續論文中使用的幾種技術,今天有一種簡化版本(現代術語)的健壯秘密-那裡的共享計劃。例如,可以在此處的第 3 頁中找到高級描述。

簡而言之,目標是獲取秘密 $ s\in\mathbb{F} $ 並將其分發給 $ n $ 派對 $ P_1,\ldots,P_n $ 這樣,在以後的某個時間點,雙方可以相互重建這個秘密,同時保證即使有些 $ t $ 腐敗的政黨 $ t<n/2 $ 發送不正確的值,誠實的(即未損壞的)方仍然可以獲得潛在的秘密。這是通過以下方式實現的:

  • 經銷商使用傳統的 Shamir 秘密共享來獲得秘密的份額 $ (s_1,\ldots,s_n) $ . 如果 $ t<n/2 $ ,然後這些共享提供錯誤檢測,這意味著獲得這些共享的一方,其中 $ t $ 它們中的一些可能由於對抗行為而被修改,可以找出秘密是否被篡改,但是,如果有錯誤,給定的一方無法“修復它們”以重建正確的秘密。這對於強大的秘密共享來說是不夠的。
  • 莊家均勻隨機抽樣對 $ (\alpha_{ij},\beta_{ij})\in\mathbb{F}^2 $ 併計算 $ \tau_{ji} = \alpha_{ij}\cdot s_j + \beta_{ij} $ 對於每一對 $ i,j\in[n] $ (這裡 $ [n] = {1,\ldots,n} $ )。正如我們將看到的,這些額外數據的目標是確保接收方不僅可以檢測共享是否被篡改,而且可以實際辨識不正確的,從而過濾掉正確的,從而導致正確的正在重建的秘密。
  • 經銷商送 $ \sigma_i = (s_i, {(\alpha_{ij},\beta_{ij})}{j\in[n]}, {\tau{ij}}{j\in[n]}) $ 對每一方 $ P_i $ . 一句話:每一個 $ P_i $ 得到一份 $ s_i $ 加上一對鑰匙 $ (\alpha{ij},\beta_{ij}) $ 為對方。此外, $ P_i $ 得到一個“經過身份驗證的版本 $ s_i $ " 使用對方的密鑰。

假設一個聚會 $ P_j $ 應該知道這個秘密。為此,各方 $ P_i $ 為了 $ i\in[n]\setminus{j} $ 發送 $ P_j $ 他們的價值觀 $ (s_i’,\tau_{ij}’) $ (如果 $ P_i $ 是誠實的,那麼 $ s_i’ = s_i $ 和 $ \tau_{ij}’ = \tau_{ij} $ ,但腐敗方可能會發送不正確的值),以及 $ P_j $ 檢查,使用他/她自己的密鑰 $ (\alpha_{ji},\beta_{ji}) $ , 那 $ \tau_{ij}’ = \alpha_{ji}\cdot s_i’ + \beta_{ji} $ .

作為一項練習,可以檢查是否 $ s_i’\neq s_i $ , 那麼這個方程成立的機率最多為 $ 1/|\mathbb{F}| $ (這利用了以下事實 $ P_i $ 不知道鑰匙 $ (\alpha_{ji}, \beta_{ji}) $ ,這是隨機的),所以,只要場足夠大, $ P_j $ 將能夠過濾掉錯誤的共享,從而從剩餘的正確共享中重建秘密。


這是否以某種方式幫助您解決您遇到的具體問題?如果您需要在某個方向進行澄清,請隨時發表任何評論。

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