首页 > 其他分享 >Beaver triples/乘法三元组/乘法加密

Beaver triples/乘法三元组/乘法加密

时间:2024-02-09 12:44:45浏览次数:41  
标签:S2 S1 三元组 a1 x2 Beaver c1 分享 乘法

本文由 Bing AI/New Bing/Sydney 根据这篇文章总结得出。

首先,我们假设有两个参与方S1和S2,他们分别持有秘密值x和y的加法分享值x1和x2,y1和y2。也就是说,x = x1 + x2,y = y1 + y2。他们想要计算x和y的乘积,但是不想暴露自己的分享值。

为了实现这个目的,他们需要在离线阶段预先生成一个三元组(a, b, c),满足c = a * b,并且将这个三元组的加法分享值分配给S1和S2。也就是说,S1持有(a1, b1, c1),S2持有(a2, b2, c2),其中a = a1 + a2,b = b1 + b2,c = c1 + c2。

在在线阶段,S1和S2分别计算e = x - a和f = y - b的分享值e1 = x1 - a1,e2 = x2 - a2,f1 = y1 - b1,f2 = y2 - b2。然后,他们通过一轮交互【加法】恢复出e和f。具体来说,S1将e1发送给S2,S2将e2发送给S1,然后他们分别计算e = e1 + e2。同理,他们也可以通过交换f1和f2来计算f = f1 + f2。

这样,他们就得到了e和f的真实值,而不是分享值。这是因为加法秘密共享的性质,即任何两个分享值的和等于原始秘密值的和。也就是说,e = x - a = (x1 + x2) - (a1 + a2) = (x1 - a1) + (x2 - a2) = e1 + e2。同理,f = y - b = f1 + f2。

有了e和f,他们就可以利用以下公式计算x和y的乘积的分享值:

xy = ef + af + be + c

这个公式可以通过展开(x - a)(y - b)=xy - a(y-b) - b(x-a) - ab得到。由于S1和S2已经知道a,b,c的分享值,他们可以在本地计算af,be,c的分享值。例如,S1可以计算af1 = a1 * f,be1 = b1 * e,c1 = c1。然后,他们可以利用加法秘密共享的同态性,将这些分享值相加,得到xy的分享值。例如,S1可以计算xy1 = ef + af1 + be1 + c1。同理,S2可以计算xy2 = ef + af2 + be2 + c2。这样,他们就完成了密文乘法,而不需要暴露自己的分享值。

参考文章:https://www.cnblogs.com/pam-sh/p/16994056.html
致谢:Bing AI/New Bing/Sydney

标签:S2,S1,三元组,a1,x2,Beaver,c1,分享,乘法
From: https://www.cnblogs.com/vv3b/p/18012420

相关文章

  • [THUPC2024] 分治乘法
    [THUPC2024初赛]分治乘法题目描述小艾想要挑战分治乘法。TA将策略抽象成了如下问题:现在给定一个目标集合\(T\),该集合是\(\{1,\dots,n\}\)的一个子集(\(1\leqn\leq5\times10^5\))。你需要通过一系列操作构造一些集合最后得到\(T\),具体来说有以下三种操作:创造一个大小......
  • 打印九九乘法表
    需求打印九九乘法表代码实现packagecom.jichu.struct;publicclassForDemo03{publicstaticvoidmain(String[]args){//打印九九乘法表for(inti=1;i<10;i++){//i列for(intj=1;j<=i;j++){//j行int......
  • 机器学习之最小二乘法
    最小二乘法概述最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能......
  • 打印九九乘法表
    需求打印九九乘法表代码实现packagecom.jichu.struct;publicclassForDemo03{publicstaticvoidmain(String[]args){//打印九九乘法表for(inti=1;i<10;i++){//i列for(intj=1;j<=i;j++){//j行int......
  • GCD,乘法逆元
    最大公约数公约数:几个整数共有的约数。($\pm1是任何整数的公约数$)最大公约数:显而易见,所有公约数中最大的那个。欧几里得算法为了求最大公约数(常记为GCD),我们常用欧几里得算法。以两个数的最大公约数为例。设正整数a,b。不妨假设\(a>b\)。\[gcd(a,b)=gcd(b,a\mod\b)\]证明......
  • dbeaver如何配置离线驱动
    前提:DBeaver已经下载安装好,一台机器可以联网并下载好了驱动,一台机器不能联网。一、联网机器1.1 方法一找驱动路径操作步骤如下:窗口--首选项--连接--驱动--找到驱动位置本地文件夹位置1.2方法二找驱动如下操作步骤如下:1.2.1打开已经下载过DBeaver驱动的软件,点击【数据库】-【驱......
  • 如何利用 AI 做乘法,制作一款龙年贺卡小程序
    2022年底AIGC的出现,让2023年成为通用人工智能元年。这是最好的时代,利用AI,之前仅能存在幻想中的事物落地成现实。只需要寥寥几句话,就可以描绘一张斑斓的画,真实而又丰富的画。目前AI生图的大模型不多,大名鼎鼎的有Midjourney,不过它闭源,并且国内用户使用不方便。StableD......
  • 基础算法(六)高精度乘法模板
    模板如下#include<iostream>#include<vector>usingnamespacestd;vector<int>mul(vector<int>&A,intb){vector<int>C;intk=0;for(inti=0;i<A.size();i++){k+=A[i]*b;C.push_back(k%10);......
  • 外积,叉乘,矩阵乘法
    外积,叉乘,矩阵乘法在slam中,我们经常会遇到需要处理一些矩阵相乘的问题,例如我们在计算两个点的外积时,就需要算两个向量的叉乘,叉乘在计算机计算中比较麻烦,我们一般都是通过将其中一个向量转换成为一个反对称矩阵然后与另外一个进行矩阵乘法来解决的。叉乘:首先定义A,B:\[A=(a_1......
  • 乘法逆元
    乘法逆元定义对于一个线性同余方程\(ax\equiv1\pmodp\),称\(x\)为\(a\bmodp\)下的逆元,可记作\(a^{-1}\)。求法快速幂求逆元我们需要使用费马小定理:\[\begin{aligned}ax&\equiv1\pmodp\\ax&\equiva^{p-1}\pmodp\\x&\equiva^{p-2}\pmodp\end{......