区块链中的数学 - Pedersen密钥共享

  • blocksight
  • 更新于 2021-02-13 12:47
  • 阅读 7045

Pedersen基于门限的秘密分享方案实际上采用了Pedersen承诺来构建多项式系数承诺,这一点很容易从对比其他秘密分享方案得出!

写在前面

上一篇介绍了密码学承诺中的Pedersen承诺,与Pedersen相关的还有一个密钥共享方案,如果你一直关注的话,会知道关于密钥分享之前专门介绍过,从《区块链中的数学》54--- > 61篇,本文要介绍的也属于这一类别。

本文基础就是上述的密钥分享的历史文章,之前内容理解的话,本文顺理成章!

Pedersen 密钥分享

符号约定

$G_q$是素数P的q阶子群,g,h是其生成元,参与者数量n, k是门限值, $p_i$代表第i个参与者, 秘密s, 函数$E(a,b) =g^ah^b$

分发阶段

  1. 分发者随机秘密选择r,公布对s的承诺$E(s,r) = g^sh^r$, 继续选择k个随机数$ai,i\in [1,k-1]$, 构造多项式:$f(x) = s + \sum^{k-1}{i=1} a_i x^i$
  2. 计算$s_i=f(i)$,产生另一组随机数$b_i,i\in [1,k-1]$, 计算系数$ai$的承诺:$E{a_i}=g^{a_i}h^{b_i}$ ,并公开该承诺值
  3. 构造多项式:$g(x) = r +\sum^{k-1}_{i=1}x^i$

计算$r_i=g(i)$, 将信息$(s_i,r_i)$发送给参与者$P_i$

验证阶段

  1. 当$P_i$收到他的秘密份额$(s_i,r_i)$时,执行验证: $E(s_i,ri)= \prod^{k-1}{j=0}E^{ij}_j$ 其中$E^{ij}_j = g^{a_ji^i}h^{b_ji^i}$

密钥恢复阶段

  1. 至少 k个参与者正确共享密钥份额时,利用拉格朗日多项式插值法可恢复秘密,这一篇已经说过具体算法,这里不在赘述!

可以看出函数E起到的是密码学承诺的作用!

关于此方案正确性推导,只要你对之前密钥分享的几篇看明白的话,很容易自己推出!

小结

Pedersen基于门限的秘密分享方案实际上采用了Pedersen承诺来构建多项式系数承诺,这一点很容易从对比其他秘密分享方案得出!

虽然本文用的指数形式表示函数E,也可以如同上一篇Pedersen承诺那样使用椭圆曲线来描述, $E(a,b) = a g_1 + b g_2$($g_1,g_2$分别是椭圆曲线上选定的两点),所以说本文描述的密钥分享方案,是Pedersen承诺的一种应用!

好了,下一篇继续密码学承诺的其他内容!

原文链接:https://mp.weixin.qq.com/s/X09Fdgrzpuo9ia7B4nIdNQ 欢迎关注公众号:blocksight

相关阅读

### 区块链中的数学 - Pedersen承诺 密码学承诺--Pedersen承诺

区块链中的数学 - 哈希承诺 密码学承诺--hash承诺

区块链中的数学 - 不经意传输 不经意传输协议

区块链中的数学- BLS 基石(双线性函数)和配对 双线性映射(配对)

区块链中的数学 - BLS门限签名 BLS m of n门限签名

区块链中的数学 - BLS密钥聚合 BLS密钥聚合

区块链中的数学 - BLS数字签名 BLS签名及验证

区块链中的数学 - 参与者 < 门限值t的密钥更新Amir Herzberg方案 Amir Herzberg改进方案

区块链中的数学 - Feldman的可验证的密钥分享 Feldman可验证密钥分享方案

区块链中的数学 - Ed25519签名 Ed25519签名

区块链中的数学-ElGamal算法 ElGamal算法签名及验证&实例演练

Schorr签名与椭圆曲线 Schorr签名与椭圆曲线

区块链中的数学-Uniwap自动化做市商核心算法解析 Uniwap核心算法解析(中)

点赞 1
收藏 2
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
blocksight
blocksight
江湖只有他的大名,没有他的介绍。