2016-09-20 33 views
-2

閾值我有一個任務:3方基於XOR的密鑰分割和2

比方說,一家銀行有一個暗號密鑰K(只是一個長的隨機字符串)。 銀行希望將其分成兩部分p1和p2,因此兩者都是解密所需的 。然後將p1給予一個執行者,然後將p1給另一個執行者,因此兩者必須貢獻它們的解密才能繼續進行。

爲了做到這一點,銀行生成隨機k1並設置k'1←k⊕k1。注意 即k1⊕k'1= k。銀行將k1給予一位主管,k1給予另一位主管。 兩者都必須存在才能進行解密,因爲每個 件本身都不包含有關密鑰k的信息。

現在,假設銀行想要將k分成p1,p2,p3三塊,所以 中的任何兩塊都可以使用k來解密。這確保了 即使一個執行者生病了,解密仍然可以成功,但是沒有員工可以單獨解密消息。爲此,銀行 如在前面的 段落中那樣生成兩個隨機對(k1,k'1)和(k2,k'2),使得k1⊕k'1=k2⊕k'2= k。銀行應該如何分配 以便任何兩塊能夠使用k進行解密,但是沒有一塊能夠解密的單塊 ?

上述問題的答案是什麼?

p1 = (k1, k2), p2 = (k`1, k2), p3 = (k`2); 

p1 = (k1, k2), p2 = (k`1, k`2), p3 = (k`2); 

p1 = (k1, k2), p2 = (k1, k2), p3 = (k`2); 

p1 = (k1, k2), p2 = (k1), p3 = (k`2); 

p1 = (k1, k2), p2 = (k2, k`2), p3 = (k`2); 

解釋我請,它是如何工作的。

+0

這就像一個作業問題,你被限制使用邏輯異或描述?因爲這不是將祕密分成股票的可接受方法。 – erickson

+0

要求提供作業幫助的問題必須包括迄今爲止解決問題所做的工作的摘要,以及描述您解決問題的難度。 – erickson

回答

2

首先是答案:

p1 = (k1, k2), p2 = (k`1, k2), p3 = (k`2); 

因爲每個可能對可以生成k

  • P1 & P2:K1⊕K'1 = K
  • P1 & P3:K2 ⊕k'2 = k
  • p2 & p3:k2⊕k'2 = k

當然,各方不能自行重建密鑰。

其他可能性顯然是錯誤的。我們來看第二個可能的答案,看看p3是否可以形成一個有效的密鑰。他們不能,因爲每個都有相同的k'2分量,所以這還不夠。那麼p2有一個k'1,但是p3沒有k1。

0

這是一個解決問題,請參閱Shamir's Secret Sharing

Shamir的祕密共享是由阿迪·薩莫爾創建加密的算法。它是祕密共享的一種形式,祕密分爲若干部分,給予每個參與者自己獨特的部分,其中某些部分或全部都是需要的,以便重建祕密。

對所有參與者進行計數以合併祕密可能是不切實際的,因此有時使用閾值方案,其中任何部分都足以重建原始祕密。

可能弱2的 3方法,使用的是在三個磁盤RAID5使用的相同的方案是可能的,任何兩個可以reconstitue原稿。