CN111143894B - 一种提升安全多方计算效率的方法及系统 - Google Patents

一种提升安全多方计算效率的方法及系统 Download PDF

Info

Publication number
CN111143894B
CN111143894B CN201911354576.7A CN201911354576A CN111143894B CN 111143894 B CN111143894 B CN 111143894B CN 201911354576 A CN201911354576 A CN 201911354576A CN 111143894 B CN111143894 B CN 111143894B
Authority
CN
China
Prior art keywords
fragment
multiplication
random numbers
fragments
party
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.)
Active
Application number
CN201911354576.7A
Other languages
English (en)
Other versions
CN111143894A (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 CN201911354576.7A priority Critical patent/CN111143894B/zh
Publication of CN111143894A publication Critical patent/CN111143894A/zh
Application granted granted Critical
Publication of CN111143894B publication Critical patent/CN111143894B/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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information

Abstract

本说明书实施例公开了一种提升安全多方计算效率的方法及系统,所述方法包括:所述第一计算方接收第二计算方发送的比尔三元组的三个随机数a,b,c的第一分片,其中,a*b=c,所述特征乘数x与所述随机数a对应;所述第一计算方将所述随机数a的第一分片存储至本地;所述第一计算方接收所述第二计算方发送的随机数b和c的第二分片,所述随机数b和c的第二分片与对应的所述随机数b和c的第一分片不同;所述第一计算方将所述存储的a的第一分片与随机数b和c的第二分片结合得到比尔三元组的第二分片,以基于该第二分片完成所述安全多方计算中的乘法。通过该方法实现安全多方计算,可以有效的保护用户的隐私。

Description

一种提升安全多方计算效率的方法及系统
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种提升安全多方计算效率的方法及系统。
背景技术
安全多方计算是指拥有秘密输入的n方,希望用各自的秘密输入共同计算一个函数,计算结束后,每一方都能接收到正确的输出,并且每一方都只能了解自己的输入和输出,而不了解其他方的输入和输出。
安全多方计算实际上是一种安全协议,其在协议设计过程中需要用到相当多的数学和密码学知识,例如加密体制、秘密分享、不经意传输,如何改进协议过程提升安全多方计算的计算效率是一个关键的问题,因此,本申请提出一种提升安全多方计算效率的方法及系统。
发明内容
本说明书实施例的一个方面提供一种提升安全多方计算效率的方法,应用于第一计算方,所述安全多方计算的多次乘法中的特征乘数x在至少两次乘法运算过程中不变,所述方法包括:所述第一计算方接收第二计算方发送的比尔三元组的三个随机数a,b,c的第一分片,其中,a*b=c,所述特征乘数x与所述随机数a对应;所述第一计算方将所述随机数a的第一分片存储至本地;所述第一计算方接收所述第二计算方发送的随机数b和c的第二分片,所述随机数b和c的第二分片与对应的所述随机数b和c的第一分片不同;所述第一计算方将所述存储的a的第一分片与随机数b和c的第二分片结合得到比尔三元组的第二分片,以基于该第二分片完成所述安全多方计算中的乘法。
本说明书实施例的一个方面提供一种提升安全多方计算效率的方法,应用于第二计算方,所述安全多方计算的多次乘法中的特征乘数x在至少两次乘法运算过程中不变,所述方法包括:所述第二计算方生成比尔三元组的三个随机数a,b,c的第一分片,并将所述随机数a,b,c的第一分片发送至第一计算方,以使得所述第一计算方能够将所述随机数a的第一分片存储至本地,其中,a*b=c,所述特征乘数x与所述随机数a对应;所述第二计算方生成所述随机数b和c的第二分片,并将所述随机数b和c的第二分片发送至第一计算方,以使得所述第一计算方能够将所述存储的a的第一分片与随机数b和c的第二分片结合得到比尔三元组的第二分片,并基于该第二分片完成所述安全多方计算中的乘法;其中,所述随机数b和c的第二分片与对应的所述随机数b和c的第一分片不同。
本说明书实施例的一个方面提供一种提升安全多方计算效率的系统,应用于第一计算方,所述安全多方计算的多次乘法中的特征乘数x在至少两次乘法运算过程中不变,所述系统包括:第一接收模块,用于接收第二计算方发送的比尔三元组的三个随机数a,b,c的第一分片,其中,a*b=c,所述特征乘数x与所述随机数a对应;存储模块,用于将所述随机数a的第一分片存储至本地;第二接收模块,用于接收所述第二计算方发送的随机数b和c的第二分片,所述随机数b和c的第二分片与对应的所述随机数b和c的第一分片不同;计算模块,用于将所述存储的a的第一分片与随机数b和c的第二分片结合得到比尔三元组的第二分片,以基于该第二分片完成所述安全多方计算中的乘法。
本说明书实施例的一个方面提供一种提升安全多方计算效率的系统,应用于第二计算方,所述安全多方计算的多次乘法中的特征乘数x在至少两次乘法运算过程中不变,所述系统包括:第一生成模块,用于生成比尔三元组的三个随机数a,b,c的第一分片,并将所述随机数a,b,c的第一分片发送至第一计算方,以使得所述第一计算方能够将所述随机数a的第一分片存储至本地,其中,a*b=c,所述特征乘数x与所述随机数a对应;第二生成模块,用于生成所述随机数b和c的第二分片,并将所述随机数b和c的第二分片发送至第一计算方,以使得所述第一计算方能够将所述存储的a的第一分片与随机数b和c的第二分片结合得到比尔三元组的第二分片,并基于该第二分片完成所述安全多方计算中的乘法;其中,所述随机数b和c的第二分片与对应的所述随机数b和c的第一分片不同。
本说明书实施例的一个方面提供一种提升安全多方计算效率的装置,包括处理器,所述处理器用于执行如上所述的任一项提升安全多方计算效率的方法。
本说明书实施例的一个方面提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机运行如上所述的任一项提升安全多方计算效率的方法。
附图说明
本说明书将以示例性实施例的方式进一步描述,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书的一些实施例所示的示例性提升安全多方计算效率的系统的模块图;
图2是根据本说明书的一些实施例所示的示例性提升安全多方计算效率的系统的模块图;
图3是根据本说明书的一些实施例所示的提升安全多方计算效率的方法的示例性流程图;
图4是本说明书的一些实施例所示的提升安全多方计算效率的方法的步骤308的示例性流程图;
图5是根据本说明书的一些实施例所示的提升安全多方计算效率的方法的示例性流程图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本说明书中所使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1是根据本说明书的一些实施例所示的示例性提升安全多方计算效率的系统100的模块图。
如图1所示,该提升安全多方计算效率的系统100可以包括第一接收模块110、存储模块120、第二接收模块130以及计算模块140,其中,所述系统100应用于第一计算方,所述安全多方计算的多次乘法中的特征乘数x在至少两次乘法运算过程中不变。
在一些实施例中,所述第一接收模块110用于接收第二计算方发送的比尔三元组的三个随机数a,b,c的第一分片,其中,a*b=c,所述特征乘数x与所述随机数a对应。
在一些实施例中,所述存储模块120用于将所述随机数a的第一分片存储至本地。
在一些实施例中,所述第二接收模块130用于接收所述第二计算方发送的随机数b和c的第二分片,所述随机数b和c的第二分片与对应的所述随机数b和c的第一分片不同。
在一些实施例中,所述计算模块140用于将所述存储的a的第一分片与随机数b和c的第二分片结合得到比尔三元组(Beaver Triple)的第二分片,以基于该第二分片完成所述安全多方计算中的乘法。
在一些实施例中,所述计算模块包括:结合单元、计算单元、交换单元,所述结合单元用于将所述存储的a的第一分片与随机数b和c的第二分片结合得到比尔三元组的第二分片;所述计算单元用于基于所述比尔三元组所属的乘法运算协议,利用该第二分片计算得到所述特征乘数x所在的乘法的乘积分片;所述交换单元用于交换所述乘积分片以得到所有的所述乘积分片,并将所有的所述乘积分片相加得到所述乘法的乘积。
在一些实施例中,所述乘法包括用于训练机器学习模型的梯度下降算法中的乘法。在一些实施例中,所述梯度下降算法如下所示:
Figure BDA0002333699860000051
其中,wnew为所述梯度下降算法的当前迭代过程中的机器学习模型的参数计算结果,wold为所述梯度下降算法的上一次迭代过程中的机器学习模型的参数计算结果,XB为用于训练机器学习模型的训练样本,,YB为所述训练样本的标签,
Figure BDA0002333699860000061
为矩阵形式的XB的转置矩阵,α为步长,|B|为所述训练样本的数量。
在一些实施例中,所述安全多方计算的多次乘法中的特征乘数x在至少两次乘法运算过程中不变,包括:所述梯度下降算法的不同所述迭代过程中的XB*wold中的XB保持不变,和/或,所述梯度下降算法的不同所述迭代过程中的
Figure BDA0002333699860000062
中的
Figure BDA0002333699860000063
保持不变,和/或,同一迭代过程中的
Figure BDA0002333699860000064
中的
Figure BDA0002333699860000065
相对于XB*wold中的XB的转置不变,其中,E为XB*wold-YB
在一些实施例中,所述计算单元包括:计算子单元和判断子单元,所述计算子单元用于基于所述比尔三元组所属的乘法运算协议,利用该第二分片计算得到特征乘数XB所在的乘法的乘积分片,并基于该乘积分片计算得到所述wnew的分片;所述判断子单元用于判断所述wnew的分片是否收敛,若不收敛,则继续执行所述第一计算方接收所述第二计算方发送的随机数b和c的第二分片的步骤,至所述第一计算方基于所述比尔三元组所属的乘法运算协议,利用该第二分片计算得到特征乘数XB所在的乘法的乘积分片,并基于该乘积分片计算得到所述wnew的分片的步骤;若收敛,则基于得到的该wnew的分片计算得到所述wnew。在一些实施例中,在相邻两次计算得到的两个所述wnew的分片之差的绝对值小于阈值时,确定所述wnew的分片收敛。
在一些实施例中,参与所述安全多方计算的数据包括实体对象的数据。
图2是根据本说明书的一些实施例所示的示例性提升安全多方计算效率的系统200的模块图。
如图2所示,该提升安全多方计算效率的系统200可以包括第一生成模块210和第二生成模块220;其中,所述系统100应用于第二计算方,所述安全多方计算的多次乘法中的特征乘数x在至少两次乘法运算过程中不变。
在一些实施例中,第一生成模块210用于生成比尔三元组的三个随机数a,b,c的第一分片,并将所述随机数a,b,c的第一分片发送至第一计算方,以使得所述第一计算方能够将所述随机数a的第一分片存储至本地,其中,a*b=c,所述特征乘数x与所述随机数a对应。
在一些实施例中,第二生成模块220用于生成所述随机数b和c的第二分片,并将所述随机数b和c的第二分片发送至第一计算方,以使得所述第一计算方能够将所述存储的a的第一分片与随机数b和c的第二分片结合得到比尔三元组的第二分片,并基于该第二分片完成所述安全多方计算中的乘法;其中,所述随机数b和c的第二分片与对应的所述随机数b和c的第一分片不同。
应当理解,图1和图2所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于提升安全多方计算效率的系统100和提升安全多方计算效率的系统200及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,图1中披露的第一接收模块110、存储模块120、第二接收模块130以及计算模块130可以是一个系统中的不同模块,也可以是一个模块实现上述的两个模块的功能。又例如,提升安全多方计算效率的系统100和提升安全多方计算效率的系统200中各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。
图3是根据本说明书的一些实施例所示的提升安全多方计算效率的方法的示例性流程图,所述方法应用于第一计算方,所述安全多方计算的多次乘法中的特征乘数x在至少两次乘法运算过程中不变。如图3所示,该提升安全多方计算效率的方法的流程300包括:
步骤302,所述第一计算方接收第二计算方发送的比尔三元组的三个随机数a,b,c的第一分片,其中,a*b=c,所述特征乘数x与所述随机数a对应。
具体地,该步骤302可以由第一接收模块110执行。
安全多方计算是指多个参与方约定进行协同计算,希望在不泄露各自拥有的秘密输入的情况下,共同计算某个功能函数的值,在此过程中,各方除了获得各自的最终计算结果及其可以推出的信息之外,无法获得其他参与方的输入信息,从而实现了输入数据的隐私保护。
在一些实施例中,安全多方计算的多次乘法中的特征乘数x在至少两次乘法运算过程中不变,在一些实施例中,安全多方计算的多次乘法可以是指安全多方计算中的同一乘法公式中包括的多次乘法,示例地,以安全多方计算的乘法为Z=X*(X*Y+b)中的乘法为例,其包括两次乘法,分别为X*Y以及X*(X*Y+b),在一些实施例中,安全多方计算的多次乘法还可以是指对同一个乘法进行多次运算,示例地,以安全多方计算的乘法为Z=X*Y为例,多次乘法可以是指将X*Y的乘法进行多次运算,多次运算过程中,其中一个乘数可能不变,另一个乘数可能发生变化。
在一些实施例中,所述乘法可以包括用于训练机器学习模型的梯度下降算法中的乘法,在一些实施例中,机器学习模型可以指能够运用梯度下降算法进行训练的任意模型,例如,线性回归(Liner Regression)模型、卷积神经网络(Convolutional NeuralNetworks)以及逻辑回归(logistics regression)模型等,在一些实施例中,梯度下降算法是用于更新机器学习模型参数的一种迭代算法,其中,梯度下降算法可以包括随机梯度下降、批量梯度下降以及小批量梯度下降等。
在一些实施例中,梯度下降算法如下所示:
Figure BDA0002333699860000091
其中,wnew为所述梯度下降算法的当前迭代过程中的机器学习模型的参数计算结果,wold为所述梯度下降算法的上一次迭代过程中的机器学习模型的参数计算结果,XB为用于训练机器学习模型的训练样本,YB为所述训练样本的标签,
Figure BDA0002333699860000092
为矩阵形式的XB的转置矩阵,α为步长,|B|为所述训练样本的数量。该梯度下降算法为小批量梯度下降算法(Mini-batch gradient descent,MBGD),可以用于训练线性回归模型。
根据上述梯度下降算法的公式,所述安全多方计算的多次乘法中的特征乘数x在至少两次乘法运算过程中不变,包括:
所述梯度下降算法的不同所述迭代过程中的XB*wold中的XB保持不变,和/或,所述梯度下降算法的不同所述迭代过程中的
Figure BDA0002333699860000093
中的
Figure BDA0002333699860000094
果持不变,和/或,同一迭代过程中的
Figure BDA0002333699860000095
中的
Figure BDA0002333699860000096
相对于XB*wold中的XB的转置不变,其中,E为XB*wold-YB。需要说的是,
Figure BDA0002333699860000097
相对于XB来讲,只是其中元素的位置发生了变化,但是参与计算的元素本身并没有发生变化,故仍然可以复用a的第一分片,在复用时对a的第一分片中元素的位置做相应的调整即可,例如使用矩阵形式的a的第一分片的转置矩阵。此处的XB以及
Figure BDA0002333699860000106
可视为上述保持不变的特征乘数x。
在一些实施例中,第一计算方为安全多方计算的参与方,第一计算方可以包括至少两个参与方。在一些实施例中,第二计算方为比尔三元组的提供方,其中,满足a∈RZq,b∈RZq,c=ab mod q这样条件的(a,b,c)三元数组为比尔三元组。
在一些实施例中,比尔三元组用于安全多方计算的乘法运算时,会将比尔三元组的每个元素以加法秘密共享的方式分享给每一个参与方,每一方得到比尔三元组的分片,如第i方得到的比尔三元组的分片为(ai,bi,ci),其中,ai,bi以及ci分别为比尔三元组中的三个随机数a,b以及c的分片,满足∑ai*∑bi=∑ci。在一些实施例中,第一计算方在进行第一次乘法运算时接收比尔三元组的三个随机数a,b以及c的第一分片,示例地,以上述乘法为梯度下降算法中的乘法为例,由梯度下降算法的公式
Figure BDA0002333699860000101
可知,安全多方计算的乘法为
Figure BDA0002333699860000102
Figure BDA0002333699860000103
为例,若第一计算方为两个参与方,分别为A和B,由于安全多方计算的乘法中包括两次乘法运算,如果需要计算Z的函数值,则需要先计算XB*wold的函数值,再计算
Figure BDA0002333699860000104
均函数值,即第一次乘法运算为XB*wold,第二次乘法运算为
Figure BDA0002333699860000105
则在计算XB*wold的函数值时,第二计算方向A和B分别发送随机数a,b以及c的第一分片a1,b1,c1以及a2,b2,c2,其中,a1,a2与XB对应。在一种可能的应用场景中,希望能训练一种根据用户的消费记录判断是否给该用户放贷的模型,则XB包括用户的消费记录,例如包括该用户持A和B两家银行的信用卡的消费记录,YB可以为用户是否放贷的结果,由于希望对用户的消费记录以及放贷结果保密,故采用安全多方计算的方式。XB可以为包括多个样本的矩阵,具体的,例如可以为m行,n列的矩阵,m为样本数量,n为每个样本的特征参数的数量,例如n=3对应用户的三次消费记录。
在一些实施例中,参与所述安全多方计算的数据可以包括实体对象的数据,所述实体对象的数据可以包括用户数据和商户数据。其中,用户数据可以包括与用户相关的个人隐私数据,例如用户的身份数据如身份证号、人脸图像数据、指纹数据等,用户的健康数据例如血型、医疗记录等,用户的金融账户数据如用户的银行账号、基金账号以及这些账号的密码等。商户数据可以包括体现商户经营内容的数据以及商户收集的多个用户的上述用户数据。例如商户数据可以包括商户在特定时间段如一个季度的营收记录,还可以包括商户内部的员工数据等。在一些实施例中,商户为银行等金融机构时,商户数据可以包括其收集的用户的银行账户数据,商户为医院等医疗机构时,商户数据可以包括其收集的患者的健康数据。一般而言,参与所述安全多方计算的数据可以是任何需要进行保密的数据,本说明书对其不做具体限制。在一些实施例中,上述数据在参与所述安全多方计算时,可以作为所述特征乘数x,也可以作为安全多方计算的其他计算过程的参数,例如可以是安全多方计算中的加法的加数,本说明书对此不作具体限制。
步骤304,所述第一计算方将所述随机数a的第一分片存储至本地。
具体地,该步骤304可以由存储模块120执行。
在一些实施例中,第一计算方将所述随机数a的第一分片存储至本地,仍以上述示例为例,则第一计算方中的A在本地存储随机数a的第一分片a1,第一计算方中的B在本地存储随机数a的第一分片a2,具体可以存储在本地的内存中。
步骤306,所述第一计算方接收所述第二计算方发送的随机数b和c的第二分片,所述随机数b和c的第二分片与对应的所述随机数b和c的第一分片不同。
具体地,该步骤306可以由第二接收模块130执行。
在一些实施例中,第一计算方在进行第二次乘法运算时接收比尔三元组的三个随机数a,b以及c的第二分片,由于第一计算方在本地存储了随机数a的第一分片,且特征乘数x在乘法运算过程中值不变,故即使复用与特征乘数x对应的随机数a的第一分片,在计算过程中攻击者也不能根据公开的数据推导出任何有用的信息,如此仍然可以保证安全多方计算过程的安全,第二计算方在下一次乘法运算的过程中不再分发随机数a的第二分片,以随机数a的第一分片替代需要分发的随机数a的第二分片。
仍以上述安全多方计算的乘法为
Figure BDA0002333699860000121
第一计算方为两个参与方,分别为A和B为例,由于第二次乘法运算为
Figure BDA0002333699860000122
wold-YB),且第一计算方A和B分别本地存储了随机数a的第一分片a1和a2,则在计算
Figure BDA0002333699860000123
的函数值时,第二计算方向第一计算方A和B分别发送随机数b以及c的第二分片b′1,c′1以及b′2,c′2
步骤308,所述第一计算方将所述存储的a的第一分片与随机数b和c的第二分片结合得到比尔三元组的第二分片,以基于该第二分片完成所述安全多方计算中的乘法。
具体地,该步骤304可以由计算模块140执行。
参考图4,图4是本说明书的一些实施例所示的提升安全多方计算效率的方法的步骤308的示例性流程图。该流程400包括:
步骤402,所述第一计算方将所述存储的a的第一分片与随机数b和c的第二分片结合得到比尔三元组的第二分片。
由于第一计算方存储了随机数a的第一分片,在一些实施例中,比尔三元组的第二分片可以由比尔三元组中随机数a的第一分片以及随机数b和c的第二分片构成,示例地,仍以上述安全多方计算的乘法为
Figure BDA0002333699860000131
Figure BDA0002333699860000132
第一计算方为两个参与方,分别为A和B为例,由于第一计算方A和B的随机数a的第一分片分别a1和a2,第一计算方A和B的随机数b以及c的第二分片分别为b′1,c′1以及b′2,c′2,则第一计算方A的比尔三元组的第二分片为(a1,b′1,c′1),第一计算方B的比尔三元组的第二分片为(a1,b′2,c′2)。当然,在下一次的迭代计算
Figure BDA0002333699860000133
wold-YB)的过程中,可以继续复用a的第一分片a1和a2,而接收随机数b和c的新的分片,结合得到比尔三元组的新的分片,由于过程相同,在此不再赘述其过程。
步骤404,所述第一计算方基于所述比尔三元组所属的乘法运算协议,利用该第二分片计算得到所述特征乘数x所在的乘法的乘积分片。
在一些实施例中,比尔三元组可以用于实现安全多方计算中的乘法运算,以下将对比尔三元组实现安全多方计算中的乘法运算的具体过程进行说明:
假设安全多方计算中的乘法为Z=X*Y,则安全多方计算中的多个参与方共同计算的功能函数为Z=X*Y,为了保证隐私不被泄露,在安全多方计算的过程中会将X和Y以加法秘密共享的方式分享给每一个参与方,第i方得到的为X和Y的分片为(xi,yi),其中,X=∑xi,Y=∑yi,同样,比尔三元组也以加法秘密共享的方式分享给每一个参与方,第i方得到的比尔三元组的分片为(ai,bi,ci),其中,∑ai*∑bi=∑ci
基于所述比尔三元组所属的乘法运算协议,每一方将(xi-ai)和(yi-bi)重建,每方得到:
x-a=∑(xi-ai)和y-b=∑(yi-bi)
Z的函数值等于每一方zi的和,其中某一方需要zi额外加上(x-a)(y-b),则,
Z=∑zi=∑ci+(x-a)*∑bi+(y-b)*∑xi+(x-a)(y-b)
化简,可得:
Z=c+(x-a)*b+(y-b)*a+(x-a)(y-b)
根据上述Z的化简式可知,多方安全计算的每一方可以基于自身接收到的比尔三元组的分片(随机数a、b、c的分片)和乘法中各个乘数的分片(x和y的分片)得出每一方的乘法的乘积分片(X*Y的分片)。
在一些实施例中,第一计算方基于所述比尔三元组所属的乘法运算协议,利用该第二分片计算得到所述特征乘数x所在的乘法的乘积分片。示例地,仍以上述安全多方计算中的乘法为Z=X*Y为例,由于特征乘数x为X,则特征乘数x所在的乘法为X*Y,第一计算方中的每一方可以根据Z=c+(x-a)*b+(y-b)*a+(x-a)(y-b),利用第二分片计算Z的分片zi(即特征乘数x所在的乘法X*Y的分片)。
需要说明的是,基于上述比尔三元组所在的乘法计算协议,a与x对应,b与y对应,故乘数x不变时可以复用随机数a的分片,乘数y不变时可以复用随机数b的分片。
由于所述乘法可以包括用于训练机器学习模型的梯度下降算法中的乘法,在一些实施例中,所述第一计算方基于所述比尔三元组所属的乘法运算协议,利用该第二分片计算得到所述特征乘数x所在的乘法的乘积分片,包括:所述第一计算方基于所述比尔三元组所属的乘法运算协议,利用该第二分片计算得到特征乘数XB所在的乘法的乘积分片,并基于该乘积分片计算得到所述wnew的分片。
Figure BDA0002333699860000141
在一些实施例中,以上述梯度下降算法的计算过程为例,第一计算方可以基于上述的比尔三元组所属的乘法运算协议,利用接收到的比尔三元组的三个随机数a,b,c的第一分片,计算得到XB*wold的乘积分片。然后与YB的分片相减得到(XB*wold-YB)的分片,将(XB*wold-YB)的分片作为一个乘数,复用a的第一分片,得到比尔三元组的第二分片,并根据上述比尔三元组所属的乘法运算协议计算得到
Figure BDA0002333699860000151
的分片,将该分片乘以
Figure BDA0002333699860000152
后与wold进行减法运算即可得到wnew的分片。当然,在后续的迭代计算过程中,例如在下一次迭代计算上述wnew的分片时,将当前得到的wnew的分片作为下一次的wold的分片,并在计算XB*wold时,将存储的a的第一分片与接收到的随机数b和c的第三分片结合得到比尔三元组的第三分片,并基于该第三分片计算得到XB*wold的分片,然后再将存储的a的第一分片与接收到的随机数b和c的第四分片结合得到比尔三元组的第四分片,并基于该第四分片计算得到
Figure BDA0002333699860000153
的分片,并最终得到下一次迭代过程的wnew的分片,后续可以继续按照上述方式利用比尔三元组的第五分片,第六分片等迭代计算wnew的分片,由于过程相同,在此不再赘述。
在一些实施例中,所述方法还包括重复执行所述第一计算方接收所述第二计算方发送的随机数b和c的第二分片的步骤,至所述第一计算方基于所述比尔三元组所属的乘法运算协议,利用该第二分片计算得到特征乘数XB所在的乘法的乘积分片,并基于该乘积分片计算得到所述wnew的分片的步骤,并在所述wnew的分片收敛时,将得到的该乘积分片用于计算所述乘法的乘积。在一些实施例中,在相邻两次计算得到的两个所述wnew的乘积分片之差的绝对值小于阈值时,确定所述wnew的分片收敛。具体的,在确定wnew的分片收敛时,为得到最终的计算结果wnew,可以进入执行步骤406。
步骤406,所述第一计算方交换所述乘积分片以得到所有的所述乘积分片,并将所有的所述乘积分片相加得到所述乘法的乘积。
在一些实施例中,第一计算方可以交换所述乘积分片以得到所有的乘积分片,示例地,以安全多方计算中的乘法为Z=XB*wold,第一计算方为两个参与方,分别为A和B为例,第一计算方中的A计算的乘积分片为z1=x1*w1,第一计算方中的B计算的乘积分片为z2=x2*w2,则A和B可以互相交换各自的乘积分片,使得A拥有z1和z2,B拥有z1和z2,将z1和z2相加即可得到Z(即XB*wold)。
图5是根据本说明书的一些实施例所示的提升安全多方计算效率的方法的示例性流程图。所述方法应用于第二计算方,所述安全多方计算的多次乘法中的特征乘数x在至少两次乘法运算过程中不变,如图5所示,该提升安全多方计算效率的方法的流程500包括:
步骤502,所述第二计算方生成比尔三元组的三个随机数a,b,c的第一分片,并将所述随机数a,b,c的第一分片发送至第一计算方,以使得所述第一计算方能够将所述随机数a的第一分片存储至本地,其中,a*b=c,所述特征乘数x与所述随机数a对应。
具体地,该步骤502可以由第一生成模块210执行。
关于步骤502的相关解释请参见上述步骤302和步骤304及其相关描述。
步骤504,所述第二计算方生成所述随机数b和c的第二分片,并将所述随机数b和c的第二分片发送至第一计算方,以使得所述第一计算方能够将所述存储的a的第一分片与随机数b和c的第二分片结合得到比尔三元组的第二分片,并基于该第二分片完成所述安全多方计算中的乘法;
其中,所述随机数b和c的第二分片与对应的所述随机数b和c的第一分片不同。
具体地,该步骤505可以由第二生成模块210执行。
关于步骤504的相关解释请参见上述步骤306和308及其相关描述。
本说明书实施例可能带来的有益效果包括但不限于:通过复用比尔三元组中的随机数,使得第二计算方不必重复向第一计算方发送复用的随机数的数据,有效节省了带宽,加速矩阵乘法运算速度,从而进一步提高安全多方计算的效率。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

