Shamir 秘密共享、GMW和BGW方案

这篇具有很好参考价值的文章主要介绍了Shamir 秘密共享、GMW和BGW方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Shamir秘密共享

Shamir秘密共享方案是一种将秘密拆分成多份并分配给多个参与者保存,只有在满足特定条件下才能恢复原始秘密的密码学方案。它具有良好的容错性、加法同态性和无条件安全性等特点。

具体地,Shamir秘密共享方案可以概括为以下步骤:

  1. 首先,选择一个大质数 p p p s < p s<p s<p,并选择一个随机数 a 0 a_0 a0,并生成 n − 1 n-1 n1个不同的随机数 a 1 , a 2 , ⋯   , a t − 1 a_1,a_2,\cdots,a_{t-1} a1,a2,,at1。这些数可用于定义一个 t − 1 t-1 t1阶多项式 f ( x ) = a 0 + a 1 x + a 2 x 2 + ⋯ + a t − 1 x t − 1 f(x) = a_0 + a_1x + a_2x^2 + \cdots + a_{t-1}x^{t-1} f(x)=a0+a1x+a2x2++at1xt1。多项式中除了 a 0 a_0 a0以外的系数都是随机生成的。

  2. 然后,将需要共享的秘密 s s s作为多项式中的常量项,即 f ( 0 ) = s f(0)=s f(0)=s,并计算出 f ( 1 ) , f ( 2 ) , . . . , f ( n − 1 ) f(1),f(2),...,f(n-1) f(1),f(2),...,f(n1)。每个参与者 i i i将会收到一个秘密分片 ( i , f ( i ) ) (i, f(i)) (i,f(i)),其中 i i i是参与者的编号。

  3. 如果我们至少获得了 t t t个秘密分片,我们就可以使用拉格朗日插值公式重建出原始秘密 s s s。具体地,可以使用以下公式:
    s = ∑ j = 1 t f ( j ) ∏ i ≠ j ,    i = 1 t k − i j − i s = \sum\limits_{j=1}^t f(j)\prod\limits_{i\neq j,\; i=1}^t \frac{k-i}{j-i} s=j=1tf(j)i=j,i=1tjiki
    其中, k k k是需要重建秘密的参与者数。

下面以一个简单的例子来说明Shamir秘密共享方案的应用。假设Alice和Bob想要合作保管一个密码,他们希望确保只有在两者都同意时才能访问该密码。为了实现这一目标,他们使用Shamir秘密共享方案进行分割。

首先,他们共同决定一个秘密值,并将其分解成两个部分: s 1 s_1 s1 s 2 s_2 s2。然后,他们随机生成两个随机数 a 0 a_0 a0 a 1 a_1 a1,并计算出一个 t − 1 t-1 t1阶多项式 f ( x ) = a 0 + a 1 x f(x) = a_0 + a_1x f(x)=a0+a1x。通过将 x = 1 x=1 x=1 x = 2 x=2 x=2代入多项式,他们分别获得了 ( 1 , f ( 1 ) ) = ( 1 , s 1 + a 0 + a 1 ) (1, f(1))=(1, s_1+a_0+a_1) (1,f(1))=(1,s1+a0+a1) ( 2 , f ( 2 ) ) = ( 2 , s 2 + 2 a 0 + 4 a 1 ) (2, f(2))=(2, s_2+2a_0+4a_1) (2,f(2))=(2,s2+2a0+4a1)两个秘密分片。

现在,如果他们想要检索这个密码,只有当他们两个人共同持有各自的秘密分片时,他们才能还原出原始的秘密值。因为他们两个人各有一个秘密分片,只需要使用拉格朗日插值公式即可还原出原始的秘密值:

s = ( 2 − 1 ) ( s 2 + 2 a 0 + 4 a 1 ) + ( 1 − 2 ) ( s 1 + a 0 + a 1 ) ( 1 − 2 ) = s 1 + s 2 s = \frac{(2-1)(s_2+2a_0+4a_1) + (1-2)(s_1+a_0+a_1)}{(1-2)} = s_1+s_2 s=(12)(21)(s2+2a0+4a1)+(12)(s1+a0+a1)=s1+s2

