GMW协议

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

概述

回顾混淆电路的流程,一方生成加密真值表,另一方执行计算,门电路的输入通过主动发送和不经意传输索取实现,用这样的方式来达到多方计算中一些公平性。
那么是否可以让双方拥有更加对等的地位,让每个参与方都持有一部分秘密份额,都参与计算的方法呢?
假如让双方都加入计算,那么就一定得加密,不加密的话势必会导致自己的秘密份额泄漏,那么在布尔电路中单位比特应该怎么加密呢?异或
为什么采用异或加密呢?
GMW协议
从表中可以看到,密文分布均匀,概率是相等的,而密文反推出明文的概率也是相等的,和随机猜测的概率是一样的,也就意味着只拿到密文并不能给攻击者提供任何有效的额外信息。
其次,注意到异或对于密文的计算是相当友好的。
GMW协议

两方GMW协议

GMW协议同时支持布尔电路和算数电路计算,这里考虑布尔电路,特点是每个参与方都持有秘密份额。

执行流程

假定参与方分为 P 1 P1 P1(输入为 x ∈ { 0 , 1 } n x\in \{0,1\}^n x{0,1}n)和 P 2 P2 P2输入为 y ∈ { 0 , 1 } n y\in \{0,1\}^n y{0,1}n,然后进行类似加法共享操作,即 P 1 P1 P1对于每一个输入比特 x i ∈ { 0 , 1 } x_i\in \{0,1\} xi{0,1},都随机生成一个随机比特 r i ∈ R { 0 , 1 } r_i\in_R \{0,1\} riR{0,1},然后发送给 P 2 P2 P2,此时 P 1 P1 P1所持有的秘密份额为 x ⊕ r x \oplus r xr,而 P 2 P2 P2持有的则是 r r r,这样二者就共同持有 x x x,相当于把 x x x这个秘密做了一个加法分享, y y y也同理。
接下来考虑一个门,将输出定为 w k w_k wk,两个输入定为 w i w_i wi w j w_j wj,然后将每个输入拆分为两部分 w x = s x 1 ⊕ s x 2 w_x=s_x^1 \oplus s_x^2 wx=sx1sx2 P 1 P1 P1 P 2 P2 P2分别持有两个输入的各一部分 ( s i 1 , s j 1 ) (s_i^1,s_j^1) (si1,sj1) ( s i 2 , s j 2 ) (s_i^2,s_j^2) (si2,sj2)

电路拆分

一般的,电路由XOR,NOT和AND三个基础门构成,下面看看如何进行安全计算(以两方为例)

XOR

无需交互,本地计算,两方分别对自己的秘密份额进行异或即可得到结果。
GMW协议

NOT

无需交互,本地计算,只需各自对秘密份额取反即可
GMW协议

AND

显然需要交互才能进行求值。
GMW协议
那么应该如何安全的交互呢?
P 1 P1 P1的视角来看,它只知道自己的两份秘密份额 s i 1 , s j 1 s_i^1,s_j^1 si1,sj1对应的值,而不知道 s i 2 , s j 2 s_i^2,s_j^2 si2,sj2所对应的值,意味着对于未知的 ( s i 2 , s j 2 ) (s_i^2,s_j^2) (si2,sj2)一共有4种取值可能 ( 00 , 01 , 10 , 11 ) (00,01,10,11) (00,01,10,11),接着 P 1 P1 P1对于每一种可能都准备一份对应的秘密份额,然后执行4选1-OT协议,将对应的秘密份额发给 P 2 P2 P2,来获得对应的秘密份额。具体如下,
令整体的结果秘密为 S = F ( s i 1 , s j 1 ) ( s i 2 , s j 2 ) = ( s i 1 ⊕ s i 2 ) ⊗ ( s j 1 ⊕ s j 2 ) S=F_{(s_i^1,s_j^1)}(s_i^2,s_j^2)=(s_i^1 \oplus s_i^2) \otimes(s_j^1 \oplus s_j^2) S=F(si1,sj1)(si2,sj2)=(si1si2)(sj1sj2),把这个视为输入为两个秘密份额,输出为门电路输出值的一个函数,为了不泄露自己秘密份额, P 1 P1 P1选择一位随机比特 r ∈ R { 0 , 1 } r\in_R\{0,1\} rR{0,1},计算出一张4选1的OT秘密表,
GMW协议
随后由 P 1 P1 P1作为OT的发送方将OT秘密表的4行分别作为4个秘密输入, P 2 P2 P2作为接收方将自己的2个秘密份额作为选择项,选择接收OT秘密表所对应的行。 P 1 P1 P1 r r r设置为门输出的秘密份额, P 2 P2 P2则将OT协议种接收的的值作为门输出的秘密份额。这样二者就分别持有了最终结果的一部分。在计算完所有门之后,双方都公布自己拥有的所有输出秘密份额即可得到最终结果。
直观上看,很明显参与方无法得到另一个参与方输入的任何信息, P 2 P2 P2只知道自己接收的OT协议的结果,而 P 1 P1 P1同样只知道OT协议的选择项。

多方的GMW协议

XOR和NOT门不需要交互,直接本地计算就好,所以难点在于AND门上
假如参与方为 n n n个,那么和两方的类似,每个参与方都对每个输入比特都选择一个随机比特,然后发送给其他参与方,达到加法共享的效果。这样一来每个参与方都持有 ( a i , b i ) (a_i,b_i) ai,bi两份输入份额。那么对AND门计算