Claims (17)

1.一种提升安全多方计算效率的方法,应用于第一计算方,所述安全多方计算的多次乘法中的特征乘数x在至少两次乘法运算过程中不变,所述方法包括:
所述第一计算方接收第二计算方发送的比尔三元组的三个随机数a,b,c的第一分片,其中,a*b=c,所述特征乘数x与所述随机数a对应;
所述第一计算方将所述随机数a的第一分片存储至本地;
所述第一计算方接收所述第二计算方发送的随机数b和c的第二分片,所述随机数b和c的第二分片与对应的所述随机数b和c的第一分片不同;
所述第一计算方将所述存储的a的第一分片与随机数b和c的第二分片结合得到比尔三元组的第二分片,以基于所述比尔三元组的第二分片完成所述安全多方计算中的乘法。
2.如权利要求1所述的方法,所述第一计算方将所述存储的a的第一分片与随机数b和c的第二分片结合得到比尔三元组的第二分片,以基于所述比尔三元组的第二分片完成所述安全多方计算中的乘法,包括:
所述第一计算方将所述存储的a的第一分片与随机数b和c的第二分片结合得到比尔三元组的第二分片;
所述第一计算方基于所述比尔三元组所属的乘法运算协议,利用所述比尔三元组的第二分片计算得到所述特征乘数x所在的乘法的乘积分片;
所述第一计算方交换所述乘积分片以得到所有的所述乘积分片,并将所有的所述乘积分片相加得到所述乘法的乘积。
3.如权利要求2所述的方法,所述乘法包括用于训练机器学习模型的梯度下降算法中的乘法。
4.如权利要求3所述的方法,所述梯度下降算法如下所示:
Figure FDA0003363969340000021
其中,wnew为所述梯度下降算法的当前迭代过程中的机器学习模型的参数计算结果,wold为所述梯度下降算法的上一次迭代过程中的机器学习模型的参数计算结果,XB为用于训练机器学习模型的训练样本,YB为所述训练样本的标签,
Figure FDA0003363969340000022
为矩阵形式的XB的转置矩阵,α为步长,|B|为所述训练样本的数量;
所述安全多方计算的多次乘法中的特征乘数x在至少两次乘法运算过程中不变,包括:
所述梯度下降算法的不同所述迭代过程中的XB*wold中的XB保持不变,和/或,所述梯度下降算法的不同所述迭代过程中的
Figure FDA0003363969340000023
中的
Figure FDA0003363969340000024
保持不变,和/或,同一迭代过程中的
Figure FDA0003363969340000025
中的
Figure FDA0003363969340000026
相对于XB*wold中的XB的转置不变,其中,E为XB*wold-YB
5.如权利要求4所述的方法,所述第一计算方基于所述比尔三元组所属的乘法运算协议,利用所述比尔三元组的第二分片计算得到所述特征乘数x所在的乘法的乘积分片,包括:
所述第一计算方基于所述比尔三元组所属的乘法运算协议,利用所述比尔三元组的第二分片计算得到特征乘数XB所在的乘法的乘积分片,并基于该乘积分片计算得到所述wnew的分片;
所述方法还包括:
重复执行所述第一计算方接收所述第二计算方发送的随机数b和c的第二分片的步骤,至所述第一计算方基于所述比尔三元组所属的乘法运算协议,利用所述比尔三元组的第二分片计算得到特征乘数XB所在的乘法的乘积分片,并基于该乘积分片计算得到所述wnew的分片的步骤,并在所述wnew的分片收敛时,基于得到的该wnew的分片计算得到所述wnew
6.如权利要求5所述的方法,在相邻两次计算得到的两个所述wnew的分片之差的绝对值小于阈值时,确定所述wnew的分片收敛。
7.如权利要求1所述的方法,参与所述安全多方计算的数据包括实体对象的数据。
8.一种提升安全多方计算效率的方法,应用于第二计算方,所述安全多方计算的多次乘法中的特征乘数x在至少两次乘法运算过程中不变,所述方法包括:
所述第二计算方生成比尔三元组的三个随机数a,b,c的第一分片,并将所述随机数a,b,c的第一分片发送至第一计算方,以使得所述第一计算方能够将所述随机数a的第一分片存储至本地,其中,a*b=c,所述特征乘数x与所述随机数a对应;
所述第二计算方生成所述随机数b和c的第二分片,并将所述随机数b和c的第二分片发送至第一计算方,以使得所述第一计算方能够将所述存储的a的第一分片与随机数b和c的第二分片结合得到比尔三元组的第二分片,并基于所述比尔三元组的第二分片完成所述安全多方计算中的乘法;
其中,所述随机数b和c的第二分片与对应的所述随机数b和c的第一分片不同。
9.一种提升安全多方计算效率的系统,应用于第一计算方,所述安全多方计算的多次乘法中的特征乘数x在至少两次乘法运算过程中不变,所述系统包括:
第一接收模块,用于接收第二计算方发送的比尔三元组的三个随机数a,b,c的第一分片,其中,a*b=c,所述特征乘数x与所述随机数a对应;
存储模块,用于将所述随机数a的第一分片存储至本地;
第二接收模块,用于接收所述第二计算方发送的随机数b和c的第二分片,所述随机数b和c的第二分片与对应的所述随机数b和c的第一分片不同;
计算模块,用于将所述存储的a的第一分片与随机数b和c的第二分片结合得到比尔三元组的第二分片,以基于所述比尔三元组的第二分片完成所述安全多方计算中的乘法。
10.如权利要求9所述的系统,所述计算模块包括:
结合单元,用于将所述存储的a的第一分片与随机数b和c的第二分片结合得到比尔三元组的第二分片;
计算单元,用于基于所述比尔三元组所属的乘法运算协议,利用所述比尔三元组的第二分片计算得到所述特征乘数x所在的乘法的乘积分片;
交换单元,用于交换所述乘积分片以得到所有的所述乘积分片,并将所有的所述乘积分片相加得到所述乘法的乘积。
11.如权利要求10所述的系统,所述乘法包括用于训练机器学习模型的梯度下降算法中的乘法。
12.如权利要求11所述的系统,所述梯度下降算法如下所示:
Figure FDA0003363969340000041
其中,wnew为所述梯度下降算法的当前迭代过程中的机器学习模型的参数计算结果,wold为所述梯度下降算法的上一次迭代过程中的机器学习模型的参数计算结果,XB为用于训练机器学习模型的训练样本,YB为所述训练样本的标签,
Figure FDA0003363969340000051
为矩阵形式的XB的转置矩阵,α为步长,|B|为所述训练样本的数量;
所述安全多方计算的多次乘法中的特征乘数x在至少两次乘法运算过程中不变,包括:
所述梯度下降算法的不同所述迭代过程中的XB*wold中的XB保持不变,和/或,所述梯度下降算法的不同所述迭代过程中的
Figure FDA0003363969340000052
中的
Figure FDA0003363969340000053
保持不变,和/或,同一迭代过程中的
Figure FDA0003363969340000054
中的
Figure FDA0003363969340000055
相对于XB*wold中的XB的转置不变,其中,E为XB*wold-YB
13.如权利要求12所述的系统,所述计算单元包括:
计算子单元,用于基于所述比尔三元组所属的乘法运算协议,利用所述比尔三元组的第二分片计算得到特征乘数XB所在的乘法的乘积分片,并基于该乘积分片计算得到所述wnew的分片;;
判断子单元,用于判断所述wnew的分片是否收敛,若不收敛,则继续执行所述第一计算方接收所述第二计算方发送的随机数b和c的第二分片的步骤,至所述第一计算方基于所述比尔三元组所属的乘法运算协议,利用所述比尔三元组的第二分片计算得到特征乘数XB所在的乘法的乘积分片,并基于该乘积分片计算得到所述wnew的分片的步骤;若收敛,则基于得到的该wnew的分片计算得到所述wnew
14.如权利要求13所述的系统,在相邻两次计算得到的两个所述wnew的分片之差的绝对值小于阈值时,确定所述wnew的分片收敛。
15.如权利要求9所述的系统,参与所述安全多方计算的数据包括实体对象的数据。
16.一种提升安全多方计算效率的系统,应用于第二计算方,所述安全多方计算的多次乘法中的特征乘数x在至少两次乘法运算过程中不变,所述系统包括:
第一生成模块,用于生成比尔三元组的三个随机数a,b,c的第一分片,并将所述随机数a,b,c的第一分片发送至第一计算方,以使得所述第一计算方能够将所述随机数a的第一分片存储至本地,其中,a*b=c,所述特征乘数x与所述随机数a对应;
第二生成模块,用于生成所述随机数b和c的第二分片,并将所述随机数b和c的第二分片发送至第一计算方,以使得所述第一计算方能够将所述存储的a的第一分片与随机数b和c的第二分片结合得到比尔三元组的第二分片,并基于所述比尔三元组的第二分片完成所述安全多方计算中的乘法;
其中,所述随机数b和c的第二分片与对应的所述随机数b和c的第一分片不同。
17.一种提升安全多方计算效率的装置,包括处理器,其中,所述处理器用于执行如权利要求1~8任一项所述的提升安全多方计算效率的方法。
CN201911354576.7A 2019-12-24 2019-12-24 一种提升安全多方计算效率的方法及系统 Active CN111143894B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911354576.7A CN111143894B (zh) 2019-12-24 2019-12-24 一种提升安全多方计算效率的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911354576.7A CN111143894B (zh) 2019-12-24 2019-12-24 一种提升安全多方计算效率的方法及系统

