我刚刚完成了简单有效的Gap Diffie-Hellman群门限密码系统的实现,并且遇到了一个阈值很高的问题。请原谅以下任何错误,我有最少的相关数学和符号知识,并正在学习我的做法。
我在PBC周围使用了Haskell包装器,到目前为止,我已经成功地实现了$t <= 8$和$n <= 100$的小值。不幸的是,任何具有较大$t$的东西都意味着股票重组失败。我从python实现中找到了这个想法,并给出了本文中的交易商机制:

我尝试重构$x_0$,$length(a)>8$失败了。适用于$length(a)<=8$
即使是一个简单的、非PBC版本的$x_0$重构也会使用简单的$a$值(例如$$ )失败。给出了$x_0..x_n$在$a_0..a_{t-1}$ i多项式上的应用列表,采用拉格朗日插值法。
$$\phi_i(xcoord)=\prod_{j\neq }\frac{xcoord_j}{xcoord_i-xcoord_j}$$
并对$\phi_i * x_i$的值进行求和,得到$x_0$。我所选择的份额是来自上述多项式应用程序的数字列表的大小$t$的子集。多项式验证了$a_0 == x_0$。
我也尝试过在对Shamir秘密分享的解释中指定的方法,但两者似乎都存在$t>8$重建问题(事实上,后者有一个符号问题,对于t的奇数值,我无法解决)。
有没有人对如何进一步调查甚至解决问题有任何想法?使用以重心为中心的表单可以帮助按照这个答案修复这个问题吗?
发布于 2018-06-04 01:16:57
问题(感谢提示Ido)是使用PBC的element_mul_si而不是element_mul。这导致多项式计算在较大的t值上松散精度(我认为是翻滚)。
我现在在element_mul的多项式计算中使用此承诺,它工作得很好。Python魅力不使用element_mul_si,因此这个问题没有出现在TCG的HoneyBadger实现中。
https://crypto.stackexchange.com/questions/54790
复制相似问题