秘密共享是指将秘密以适当的方式拆分,拆分后的每一个份额由不同的参与者管理,单个参与者无法恢复秘密信息,只有若干个参与者一同协作才能恢复秘密消息。秘密共享的概念最早由著名密码学家Shamir【1】和Blakley【2】于1979年分别基于拉格朗日插值法、多维空间点的性质给出了各自的方案。他们的方案由两个算法组成,秘密份额的分配算法和秘密的恢复算法。秘密份额的分配算法是将秘密分为若干子份,并将每个子份发送给不同参与者。秘密的恢复算法是指当参与者收集到足够多的子份后,可以调用该算法恢复出原始秘密。

Shamir和Blakley的方案都是基于参与者诚实的假设下进行设计的,这种假设在现实生活中无法得到满足。Chor等人于1985年提出了可验证秘密分享的概念【3】,用以解决分发者欺骗问题。可验证秘密分享在秘密分享的基础上增加了一个验证算法,即参与秘密共享的成员可以通过公开变量验证自己所拥有的子秘密的正确性。可验证秘密分享通过其验证算法是否需要参与者之间的交互分为两类:交互式的和非交互式的。交互式的可验证秘密共享方案包括【4-6】等,非交互式的可验证秘密共享方案包括【7-9】等。在可验证秘密共享中只有参与者自己可以验证自己收到的秘密份额是否正确,这使得可验证秘密共享的应用在一定程度上受到限制。因此公开可验证的秘密共享方案被提出\cite{ref14},即任何人都可以验证份额的正确性。随后,Schoenmakers【11】提出了一个构造简单、安全性和效率较高的公开可验证的秘密共享方案,该方案的安全性依赖于离散对数问题和Diffie-Hellman问题。

首先介绍经典的秘密共享方案-Shamir门限秘密共享,假设需要分享的秘密为,参与者的个数为,当参与者收集到至少个子份额后可恢复秘密,过程如下:

  • 秘密份额的分配算法:秘密的拥有者随机选择一个经过点次多项式,其中。然后,计算每个参与者的秘密份额,其中  。最后,将计算的秘密份额发送给各个参与者。
  • 秘密的恢复算法:当参与者收集到个秘密份额后,使用插值公式计算,计算秘密

接下来介绍Schoenmakers提出的公开可验证的秘密共享方案,该秘密分享方案使用了一个非交互式证明方案,用来证明如下论据:证明者在不公开的前提下,证明是使用同一个值生成的,即

  • 生成证据算法:证明者随机选取,计算。然后计算,证据
  • 验证证据算法:验证者在收到后,计算,计算,如果,则验证通过,即相信证明者的论据。

假设表示为一个阶为的群,其中为大素数。选取为相互独立的生成元,即没人知道如何由生成。参与者的个数为,参与者的私钥为,对应的公钥为。秘密的拥有者选取,计算秘密。Schoenmakers公开可验证的秘密共享方案如下:

  • 秘密份额的分配算法:秘密的拥有者随机选择一个经过点次多项式,其中。然后,计算每个参与者的秘密份额,其中 。令,为每一对,调用算法,生成公开可验证的证据。并且发布公开的承诺
  • 秘密份额的验证算法:任何人都可以通过对碎片进行合法性验证,验证者计算,其中。将放入,此时,对进行验证,若通过,则该碎片合法。
  • 秘密份额的解密算法:参与者使用私钥对秘密份额进行解密,计算,并且为了证明确实是由生成,即需要证明参与者知道私钥,并且使用了该私钥。因此调用,生成证据
  • 秘密的恢复算法:当某个参与者收集到足够多的正确秘密份额(正确秘密份额的判断是对证据进行验证),该参与者通过如下计算恢复出秘密值,其中

参考文献:

【1】Shamir A. How to share a secret[J]. Communications of the ACM, 1979, 22(11): 612-613.

【2】Blakley G R. Safeguarding cryptographic keys[C]//1979 International Workshop on Managing Requirements Knowledge (MARK). IEEE, 1979: 313-318.

【3】Chor B, Goldwasser S, Micali S, et al. Verifiable secret sharing and achieving simultaneity in the presence of faults[C]//26th Annual Symposium on Foundations of Computer Science (sfcs 1985). IEEE, 1985: 383-395.

【4】Ben-Or M, Goldwasser S, Wigderson A. Completeness theorems for non-cryptographic fault-tolerant distributed computation[M]//Providing Sound Foundations for Cryptography: On the Work of Shafi Goldwasser and Silvio Micali. 2019: 351-371.

【5】Chaum D, Crépeau C, Damgard I. Multiparty unconditionally secure protocols[C]//Proceedings of the twentieth annual ACM symposium on Theory of computing. 1988: 11-19.

【6】Rabin T, Ben-Or M. Verifiable secret sharing and multiparty protocols with honest majority[C]//Proceedings of the twenty-first annual ACM symposium on Theory of computing. 1989: 73-85.

【7】Feldman P. A practical scheme for non-interactive verifiable secret sharing[C]//28th Annual Symposium on Foundations of Computer Science (sfcs 1987). IEEE, 1987: 427-438.

【8】Pedersen T P. Non-interactive and information-theoretic secure verifiable secret sharing[C]//Annual international cryptology conference. Springer, Berlin, Heidelberg, 1991: 129-140.

【9】Gennaro R, Rabin M O, Rabin T. Simplified VSS and fast-track multiparty computations with applications to threshold cryptography[C]//Proceedings of the seventeenth annual ACM symposium on Principles of distributed computing. 1998: 101-111.

