PS:一直以来都没有写东西的习惯,每次看完的东西想起来时总是手忙脚乱找不到依据,甚至很多看过很多遍的东西也一直遗忘。趁着2020年年末之际,尝试将一些有用的、会用的等知识进行整理,培养一下自觉性(被女朋友逼迫…),也培养下思路逻辑啥啥啥的。

以下是对近些日子了解安全多方计算(Multi Party Computation,MPC)时碰到的相关概念的总结。

文章目录

  • 1 秘密共享(Secret Sharing,SS)
  • 2 算术共享(Arithmetic Sharing,AS)
  • 3 布尔共享(Boolean Sharing,BS)
  • 4 (补充)混淆电路(Garbled Circuits,GC)

1 秘密共享(Secret Sharing,SS)

秘密共享机制是在一组参与者中共享秘密的技术,它主要用于保护重要信息,防止信息被丢失、被破坏、被篡改[1]。(个人认为SS是MPC的基础)

以下转载自:知乎

秘密共享通过把秘密进行分割,并把秘密在n个参与者中分享,使得只有多于特定ttt个参与者合作才可以计算出或是恢复秘密,而少于t个参与者则不可以得到有关秘密。如下图所示,特征A的值x,分割成x1,x2,...,xnx_1,x_2,...,x_nx1​,x2​,...,xn​,分发给S1,S2,...,SnS_1,S_2,...,S_nS1​,S2​,...,Sn​。

秘密共享体系还具有同态的特性。如下图所示:有特征A和B,他们的值被随机分成碎片(X1,X2,…,Xn)(X_1, X_2, …, X_n)(X1​,X2​,…,Xn​)和(Y1,Y2,…,Y3)(Y_1, Y_2, …, Y_3)(Y1​,Y2​,…,Y3​),并分配到不同参与节点(S1,S2,…,Sn)(S_1,S_2, …, S_n)(S1​,S2​,…,Sn​)中,每个节点运算结果的加和,等同于原始A与B的加和。同样通过增加其他计算机制,也能满足乘积的效果,这就是秘密共享具备的“同态性”,各参与者可以在不交换任何数据的情况下直接对密码数据求和、乘积。

在秘密共享系统中,攻击者必须同时获得一定数量的秘密碎片才能获得密钥,通过这样能提高系统的安全性。另一方面,当某些秘密碎片丢失或被毁时,利用其它的秘密份额仍让能够获得秘密,这样可提高系统的可靠性。

2 算术共享(Arithmetic Sharing,AS)

算术共享是将一个数字按照简单数学运算形式(例如加法、乘法)进行分解、共享(个人理解)。形式化定义如下:(来源:Arithmetic Sharing(算术共享))

Sharing Values. For an kkk-bit Arithmetic sharing xxx of x, we have x0+x1=x(mod2k)x_0 + x_1 = x (mod 2^k)x0​+x1​=x(mod2k) with x0,x1∈Z2kx_0,x_1 \in \Bbb{Z}_{2^k}x0​,x1​∈Z2k​.

Sharing. PiP_iPi​ chooses r∈RZ2kr \in_{R} \Bbb{Z}_{2^k}r∈R​Z2k​, set xi=x−rx_i=x-rxi​=x−r and send rrr to P1−iP_{1-i}P1−i​ who sets x1−i=rx_{1-i}=rx1−i​=r.

Reconstruction. P1−iP_{1-i}P1−i​ sends its share x1−ix_{1-i}x1−i​ to PiP_iPi​ who computes x=x0+x1x=x_0+x_1x=x0​+x1​.

3 布尔共享(Boolean Sharing,BS)

布尔共享,即是将算术共享中元素取值域Z2k\Bbb{Z}_{2^k}Z2k​变为Z2\Bbb{Z}_{2}Z2​,加法操作变为异或。(来源:Boolean Sharing(布尔共享))

Shared Values. A Boolean share sss of a bit www is shared between the two parties.

Sharing. PiP_iPi​ chooses r∈{0,1}r \in \{0, 1 \}r∈{0,1}, computes s1=w⨂rs_1=w \bigotimes rs1​=w⨂r, and sends rrr to P1−iP_{1-i}P1−i​ who sets s2=rs_2=rs2​=r.

Reconstruction. P1−iP_{1-i}P1−i​ sends its share s2s_2s2​ to PiP_iPi​ who computes w=s1⨂x2w=s_1 \bigotimes x_2w=s1​⨂x2​.

4 (补充)混淆电路(Garbled Circuits,GC)

混淆电路所了解不多,在此记录下在知乎上看到的比较浅显易懂的系列:混淆电路介绍(三)混淆电路原理

参考链接:
[1] https://zhuanlan.zhihu.com/p/114488222
[2] https://blog.csdn.net/qq_41369669/article/details/106150511
[3] https://blog.csdn.net/qq_41369669/article/details/106109232

渣硕小白一枚,欢迎大佬的批评、指正。希望每天进步一点点,争取早日脱离苦海。

