在以下链接中解释了乘法门中Shamir秘密共享度降低的过程。
现在,基于一次多项式所做的秘密共享,我们必须能够重建秘密,即10
,将每个2
共享从3
共享(3, 7, 0)
中提取出来。然而,使用(3, 7)
的重构秘密是正确的10
,而使用(3,0)
重构的秘密是9,使用(7, 0)
重构的秘密是1
。为何会这样呢?哪里出错了?
发布于 2022-03-10 20:35:04
我想你误解了共享重建。在这种情况下,共享(a,b,c)
是与多项式计算相对应的三重值,即(\sigma(1), \sigma(2),\sigma(3))
。共享重建的问题是,使用
\sigma(i)
值中的任意两个,以及\sigma(x) = \sigma(0)+ax
是一个线性次多项式,以恢复\sigma(0)
。这是很容易做到的。假设我们有\sigma(i) = \sigma(0) + ai
和\sigma(j) = \sigma(0) + aj
。我们可以减去这些,然后“解”a
得到a = (i-j)^{-1}(\sigma(i)-\sigma(j))
,其中a^{-1}
是逆模11。然后,使用a
的这个值,很容易恢复\sigma(0)
。
注意,在所有3种情况下,a
的计算值都是相同的。当(i,j) = (1,2)
,我们有
a = (1-2)^{-1}(3-7) = 4
当(i,j) = (1,3)
的时候
a = (1-3)^{-1}(3-0) = (-2)^{-1}3 = (-6)3\equiv -18\bmod 11 \equiv 4\bmod 11.
类似地,当(i,j) = (2,3)
时,我们有
a = (2-3)^{-1}(7-0) = -7\equiv 4\bmod 11.
接下来,对于任何索引i
,我们都有那个\sigma(0) = \sigma(i) - ai\bmod 11 \equiv \sigma(i) - 4i\bmod 11
。对于任何一对(i, \sigma(i))
,即对于(1, 3)
、(2,7)
或(3,0)
,都可以直接检查是否获得10\bmod 11
(或-1\bmod 11
-这些值是相同的)。
话虽如此,我觉得在有关的答案中,减少学位的解释并不是那麽清楚。我之前已经解释过了,这里。粗略地说,一个人通过合并来达到程度降低。
2t
坐标(在适当的基础上),将度t
多项式从一次t
多项式降为一次D40
多项式。如果你更喜欢线性代数,这给出了一个清晰的“几何”的图片,正在发生的事情。当然,这取决于你的背景。
https://crypto.stackexchange.com/questions/99034
复制相似问题