Publications (2)

Publication Number Publication Date
CN111143894A CN111143894A (zh) 2020-05-12
CN111143894B true CN111143894B (zh) 2022-01-28

Family

ID=70519881

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911354576.7A Active CN111143894B (zh) 2019-12-24 2019-12-24 一种提升安全多方计算效率的方法及系统

Country Status (1)

Country Link
CN (1) CN111143894B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111563261A (zh) * 2020-05-15 2020-08-21 支付宝(杭州)信息技术有限公司 一种基于可信执行环境的隐私保护多方计算方法和系统
WO2021237437A1 (zh) * 2020-05-26 2021-12-02 云图技术有限公司 基于安全多方计算的数据处理方法、装置及电子设备
CN111680322A (zh) * 2020-05-26 2020-09-18 矩阵元技术(深圳)有限公司 基于安全多方计算的数据处理方法、装置及电子设备
CN112183730B (zh) * 2020-10-14 2022-05-13 浙江大学 一种基于共享学习的神经网络模型的训练方法
CN112231561A (zh) * 2020-10-14 2021-01-15 深圳前海微众银行股份有限公司 数据处理方法、装置、设备及存储介质
CN112000990B (zh) * 2020-10-27 2021-02-05 支付宝(杭州)信息技术有限公司 隐私保护的数据处理方法、装置、设备及机器学习系统
CN112765616B (zh) * 2020-12-18 2024-02-02 百度在线网络技术(北京)有限公司 多方安全计算方法、装置、电子设备和存储介质
CN112953700B (zh) * 2021-01-26 2022-03-22 西安电子科技大学 一种提升安全多方计算效率的方法、系统及存储介质
CN112990260B (zh) * 2021-02-05 2022-04-26 支付宝(杭州)信息技术有限公司 一种基于多方安全计算的模型评估方法和系统
CN115361131B (zh) * 2022-10-21 2022-12-13 华控清交信息科技(北京)有限公司 一种密文数据计算方法、装置和电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1875569A (zh) * 2003-11-03 2006-12-06 皇家飞利浦电子股份有限公司 用于有效多方乘积的方法和设备
US10083310B1 (en) * 2013-03-13 2018-09-25 Hrl Laboratories, Llc System and method for mobile proactive secure multi-party computation (MPMPC) using commitments
WO2018211676A1 (en) * 2017-05-18 2018-11-22 Nec Corporation Multiparty computation method, apparatus and program
CN109255247A (zh) * 2018-08-14 2019-01-22 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
CN109359470A (zh) * 2018-08-14 2019-02-19 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
CN109446828A (zh) * 2018-11-07 2019-03-08 北京邮电大学 一种安全多方计算方法及装置
CN110175461A (zh) * 2019-05-08 2019-08-27 矩阵元技术(深圳)有限公司 安全多方计算的实现方法、装置、计算机设备和存储介质
WO2019202586A1 (en) * 2018-04-17 2019-10-24 B. G. Negev Technologies & Applications Ltd., At Ben-Gurion One-round secure multiparty computation of arithmetic streams and evaluation of functions

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1875569A (zh) * 2003-11-03 2006-12-06 皇家飞利浦电子股份有限公司 用于有效多方乘积的方法和设备
US10083310B1 (en) * 2013-03-13 2018-09-25 Hrl Laboratories, Llc System and method for mobile proactive secure multi-party computation (MPMPC) using commitments
WO2018211676A1 (en) * 2017-05-18 2018-11-22 Nec Corporation Multiparty computation method, apparatus and program
WO2019202586A1 (en) * 2018-04-17 2019-10-24 B. G. Negev Technologies & Applications Ltd., At Ben-Gurion One-round secure multiparty computation of arithmetic streams and evaluation of functions
CN109255247A (zh) * 2018-08-14 2019-01-22 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
CN109359470A (zh) * 2018-08-14 2019-02-19 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
CN109446828A (zh) * 2018-11-07 2019-03-08 北京邮电大学 一种安全多方计算方法及装置
CN110175461A (zh) * 2019-05-08 2019-08-27 矩阵元技术(深圳)有限公司 安全多方计算的实现方法、装置、计算机设备和存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《Improving Efficiency of Secure Multi-Party Computation》;加藤;《电子情报通信学会技术研究报告》;20111231;全文 *
《一个安全两方共享秘密的乘法协议》;荆巍巍等;《小型微型计算机系统》;20090331;第30卷(第3期);第431-436页 *
《安全多方向量计算》;周素芳等;《计算机学报》;20170531;第40卷(第5期);第1134-1150页 *

