CN113609503A - 一种保护数据隐私的最高位进位计算方法 - Google Patents

一种保护数据隐私的最高位进位计算方法 Download PDF

Info

Publication number
CN113609503A
CN113609503A CN202110911773.5A CN202110911773A CN113609503A CN 113609503 A CN113609503 A CN 113609503A CN 202110911773 A CN202110911773 A CN 202110911773A CN 113609503 A CN113609503 A CN 113609503A
Authority
CN
China
Prior art keywords
matrix
party
shared
margin
additional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110911773.5A
Other languages
English (en)
Other versions
CN113609503B (zh
Inventor
张祺智
李漓春
殷山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202110911773.5A priority Critical patent/CN113609503B/zh
Publication of CN113609503A publication Critical patent/CN113609503A/zh
Application granted granted Critical
Publication of CN113609503B publication Critical patent/CN113609503B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本说明书实施例公开了一种保护数据隐私的最高位进位计算方法。通过构造矩阵的连乘运算,安全计算二进制数的最高位从次高位获得的进位,即安全计算最高位进位。其中,参与方基于安全多方计算协议彼此协同运算,获取连乘结果矩阵中至少部分元素的附加余量和共享分片以及余量,进而基于连乘结果矩阵中至少部分元素的附加余量和共享分片以及余量,获取最高位从次高位获得的进位的附加余量和共享分片以及余量。

Description

一种保护数据隐私的最高位进位计算方法
技术领域
本说明书涉及信息技术领域,特别涉及一种保护数据隐私的最高位进位计算方法。
背景技术
安全多方计算又称为多方安全计算,即多方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据,计算的结果以和共享形式存储于多方或公开给其中的一方或多方。因此,通过安全多方计算,能够让参与的各方在不暴露各自原始数据的情况下,计算出函数的结果。
一些安全多方计算过程涉及非负判断。目前,希望提供一种安全计算二进制数的最高位(符号位)的方案。
发明内容
本说明书实施例之一提供一种保护数据隐私的最高位进位计算方法。其中,参与方中的任一方记为L方,另一方记为R方,L方持有和共享分片x,R方持有和共享分片y,两方的和共享分片的和值等于原秘密值;所述方法由L方的设备执行,其包括:基于安全多方计算协议与R方协同运算,获取连乘结果矩阵中至少部分元素的附加余量和共享分片以及余量,进而基于连乘结果矩阵中至少部分元素的附加余量和共享分片以及余量,获取计算s=x+y时s的最高位从次高位获得的进位的附加余量和共享分片以及余量;两方的附加余量和共享分片以及两方共有的余量的和值等于原秘密值;其中,连乘结果矩阵为An-2An-3…A1A0
Figure BDA0003203922550000011
Figure BDA0003203922550000012
0i≤n-2,xi为x的第i位,yi为y的第i位。
本说明书实施例之一提供一种保护数据隐私的最高位进位计算系统。其中,参与方中的任一方记为L方,另一方记为R方,L方持有和共享分片x,R方持有和共享分片y,两方的和共享分片的和值等于原秘密值;所述系统在L方的设备上实现,其用于:基于安全多方计算协议与R方协同运算,获取连乘结果矩阵中至少部分元素的附加余量和共享分片以及余量,进而基于连乘结果矩阵中至少部分元素的附加余量和共享分片以及余量,获取计算s=x+y时s的最高位从次高位获得的进位的附加余量和共享分片以及余量;两方的附加余量和共享分片以及两方共有的余量的和值等于原秘密值;其中,连乘结果矩阵为An-2An-3…A1A0
Figure BDA0003203922550000013
Figure BDA0003203922550000014
0i≤n-2,xi为x的第i位,yi为y的第i位。
本说明书实施例之一提供一种保护数据隐私的最高位进位计算装置,所述装置包括处理器和存储设备,所述存储设备用于存储指令,当所述处理器执行指令时,实现如本说明书任一实施例所述的保护数据隐私的最高位进位计算方法。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的用于计算n位二进制数的最高位的二叉树的示例性结构示意图;
图2是根据本说明书另一些实施例所示的用于计算n位二进制数的最高位的二叉树的示例性结构示意图;
图3是根据本说明书一些实施例所示的安全计算An-2An-3…A1A0的方法的示例性流程图;
图4是根据本说明书一些实施例所示的计算二叉树的第1级非叶子节点的至少部分矩阵元素的附加Δ和共享分片以及余量的示例性流程图;
图5是根据本说明书一些实施例所示的计算二叉树的第1级非叶子节点的至少部分矩阵元素的附加Δ和共享分片以及余量的示例性交互示意图;
图6是根据本说明书一些实施例所示的计算二叉树的第j(j=2,3,…,reil(log2(n-1)))级非叶子节点的至少部分矩阵元素的附加Δ和共享分片以及余量的示例性流程图;
图7是根据本说明书一些实施例所示的计算二叉树的第j(j=2,3,…,reil(log2(n-1)))级非叶子节点的至少部分矩阵元素的附加Δ和共享分片以及余量的示例性交互示意图;
图8是根据本说明书一些实施例所示的保护数据隐私的最高位进位计算系统的示例性模块图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
在数学中,“群”表示一个满足封闭性、满足结合律、有单位元、有逆元的二元运算的代数结构,包括阿贝尔群、同态和共轭类。其中,通常可以使用乘法符号“*”(在无歧义时可省略)或加法符号“+”作为该二元运算的符号,但需要注意的是,该二元运算不一定等同于四则运算中的乘法或加法。若干元素通过一次或多次二元运算产生的结果可称为合值。
群的二元运算满足:1.封闭律,对于G中的任意元素a、b,a*b仍在G中;2.结合律,对于G中的任意元素a、b和c,有(a*b)*c=a*(b*c);3.有单位元,G中存在元素e,使得a*e=e*a;4.有逆元,对于G中的任一元素a,G中存在b,使得a*b=b*a=e,a、b互为逆元,此处e为单位元。值得说明的是,对于“+”表示的二元运算,e也可称为零元,逆元也可称为负元,对于G中的任意元素a、b,a-b可以表示a+(b的逆元)。群运算的次序很重要,把元素a与元素b结合,所得到的结果不一定与把元素b与元素a结合相同,即交换律a*b=b*a不一定恒成立。满足交换律的群称为阿贝尔群(交换群),不满足交换律的群称为非阿贝尔群(非交换群),阿贝尔群由自身的集合G和二元运算*构成。
在数学中,映射经常等同于函数。例如,假设A和B为两个非空集合,若对A中的任一元素x,依照某种规律(或法则)f,恒有B中的唯一确定的元素y与之对应,则称对应规律f为一个从A到B的映射。记作f:A→B,称y为x的像,记作y=f(x),并称x为y的原像,集合A称为映射f的定义域,集合B称为f的陪域。
进一步地,本说明书涉及一种基于(非负)整数阿贝尔群的商群,其数学表示可以是G:=Z/nZ,其中,Z为(非负)整数集合,n为正整数,“/”左边的Z表示群元素为1的整数倍,“/”右边的nZ表示群的模为n,商群Z/nZ为模以n的余数的n阶循环群。
值得说明的是,由于计算设备通常使用固定位数(如bit)来存储计算过程中产生的数值,多方协同计算时会频繁使用涉及取模的加法、乘法(以下称为模加法、模乘法)等等。本说明书中,在没有特别说明的情况下,涉及符号的数学表示可优先按模加法、模乘法而非四则运算来理解,相关术语(如求和、和值、相乘、乘积等)也优先按模加法、模乘法而非四则运算来理解。
在一些分布式场景中,需要多方安全计算得到目标运算结果。其中,安全可以指输出结果的正确性和输入信息、输出信息的保密性。例如,在一些机器学习场景中,一方持有私密的特征数据,另一方持有私密的标签数据。若直接计算关于私密数据(特征数据/标签数据)的目标运算结果时,一旦该目标运算结果被泄露可能导致私密数据被反推出。为此,一方可以将自身持有的私密数据x拆分成两份,保留其中一份x_L并将另一份x_R发送给对方。其中,x=x_L+x_R,即x_L+x_R为x的和共享表示,x_L和x_R为x的和共享分片。然后,两方运行安全计算协议,各自得到该目标运算结果的一个和共享分片。两方得到的和共享分片的和值即目标运算结果,攻击者若想获知原秘密值(如x)需要得到两方的和共享分片。
类似地,还存在一种“分片+余量”的拆分方式:一方持有x的一个附加余量和共享分片x_L,另一方持有x的另一个附加余量和共享分片x_R,且Δx为双方共有的x的余量。其中,x=x_L+x_R+Δx,即x_L+x_R+Δx为x的附加余量和共享表示。对于附加余量和共享形式,攻击者若想获知原秘密值(如x)需要得到两方的附加余量和共享分片以及共有的余量。
本说明书中,具体的余量(如Δx)都使用了符号Δ来表达。为了简化表述,本说明书中也用符号Δ来代替“余量”一词。
值得说明的是,上述两种分片之间可以互相转换。仅作为示例,若要将两方的和共享分片转换成附加Δ和共享分片:任一方(不妨记为L方)可以随机生成
Figure BDA0003203922550000041
作为x的附加Δ和共享分片,按
Figure BDA0003203922550000042
计算Δx_L并将Δx_L发送给另一方(记为R方),Δx_L可以作为双方共有的x的余量(即Δx=Δx_L),L方随机生成的
Figure BDA0003203922550000049
可以作为L方的附加Δ和共享分片,R方原有的和共享分片x_R可以作为x的附加Δ和共享分片(即
Figure BDA0003203922550000043
);当然,R方也可以随机生成
Figure BDA0003203922550000044
作为x的附加Δ和共享分片,按
Figure BDA0003203922550000045
计算Δx_R并将Δx_R发送给L方,ΔxL+ΔxR可以作为双方共有的x的余量(即Δx=ΔxL+ΔxR)。若要将两方的附加Δ和共享分片转换成和共享分片:L方可以按
Figure BDA0003203922550000046
计算x_L并将x_L作为x的和共享分片,R方可以按
Figure BDA0003203922550000047
计算x_R并将x_R作为x的和共享分片,其中,Δx_L和Δx_R为双方的公共知识且Δx=Δx_L+Δx_R;当然,任一方(不妨假设为L方)也可以直接将原有的附加Δ和共享分片
Figure BDA0003203922550000048
作为x的和共享分片x_L,相应地Δx=Δx_R(ΔxL=0)。
一些安全多方计算过程涉及非负判断。例如,线性整流函数(Rectified LinearUnit,ReLU),又称修正线性单元,是一种人工神经网络中常用的激活函数,其输出在输入非负时和输入为负时具有不同的特点。
考虑数据在计算机内的存储形式为n位二进制数s,n为存储单元的位数,其和共享表示为x+y。可以将s及其和共享分片看作均属于商群Z/2nZ。在计算机的一些存储方式下,如补码,有符号数的最高位被作为符号位。在补码的存储方式下,符号位被视为数据一并参与运算,运算结果仍然以补码形式存储,因此涉及非负判断的安全多方计算过程中,多方协同计算有符号数的最高位,各自可获得最高位的一个分片。
不妨令ci为s的第i位获得的进位,xi为x的第i位,yi为y的第i位,则有:
ci=xi-1yi-1+xi-1ci-1+yi-1ci-1 (1)。
等式(1)的矩阵形式如下:
Figure BDA0003203922550000051
可以理解,在bit维度群运算涉及模2,例如等式(1)和等式(2)中的“+”均表示商群Z/2Z的模加法。
为了统一表达,不妨规定s的最低位为第0位,最高位为第n-1位。按照等式(2)进行递归,可知n位二进制数s的最高位(从次高位,即从第n-2位)获得的进位cn-1满足:
Figure BDA0003203922550000052
其中,
Figure BDA0003203922550000053
二进制数s的最高位等于xn-1+yn-1+cn-1,对于参与安全计算的双方而言,一方持有xn-1,另一方持有yn-1,则关键在于双方如何安全计算进位cn-1。由等式(3)可知,进位cn-1为矩阵连乘结果(或称为连乘结果矩阵)An-2An-3…A1A0的右上角矩阵元素。因此,在一些实施例中,参与方可以基于安全多方计算协议、彼此协同运算,获取连乘结果矩阵中至少部分元素的附加余量和共享分片以及余量,进而基于连乘结果矩阵中至少部分元素的附加余量和共享分片以及余量,获取计算x+y时s的最高位从次高位获得的进位的附加余量和共享分片以及余量。至此,问题转换为双方如何安全计算矩阵连乘结果An-2An-3…A1A0中的部分元素的附加余量和共享分片以及余量。
本说明书实施例提供一种基于二叉树安全计算An-2An-3…A1A0的方法,可按照二叉树的结构自底向上计算,参与安全计算的双方各自可获得An-2An-3…A1A0的一个附加Δ和共享分片且共有An-2An-3…A1A0的余量。
下面先介绍上述二叉树的结构。
具体地,可以以连乘项An-2,An-3,…,A1,A0为叶子节点构建二叉树。二叉树的特点是一个父节点最多只能有两个子节点。常见的二叉树从根节点根节点开始分裂,直至得到二叉树的所有叶子节点。本说明书实施例采用一种逆向的思路,即从叶子节点开始逆向生长,直至得到二叉树的根节点。相邻的叶子节点两两组合,每两个相邻的叶子节点的乘积被确定为一个第1级非叶子节点(非叶子节点亦即乘积矩阵)。对于j=2,3,…,reil(log2(n-1)),相邻的第j-1级非叶子节点两两组合,每两个相邻的第j-1级非叶子节点的乘积被确定为一个第j级非叶子节点。其中,二叉树的深度为reil(log2(n-1)),reil()表示向上取整,即第reil(log2(n-1))级非叶子节点为根节点。
值得说明的是,当log2(n-1)为整数时(例如,n=33时),可以构建一个满二叉树,即从叶子节点开始每一级(根节点除外)的节点刚好可以两两结对得到上一级的父节点。
当log2(n-1)不是整数时,同级的节点的数量可能为奇数,使得每两个相邻的同级节点的乘积被确定为一个下一级节点后会余下一个节点无法结对(即无法参与乘积)。可以理解,为保证根节点为An-2An-3…A1A0,二叉树中两两相邻的同级节点结对后落单的节点一般是位于某一级边缘的节点,例如,二叉树中两两相邻的叶子节点结对后落单的叶子节点可能是A0或An-1。为了便于描述,以下将二叉树中两两相邻的同级节点结对后落单的节点称为“未参与乘积的节点”。对于未参与乘积的节点,可以将该节点直接确定为下一级节点。即,未参与乘积运算的叶子节点A0或An-1可以直接被确定为与叶子节点A0或An-1对应的第1级非叶子节点,未参与乘积运算的第j-1级非叶子节点可以直接被确定为与其自身对应的第j级非叶子节点。为了统一表述,在一些场景下,我们也将落单的叶子节点,如A0或An-1,称为其自身对应的第1级乘积矩阵,将落单的第j-1级乘积矩阵称为与其自身对应的第j级乘积矩阵。应当理解为,叶子节点A0或An-1对应的第1级乘积矩阵并不是经过矩阵乘积运算得到,但是叶子节点A0或An-1对应的第1级乘积矩阵与其他叶子节点两两相乘得到的第1级乘积矩阵具有相同的运算地位,两两间可以进行结对相乘以得到下一级乘积矩阵。落单的第j-1级乘积矩阵对应的第j级乘积矩阵也并不是经过矩阵乘积运算得到,但是落单的第j-1级乘积矩阵对应的第j级乘积矩阵与其他第j级乘积矩阵具有相同的运算地位,两两间可以进行结对相乘以得到第j+1级乘积矩阵。
图1是根据本说明书一些实施例所示的用于计算n位二进制数的最高位的二叉树的示例性结构示意图。
如图1所示,当n=8时,二叉树的深度为3,未参与乘积的叶子节点A6被直接确定为与叶子节点A6对应的第1级非叶子节点。
图2是根据本说明书另一些实施例所示的用于计算n位二进制数的最高位的二叉树的示例性结构示意图。
如图2所示,当n=9时,二叉树的深度为3且为满二叉树。
图3是根据本说明书一些实施例所示的安全计算An-2An-3…A1A0的方法的示例性流程图。为了便于描述,不妨将安全计算的参与方中的任一方记为L方,另一方记为R方。流程300可以由L方的设备执行,如图3所示,流程300可以包括reil(log2(n-1))步。
第1步:基于和共享分片x与R方协同,以对二叉树中两两相邻的叶子节点的至少部分矩阵元素进行运算,获得二叉树的第1级非叶子节点的至少部分矩阵元素的附加余量和共享分片以及余量。
n位二进制数s的和共享表示为x+y,L方持有和共享分片x,R方持有和共享分片y。在一些实施例中,第一方和/或第二方持有的s的和共享分片可以是由s的附加余量和共享分片转换得到的。可以理解,L方持有和共享分片x的每一位,即从x0到xn-1。R方持有和共享分片y的每一位,即从y0到yn-1
两个相邻的叶子节点(AiAi-1)的乘积具有如下形式:
Figure BDA0003203922550000071
不妨令a=xi,b=yi,c=xi-1,d=yi-1,通过对二叉树中两两相邻的叶子节点的至少部分矩阵元素进行运算,L方和R方各自可获得二叉树的第1级非叶子节点的至少部分矩阵元素的附加余量和共享分片以及共有的余量。可以理解,这里的运算是指安全计算。
观察等式(4)可以发现,运算前后矩阵第二行的元素都是确定的(0或1)。因此,计算过程任一参与方可以只保存和计算部分矩阵元素,例如,等式(4)中矩阵的第一行元素。如此,可以精简计算量,从而减轻设备的计算压力。实际上,按照二叉树结构自底向上计算的过程中,由于相关矩阵的第二行都是确定的(0或1),任一参与方可以只保存和计算矩阵的第一行元素。
参考前文内容,当二进制数s的位数n为偶数时(即有奇数个叶子节点),未参与乘积运算的叶子节点A0或An-1被与确定为第1级非叶子节点。为了便于非叶子节点的乘积运算,需要L方与R方协同,基于各自持有的和共享分片,计算得到未参与乘积运算的叶子节点A0或An-1中至少部分矩阵元素的附加余量和共享分片以及余量。因此,第1步还可以包括:基于和共享分片x与R方协同,以对未参与乘积运算的叶子节点A0或An-1的至少部分矩阵元素进行运算,获得与叶子节点A0或An-1对应的第1级非叶子节点的至少部分矩阵元素的附加余量和共享分片以及余量。
第j步(j=2,3,…,reil(log2(n-1))):基于二叉树的第j-1级非叶子节点的至少部分矩阵元素的附加余量和共享分片以及余量与R方协同,获得二叉树的第j级非叶子节点的至少部分矩阵元素的附加余量和共享分片以及余量。
可以理解,第1步的输出数据提供给第2步作为输入数据,第2步的输出数据提供给第3步作为输入数据。以此类推,直至获得二叉树的第reil(log2(n-1)级非叶子节点(即根节点)的至少部分矩阵元素的附加余量和共享分片以及余量。由于根节点An-2An-3…A1A0的右上角矩阵元素即cn-1,第reil(log2(n-1)获得的根节点的至少部分矩阵元素的附加余量和共享分片以及余量分别包含cn-1的附加余量和共享分片以及余量。
两个相邻的同级非叶子节点的乘积具有如下形式:
Figure BDA0003203922550000081
根节点具有如等式(5)等号右边所示的形式,结合等式(3)可知进位cn-1具有如下形式:
Figure BDA0003203922550000082
由等式(6)可知,根节点中的变量经历矩阵乘法后,ac被约掉,只保留下ad+b。因此,在第reil(log2(n-1))步可以不安全计算ac,只安全计算ad+b。关于安全计算ad+b的具体实现,可以参考图6、7及其相关描述。
每一步中,同级节点两两结对(相乘),与多对节点的乘积一一对应的安全计算过程可以并行。如此,在n足够大的情况下,相比按A1A0→A2A1A0→…→An-3…A1A0→An-2An-3…A1A0(或者即逐个右乘)进行安全计算,沿二叉树安全计算An-2An-3…A1A0的运算效率更高。
关于第1步的具体实现,可以参考图4、5及其相关描述。
关于第j步(j=2,3,…,reil(log2(n-1)))的具体实现,可以参考图6、7及其相关描述。
图4是根据本说明书一些实施例所示的计算二叉树的第1级非叶子节点的至少部分矩阵元素的附加Δ和共享分片以及余量的示例性流程图。
为了能更好地理解图4中的计算步骤,不妨先了解相关的数学推导过程。
前面提到,两个相邻的叶子节点(AiAi-1)的乘积具有如等式(4)所示的形式,令f(a,b,c,d)=(a+c)(b+d)和g(a,b,c,d)=(a+b)cd+ab,有:
f(a,b,c,d)=a0d0+b0c0+a0c0+(c0,c0,a0,a0)(Δa,Δb,Δc,Δd)T+b0d0+(d0,d0,b0,b0)(Δa,Δb,Δc,Δd)T+(Δa+Δb)(Δc+Δd) (7)
g(a,b,c,d)=g(a0,b0,c0,d0)+(c0d0,c0d0,a0d0,c0b0)(Δa,Δb,Δc,Δd)T+(a0,a0c0)(Δb,Δd)T+a0ΔcΔd+(Δa+Δb)c0Δd+(b0,b0d0)(Δa,Δc)T+b0ΔcΔd+(Δa+Δb)Δcd0+ΔaΔb+(Δa+Δb)ΔcΔd (8)。
其中,a,a0,c,c0是L方的私有变量,b,b0,d,d0是R方的私有变量,a=a0+Δa,b=b0+Δb,c=c0+Δc,d=d0+Δd。举例来说,a和c分别可以是L方持有的xi和xi-1,b和d分别可以是R方的持有的yi和yi-1
不难看出:等式(7)中,第二行的a0c0+(c0,c0,a0,a0)(Δa,Δb,Δc,Δd)T可以由L方单独计算,第三行的b0d0+(d0,d0,b0,b0)(Δa,Δb,Δc,Δd)T可以由R方单独计算,第四行的(Δa+Δb)(Δc+Δd)可以由任一方单独计算或者由两方分别计算(Δa+Δb)(Δc+Δd)的一个和共享分片;等式(8)中,第二行的(a0,a0c0)(Δb,Δd)T+a0ΔcΔd+(Δa+Δb)c0Δd可以由L方单独计算,第三行的(b0,b0d0)(Δa,Δc)T+b0ΔcΔd+(Δa+Δb)Δcd0可以由R方单独计算,第四行的ΔaΔb+(Δa+Δb)ΔcΔd可以由任一方单独计算或者由两方分别计算ΔaΔb+(Δa+Δb)ΔcΔd的一个和共享分片。
在等式(7)和等式(8)中,等号右边的第一行既有L方的私有变量又有R方的私有变量,L方和R方都无法单独计算等号右边的第一行。
在一些实施例中,对于等式(7)/等式(8)中等号右边的第一行,L方的设备和/或R方的设备可以在第三方设备的协助下获得第一行中任意求和项的和共享分片值。
不妨以第一行中的a0d0为例进行说明。L方可以利用伪随机函数生成a0。伪随机函数接收种子作为输入并输出伪随机数序列。由于基于相同种子生成的伪随机数序列也是相同的。安全多方计算的参与方可以与第三方设备提前约定好用于生成相同伪随机数序列的种子,第三方设备能够在不与参与方通信的情况下获得参与方的私有变量值。因此,在安全计算a0d0的过程中,L方与第三方设备可以基于提前约定好的第一种子生成a0,R方与第三方设备可以基于提前约定好的第二种子生成d0,如此第三方设备能够计算a0d0。第三方设备可以将a0d0拆分成两个和共享分片,将其中一个和共享分片(记为uL)发送给L方,将另一个和共享分片(记为uR)发送给R方,其中,a0d0=uL+uR。当然,对于uL和uR中的任一和共享分片,持有该和共享分片的一方可以与第三方设备可以基于提前约定好的种子获得该和共享分片,进而第三方设备可根据a0d0=uL+uR计算另一和共享分片并将其发送另一方。如此可以节省offline通信量,offline通信量是指安全计算的参与方与第三方设备之间的通信量。
在替代性的实施方式中,a0(d0)可以由第三方设备生成并发送给L方(R方),或者可以由L方(R方)生成并发送给第三方设备,当然这会产生相应的offline通信量。
下面开始详细介绍流程400。
流程400可以由L方的设备执行。如图4所示,流程400可以包括:
步骤410,对于uL,vL,pL,qL中的每个和共享分片,利用伪随机函数生成该和共享分片或从第三方设备接收该和共享分片。
步骤420,利用伪随机函数生成a0,c0,fL,gL
相应地,R方可以利用伪随机函数生成b0,d0,fR,gR
第三方设备能够获得a0,b0,c0,d0,uL,uR,vL,vR,pL,pR,qL,qR,fL,fR,gL,gR,其中,a0d0=uL+uR,b0c0=vL+vR,c0d0=pL+pR,g(a0,b0,c0,d0)=qL+qR
参考前述有关伪随机函数的内容,第三方设备可以基于与安全计算的参与方提前约定好的种子生成a0,b0,c0,d0,进而第三方设备可以计算出a0d0,b0c0,c0d0,g(a0,b0,c0,d0)。对于a0d0,b0c0,c0d0,g(a0,b0,c0,d0)中的任一项,第三方设备可以将其拆分成两个和共享分片,将其中一个和共享分片(变量下标为L)发送给L方,将另一个和共享分片(变量下标为R)发送给R方。当然,对于a0d0,b0c0,c0d0,g(a0,b0,c0,d0)中的任一项,任一方(不妨设为L方)与第三方设备可以基于提前约定好的种子生成该项值的一个和共享分片,第三方设备可以计算出该项值的另一和共享分片并将其发送给另一方(R方),如此可以节省offline通信量。
值得注意的是,第三方设备获得了安全计算的参与方的私有变量fL,fR,gL,gR,这些私有变量可进一步用于协助参与方安全计算相邻的两个第1级非叶子节点的乘积,更多细节可以参考后文有关安全计算相邻两个同级非叶子节点乘积的详细说明。
在替代性的实施方式中,a0,b0,c0,d0,fL,fR,gL,gR中的任一私有变量可以由第三方设备生成并发送给该私有变量的持有方,或者可以由该私有变量的持有方生成后生成并发送给第三方设备。例如,可以由第三方设备生成c0并将c0发送给L方。又如,可以由R方生成b0并将b0发送给第三方设备。
步骤430,按Δa=a-a0计算Δa并将Δa发送给R方的设备,按Δc=c-c0计算Δc并将Δc发送给R方的设备,从R方的设备接收Δb和Δd。
相应地,R方可以按Δb=b-b0计算Δb并将Δb发送给L方,按Δd=d-d0计算Δd并将Δd发送给L方。
步骤440,至少求和uL,vL,a0c0,(c0,c0,a0,a0)(Δa,Δb,Δc,Δd)T以及-fL,以获得zL
相应地,R方可以至少求和uR,vR,b0d0,(d0,d0,b0,b0)(Δa,Δb,Δc,Δd)T以及-fR,以获得zR
L方计算的zL和R方计算的zR满足zL+zR=f(a,b,c,d)-fL-fR。回顾等式(7),第四行的(Δa+Δb)(Δc+Δd)可以出现在L方和R方中任一方的求和项中,也可以由L方和R方各自计算(Δa+Δb)(Δc+Δd)的一个和共享分片。
在替代性的实施例中,由于第三方设备能够获得a0,b0,c0,d0,第三方设备可以计算a0d0+b0c0的值。进而,第三方设备可以将a0d0+b0c0(记为t)拆分成两个和共享分片,将其中一个和共享分片tL发送给L方,将另一个和共享分片tR发送给R方。或者,任一方(不妨设为L方)与第三方设备可以基于提前约定好的种子生成tL,第三方设备可以计算出和共享分片tR并将其发送给另一方(R方),如此可以节省offline通信量。相应地,可以将步骤440中L方的求和项uL,vL替换成tL,以及将R方的求和项uR,vR替换成tR
步骤450,至少求和qL,(pL,pL,uL,vL)(Δa,Δb,Δc,Δd)T,(a0,a0c0)(Δb,Δd)T,a0ΔcΔd,(Δa+Δb)c0Δd以及-gL,以获得wL
相应地,R方的设备可以至少求和qR,(pR,pR,uR,vR)(Δa,Δb,Δc,Δd)T,(b0,b0d0)(Δa,Δc)T,b0ΔcΔd,(Δa+Δb)Δcd0以及-gR,以获得wR
L方计算的wL和R方计算的wR满足wL+wR=g(a,b,c,d)-gL-gR。回顾等式(8),第四行的ΔaΔb,(Δa+Δb)ΔcΔd可以出现在L方和R方中任一方的求和项中,也可以由L方和R方各自计算ΔaΔb+(Δa+Δb)ΔcΔd的一个和共享分片。
步骤460,将zL和wL发送给R方的设备,从R方的设备接收zR和wR
在步骤460中,L方和R方交换各自持有的z(即f(a,b,c,d)-fL-fR)的和共享分片和w(即g(a,b,c,d)-gL-gR)的和共享分片。
步骤470,求和zL和zR得到Δz,求和wL和wR得到Δw。
相应地,R方也可以求和zL和zR得到Δz,求和wL和wR得到Δw。可以看出,Δz=zL+zR=f(a,b,c,d)-fL-fR,Δw=wL+wR=g(a,b,c,d)-gL-gR。因此,fL+fR+Δz为f(a,b,c,d)的附加Δ和共享表示,gL+gR+Δw为g(a,b,c,d)的附加Δ和共享表示。即,第1级非叶子节点的左上角矩阵元素的两方附加余量和共享分片以及余量分别为fL,fR,Δz,第1级非叶子节点的右上角矩阵元素的两方附加余量和共享分片以及余量分别为gR,gR,Δw。
值得注意的是,第三方设备也获得了安全计算的参与方的私有变量fL,fR,gL,gR,这些私有变量可进一步用于协助参与方安全计算相邻的两个第1级非叶子节点的乘积,更多细节可以参考后文有关安全计算相邻两个第1级非叶子节点乘积的内容。
参考前文内容,当二进制数s的位数n为偶数时(即有奇数个叶子节点),未参与乘积运算的叶子节点A0或An-1被确定为第1级非叶子节点。
叶子节点Ai具有如下形式:
Figure BDA0003203922550000121
其中,a为L方的私有变量,b为R方的私有变量。举例来说,a可以是L方持有的xi,b可以是R方持有的yi
参考流程400,对于未参与乘积运算的叶子节点A0或An-1,L方的设备可以:利用伪随机函数生成vL或从第三方设备接收vL;利用伪随机函数生成a0,gL;按Δa=a-a0计算Δa并将Δa发送给R方的设备,从R方的设备接收Δb;至少求和vL,a0Δb以及-gL,以获得wL;将wL发送给R方的设备,从R方的设备接收wR;求和wL和wR得到Δw。
相应地,R方的设备可以:利用伪随机函数生成vR或从第三方设备接收vR;利用伪随机函数生成b0,gR;按Δb=b-b0计算Δb并将Δb发送给L方的设备,从L方的设备接收Δa;至少求和vR,Δab0以及-gR,以获得wR;将wR发送给L方的设备,从L方的设备接收wL;求和wL和wR得到Δw。
L方计算的zL和R方计算的wR满足wL+wR=ab-gL-gR。ΔaΔb可以出现在L方和R方中任一方的求和项中,也可以由L方和R方各自计算ΔaΔb的一个和共享分片。
可以理解,a0+b0+Δa+Δb构成a+b的附加Δ和共享表示,fL+fR+Δz构成ab的附加Δ和共享表示。即,与叶子节点A0或An-1对应的第1级非叶子节点的左上角元素的两方附加以及余量分别为fL,fR,Δz,与叶子节点A0或An-1对应的第1级非叶子节点的右上角元素的两方附加以及余量分别为gR,gR,Δw。
第三方设备能够获得a0,b0,vL,vR,gL,gR,其中,a0b0=vL+vR。值得注意的是,第三方设备也获得了安全计算的参与方的私有变量a0,b0,fL,fR,这些私有变量可进一步用于协助参与方安全计算相邻的两个第1级非叶子节点的乘积,更多细节可以参考后文有关安全计算相邻两个同级非叶子节点乘积的详细说明。
在替代性的实施方式中,a0,b0,fL,fR中的任一私有变量可以由第三方设备生成并发送给该私有变量的持有方,或者可以由该私有变量的持有方生成后生成并发送给第三方设备。例如,可以由第三方设备生成fL并将fL发送给L方。又如,可以由R方生成fR并将fR发送给第三方设备。
图5是根据本说明书一些实施例所示的计算二叉树的第1级非叶子节点的至少部分矩阵元素的附加Δ和共享分片以及余量的示例性交互示意图。图5中,RS表示第三方设备,交互包括offline和online两类,offline是指第三方设备RS与L方/R方之间的交互,online是指L方和R方之间的交互。图5中的变量可以参考图4及其相关描述,这里不再重复介绍。
如图5所示,RS和L方共享一组种子,记为{seed0}。RS和R方共享一组种子,记为{seed1}。RS和L方可以利用{seed0}生成a0,c0,uL,vL,pL,qL,fL,gL。RS和R方可以利用{seed1}生成b0,d0,fR,gR
RS可以按uR=a0d0-uL,vR=c0b0-vL,pR=c0d0-pL,qR=g(a0,b0,c0,d0)-qL分别计算uR,vR,pR,qR,并将uR,vR,pR,qR发送给R方。
L方可以按Δa=a-a0,Δc=c-c0分别计算Δa,Δc,并将Δa,Δc发送给R方。R方可以按Δb=b-b0,Δd=d-d0分别计算Δb,Δd,并将Δb,Δd发送给L方。
L方可以按zL=uL+vL+a0c0+(c0,c0,a0,a0)(Δa,Δb,Δc,Δd)T-fL计算zL,按wL=qL+(pL,pL,uL,vL)(Δa,Δb,Δc,Δd)T+(a0,a0c0)(Δb,Δd)T+a0ΔcΔd+(Δa+Δb)c0Δd-gL计算wL
R方可以按zR=uR+vR+b0d0+(d0,d0,b0,b0)(Δa,Δb,Δc,Δd)T+(Δa+Δb)(Δc+Δd)-fR计算zR,按wR=qR+(pR,pR,uR,vR)(Δa,Δb,Δc,Δd)T+(b0,b0d0)(Δa,Δc)T+b0ΔcΔd+(Δa+Δb)Δcd0+ΔaΔb+(Δa+Δb)ΔcΔd-gR计算wR
L方计算的zL和R方计算的zR满足zL+zR=f(a,b,c,d)-fL-fR,L方计算的wL和R方计算的wR满足wL+wR=g(a,b,c,d)-gL-gR
L方和R方互相交换各自持有的z(即f(a,b,c,d)-fL-fR)的和共享分片和w(即g(a,b,c,d)-gL-gR)的和共享分片。从而,L方和R方均可按Δz=zL+zR,Δw=wL+wR计算出Δz,Δw。可以理解,fL+fR+Δz构成f(a,b,c,d)的附加Δ和共享表示,gL+gR+Δw构成g(a,b,c,d)的附加Δ和共享表示。
图6是根据本说明书一些实施例所示的计算二叉树的第j(j=2,3,…,reil(log2(n-1)))级非叶子节点的至少部分矩阵元素的附加Δ和共享分片以及余量的示例性流程图。
两个相邻的同级非叶子节点的乘积具有如等式(5)所示的形式,其中,
Figure BDA0003203922550000131
a=a0+Δa,
Figure BDA0003203922550000132
b=b0+Δb,
Figure BDA0003203922550000133
c=c0+Δc,
Figure BDA0003203922550000134
d=d0+Δd;
Figure BDA0003203922550000135
为L方的私有变量,
Figure BDA0003203922550000136
为R方的私有变量,Δa,Δb,Δc,Δd为L方和R方的公共知识。完成流程300的第1步后,L方可获得第1级非叶子节点的部分矩阵元素的附加Δ和共享分片(第1步中的fL,gL)以及余量(第1步中的Δz,Δw),相应地R方可以获得第1级非叶子节点的部分矩阵元素的附加Δ和共享分片(第1步中的fR,gR)以及余量(第1步中的Δz,Δw),这些附加Δ和共享分片以及余量分别即第2步中的
Figure BDA0003203922550000141
以及Δa,Δb,Δc,Δd。继而,L方可获得第j-1(j>2)级非叶子节点的部分矩阵元素的附加Δ和共享分片(第j-1步中的fL,gL)以及余量(第j-1步中的Δz,Δw),R方可获得第j-1级非叶子节点的部分矩阵元素的附加Δ和共享分片(第1步中的fR,gR)以及余量(第1步中的Δz,Δw),这些附加Δ和共享分片以及余量分别即第j步中的
Figure BDA0003203922550000142
以及Δa,Δb,Δc,Δd。
展开ac,有ac=a0c0+a0Δc+Δac0+ΔaΔc。其中,对于a0Δc,L方可以单独计算a0Δc的一个和共享分片
Figure BDA0003203922550000143
R方可以单独计算a0Δd的另一个和共享分片
Figure BDA0003203922550000144
对于Δac0,L方可以单独计算Δac0的一个和共享分片
Figure BDA0003203922550000145
R方可以单独计算Δac0的另一个和共享分片
Figure BDA0003203922550000146
参考前述实施例,a0c0的两方安全计算可以在第三方设备的协助下完成,L方和R方可各自获得a0c0的一个和共享分片。但需要区分的是,这里的a0,c0均是附加Δ和共享分片的和值,而流程300第1步中的a0,c0均是和共享分片。
展开ad+b,有ad+b=a0d0+b0+a0Δd+Δad0+ΔaΔd+Δb。其中,对于a0Δd,L方可以单独计算a0Δd的一个和共享分片
Figure BDA0003203922550000147
R方可以单独计算a0Δd的另一个和共享分片
Figure BDA0003203922550000148
对于Δad0,L方可以单独计算Δad0的一个和共享分片
Figure BDA0003203922550000149
R方可以单独计算Δad0的另一个和共享分片
Figure BDA00032039225500001410
在一些实施例中,L方和R方可以在第三方设备的协助下安全计算a0d0+b0,L方和R方可各自获得a0d0+b0的一个和共享分片。在替代性的实施例中,鉴于
Figure BDA00032039225500001411
(L方和R方各自持有b0的和共享分片),L方和R方可以在第三方设备的协助下安全计算a0d0
下面开始详细介绍流程600。
流程600可以由L方的设备执行。如图6所示,流程600可以包括:
步骤610,对于uL和vL中的每个和共享分片,利用伪随机函数生成该和共享分片或从第三方设备接收该和共享分片。
步骤620,利用伪随机函数生成fL,gL
第三方设备能够获得a0,b0,c0,d0,uL,uR,vL,vR,fL,fR,gL,gR,其中,a0c0=uL+uR,a0d0+b0=vL+vR
流程300中,L方获得的第1级非叶子节点的部分矩阵元素的附加Δ和共享分片(第1步中的fL,gL)即第2步中的
Figure BDA00032039225500001412
Figure BDA00032039225500001413
而第三方设备也可获得第1级非叶子节点的部分矩阵元素的附加Δ和共享分片(在第1步对应fL,fR,gL,gR,在第2步则对应
Figure BDA00032039225500001414
Figure BDA00032039225500001415
),以计算a0,b0,c0,d0。继而,L方获得的第j-1(j>2)级非叶子节点的部分矩阵元素的附加Δ和共享分片(第j-1步中的fL,gL)即第j步中的
Figure BDA00032039225500001416
Figure BDA00032039225500001417
而第三方设备也可获得第j-1级非叶子节点的部分矩阵元素的附加Δ和共享分片(在第j-1步对应fL,fR,gL,gR,在第j步则对应
Figure BDA0003203922550000151
Figure BDA0003203922550000152
),以计算a0,b0,c0,d0。特别地,当执行至第reil(log2(n-1))步时,第三方设备可不必再获得fL,fR,gL,gR
第三方设备可以基于a0,b0,c0,d0计算a0c0,a0d0+b0。对于a0c0,a0d0+b0中的任一项,第三方设备可以将其拆分成两个和共享分片,将其中一个和共享分片(变量下标为L)发送给L方,将另一个和共享分片(变量下标为R)发送给R方。当然,对于a0c0,a0d0+b0中的任一项,任一方(不妨设为L方)与第三方设备可以基于提前约定好的种子生成该项值的一个和共享分片,第三方设备可以计算出该项值的另一和共享分片并将其发送给另一方(R方),如此可以节省offline通信量。
步骤620,至少求和uL
Figure BDA0003203922550000153
以及-fL,以获得zL
相应地,R方的设备可以至少求和uR
Figure BDA0003203922550000154
以及-fR,以获得zR
L方计算的zL和R方计算的zR满足zL+zR=ac-fL-fR。回顾等式ac=a0c0+a0Δc+c0Δa+ΔaΔc,其中,ΔaΔc可以出现在L方和R方中任一方的求和项中,也可以由L方和R方各自计算ΔaΔc的一个和共享分片。
步骤630,至少求和vL
Figure BDA0003203922550000155
以及-gL,以获得wL
相应地,R方的设备可以至少求和vR
Figure BDA0003203922550000156
以及-gR,以获得wR
L方计算的wL和R方计算的wR满足wL+wR=ad+b-gL-gR。回顾等式ad+b=a0d0+b0+a0Δd+Δad0+ΔaΔd+Δb,其中,ΔaΔd,Δb可以出现在L方和R方中任一方的求和项中,也可以由L方和R方各自计算ΔaΔd+Δb的一个和共享分片。
在替代性的实施例中,第三方设备可以计算a0d0而不是a0d0+b0。进而,第三方设备可以将a0d0拆成分成两个和共享分片,将其中一个和共享分片vL发送给L方,将另一个和共享分片vR发送给R方,这里a0d0=vL+vR。或者,任一方(不妨设为L方)与第三方设备可以基于提前约定好的种子生成vL,第三方设备可以计算出和共享分片vR并将其发送给另一方(R方),如此可以节省omine通信量。相应地,L方可以至少求和vL
Figure BDA0003203922550000157
以及-gL,以获得wL。R方可以至少求和vR
Figure BDA0003203922550000158
以及-gR,以获得wR
步骤640,将zL和wL发送给R方的设备,从R方的设备接收zR和wR
在步骤640中,L方与R方交换各自持有的z(即ac-fL-fR)的和共享分片和w(即ad+b-gL-gR)的和共享分片。
步骤650,求和zL和zR得到Δz,求和wL和wR得到Δw。
相应地,R方也可以求和zL和zR得到Δz,求和wL和wR得到Δw。可以看出,Δz=zL+zR=ac-fL-fR,Δw=wL+wR=ad+b-gL-gR。因此,fL+fR+Δz为ac的附加Δ和共享表示,gL+gR+Δw为ad+b的附加Δ和共享表示。即,第j级非叶子节点的左上角矩阵元素的两方附加余量和共享分片以及余量分别为fL,fR,Δz,第j级非叶子节点的右上角矩阵元素的两方附加余量和共享分片以及余量分别为gR,gR,Δw。
图7是根据本说明书一些实施例所示的计算二叉树的第j(j=2,3,…,reil(log2(n-1)))级非叶子节点的至少部分矩阵元素的附加Δ和共享分片以及余量的示例性交互示意图。与图5一致地,RS表示第三方设备,交互包括offline和online两类。图7中的变量可以参考图6及其相关描述,这里不再重复介绍。
如图7所示,RS和L方共享一组种子,记为{seed0}。RS和R方共享一组种子,记为{seed1}。RS和L方可以利用{seed0}生成uL,vL,fL,gL。RS和R方可以利用{seed1}生成fR,gR
offline部分,RS可以按uR=a0c0-uL,vR=a0d0+b0-vL计算uR,vR,将uR,vR发送给R方。
L方可以按
Figure BDA0003203922550000161
计算zL,按
Figure BDA0003203922550000162
Figure BDA0003203922550000163
计算wL
R方可以按
Figure BDA0003203922550000164
计算zR,按
Figure BDA0003203922550000165
计算wR
L方和R方互相交换各自持有的z(即ac-fL-fR)的和共享分片和w(即ad+b-gL-gR)的和共享分片。
从而,L方和R方均可按Δz=zL+zR,Δw=wL+wR计算出Δz,Δw。可以理解,fL+fR+Δz构成ac的附加Δ和共享表示,gL+gR+Δw构成ad+b的附加Δ和共享表示。
应当注意的是,上述有关流程的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
图8是根据本说明书一些实施例所示的一种保护数据隐私的最高位进位计算系统的示例性模块图。系统800可以在L方的设备上实现,系统800用于基于安全多方计算协议与R方协同运算,获取连乘结果矩阵中至少部分元素的附加余量和共享分片以及余量,进而基于连乘结果矩阵中至少部分元素的附加余量和共享分片以及余量,获取计算s=x+y时s的最高位从次高位获得的进位的附加余量和共享分片以及余量。如图8所示,系统800可以包括第一协同计算模块810和第二协同计算模块820。
第一协同计算模块810可以用于:基于和共享分片x与R方协同,以对所述二叉树中两两相邻的叶子节点的至少部分矩阵元素进行运算,获得所述二叉树的第1级非叶子节点的至少部分矩阵元素的附加余量和共享分片以及余量。
第二协同计算模块820可以用于:对于j=2,3,…,reil(log2(n-1)),基于所述二叉树的第j-1级非叶子节点的至少部分矩阵元素的附加余量和共享分片以及余量与R方协同,获得所述二叉树的第j级非叶子节点的至少部分矩阵元素的附加余量和共享分片以及余量。其中,第reil(log2(n-1))级非叶子节点为根节点,根节点的至少部分矩阵元素的附加余量和共享分片以及余量分别包含cn-1的附加余量和共享分片以及余量。
关于系统800及其模块的更多细节,可以参考图3及其相关描述,这里不再赘述。
应当理解,图8所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,第一协同计算模块810和第二协同计算模块820可以是两个模块,也可以合并为一个模块。诸如此类的变形,均在本说明书的保护范围之内。
本说明书实施例可能带来的有益效果包括但不限于:通过构造矩阵的连乘运算,安全计算二进制数的最高位从次高位获得的进位,可以保护计算双方的数据隐私。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书实施例的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书实施例进行各种修改、改进和修正。该类修改、改进和修正在本说明书实施例中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书实施例的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书实施例的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书实施例的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书实施例各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书实施例所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书实施例流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书实施例披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书实施例对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书实施例的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

Claims (17)

1.一种保护数据隐私的最高位进位计算方法,其中,参与方中的任一方记为L方,另一方记为R方,L方持有和共享分片x,R方持有和共享分片y,两方的和共享分片的和值等于原秘密值;所述方法由L方的设备执行,其包括:
基于安全多方计算协议与R方协同运算,获取连乘结果矩阵中至少部分元素的附加余量和共享分片以及余量,进而基于连乘结果矩阵中至少部分元素的附加余量和共享分片以及余量,获取计算s=x+y时s的最高位从次高位获得的进位的附加余量和共享分片以及余量;两方的附加余量和共享分片以及两方共有的余量的和值等于原秘密值;
其中,连乘结果矩阵为
Figure FDA0003203922540000011
xi为x的第i位,yi为y的第i位。
2.如权利要求1所述的方法,其中,所述基于安全多方计算协议与R方协同运算,获取连乘结果矩阵中至少部分元素的附加余量和共享分片以及余量,包括:
基于和共享分片x与R方协同,以对An-2、An-3、…、A1、A0中两两矩阵的至少部分矩阵元素进行运算,获得第1级乘积矩阵的至少部分矩阵元素的附加余量和共享分片以及余量;
基于第j-1级乘积矩阵中两两乘积矩阵的至少部分矩阵元素的附加余量和共享分片以及余量与R方协同,获得第j级乘积矩阵的至少部分矩阵元素的附加余量和共享分片以及余量;其中,j为不小于2的整数。
3.如权利要求2所述的方法,其中,An-2、An-3、…、A1、A0中两个矩阵的乘积具有如下形式:
Figure FDA0003203922540000012
令a=xi,b=yi,c=xi-1,d=yi-1,f(a,b,c,d)=(a+c)(b+d),g(a,b,c,d)=(a+b)cd+ab;
所述基于和共享分片x与R方协同,以对An-2、An-3、…、A1、A0中两两矩阵的至少部分矩阵元素进行运算,获得第1级乘积矩阵的至少部分矩阵元素的附加余量和共享分片以及余量,包括:
对于uL,vL,pL,qL中的每个和共享分片,利用伪随机函数生成该和共享分片或从第三方设备接收该和共享分片,所述第三方设备能够获得a0,b0,c0,d0,uL,uR,vL,vR,pL,pR,qL,qR,fL,fR,gL,gR;其中,a0d0=uL+uR,b0c0=vL+vR,c0d0=pL+pR,g(a0,b0,c0,d0)=qL+qR
利用伪随机函数生成a0,c0,fL,gL
按Δa=a-a0计算Δa并将Δa发送给R方的设备,按Δc=c-c0计算Δc并将Δc发送给R方的设备,从R方的设备接收Δb和Δd;Δb=b-b0,Δd=d-d0
至少求和uL,vL,a0c0,(c0,c0,a0,a0)(Δa,Δb,Δc,Δd)T以及-fL,以获得zL;L方计算的zL和R方计算的zR满足zL+zR=f(a,b,c,d)-fL-fR,R方的zR通过至少求和uR,vR,b0d0,(d0,d0,b0,b0)(Δa,Δb,Δc,Δd)T以及-fR得到;
至少求和qL,(pL,pL,uL,vL)(Δa,Δb,Δc,Δd)T,(a0,a0c0)(Δb,Δd)T,a0ΔcΔd,(Δa+Δb)c0Δd以及-gL,以获得wL;L方计算的wL和R方计算的wR满足wL+wR=g(a,b,c,d)-gL-gR,R方的wR通过至少求和qR,(pR,pR,uR,vR)(Δa,Δb,Δc,Δd)T,(b0,b0d0)(Δa,Δc)T,b0ΔcΔd,(Δa+Δb)Δcd0以及-gR得到;
将zL和wL发送给R方的设备,从R方的设备接收zR和wR
求和zL和zR得到Δz,求和wL和wR得到Δw;
其中,第1级乘积矩阵的左上角矩阵元素的两方附加余量和共享分片以及余量分别为fL,fR,Δz,第1级乘积矩阵的右上角矩阵元素的两方附加余量和共享分片以及余量分别为gL,gR,Δw。
4.如权利要求3所述的方法,其中,L方计算zL的求和项或R方计算zR的求和项还包含(Δa+Δb)(Δc+Δd),L方计算wL的求和项或R方计算wR的求和项还包含ΔaΔb,(Δa+Δb)ΔcΔd。
5.如权利要求2所述的方法,其中,An-2、An-3、...、A1、A0中的所述两两矩阵为相邻的两两矩阵;所述方法还包括:基于和共享分片x与R方协同,以对An-2、An-3、…、A1、A0中中两两相邻的矩阵结对后落单的A0或An-1的至少部分矩阵元素进行运算,获得与A0或An-1对应的第1级乘积矩阵的至少部分矩阵元素的附加余量和共享分片以及余量。
6.如权利要求5所述的方法,其中,Ai具有如下形式:
Figure FDA0003203922540000021
令a=xi,b=yi
所述基于和共享分片x与R方协同,以对An-2、An-3、…、A1、A0中两两相邻的矩阵结对后落单的A0或An-1的至少部分矩阵元素进行运算,获得与A0或An-1对应的第1级乘积矩阵的至少部分矩阵元素的附加余量和共享分片以及余量,包括:
利用伪随机函数生成vL或从第三方设备接收vL,所述第三方设备能够获得a0,b0,vL,vR,gL,gR
利用伪随机函数生成a0,gL
按Δa=a-a0计算Δa并将Δa发送给R方的设备,从R方的设备接收Δb,Δb=b-b0
求和vL,a0Δb以及-gL,以获得wL;L方计算的wL和R方计算的wR满足wL+wR=ab-gL-gR,R方的wR通过求和vR,Δab0以及-gR得到;
从R方的设备接收wR
求和a0和b0得到Δz,求和wL和wR得到Δw;
其中,第1级乘积矩阵的左上角矩阵元素的附加余量和共享分片以及余量为a0,b0,Δz,第1级乘积矩阵的右上角矩阵元素的附加余量和共享分片以及余量为gL,gR,Δw。
7.如权利要求6所述的方法,其中,L方计算wL的求和项或R方计算wR的求和项还包含ΔaΔb。
8.如权利要求2所述的方法,其中,第j-1级乘积矩阵中的所述两两乘积矩阵为相邻的两两乘积矩阵;所述第j-1级乘积矩阵中两两相邻的乘积矩阵结对后落单的第j-1级乘积矩阵被作为与其自身对应的第j级乘积矩阵。
9.如权利要求2所述的方法,其中,两个乘积矩阵的乘积具有如下形式:
Figure FDA0003203922540000031
其中,
Figure FDA0003203922540000032
表示一个乘积矩阵,
Figure FDA0003203922540000033
表示另一个乘积矩阵;
对于任意j,所述基于第j-1级乘积矩阵中两两乘积矩阵的至少部分矩阵元素的附加余量和共享分片以及余量与R方协同,获得第j级乘积矩阵的至少部分矩阵元素的附加余量和共享分片以及余量,包括:
对于uL和vL中的每个和共享分片,利用伪随机函数生成该和共享分片或从第三方设备接收该和共享分片,所述第三方设备能够获得a0,b0,c0,d0,uL,uR,vL,vR,fL,fR,gL,gR;其中,
Figure FDA0003203922540000034
Figure FDA0003203922540000038
a=a0+Δa,
Figure FDA0003203922540000039
b=b0+Δb,
Figure FDA00032039225400000310
c=c0+Δc,
Figure FDA00032039225400000311
Figure FDA0003203922540000036
d=d0+Δd;
Figure FDA0003203922540000037
为L方私有的第j-1级乘积矩阵的部分矩阵元素的附加余量和共享分片,
Figure FDA0003203922540000041
为R方私有的第j-1级乘积矩阵的部分矩阵元素的附加余量和共享分片,Δa,Δb,Δc,Δd为L方和R方共有的第j-1级乘积矩阵的部分矩阵元素的余量,a0c0=uL+uR,a0d0+b0=vL+vR
利用伪随机函数生成fL,gL
至少求和uL
Figure FDA0003203922540000042
以及-fL,以获得zL;L方计算的zL和R方计算的zR满足zL+zR=ac-fL-fR,R方的zR通过至少求和uR
Figure FDA0003203922540000043
以及-fR得到;
至少求和vL
Figure FDA0003203922540000044
以及-gL,以获得wL;L方计算的wL和R方计算的wR满足wL+wR=ad+b-gL-gR;其中,R方的wR通过至少求和vR
Figure FDA0003203922540000045
以及-gR得到;
将zL和wL发送给R方的设备,从R方的设备接收zR和wR
求和zL和zR得到Δz,求和wL和wR得到Δw;
其中,第j级乘积矩阵的左上角矩阵元素的附加余量和共享分片以及余量为fL,fR,Δz,第j级乘积矩阵的右上角矩阵元素的附加余量和共享分片以及余量为gL,gR,Δw。
10.如权利要求2所述的方法,其中,两个乘积矩阵的乘积具有如下形式:
Figure FDA0003203922540000046
其中,
Figure FDA0003203922540000047
表示一个乘积矩阵,
Figure FDA0003203922540000048
表示另一个乘积矩阵,每个乘积矩阵的至少部分矩阵元素以附加余量和共享形式存储于L方和R方;
对于任意j,所述基于第j-1级乘积矩阵中两两乘积矩阵的至少部分矩阵元素的附加余量和共享分片以及余量与R方协同,获得第j级乘积矩阵的至少部分矩阵元素的附加余量和共享分片以及余量,包括:
对于uL和vL中的每个和共享分片,利用伪随机函数生成该和共享分片或从第三方设备接收该和共享分片,所述第三方设备能够获得a0,c0,d0,uL,uR,vL,vR,fL,fR,gL,gR;其中,
Figure FDA0003203922540000049
Figure FDA00032039225400000410
a=a0+Δa,
Figure FDA00032039225400000411
c=c0+Δc,
Figure FDA00032039225400000412
d=d0+Δd;
Figure FDA00032039225400000413
为L方私有的第j-1级乘积矩阵的部分矩阵元素的附加余量和共享分片,
Figure FDA00032039225400000414
为R方私有的第j-1级乘积矩阵的部分矩阵元素的附加余量和共享分片,Δa,Δc,Δd为L方和R方共有的第j-1级乘积矩阵的部分矩阵元素的余量,a0c0=uL+uR,a0d0=vL+vR
利用伪随机函数生成fL,gL
至少求和uL
Figure FDA00032039225400000415
以及-fL,以获得zL;L方计算的zL和R方计算的zR满足zL+zR=ac-fL-fR,R方的zR通过至少求和uR
Figure FDA0003203922540000051
以及-fR得到;
至少求和vL
Figure FDA0003203922540000052
以及-gL,以获得wL;L方计算的wL和R方计算的wR满足wL+wR=ad+b-gL-gR,R方的wR通过至少求和vR
Figure FDA0003203922540000053
以及-gR得到;其中,b=b0+Δb,
Figure FDA0003203922540000054
Figure FDA00032039225400000515
为L方私有的第j-1级乘积矩阵的部分矩阵元素的附加余量和共享分片,
Figure FDA0003203922540000055
为R方私有的第j-1级乘积矩阵的部分矩阵元素的附加余量和共享分片,Δb为L方和R方共有的第j-1级乘积矩阵的部分矩阵元素的余量;
将zL和wL发送给R方的设备,从R方的设备接收zR和wR
求和zL和zR得到Δz,求和wL和wR得到Δw;
其中,第j级乘积矩阵的左上角矩阵元素的附加余量和共享分片以及余量为fL,fR,Δz,第j级乘积矩阵的右上角矩阵元素的附加余量和共享分片以及余量为gL,gR,Δw。
11.如权利要求9或10所述的方法,其中,L方计算zL的求和项或R方计算zR的求和项还包含ΔaΔc,L方计算wL的求和项或R方计算wR的求和项还包含ΔaΔd,Δb。
12.如权利要求2所述的方法,其中,计算s=x+y时s的最高位从次高位获得的进位cn-1具有如下形式:
Figure FDA0003203922540000056
其中,
Figure FDA0003203922540000057
表示第reil(log2(n-1))-1级的一个乘积矩阵,
Figure FDA0003203922540000058
表示该级的另一个乘积矩阵,reil()表示向上取整;
对于j=reil(log2(n-1)),所述基于第j-1级乘积矩阵中两两乘积矩阵的至少部分矩阵元素的附加余量和共享分片以及余量与R方协同,获得第j级乘积矩阵的至少部分矩阵元素的附加余量和共享分片以及余量,包括:
利用伪随机函数生成vL或从第三方设备接收vL,所述第三方设备能够获得a0,b0,d0,vL,vR;其中,
Figure FDA00032039225400000516
a=a0+Δa,
Figure FDA00032039225400000518
b=b0+Δb,
Figure FDA00032039225400000517
d=d0+Δd;
Figure FDA00032039225400000512
为L方私有的第reil(log2(n-1))-1级乘积矩阵的部分矩阵元素的附加余量和共享分片,
Figure FDA00032039225400000513
为R方私有的第reil(log2(n-1))-1级乘积矩阵的部分矩阵元素的附加余量和共享分片,Δa,Δb,Δd来自L方和R方共有的第reil(log2(n-1))-1级乘积矩阵的部分矩阵元素的余量,a0d0+b0=vL+vR
利用伪随机函数生成gL
至少求和vL
Figure FDA00032039225400000514
以及-gL,以获得wL;L方计算的wL和R方计算的wR满足wL+wR=ad+b-gL-gR,R方的wR通过至少求和vR
Figure FDA0003203922540000061
以及-gR得到;
将wL发送给R方的设备,从R方的设备接收wR
求和wL和wR得到Δw;
其中,进位cn-1的附加余量和共享分片以及余量为gL,gR,Δw。
13.如权利要求2所述的方法,其中,计算s=x+y时s的最高位从次高位获得的进位cn-1具有如下形式:
Figure FDA0003203922540000062
其中,
Figure FDA0003203922540000063
表示第reil(log2(n-1))-1级的一个乘积矩阵,
Figure FDA0003203922540000064
表示该级的另一个乘积矩阵,reil()表示向上取整;
对于j=reil(log2(n-1)),所述基于第j-1级乘积矩阵的至少部分矩阵元素的附加余量和共享分片以及余量与R方协同,获得第j级乘积矩阵的至少部分矩阵元素的附加余量和共享分片以及余量,包括:
利用伪随机函数生成vL或从第三方设备接收vL,所述第三方设备能够获得a0,d0,vL,vR;其中,
Figure FDA0003203922540000065
a=a0+Δa,
Figure FDA0003203922540000066
d=d0+Δd;
Figure FDA0003203922540000067
为L方私有的第reil(log2(n-1))-1级乘积矩阵的部分矩阵元素的附加余量和共享分片,
Figure FDA0003203922540000068
为R方私有的第reil(log2(n-1))-1级乘积矩阵的部分矩阵元素的附加余量和共享分片,Δa,Δd来自L方和R方共有的第reil(log2(n-1))-1级乘积矩阵的部分矩阵元素的余量,a0d0=vL+vR
利用伪随机函数生成gL
至少求和vL
Figure FDA0003203922540000069
以及-gL,以获得wL;L方计算的wL和R方计算的wR满足wL+wR=ad+b-gL-gR,R方的wR通过至少求和vR
Figure FDA00032039225400000610
以及-gR得到;其中,b=b0+Δb,
Figure FDA00032039225400000611
Figure FDA00032039225400000612
为L方私有的第j-1级乘积矩阵的部分矩阵元素的附加余量和共享分片,
Figure FDA00032039225400000613
为R方私有的第reil(log2(n-1))-1级乘积矩阵的部分矩阵元素的附加余量和共享分片,Δb为L方和R方共有的第reil(log2(n-1))-1级乘积矩阵的部分矩阵元素的余量;
将wL发送给R方的设备,从R方的设备接收wR
求和wL和wR得到Δw;
其中,进位cn-1的附加余量和共享分片以及余量为gL,gR,Δw。
14.如权利要求12或13所述的方法,其中,L方计算wL的求和项或R方计算wR的求和项还包含ΔaΔd,Δb。
15.一种保护数据隐私的最高位进位计算系统,其中,参与方中的任一方记为L方,另一方记为R方,L方持有和共享分片x,R方持有和共享分片y,两方的和共享分片的和值等于原秘密值;所述系统在L方的设备上实现,其用于:
基于安全多方计算协议与R方协同运算,获取连乘结果矩阵中至少部分元素的附加余量和共享分片以及余量,进而基于连乘结果矩阵中至少部分元素的附加余量和共享分片以及余量,获取计算s=x+y时s的最高位从次高位获得的进位的附加余量和共享分片以及余量;两方的附加余量和共享分片以及两方共有的余量的和值等于原秘密值;
其中,连乘结果矩阵为An-2An-3...A1A0
Figure FDA0003203922540000071
xi为x的第i位,yi为y的第i位。
16.如权利要求15所述的系统,其中,所述系统包括第一协同计算模块以及第二协同计算模块,为了基于安全多方计算协议与R方协同运算,获取连乘结果矩阵中至少部分元素的附加余量和共享分片以及余量:
第一协同计算模块用于基于和共享分片x与R方协同,以对An-2、An-3、…、A1、A0中两两矩阵的至少部分矩阵元素进行运算,获得第1级乘积矩阵的至少部分矩阵元素的附加余量和共享分片以及余量;
第二协同计算模块用于基于第j-1级乘积矩阵中两两乘积矩阵的至少部分矩阵元素的附加余量和共享分片以及余量与R方协同,获得第j级乘积矩阵的至少部分矩阵元素的附加余量和共享分片以及余量;其中,j为不小于2的整数。
17.一种保护数据隐私的最高位进位计算装置,其中,包括处理器和存储设备,所述存储设备用于存储指令,当所述处理器执行指令时,实现如权利要求1~14中任一项所述的方法。
CN202110911773.5A 2021-08-10 2021-08-10 一种保护数据隐私的最高位进位计算方法 Active CN113609503B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110911773.5A CN113609503B (zh) 2021-08-10 2021-08-10 一种保护数据隐私的最高位进位计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110911773.5A CN113609503B (zh) 2021-08-10 2021-08-10 一种保护数据隐私的最高位进位计算方法

Publications (2)

Publication Number Publication Date
CN113609503A true CN113609503A (zh) 2021-11-05
CN113609503B CN113609503B (zh) 2024-06-18

Family

ID=78340066

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110911773.5A Active CN113609503B (zh) 2021-08-10 2021-08-10 一种保护数据隐私的最高位进位计算方法

Country Status (1)

Country Link
CN (1) CN113609503B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106534313A (zh) * 2016-11-17 2017-03-22 浙江工商大学 面向云端数据发布保护安全及隐私的频度测定方法和系统
US20180123780A1 (en) * 2015-05-12 2018-05-03 Nippon Telegraph And Telephone Corporation Secret sharing method, secret sharing system, distributing apparatus and program
US20200120480A1 (en) * 2018-10-11 2020-04-16 Citrix Systems, Inc. Policy based location protection service
CN113158239A (zh) * 2021-03-31 2021-07-23 支付宝(杭州)信息技术有限公司 保护数据隐私的选择问题处理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180123780A1 (en) * 2015-05-12 2018-05-03 Nippon Telegraph And Telephone Corporation Secret sharing method, secret sharing system, distributing apparatus and program
CN106534313A (zh) * 2016-11-17 2017-03-22 浙江工商大学 面向云端数据发布保护安全及隐私的频度测定方法和系统
US20200120480A1 (en) * 2018-10-11 2020-04-16 Citrix Systems, Inc. Policy based location protection service
CN113158239A (zh) * 2021-03-31 2021-07-23 支付宝(杭州)信息技术有限公司 保护数据隐私的选择问题处理方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SIMARPREET SINGH CHAWLA; SWAPNIL AGGARWAL; NIDHI GOEL; MANTEK SINGH BHATIA: "Design and implementation of a power and speed efficient carry select adder on FPGA", IEEE, 31 October 2016 (2016-10-31) *
荆巍巍;黄刘生;罗永龙;徐维江;: "一个安全两方共享秘密的乘法协议", 小型微型计算机系统, no. 03, 15 March 2009 (2009-03-15) *
魏琼;卢炎生;: "位置隐私保护技术研究进展", 计算机科学, no. 09, 25 September 2008 (2008-09-25) *

Also Published As

Publication number Publication date
CN113609503B (zh) 2024-06-18

Similar Documents

Publication Publication Date Title
Patra et al. BLAZE: blazing fast privacy-preserving machine learning
Chen et al. Privacy-preserving ridge regression on distributed data
CN111512589B (zh) 用于利用spdz的快速安全多方内积的方法
Gao et al. Privacy-preserving Naive Bayes classifiers secure against the substitution-then-comparison attack
Chen et al. Vertically federated graph neural network for privacy-preserving node classification
US11323444B2 (en) Method for faster secure multiparty inner product computation with SPDZ
Chen et al. Privacy-preserving backpropagation neural network learning
Kim et al. Private genome analysis through homomorphic encryption
CN111475854B (zh) 保护两方数据隐私的协同计算方法及系统
CN113761469B (zh) 一种保护数据隐私的最高位进位计算方法
CN113158239B (zh) 保护数据隐私的选择问题处理方法
WO2018102861A1 (en) Secure text analytics
Nassar et al. Securing aggregate queries for DNA databases
Rahman et al. MAKE: A matrix action key exchange
Chen Introduction to secure outsourcing computation
Zheng et al. Towards secure and practical machine learning via secret sharing and random permutation
Kutas et al. One-way functions and malleability oracles: Hidden shift attacks on isogeny-based protocols
Roman’kov Cryptanalysis of a combinatorial public key cryptosystem
Chung et al. Encoding rational numbers for fhe-based applications
CN112532383B (zh) 一种基于秘密分享的隐私保护计算方法
CN116417072B (zh) 基于安全多方计算的敏感数据安全关联分析方法及装置
Biasse et al. A trade-off between classical and quantum circuit size for an attack against CSIDH
Ugwuoke et al. Secure fixed-point division for homomorphically encrypted operands
CN113609503A (zh) 一种保护数据隐私的最高位进位计算方法
CN113626841A (zh) 基于多方安全计算的选择问题处理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant