秘密共享-Pedersen 方案

参数选择与公布:

假设p,q,g,n,k 的定义同上,Gq 是由g 生成的循环群,设h ∈ Gq,系统初始化时先随机选取t ∈ Zq,计算E_{0}=E(s,t)=g^{s}h^{t},其中g 和h 必须在密钥处理之前遵循一定的协议产生,而且是保密的,设s 是密钥,则密钥分发过程为:
a.庄家将E_{0} 的值公布于众。
b.庄家选取一个至多为k-1次的多项式F ∈ Zq[x] 满足常数项系数F(0)=s

其中:F(x)=s+F_{1}X+...+F_{k-1}X^{k-1}并对任一整数i =1,2,…,n,计算s_{i}=F (i).
i =1,2,…,n,庄家随机选取Gi ∈ Zq,并计算E_{i}=E(F_{i},G_{i}),随后将结果广播给各参与者。

c.令G(x)=t+G_{1}x+...+G_{k-1}x^{k-1},\:t_{i}=G(i),i=1,2,...,n,则庄家通过秘密通道将(s_{i},t_{i}) 传给每个参与者Pi。

验证过程:

每个Pi 获得密钥份(s_{i},t_{i}) 后,可通过如下等式验证密钥份是否有效。

E(s_{i},t_{i}) = \prod_{j=0}^{k-1}E_{j}^{i^{j}}

验证过程的正确性:(个人理解)

每个 Pi 已知的公开参数:
E_{j}\:\:(j=0,1,...,k-1)G_{i} 

验证过程,等式左侧=g^{s_{i}}h^{t_{i}}\ =g^{F(i)}h^{G(i)}\ =g^{s+\sum_{j=1}^{k-1}F_{j}\cdot i^{j}}h^{t+\sum_{j=1}^{k-1}G_{j}\cdot i^{j}}\ =E_{0}\cdot (g^{\sum_{j=1}^{k-1}F_{j}}h^{\sum_{j=1}^{k-1}G_{j}})^{i^{j}} =E_{0}\cdot (\prod_{j=1}^{k-1}E_{i})^{i^{j}}\ =\prod_{j=0}^{k-1}E_{i}^{\:i^{j}}=右侧

正确性得证。

密钥重组过程:

假设由k 个密钥共享者组成的集合为S,只须通过如下公式即可得出原始密钥。

s=\: \sum _{i\epsilon S}a_{i}s_{i}   其中 a_{i} =\:\prod _{j\epsilon S,j\neq i\:}\frac{i}{i-j}

拉格朗日插值公式。

这也是一个非交互式VSS 门限方案,庄家广播一个非交互的基于零-知识证明有效性的E_{i} 给参与者。在秘密分发过程中不需要庄家和参与者的交互,也不需要参与者之间的交互,该方案的信息速率即密钥的大小和密钥份的大小之比是1∶2,保持了Shamir 方案的完美安全性,但它也是基于计算安全的(离散对数问题:log_{g}h的保密性),因而一旦计算机的计算能力提高,则庄家的欺骗行为仍是可能存在的。

参考文献:

[1]王海艳,王汝传.秘密共享方案的研究[J].微机发展,2005,(3): 32-34+37

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值