秘密共享之算术共享、布尔共享相关推荐

  1. 为什么共享充电宝能赚钱,共享单车不行?

    深燃(shenrancaijing)原创 作者 | 王敏 编辑 | 向小园 一面涨价,一面跑步上市:一面"收割"用户,一面又被资本"收割".2021年以来,发生 ...

  2. 计算机网络共享打不开,网络和共享中心打不开,共享无法访问没有权限

    在Win7系统下如果别的计算机设置了共享,那么在本机设置网络发现后就可以打开网络搜索到共享计算机和共享文件了,不过一些朋友反馈win7系统网络发现无法启用的问题,下面小编整理了解决方法,大家可以参考一 ...

  3. VC 利用DLL共享区间在进程间共享数据及进程间广播消息

    在进程间共享数据有很多种方法,剪贴板,映射文件等都可以实现,这里介绍用 DLL 的共享区间在进程间共享数据,及共享数据有变化时及时的反馈给各相关进程. 一.在DLL中设置共享区间 在DLL中是用数据段 ...

  4. win7局域网共享设置_Win7系统打印机共享不了的设置方法思路!

    最近朋友打电话来说单位局域网内打印机没办法共享,用的是WIN7系统,打印机设置共享的方法整理了下步骤分享给大家. 无法共享打印机或无法访问需共享的打印机时 我们首先打开"网络和共享中心&qu ...

  5. linux java 共享内存_Linux进程间通信之共享内存

    一,共享内存 内核管理一片物理内存,允许不同的进程同时映射,多个进程可以映射同一块内存,被多个进程同时映射的物理内存,即共享内存. 映射物理内存叫挂接,用完以后解除映射叫脱接. 1,共享内存的特点: ...

  6. 计算机管理内默认共享,关于Windows的默认共享介绍

    C:\Documents and Settings\Administrator>net share ? 此命令的语法是: NET SHARE sharename sharename=drive: ...

  7. linux共享内存 dest,关于linux 共享内存查看已经完整释放

    完整删除共享内存脚本 #!/bin/sh function rmshm() { zero_status=`ipcs -m|awk '{print $6}'|grep -w 0|wc -l` if [ ...

  8. win7设置计算机共享的打印机共享的打印机共享,告诉你win7打印机共享设置教程...

    win7打印机共享怎么设置呢?我们在办公的过程中经常都需要打印一些资料之类的东西,如果我们跑来跑去就会浪费我们宝贵的时间,我们这时就可以使用打印机共享设置的方法,接下来,小编就给大家陈述一下win7打 ...

  9. 计算机中的网络怎么共享的打印机驱动,如何共享打印机,如何设置打印机共享打印机共享设置图解-中关村在线...

    共享打印机是一种很常见的小型办公环境下使用打印机的办法.对于WindowsXP系统,很多人都知道如何设置,现成的教材也较多,对于Window7操作系统则不然,共享打印机设置变得复杂了起来.这里我们就通 ...

最新文章

  1. BRIEF描述子生成算法
  2. 《主算法》作者Pedro Domingos:做机器学习硬件不能只考虑深度学习
  3. java tm for chrome_java – 是否可以使用Postman Chrome扩展程序发送hashmap?
  4. html怎么转换undefined,JavaScript之Undefined详解
  5. opencv 学习笔记6:通道的拆分与合并
  6. 外部引用CSS中 link与@import的区别
  7. 安德鲁斯Selector简介
  8. 2013计算机系统导论,【精选】2013计算机系统导论-期末考卷-发布.pdf
  9. 程序员出差是去干什么_为什么女生不适合做程序员?原来互联网公司女生少,是由于这几点...
  10. 下列符合c语言语法的变量名是,设有关变量已经正确定义并赋值,则下列表达式中符合C语言语法规则的是...
  11. Objective C 的 private
  12. SQLite 查询得到今天日期
  13. 两款清爽全能的下载神器,还不跟迅雷说拜拜?
  14. windows XP全公略
  15. Qt 笔锋 毛笔 钢笔 蜡笔 4k流畅画笔 Demo
  16. ios 视频处理详解一(视频导出)
  17. canvas 贝萨尔曲线
  18. 熊猫烧香攻防战 武汉男孩称不再更新版本
  19. 全部都是好听的DJ嗨曲
  20. 基于Detectron2的BlendMask训练 BlendMask环境配置 COCO数据集

热门文章

  1. python的总结与心得词云设计理念_1 Python文本分析——词云分析篇
  2. doe报告模板_波峰焊DOE实验报告范本(EXCEL档) .xls
  3. js转换时间戳一直转换成1970的解决方法
  4. JDBC编程(JDBC的使用)
  5. 通信电子电路(二十一) 第二章 知识点总结+作业分析
  6. 【同等学力申硕】在职研究生? 有用吗?
  7. 印度身上中国软件能学什么
  8. torch.multinomial使用
  9. 如何使用EXCEL对一列数据每N个数求平均?
  10. 三星gtn8010安卓7_三星平板N8000刷机升级安卓版本到7.1过程记录