Also Published As

Publication number Publication date
CN111143894A (zh) 2020-05-12

Similar Documents

Publication Publication Date Title
CN111143894B (zh) 一种提升安全多方计算效率的方法及系统
CN111125735B (zh) 一种基于隐私数据进行模型训练的方法及系统
CN111931950B (zh) 一种基于联邦学习进行模型参数更新的方法及系统
US11895220B2 (en) Systems and methods for dividing filters in neural networks for private data computations
Liu et al. Oblivious neural network predictions via minionn transformations
KR102337168B1 (ko) 비밀 공유를 사용한 로지스틱 회귀 모델링 방법
CN111178547B (zh) 一种基于隐私数据进行模型训练的方法及系统
CN110751291B (zh) 实现安全防御的多方联合训练神经网络的方法及装置
Bogdanov et al. High-performance secure multi-party computation for data mining applications
CN111931216B (zh) 一种基于隐私保护的方式获取联合训练模型的方法及系统
CN112085159B (zh) 一种用户标签数据预测系统、方法、装置及电子设备
CN112199702A (zh) 一种基于联邦学习的隐私保护方法、存储介质及系统
CN113065145B (zh) 一种基于秘密共享和随机扰动的隐私保护线性回归方法
CN111143878B (zh) 一种基于隐私数据进行模型训练的方法及系统
US11500992B2 (en) Trusted execution environment-based model training methods and apparatuses
CN113011587A (zh) 一种隐私保护的模型训练方法和系统
CN113591097A (zh) 业务数据处理方法、装置、电子设备及存储介质
CN115730182A (zh) 一种匿名化分片数据下逆矩阵近似计算方法
US11700110B2 (en) Approximate algebraic operations for homomorphic encryption
CN111062492B (zh) 一种基于可选隐私数据进行模型训练的方法及系统
US11444926B1 (en) Privacy-preserving efficient subset selection of features for regression models in a multi-party computation setting
US20230421351A1 (en) Homomorphic encryption using smart contracts
Liu et al. Deep learning-based medical diagnostic services: A secure, lightweight, and accurate realization 1
CN115276950B (zh) 隐私数据的处理方法、装置和计算设备
US20230246806A1 (en) Efficient masking of secure data in ladder-type cryptographic computations

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40029908

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant