【隐私计算笔谈】MPC系列专题(十一):共享随机数和比特分享
作者 | 胡震恺 崔泓睿 郁昱
文章目录
- 【隐私计算笔谈】MPC系列专题(十一):共享随机数和比特分享
- 推荐阅读
-
-
- 【隐私计算笔谈】MPC系列专题(一):安全多方计算应用场景一览
- 【隐私计算笔谈】MPC系列专题(二):模型和Shamir秘密共享机制
- 【隐私计算笔谈】MPC系列专题(三):不经意传输与混淆电路
- 【隐私计算笔谈】MPC系列专题(四):GMW协议和BGW协议
- 【隐私计算笔谈】MPC系列专题(五):Beaver三元组和BMR协议
- 【隐私计算笔谈】MPC系列专题(六):零知识证明和比特承诺
- 【隐私计算笔谈】MPC系列专题(七):信息论安全的混淆电路
- 【隐私计算笔谈】MPC系列专题(八):OT协议(二)
- 【隐私计算笔谈】MPC系列专题(九):OT协议(三)
- 【隐私计算笔谈】MPC系列专题(十):安全多方计算下的集合运算
-
共享随机数
本次科普主要介绍多方比较的实现方法。回忆一下,之前介绍过的Shamir(t,n)秘密分享协议可以实现秘密分享,Shamir(t,n)协议主要基于拉格朗日插值,也可以通俗地理解成𝑛个方程求解𝑛个未知数。
BGW协议可以实现单比特分享,本次要介绍另一个比特分享方式。利用比特分享的方式,可以对𝑙比特的一个数按比特进行多方分享,之后可以据此实现多方比较。多方比较则可以用来构造安全多方计算的基础模块,无论是隐私保护的机器学习还是隐私保护的DNA比较等,都需要用到多方比较模块。
如有一个比特串𝑎 =𝑎𝑙𝑎𝑙-1…𝑎1,𝑎1到𝑎𝑙分别是组成𝑎的各个比特,即𝑎的值为图片。对𝑎进行比特分享即对𝑎的各个比特进行分享,每个参与者拿到𝑎1,…,𝑎𝑙的𝑙个子秘密。将参与者𝑃𝑖拿到的𝑎𝑗的子秘密记为𝑎𝑗,𝑖,则对𝑙比特长的𝑎进行比特分享后参与者𝑃𝑖能够获得𝑎1,𝑖,𝑎2,𝑖,…,𝑎𝑙,𝑖。
首先简要介绍一个多个参与者共同产生同一个随机数的方式:假设有𝑛个参与者𝑃1,…,𝑃𝑛,每个参与者𝑃𝑖都产生一个随机数𝑟𝑖,并通过Shamir(t,n)秘密分享机制将𝑟𝑖进行分享,记𝑟𝑖,𝑗为参与者𝑃𝑗获得的𝑟𝑖的子秘密。因此当每个参与者都产生随机数并分享后,参与者𝑃𝑖可以获得𝑟1,𝑖,…,𝑟𝑛,𝑖。
参与者𝑃𝑖获得子秘密𝑟1,𝑖,…,𝑟𝑛,𝑖之后,将它们进行累加,将累加结果记为𝑟𝑖’,ri’= ∑ j = 1 n \sum_{j=1}^n ∑j=1nrji。用符号𝑟表示𝑟1,…,𝑟𝑛之和,即ri= ∑ i = 1 n \sum_{i=1}^n ∑i=1