首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何生成分布式私钥?

如何生成分布式私钥?
EN

Cryptography用户
提问于 2018-08-28 13:18:32
回答 1查看 705关注 0票数 4

Shamir的秘密共享方案确实很有趣,但最关键的是,秘密是由一个可信方生成的,然后将共享分配给其他人。

是否有使用分布式密钥生成的方案以便:

使用多个私钥生成公钥

使用共享私钥的阈值生成私钥

私钥是以分布式方式生成的。

我了解了DKG ( https://github.com/dfinity/dkg/blob/master/example.js )

EN

回答 1

Cryptography用户

发布于 2020-03-05 21:00:04

这是一篇详细讨论预提交DKG的论文,https://eprint.iacr.org/2019/114.pdf。它还包括一些否认和解除功能。

概括而言,每一缔约方都采取了以下步骤:

  1. 滚动一个随机数
  2. 将(某些dlp硬组生成器)的散列发布到该随机数的幂次方)
  3. 获得每个人的散列后,将g与签名一起发布到该随机数的幂次,使用g,证明该随机数的所有权
  4. 只要每个人的散列匹配,计算组的LagrangeSum(g)
  5. 现在你有一个分布式M-M密钥,一个与它相对应的公钥,还有一个秘密密钥证明。任何不诚实的玩家都会导致整个协议失败。
  6. 您可以使用VSSS将此密钥重新分发给N个玩家.

一个更广泛引用的解决方案是这里的ECDKG:

https://pdfs.semanticscholar.org/3c52/35523be1d305de6dbf3433965c99d9fe4aea.pdf

它依赖于发布和验证对多项式系数的承诺,以及各方之间的秘密通信,以确保共享的正确进行。对于不诚实的玩家来说,它更强大,最终适用于N的M,而不是上面的3轮。

海事组织,承诺前的计划既容易理解,也更容易纠正。

票数 1
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/61824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档