【10】Stadler M. Publicly verifiable secret sharing[C]//International Conference on the Theory and Applications of Cryptographic Techniques. Springer, Berlin, Heidelberg, 1996: 190-199.

【11】Schoenmakers B. A simple publicly verifiable secret sharing scheme and its application to electronic voting[C]//Annual International Cryptology Conference. Springer, Berlin, Heidelberg, 1999: 148-164.

深入学习区块链的隐私保护(四)秘密共享相关推荐

  1. 【转】区块链的隐私保护方案介绍

    区块链的账本是具有分布式的特点,需要多个节点参与账本的存储与验证,而这容易导致人们对账本隐私的担忧.尤其是金融行业对隐私保护会更加注重.隐私问题成为区块链应用落地的主要障碍之一.本文将介绍现有区块链应 ...

  2. 企业收集客户数据属违规?区块链的隐私保护计算可以防止

    在 19 世纪,美国工业界的巨头们通过利用他们对石油和钢铁等有形资源的控制而声名鹊起.今天,企业巨头试图通过收集消费者数据来获得更高的财富.但是现在,与那时一样,积累此类资源的好处伴随着重大的商业风险 ...

  3. 基于区块链的隐私保护数据共享

    摘要: 区块链是近年来出现了一项分布式共识技术,基于区块链共识协议结合智能合约技术可实现去中心化的数据共享.隐私保护是数据共享中的关键特性,原生区块链没有解决隐私保护问 题.利用数字摘要匹配算法提出了 ...

  4. 区块链真的能保护隐私吗?

    思考 这一年,我看过不少媒体的报道,基本言必谈区块链能力之一 --隐私保护.作为区块链从业者,我一方面很好奇那些文字背后的严肃技术:一方面也很怀疑区块链在隐私保护方向的具体价值.我们当然知道隐私保护很 ...

  5. 【论文】联邦学习区块链 论文集(一)

    1.\color{#FF0000} 1.1. Blockchained On-Device Federated Learning 关键词:联邦学习.区块链.延迟分析 主要贡献: 1)用区块链网络来代替 ...

  6. 区块链交易隐私如何保证?华为零知识证明技术实战解析

    摘要:本文通过介绍华为如何在同态加密及零知识证明框架的集成介绍来介绍了一些对金融领域交易隐私保护的思路,通过代码结和应用场景描述了zksnark如何集成到现有联盟链体系保护交易隐私. 本文分享自华为云 ...

  7. 隐私保护和数据安全:区块链的隐私问题、零钞:基于zkSNARK的完美混币池、Hawk:保护合约数据私密性、Coco框架、Baby Zoe

    第十章 文章目录 第十章 一.区块链的隐私问题 1.化名和匿名 2.去匿名攻击:交易表分析 二.零钞:基于zkSNARK的完美混币池 1.零知识证明 2.零钞的运行原理 三.Hawk:保护合约数据私密 ...

  8. 区块链的隐私怎样保护?

    近年来,随着整个数字现金市场的快速发展,区块链技术已经为公众所熟知,并寄予厚望.它被认为是下一代互联网的核心技术之一.区块链的技术属性也有望在限制隐私侵犯方面"发挥作用".区块链通 ...

  9. 2021北京大学暑期课程:区块链与隐私计算

    2021年度北京大学应用数学专题讲习班,课程之一:Blockchain, Privacy-Preserving Computation, Theory and Algorithm(区块链与隐私计算的理 ...

  10. 三万文字透视前瞻:区块链及隐私计算在传统企业中的技术认知与进阶思考

    作者  :招商局集团数字化中心  山金孝 声明:文章仅代表作者个人观点,与任何组织或公司无关 前言 区块链是一种分布式网络数据管理技术,其利用密码学和分布式共识协议保证网络传输与访问安全,并实现数据多 ...

最新文章

  1. php链表笔记:单链表反转
  2. pip install 另一个程序正在使用此文件,进程无法访问
  3. category、protocol、delegate总结
  4. MongoDB学习笔记Day3
  5. 【STM32】ESP8266 AT指令
  6. Apache Jakarta Commons 工具集简介
  7. 微信小程序自带地图_微信小程序地图上选择位置
  8. C# WinForm绘图相关
  9. c语言文件操作常用函数及读写文件代码举列
  10. java铲车_深入研究Java类装载机制
  11. 【Embedding】fastText:极快的文本分类工具
  12. ZStack实践汇 | ZStack部署实战之VDI异构部署
  13. html页面前端乱码,css网页代码乱码怎么解决?
  14. 苏宁服务器修复,今天下午苏宁服务器突发宕机,官方回应:因系统升级调整
  15. R语言使用diag函数生成一个N行N列的单位矩阵
  16. 关于mac系统外接键盘的设置
  17. 官网申请Intellij IDEA Ultimate教育许可证详细步骤
  18. macOS忘记密码后如何修改密码
  19. ebay免费模板html,ebay免费模板
  20. 数据分析(一)- 数据分析基础及matplotlib

热门文章

  1. cesium本地部署引入离线地图
  2. Piranha介绍:过期代码自动删除的开源工具
  3. 解决64位虚拟机安装和键盘FN快捷键问题
  4. Medusa工具使用(转)
  5. .net的快递单号自动识别查询api接口demo代码实例(快递鸟案例)
  6. 操作系统 文件换行符问题
  7. mysql evict_善用MySQL AHI加速神器,让你的InnoDB查询飞起来!
  8. 小白入门 - PHP简介
  9. 计算出当天零分零点对应时间戳的方法分享
  10. onkeyup+onafterpaste 只能输入数字和小数点