Secret-Sharing

將密鑰組合成一個共享密鑰

  • September 27, 2018

假設有 $ n $ 每個參與者都有自己的密鑰 $ x_i $ . 他們是否有可能以某種方式建構一個共享密鑰,該密鑰是所有密鑰的算術和( $ x_0 + x_1 + … + x_n $ ) 但沒有向對方透露他們各自的密鑰。

此外,理想情況下,這將是非互動的。意思是,每個參與者都與其他人分享他們的秘密密鑰,一旦每個人都分享了這個“東西”,就可以建構共享密鑰。

秘密共享是此應用程序的完美工具。在任何線性秘密共享方案下,個人都可以生成秘密值的份額,以分發給參與該方案的其他方。一旦每個人都將其秘密價值的份額分配給所有其他方,由於方案的線性,他們每個人都可以在本地對收到的份額集進行求和,並共同持有總和的有效份額。這是因為,根據定義,線性秘密共享方案具有加法同態性,這意味著添加共享會產生一個值的共享,如果在重建過程中顯示該值,則該值與總和秘密的值相同。

以更詳細的方式,通過附加秘密共享來說明,每一方 $ P_i\ \forall i\in Z_{n+1} $ 生成 $ n $ 某個有效組中的隨機值,表示為 $ m $ 這將作為秘密的份額 $ x_i $ 對於所有其他玩家,即 $ [x_i]{\mathbb{Z_m}}^{P_j}\in_R\mathbb{Z}m \ \forall i,j\in Z{n} $ 最終份額滿足以下等式 $ [x_i]{\mathbb{Z_m}}^{P_n}=x_i-\sum_{j=0}^{n-1}[x_i]{\mathbb{Z_m}}^{P_j} \mod m $ . 然後每一個聚會 $ P_i $ 發送 $ [x_i]{\mathbb{Z}m}^{P_j} $ 對所有其他方,這樣 $ i\neq j $ . 最後,各方都在本地計算以下總和,其中 $ x\Sigma $ 表示總和的秘密。 $$ [x_\Sigma]{\mathbb{Z}m}^{P_i} = \sum{j=0}^{n}[x_j]{\mathbb{Z}_m}^{P_i}\mod m $$

現在每一方都持有他們個人秘密總和的統一隨機和資訊理論上安全的份額,各方必須合作揭示潛在價值。具體來說,他們必須將他們所有的個人份額相互交流,然後他們每個人都可以在本地計算: $$ x_\Sigma = \sum_{i=0}^{n}[x_\Sigma]_{\mathbb{Z}_m}^{P_i} \mod m $$

我鼓勵您深入研究一般的秘密共享以及其他方案,特別是 Shamir 的秘密共享方案,因為它可以在存在活動對手或組件故障的情況下引入系統的彈性。

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