从这个例子中可以看出,Shamir秘密共享方案是一种实用而高效的方法,可以帮助多个参与者在保护隐私的前提下对敏感信息进行安全的共享和计算。它的容错性能力很好,可以适应各种网络条件和故障情况,并且具有无条件安全性。


Shamir 秘密共享、GMW和BGW方案Shamir 秘密共享、GMW和BGW方案
Shamir 秘密共享、GMW和BGW方案

二、GMW方案

GMW和BGW方案是两种秘密共享的基本方案,它们都可以用来将一个秘密拆分成多份并分配给多个参与者保存。它们的主要区别在于使用的加密算法不同。

GMW方案也被称为Shamir秘密共享的扩展方案,它使用了广泛的家族算法来进行私钥共享,具有高效的性质和通用的安全证明。

GMW方案的核心思想是将秘密拆分成多份,并分配给多个参与者。每个参与者在本地留存一个秘密分片,并使用插值算法将它们组合起来,还原出秘密。此外,为了保护参与者之间的数据隐私,在这个过程中应用了RSA算法或其他家族算法来加密每个参与者的秘密分片,使得单个参与者无法获得其他任何参与者手上的信息。

例如,假设Alice、Bob和Charlie希望合作保管一个密钥,他们使用Shamir秘密共享方案进行分割。首先,他们共同决定一个秘密值,并将其分解成三个部分( s 1 , s 2 , s 3 s_1, s_2, s_3 s1,s2,s3),然后将这些部分秘密地分配给他们三个人。

Alice收到 s 1 s_1 s1、Bob收到 s 2 s_2 s2和Charlie收到 s 3 s_3 s3。现在,当Alice、Bob和Charlie需要通过组合他们的密钥部分生成原始密钥时,他们使用秘密共享方案中的插值算法,并确保每个步骤都进行加密来防止信息泄露。


GMW方案的核心思想是将秘密拆分成与者持有一个秘密分片,然后使用插值算法重新聚合这些分片,得到原始秘密。

具体来说,假设我们有一个秘密 s s s需要共享给 t t t个参与者(其中至少需要 k k k个参与者才能重建秘密)。对于每个参与者 i = 1 , 2 , . . . , t i = 1,2,...,t i=1,2,...,t,首先选择一个随机数 a i a_i ai,并计算出一个函数 f ( x ) = s + ∑ i = 1 t a i x i f(x) = s + \sum\limits_{i=1}^ta_ix^i f(x)=s+i=1taixi。每个参与者 i i i都会获得一对(x, y),其中x为随机数,y为 x x x代入 f ( x ) f(x) f(x)得到的结果。因此,每个参与者 i i i都可独立存储自己的秘密分片 ( x i , y i ) (x_i, y_i) (xi,yi)

接下来,为了重建原始秘密,参与者之间需要交换信息以恢复出秘密值。具体来说,每个参与者都需要将自己的秘密分片发送给其他参与者。一旦所有参与者收到了足够数量的秘密分片,他们可以通过多项式插值算法计算出完整的多项式,并从中恢复出秘密值 s s s。根据Lagrange插值定理,可以使用以下公式计算多项式:

f ( x ) = ∑ i = 1 t y i ∏ j ≠ i x − x j x i − x j f(x) = \sum\limits_{i=1}^t y_i\prod_{j\neq i}\frac{x-x_j}{x_i - x_j} f(x)=i=1tyij=ixixjxxj


Shamir 秘密共享、GMW和BGW方案
Shamir 秘密共享、GMW和BGW方案
Shamir 秘密共享、GMW和BGW方案

三、BGW方案

