Beaver三元组用于乘法共享

Beaver 三元组(Beaver triples)是安全多方计算(MPC)中一个超级聪明、实用的技巧,用来安全地做乘法

通俗类比:就好像你和朋友要乘两个私密数字,但你们提前准备了一个万能“乘法模板”,可以安全又正确地偷偷算出结果。


Motivation

在安全多方计算里:

  • 加法很容易做:每个人把自己数据碎片加一下就行。
  • 乘法就麻烦了,因为:
    • 两个秘密数的乘积不能直接从碎片算
    • 又不能暴露真实数值
    • 所以需要巧妙地”绕过去“

Beaver 三元组应运而生


Defination

Beaver 三元组表示为:

  • 所有参与方各自拿到这些数的“碎片”,但不知道完整的值。
  • 它跟我们真正要计算的 没有关系,只是一个通用的乘法工具。

Algorithm

假设两位参与方想计算:

但每人都只知道自己的秘密(),又不想泄露给别人。


步骤如下:

  1. 每人拿到 的秘密共享,还有一个 Beaver 三元组 ,满足

  2. 本地计算(在共享上进行):

  1. 公布 (这不会泄露 ,因为 是随机的)

  2. 使用下面的公式计算结果:


安全性说明:

虽然你公开了 ,但由于 是随机数,别人无法反推 ,同时这个公式仍能计算出准确的乘积