参数选择与公布:
假设p,q,g,n,k 的定义同上,Gq 是由g 生成的循环群,设h ∈ Gq,系统初始化时先随机选取t ∈ Zq,计算
,其中g 和h 必须在密钥处理之前遵循一定的协议产生,而且是保密的,设s 是密钥,则密钥分发过程为:
a.庄家将的值公布于众。
b.庄家选取一个至多为k-1次的多项式F ∈ Zq[x] 满足常数项系数其中:
并对任一整数i =1,2,…,n,计算
.
i =1,2,…,n,庄家随机选取Gi ∈ Zq,并计算,随后将结果广播给各参与者。
c.令
,则庄家通过秘密通道将
传给每个参与者Pi。
验证过程:
每个Pi 获得密钥份
后,可通过如下等式验证密钥份是否有效。
验证过程的正确性:(个人理解)
每个 Pi 已知的公开参数:
,
验证过程,等式左侧
=右侧
正确性得证。
密钥重组过程:
假设由k 个密钥共享者组成的集合为S,只须通过如下公式即可得出原始密钥。
其中
拉格朗日插值公式。
这也是一个非交互式VSS 门限方案,庄家广播一个非交互的基于零-知识证明有效性的
给参与者。在秘密分发过程中不需要庄家和参与者的交互,也不需要参与者之间的交互,该方案的信息速率即密钥的大小和密钥份的大小之比是1∶2,保持了Shamir 方案的完美安全性,但它也是基于计算安全的(离散对数问题:
的保密性),因而一旦计算机的计算能力提高,则庄家的欺骗行为仍是可能存在的。
参考文献:
[1]王海艳,王汝传.秘密共享方案的研究[J].微机发展,2005,(3): 32-34+37