其中部分是每个参与方可以通过自己拥有的份额计算出来的,而部分需要每个参与方两两进行一次两方的GMW即可,将得到的两部分结果进行一次XOR即可得到最终的结果。
显而易见,GC和GMW都对二进制操作很友好,GMW是以共享的角度来计算的,输入输出都各自持有一部分,后续可以继续扩展到代数级别。

参考

实用安全多方计算导论
CS 276 – Cryptography Oct 27, 2014 Lecture 16: Secure multi-party computation (GMW Protocol + Malicious Model)
Boolean Sharing(布尔共享)
【隐私计算笔谈】MPC系列专题(四):GMW协议和BGW协议文章来源地址https://www.toymoban.com/news/detail-421119.html

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

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

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

相关文章

  • 2. FPGA的电路结构概述

    结构决定原理。原理未必决定结构。 理解FPGA结构,进而能阐明其工作原理很有必要。 FPGA产品的风云变换,其基本结构保持相对不变。 不同FPGA厂家的产品有各自特点,但芯片 结构类似 FPGA芯片内部结构通常由如下三部分构成: 输入输出块(IOB,Input Output Block) :为待实现的数

    2024年01月18日
    浏览(31)
  • 【np.bincount】np.bincount()用在分割领域生成混淆矩阵

    混淆矩阵:Confusion Matrix,用于直观展示每个类别的预测情况,能从中计算准确率(Accuracy)、精度(Precision)、召回率(Recall)、交并比(IoU)。 混淆矩阵是 n*n 的矩阵(n是类别),对角线上的是正确预测的数量。 每一行之和是该类的真实样本数量,每一列之和是预测为该类的样本数量

    2023年04月10日
    浏览(49)
  • 【高速PCB电路设计】1.高速PCB设计概述

    一般认为:高速电路频率≥50MHz且这部分频率电路达到1/3。 客观的讲:考虑到上升下降沿及延迟,当信号的传输路径大于1/6倍传输信号波长时,认为是高速信号。 因此,信号的传输延迟大于1/2数字信号驱动端的上升时间,则认为此类信号是高速信号并产生传输线效应,即为高

    2023年04月08日
    浏览(57)
  • 免杀对抗-Python-混淆算法+反序列化-打包生成器-Pyinstall

    cs 上线 1. 生成 shellcode-c 或者 python 2. 打开 pycharm 工具,创建一个 py 文件,将原生态执行代码复制进去 shellcode 执行代码: 3.将生成的shellcode放到执行代码中,运行代码,cs成功上线 MSF 上线 1.执行命令,生成shellcode 命令:msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.206.129

    2024年02月09日
    浏览(49)
  • Shamir 秘密共享、GMW和BGW方案

    Shamir秘密共享方案是一种将秘密拆分成多份并分配给多个参与者保存,只有在满足特定条件下才能恢复原始秘密的密码学方案。它具有良好的容错性、加法同态性和无条件安全性等特点。 具体地,Shamir秘密共享方案可以概括为以下步骤: 首先,选择一个大质数 p p p 且 s p s

    2024年02月08日
    浏览(33)
  • 实验篇(7.2) 12. 站对站安全隧道 - 仅一方发起连接(FortiGate-IPsec) ❀ 远程访问

    【简介】上一篇实验发现,两端都是可以远程的公网IP的话,两端防火墙都可以发出连接请求,并且都能够连通。这样的好处是安全隧道不用随时在线,只在有需求时才由发起方进行连接。但是现实中很多情况下只有一端公网IP可以远程,那么还能用IPsec安全隧道吗?   实验要

    2024年02月09日
    浏览(31)
  • 基于秘密共享的MPC:GMW、BGW、Beaver triple

    资料: 主要参考 - MPC综述电子书:Evans D, Kolesnikov V, Rosulek M. A pragmatic introduction to secure multi-party computation[J]. Foundations and Trends® in Privacy and Security, 2018, 2(2-3): 70-246. Goldreich, O., S. Micali, and A. Wigderson. 1987. “How to Play any Mental Game or A Completeness Theorem for Protocols with Honest Majority”.

    2024年02月16日
    浏览(31)
  • Activity启动流程概述

    Activity的启动过程,我们可以从 Context 的 startActivity 说起,其实现是 ContextImpl 的 startActivity (内部调用 startActivityForResult ),然后内部会通过 Instrumentation 来尝试启动 Activity ,这是一个 跨进程过程 ,它会调用ams的 startActivity 方法,当 ams校验完activity的合法性 后,会通过 Ap

    2024年02月11日
    浏览(33)
  • 8位补码生成电路

    实验:补码生成电路 设计要求: 1、掌握全加器的使用。 2、设计一个8位补码生成电路(包括符号位)。 3、要求用MULTISIMS设计电路并仿真。 涉及芯片: 74LS283D 原理图: 此电路可通过八个控制开关进行输入原码,其中S1控制符号位,向右位次逐渐降低 上方八个显示器显示各

    2024年02月11日
    浏览(26)
  • MapReduce概述及工作流程

    mapreduce原语(独创) mapreduce工作流程(重点) MR作业提交流程(重点) YARN RM-HA搭建(熟练) 运行自带的wordcount(了解) 动手写wordcount(熟练) MapReduce原语 hadoop MapReduce框架可以让你的应用在集群中 可靠地 容错地 并行 处理TB级别的数据 1024TB=1PB  1024PB=1EB  1024EB=1ZB MapReduc

    2023年04月08日
    浏览(44)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包