区块链中的数学(六十六)–Pedersen密钥共享
写在前面
上一篇介绍了 密码学承诺中的Pedersen承诺
,与Pedersen相关的还有一个密钥共享方案,如果你一直关注的话,会知道关于密钥分享之前专门介绍过,从《区块链中的数学》54— > 61篇,本文要介绍的也属于这一类别。
本文基础就是上述的密钥分享的历史文章,之前内容理解的话,本文顺理成章!
Pedersen 密钥分享
符号约定
是素数P的q阶子群,g,h是其生成元,参与者数量n,
k是门限值,代表第i个参与者, 秘密s, 函数E(a,b) =
分发阶段
- 分发者随机秘密选择r,公布对s的承诺E(s,r) =, 继续选择k个随机数, 构造多项式:
f(x) = s +
- 计算,产生另一组随机数, 计算系数的承诺:,并公开该承诺值
-
构造多项式:
g(x) = r +
计算, 将信息发送给参与者
验证阶段
-
当收到他的秘密份额时,执行验证:
=
其中
密钥恢复阶段
-
至少 k个参与者正确共享密钥份额时,利用拉格朗日多项式插值法可恢复秘密,这一篇已经说过具体算法,这里不在赘述!
可以看出函数E起到的是密码学承诺的作用!
关于此方案正确性推导,只要你对之前密钥分享的几篇看明白的话,很容易自己推出!
Pedersen基于门限的秘密分享方案实际上采用了Pedersen承诺来构建多项式系数承诺,这一点很容易从对比其他秘密分享方案得出!
虽然本文用的指数形式表示函数E,也可以如同上一篇Pedersen承诺那样使用椭圆曲线来描述, E(a,b) =(分别是椭圆曲线上选定的两点),所以说本文描述的密钥分享方案,是Pedersen承诺的一种应用!
好了,下一篇继续密码学承诺的其他内容!
By the way, 目前发现本系列文章被大量转载到其他内容/博客平台,知识分享传播是好事,但 请标注原文链接和“blocksight”公众号来源!保留一切非法使用追究权利!
欢迎关注&在看, 疑问请留言!
相关阅读:
区块链中的数学(六十五)
密码学承诺–Pedersen承诺
区块链中的数学(六十四)
密码学承诺–hash承诺
区块链中的数学(六十三)
不经意传输协议
区块链中的数学(六十二)
双线性映射
区块链中的数学(六十一)
BLS m of n门限签名
区块链中的数学(五十九)
BLS密钥聚合
区块链中的数学(五十八)
BLS签名及验证
区块链中的数学(五十五)
Feldman可验证密钥分享方案
区块链中的数学(五十七)
Amir Herzberg改进方案
区块链中的数学(五十)
目录整理,快速发现有价值的内容
区块链中的数学(四十九)
Ed25519签名
区块链中的数学(十) ElGamal算法签名及验证&实例演练
Schorr签名与椭圆曲线 Schorr签名与椭圆曲线
区块链中的数学(三十七)
Uniwap核心算法解析(中)