沿份额验证与一次性乘法路线,下载标准库核验器。用python或python -O加文件名运行,stdout JSON逐字相同;检查均为显式条件,不依赖assert。
这里的F₁₁、模23子群和固定系数是公开离线教材值。参考器把整场表放在一个进程里重放;真实单方只知道自己的份额和明确广播的消息。diagnostic_product是离线复算字段,不能当作协议已经公开积的依据。
一、交出公共承诺和三次局部判断
固定g=2、h=13,群阶11,坐标1/2/3,次数t=1、门限2。使用
F(T) = 4 + 3T
R(T) = 2 + 5T
C = (13, 9)
P1 : (7, 7)
P2 : (10, 1)
P3 : (2, 6)
按公共系数承诺检验重算每份的g^s h^r和C₀C₁^β,两侧结果依次为2、18、1。再把P2记录换成(0,1),指出左侧是13而非18,不能接受。
给出投诉Q={2}和公开修复(10,1)。修复后对三种两坐标子集分别插值,秘密都为4,盲化常数都为2。附件的qualified、reconstructions保留这些实际输出。
二、让中止和可用性真正走到出口
- 第一、第二份都缺失:投诉数2大于t,返回ABORT,不能偷偷从第三份猜秘密。
- P2投诉但修复仍是(0,1):返回ABORT。
- 腐化P3为自己的合法记录投诉:公开其已有第三份,诚实方仍接受。
- 腐化P3说OK却根本没有记录:诚实P1/P2仍各持合法份额,可以完成重构。
- 重构消息含P2的(0,1):过滤P2,用P1/P3恢复4;只有一份合法消息则返回INSUFFICIENT。
解释两条不同的条件:一致性针对已经获得2份合法记录;即使1人拒绝发送仍能重构,需要n−t≥t+1。隐藏证明中公开投诉修复只重复腐化身份原本知道的坐标。若观察者本来持P1份额,又公开一个新的诚实P2份额,便已达到门限,不能再套原来的无信息结论。
三、让公开教学陷门破坏一致性
用α=7将第二份改成(0,4),其验证仍通过。分别计算:
坐标 {1,2} : (s,r) = (3,10)
坐标 {1,3} : (s,r) = (4,2)
两者都打开C₀=13。按双打开式恢复(3−4)/(2−10)=7 mod11,乘回检查2⁷=13。说明这个执行违反的是绑定所需的困难参数条件,不能据此误判正文的条件定理,也不能把“合法子群元素”当作“陷门未知”的证明。
四、输出次数不增长的乘积共享
保持同域同坐标,输入秘密4、7,但现在执行单门被动乘法:
F = 4 + 3T G = 7 + 2T
A = 3 + 4T B = 5 + 6T
C = 4 + 7T C(0) = A(0) B(0) mod 11
先交两份完整广播向量D⃗=(0,10,9)、E⃗=(9,5,1),再插值得d=1、e=2。三个本地输出分别为
z1 = 0 + 1·0 + 2·7 + 2 = 5 mod 11
z2 = 7 + 1·6 + 2·0 + 2 = 4 mod 11
z3 = 3 + 1·1 + 2·4 + 2 = 3 mod 11
所以Z=6+10T,任意两份恢复6。证明每份都加de的理由是常数多项式;把规则换成“只给P1加de”会使本Shamir输出不再按所写公式表示积。
直接逐份相乘会得到(8,0,4),来自二次多项式FG。只用前两份做一次插值会错算为5。请同时交真二次多项式与错误直线,定位被破坏的是次数/门限合同,而非模运算本身。
五、交一份完整模拟记录,再给普遍证明
固定腐化P1。模拟器输入只含其输入份额(7,9)与理想输出份额5。选到D系数(1,10)、E系数(2,7)时,恢复预处理份额
a1 = 7 − D(1) = 7
b1 = 9 − E(1) = 0
c1 = 5 − d·b1 − e·a1 − d·e = 0 (mod 11)
把这三个数、输入、输出以及全部D/E广播按真实视图顺序列出。随后证明随机带双射(A,B,C尾)↔(D,E,Z尾):右边独立均匀的D/E和理想Z尾共有11^(3t+2)份选择。不能只写“d均匀、e均匀”,因为那个边缘论证漏掉预处理份额和整份广播之间的相关性。
最后说明辅助信息如何进入联合等式:输入与辅助信息可相关,但它们须先于独立预处理随机币固定。此模拟器在终点使用理想输出,不直接提供在线环境、自适应腐化或并发组合的保证。
六、三次改变机制的迁移
- 重复掩码。 将F改为8+T,却故意另建新编号并复制原三元组。新d′=5,d′−d=4透露两个秘密之差。原池会拒绝同编号重用,打开后中止也不恢复编号;换名复制仍违反随机材料的一次性合同。
- 让两个掩码相关。 取A=B=3+4T,保持C(0)=9。一次执行已有d−e=8=4−7 mod11,说明“各自均匀”不能替代联合独立。
- 只改三元组相关性。 保留A/B,把C改为5+7T。其份额可用盲化多项式1+3T做合法VSS,公共向量(2,18),所有局部检验通过;乘法却输出7而非6。逐份合法没有验证c=ab。
验收时保留16个实际入口/状态拒绝标签,包括非规范声明/修复身份及插值坐标、重复身份、非规范系数、非法h、群外承诺、重复坐标、人数不足、二次输出、三元组重用以及打开后不能重试。全表插值和结构检查是参考器的额外费用;在线通信只有每方两个广播域元素,预处理和可靠广播实现另计。