BGW是Ben-Or、Goldwasser和Wigderson的缩写。这种方法也被称为 t,N \text{t,N} t,N阈值方案,其中 t t t表示阈值, N N N表示总共有多少个参与者。它是基于交互式协议的一个秘密分享方案,利用了Shamir秘密共享方案、ElGamal加密和Garbled电路的特性,通过多次通信构建应用程序或协议。该方案将所有秘密操作编码成部分执行和计算,以保护隐私。

假设Alice、Bob和Charlie想要合作测试一个密钥,他们希望使用BGW方案。他们开始时决定了如何将密钥拆分成子密钥。然后,他们采取随机的ElGamal加密和解密协议,按照预定的顺序对拆分的密钥段加密,并将加密日志(Garbled circuit logs)发送回服务器。

对于密码学应用,BGW对于安全计算具有显著的贡献。例如,在联合梯度下降(Federated Gradient Descent)中,参与者之间可以使用BGW方案共享计算梯度的秘密值,而无需暴露原始数据,从而实现了严格的隐私保护。


BGW方案基于阈值密码学,也称为(t, n)阈值方案,其中t表示需要恢复原始秘密的最小参与者数,n表示总参与者数。

假设我们要将秘密 s s s拆分成 n n n份,并将其中 t t t份重新聚合以求得原始秘密 s s s。BGW方案采用了同态加密和Garbled电路的方法来实现对保护隐私敏感计算任务的支持。

首先,每个参与者都执行一组ElGamal加密( E G k ( x ) EG_k(x) EGk(x),其中 k k k是公钥, x x x是原始秘密/Plaintext)。然后,他们交换密文并在解密前将密文混合起来(Shuffle)。接下来,他们执行类似于Garbled电路的解密过程(Yao’s Garbled Circuits)以及其特有的部分执行方案。具体来说,他们会构造每个门关系的相应表,其中包括外部输入变量、中间值变量和输出临时变量。接着,他们通过网络发送这些表给下一个参与者,接收方将使用ElGamal解密的方法来解密这些表,并进行下一作。最后,当所有密文混合、加密和半执行(semi-computation)完成后,可以得到原始秘密的分量。

BGW方案的阈值门可以用以下公式表示:

E ( 0 , r ) ^ = ∏ i = 1 t E i ( 0 , r ) \widehat{E(0, r)} = \prod\limits_{i=1}^t E_i(0, r) E(0,r) =i=1tEi(0,r)

其中, E ( 0 , r ) E(0, r) E(0,r)是加密一个明文0,用随机数 r r r成为其伪随机性的密文; E i ( 0 , r ) E_i(0, r) Ei(0,r)是第 i i i个秘密共享方案中的密文。

总之,GMW和BGW都是常见的机密分享方案。其核心思想是将保密数据拆分成若干片段,然后分发给不同的参与者。这样每个参与者都持有一部分信息,只有在集齐足够数量的信息时,才能还原出完整的秘密。GMW使用插值算法,而BGW使用ElGamal随机加密和Garbled电路等技术来实现秘密共享和计算任务。


Shamir 秘密共享、GMW和BGW方案
Shamir 秘密共享、GMW和BGW方案
Shamir 秘密共享、GMW和BGW方案
学习导航:http://xqnav.top文章来源地址https://www.toymoban.com/news/detail-472583.html

到了这里,关于Shamir 秘密共享、GMW和BGW方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • GMW协议

    回顾混淆电路的流程,一方生成加密真值表,另一方执行计算,门电路的输入通过主动发送和不经意传输索取实现,用这样的方式来达到多方计算中一些公平性。 那么是否可以让双方拥有更加对等的地位,让每个参与方都持有一部分秘密份额,都参与计算的方法呢? 假如让

    2023年04月22日
    浏览(29)
  • FRI及相关SNARKs的Fiat-Shamir安全

    本文主要参考: Alexander R. Block 2023年论文 Fiat-Shamir Security of FRI and Related SNARKs Albert Garreta 2023年9月在ZK Summit 10上分享 ZK10: Fiat-Shamir security of FRI and related SNARKs - Albert Garreta (Nethermind) 评估参数用的Sagemath code见: https://github.com/alexander-r-block/FRI-Parameter-Testing-Sagemath 何为FRI-based SN

    2024年02月03日
    浏览(28)
  • Swap 2 Secrets via Homomorphic Properties of Shamir Secret Sharing

    I have 2 secrets denoted as s 1 , s 2 s_1, s_2 s 1 ​ , s 2 ​ and they are in different vector with same dimensions. Now all the vector are encrypted by the Shamir Secret Sharing. What is I really want is to swap the s 1 , s 2 s_1, s_2 s 1 ​ , s 2 ​ in their shares format via the homomorphic properties of Secret Sharing. I need you give me a python im

    2024年02月06日
    浏览(24)
  • EXCEL网络共享解决方案

    最近一个朋友希望为他解决excel多人同时使用的问题,经过摸索,找到了两个解决方案: 方案一、使用excel的“共享工作簿”功能。此方案只适合数据量小(如果数据量在1000条以上不建议使用),处理不卡顿的Excel文件,计算公式比较简单。Excel2000及以上版本(2003 2007)都支持这

    2024年02月05日
    浏览(33)
  • 两台电脑共享(无线上网)最佳解决方案

    前提实验情况(1) :  一台台式机并自带无线网卡,一台笔记本自带无线网卡, 一台交换机,台式机通过无线网卡上网,笔记本想通过台式机共享上网  实验目的 :由于AB两家隔的有远,笔记本自带无线网卡信号不是很好,搜索不到信号.只能通过B家台式机让笔记本能上网 解决方案

    2024年02月06日
    浏览(40)
  • 电信联通5G共建共享方案实施及验证

    一、情况概述 随着2019年9月9日中国电信集团与联通签署《5G网络共建共享框架合作协议书》,电信与联通在全国范围内合作共建5G接入网络。根据合作协议,联通运营公司将与中国电信在全国范围内合作共建一张5G接入网络, 双方划定区域,分区建设,各自负责在划定区域内的

    2024年01月25日
    浏览(39)
  • Ubuntu不显示共享文件夹解决方案

    重装的Ubuntu系统,设置共享文件夹之后不显示,解决方法如下: 1、检查共享文件夹设置成功 如果设置成功会显示设置好的共享文件夹 2、一次性解决方法(每次重启都需要执行一次) 重启后会失效,需要每次挂载; 3、永久解决 最后添加一行 光标移至最后,按a 光标后面进

    2024年02月04日
    浏览(50)
  • 共享单车蓝牙锁方案phy6222系列蓝牙芯片

    公共交通工具的\\\"最后一公里\\\"是城市居民出行采用公共交通出行的主要障碍,也是建设绿色城市、低碳城市过程中面临的主要挑战。随着科技的发展,物联网领域市场的不断开拓BLE协议在共享交通工具上打开了突破口,目前已广泛应用及遍布我们的生活。 蓝牙(Bluetooth®):是一

    2024年02月10日
    浏览(38)
  • 2022北京智源大会开放注册,LeCun、Shamir等图灵奖得主领衔,共赴年度AI内行盛会!...

    北京智源大会始自2019年,每年邀请包括图灵奖得主在内的200多位全球人工智能领域顶尖学者、专家共同探讨学术、技术和产业最新进展,吸引超过3万专业观众注册,超过30个国家和地区200万人次参与。 作为国际性、权威性、专业性和前瞻性的“内行AI盛会”,智源大会已成为

    2024年02月07日
    浏览(42)
  • 分布式集群下WebSocket Session共享解决方案

    接上一篇 SpringBoot集成WebSocket进行消息主动推送 分布式集群下WebSocket Session共享解决方案 在实现中需要解决的类变量有两个 其中online可以用Redis实现存储 Session无法采用Redis进行存储, 因为不能对Session进行序列化 由于session无法实现序列化,不能存储到redis这些中间存储里面,

    2024年02月12日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包