CN111461858B - 基于隐私保护的连乘计算方法、装置、系统和电子设备 - Google Patents
基于隐私保护的连乘计算方法、装置、系统和电子设备 Download PDFInfo
- Publication number
- CN111461858B CN111461858B CN202010163056.4A CN202010163056A CN111461858B CN 111461858 B CN111461858 B CN 111461858B CN 202010163056 A CN202010163056 A CN 202010163056A CN 111461858 B CN111461858 B CN 111461858B
- Authority
- CN
- China
- Prior art keywords
- parameter
- random
- private
- equipment
- parameters
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/03—Credit; Loans; Processing thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/491—Computations with decimal numbers radix 12 or 20.
- G06F7/4915—Multiplying; Dividing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Abstract
本说明书实施例提出了一种基于隐私保护的连乘计算方法、装置、系统和电子设备,其中,上述基于隐私保护的连乘计算方法中,对于以和共享形式存储在第一设备与第二设备中的n个参数,当需要对n个参数进行连乘计算时,第一设备与第二设备运行安全和转积协议,将上述n个参数转换为积共享形式存储在第一设备和第二设备中,接下来第一设备与第二设备对各自存储的私有参数进行连乘计算,在第一设备与第二设备内部单独计算连乘完毕后,运行安全积转和协议,将连乘计算获得的结果转换为和共享形式存储在上述第一设备和上述第二设备中,整个计算过程只需要两轮交互,通信量为O(N)。
Description
【技术领域】
本说明书涉及互联网技术领域,尤其涉及一种基于隐私保护的连乘计算方法、装置、系统和电子设备。
【背景技术】
安全多方计算又称为多方安全计算,源于百万富翁问题,即两个百万富翁如何在不透露各自资产情况下比较谁更富有。从百万富翁问题可以引申出安全多方计算,即多方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据,计算的结果公开给其中的一方或多方。安全多方计算一个典型的应用是隐私保护的多方数据的联合统计分析和机器学习。安全多方计算能够让参与的各方在不暴露各自原始数据的情况下,计算出基于各方联合数据的统计结果和/或机器学习结果。
在现有的两方安全计算中,对于若干个以和共享形式储存于A和B两设备中的数,如果需要计算上述若干个数的乘积,并将计算结果以和共享的形式储存于A和B两设备中,现有的技术方案需要构建一棵二叉树,将一个乘数对应到二叉树的一个叶子节点,并且从下到上逐层进行连乘的安全计算,整个计算过程中,A设备与B设备需要交互的轮数是上述二叉树的高度,即log2n,n为进行连乘运算的乘数的数量,这样,当n较大时,A设备与B设备的交互轮数过多,通信量较大。
【发明内容】
本说明书实施例提供了一种基于隐私保护的连乘计算方法、装置、系统和电子设备,以实现减少两方连乘安全计算过程中,两设备之间的交互轮数,降低两设备之间的通信量。
第一方面,本说明书实施例提供一种基于隐私保护的连乘计算方法,所述连乘计算方法由第一设备与第二设备通过两方安全计算实现;
所述基于隐私保护的连乘计算方法包括:
对于以和共享形式存储在所述第一设备与所述第二设备中的n个参数,当需要对所述n个参数进行连乘计算时,所述第一设备与所述第二设备运行安全和转积协议,将所述n个参数转换为积共享形式存储在所述第一设备和所述第二设备中;n>1,n为正整数;
所述第一设备与所述第二设备对各自存储的私有参数进行连乘计算,连乘计算获得的结果以积共享形式存储在所述第一设备和所述第二设备中;
所述第一设备与所述第二设备运行安全积转和协议,将连乘计算获得的结果转换为和共享形式存储在所述第一设备和所述第二设备中。
上述基于隐私保护的连乘计算方法中,对于以和共享形式存储在第一设备与第二设备中的n个参数,当需要对n个参数进行连乘计算时,第一设备与第二设备运行安全和转积协议,将上述n个参数转换为积共享形式存储在第一设备和第二设备中,接下来第一设备与第二设备对各自存储的私有参数进行连乘计算,在第一设备与第二设备内部单独计算连乘完毕后,运行安全积转和协议,将连乘计算获得的结果转换为和共享形式存储在上述第一设备和上述第二设备中,整个计算过程只需要两轮交互,通信量为O(N),从而可以减少两方连乘安全计算过程中,两设备之间的交互轮数,降低两设备之间的通信量,进而可以缩短整个计算过程的耗时。
其中一种可能的实现方式中,对于所述n个参数中的第一参数,所述第一参数以和共享形式存储在所述第一设备和所述第二设备中,其中,存储在所述第一设备中的参数为第一私有参数,存储在所述第二设备中的参数为第二私有参数,所述第一私有参数与所述第二私有参数之和为所述第一参数;
所述第一设备与所述第二设备运行安全和转积协议,将所述n个参数转换为积共享形式存储在所述第一设备和所述第二设备中包括:
所述第一设备接收第三设备预先计算的随机参数;
所述第一设备根据所述第一私有参数和来自所述第三设备的随机参数计算中间参数,并将所述第一设备计算的中间参数发送给所述第二设备;
所述第二设备接收所述第一设备计算的中间参数,以及接收所述第三设备预先计算的随机参数;
所述第二设备根据来自所述第三设备的随机参数和所述第一设备计算的中间参数,计算第四私有参数;以及根据所述第四私有参数、所述第二私有参数和来自所述第三设备的随机参数,计算中间参数,并将所述第二设备计算的中间参数发送给所述第一设备;
所述第一设备接收所述第二设备计算的中间参数,根据所述第二设备计算的中间参数和来自所述第三设备的随机参数,计算第三私有参数;
其中,第三私有参数与第四私有参数的乘积为所述第一参数。
其中一种可能的实现方式中,所述第一设备接收第三设备预先计算的随机参数之前,还包括:
所述第三设备预先计算随机参数,所述随机参数包括:第一~第七随机参数,其中,第一随机参数与第二随机参数之和等于第五随机参数与第六随机参数的乘积;第三随机参数与第四随机参数之和等于第五随机参数与第七随机参数的乘积;并且,第五随机参数为奇数;第二随机参数和第四随机参数中一为奇数,一为偶数;
所述第三设备将第一随机参数、第三随机参数和第五随机参数发送给所述第一设备,将第二随机参数、第四随机参数、第六随机参数和第七随机参数发送给所述第二设备。
其中一种可能的实现方式中,所述第一设备接收第三设备预先计算的随机参数包括:
所述第一设备接收所述第三设备发送的第一随机参数、第三随机参数和第五随机参数;
所述第一设备根据所述第一私有参数和来自所述第三设备的随机参数计算中间参数,并将所述第一设备计算的中间参数发送给所述第二设备包括:
所述第一设备根据所述第一私有参数,以及第一随机参数、第三随机参数和第五随机参数计算第一中间参数和第二中间参数,并将第一中间参数和第二中间参数发送给所述第二设备。
其中一种可能的实现方式中,所述第二设备接收所述第一设备计算的中间参数,以及接收所述第三设备预先计算的随机参数包括:
所述第二设备接收所述第三设备发送的第二随机参数、第四随机参数、第六随机参数和第七随机参数,以及接收所述第一设备发送的第一中间参数和第二中间参数;
所述第二设备根据来自所述第三设备的随机参数和所述第一设备计算的中间参数,计算第四私有参数包括:
所述第二设备根据第六随机参数、第一中间参数、第七随机参数和第二中间参数计算第四私有参数;
所述第二设备根据所述第四私有参数、所述第二私有参数和来自所述第三设备的随机参数,计算中间参数,并将所述第二设备计算的中间参数发送给所述第一设备包括:
所述第二设备根据第四私有参数、第二私有参数、第二随机参数和第四随机参数计算第三中间参数,并将第三中间参数发送给所述第一设备;
所述第一设备接收所述第二设备计算的中间参数,根据所述第二设备计算的中间参数和来自所述第三设备的随机参数,计算第三私有参数包括:
所述第一设备接收第三中间参数,根据第五随机参数和第三中间参数,计算第三私有参数。
第二方面,本说明书实施例提供一种基于隐私保护的连乘计算装置,所述基于隐私保护的连乘计算装置设置在第一设备中,所述第一设备与第二设备进行连乘的安全计算;所述基于隐私保护的连乘计算装置包括:转换模块和计算模块;
对于以和共享形式存储在所述第一设备与所述第二设备中的n个参数,当需要对所述n个参数进行连乘计算时,所述转换模块,用于与所述第二设备运行安全和转积协议,将所述n个参数转换为积共享形式存储在所述第一设备和所述第二设备中;n>1,n为正整数;
计算模块,用于对所述第一设备存储的私有参数进行连乘计算,所述计算模块进行连乘计算获得的结果与所述第二设备连乘计算获得的结果以积共享形式存储在所述第一设备和所述第二设备中;
所述转换模块,还用于与所述第二设备运行安全积转和协议,将连乘计算获得的结果转换为和共享形式存储在所述第一设备和所述第二设备中。
其中一种可能的实现方式中,对于所述n个参数中的第一参数,所述第一参数以和共享形式存储在所述第一设备和所述第二设备中,其中,存储在所述第一设备中的参数为第一私有参数,存储在所述第二设备中的参数为第二私有参数,所述第一私有参数与所述第二私有参数之和为所述第一参数;
所述转换模块包括:
接收子模块,用于接收第三设备预先计算的随机参数;
参数计算子模块,用于根据所述第一私有参数和来自所述第三设备的随机参数计算中间参数;
发送子模块,用于将所述参数计算子模块计算的中间参数发送给所述第二设备;
所述接收子模块,还用于接收所述第二设备计算的中间参数;
所述参数计算子模块,还用于根据所述第二设备计算的中间参数和来自所述第三设备的随机参数,计算第三私有参数;其中,所述第二设备计算的中间参数是所述第二设备接收所述第一设备计算的中间参数,以及接收所述第三设备预先计算的随机参数,根据来自所述第三设备的随机参数和所述第一设备计算的中间参数,计算第四私有参数;以及根据所述第四私有参数、所述第二私有参数和来自所述第三设备的随机参数计算获得的;
其中,第三私有参数与第四私有参数的乘积为所述第一参数。
第三方面,本说明书实施例提供一种基于隐私保护的连乘计算系统,包括:第一设备和第二设备;对于以和共享形式存储在所述第一设备与所述第二设备中的n个参数,当需要对所述n个参数进行连乘计算时,所述第一设备与所述第二设备,用于运行安全和转积协议,将所述n个参数转换为积共享形式存储在所述第一设备和所述第二设备中;n>1,n为正整数;
所述第一设备与所述第二设备,用于对各自存储的私有参数进行连乘计算,连乘计算获得的结果以积共享形式存储在所述第一设备和所述第二设备中;
所述第一设备与所述第二设备,用于运行安全积转和协议,将连乘计算获得的结果转换为和共享形式存储在所述第一设备和所述第二设备中。
其中一种可能的实现方式中,所述系统还包括:第三设备;
对于所述n个参数中的第一参数,所述第一参数以和共享形式存储在所述第一设备和所述第二设备中,其中,存储在所述第一设备中的参数为第一私有参数,存储在所述第二设备中的参数为第二私有参数,所述第一私有参数与所述第二私有参数之和为所述第一参数;
所述第一设备,具体用于接收所述第三设备预先计算的随机参数;根据所述第一私有参数和来自所述第三设备的随机参数计算中间参数,并将所述第一设备计算的中间参数发送给所述第二设备;
所述第二设备,具体用于接收所述第一设备计算的中间参数,以及接收所述第三设备预先计算的随机参数;根据来自所述第三设备的随机参数和所述第一设备计算的中间参数,计算第四私有参数;以及根据所述第四私有参数、所述第二私有参数和来自所述第三设备的随机参数,计算中间参数,并将所述第二设备计算的中间参数发送给所述第一设备;
所述第一设备,具体用于接收所述第二设备计算的中间参数,根据所述第二设备计算的中间参数和来自所述第三设备的随机参数,计算第三私有参数;
其中,第三私有参数与第四私有参数的乘积为所述第一参数。
其中一种可能的实现方式中,所述第三设备,还用于预先计算随机参数,所述随机参数包括:第一~第七随机参数,其中,第一随机参数与第二随机参数之和等于第五随机参数与第六随机参数的乘积;第三随机参数与第四随机参数之和等于第五随机参数与第七随机参数的乘积;并且,第五随机参数为奇数;第二随机参数和第四随机参数中一为奇数,一为偶数;以及将第一随机参数、第三随机参数和第五随机参数发送给所述第一设备,将第二随机参数、第四随机参数、第六随机参数和第七随机参数发送给所述第二设备。
第四方面,本说明书实施例提供一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面提供的方法。
第五方面,本说明书实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面提供的方法。
应当理解的是,本说明书的第二~第五方面与本说明书的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
【附图说明】
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为现有相关技术中利用二叉树进行连乘计算的示意图;
图2为本说明书基于隐私保护的连乘计算方法一个实施例的流程图;
图3为本说明书基于隐私保护的连乘计算方法另一个实施例的流程图;
图4为本说明书基于隐私保护的连乘计算方法再一个实施例的流程图;
图5为本说明书基于隐私保护的连乘计算方法中安全和转积协议的示意图;
图6为本说明书基于隐私保护的连乘计算方法中安全积转和协议一个实施例的示意图;
图7为本说明书基于隐私保护的连乘计算装置一个实施例的结构示意图;
图8为本说明书基于隐私保护的连乘计算装置另一个实施例的结构示意图;
图9为本说明书基于隐私保护的连乘计算系统一个实施例的结构示意图;
图10为本说明书电子设备一个实施例的结构示意图。
【具体实施方式】
为了更好的理解本说明书的技术方案,下面结合附图对本说明书实施例进行详细描述。
应当明确,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本说明书保护的范围。
在本说明书实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
安全多方计算一个典型的应用是隐私保护的多方数据的联合统计分析和机器学习。现在假设有这样一个场景,某一小额贷款机构想训练一个模型,然后当用户想从该贷款机构贷款时,贷款机构可以利用上述模型预测该用户贷款的风险。但是该贷款机构只有用户标签(Label),上述用户标签用于表示用户有没有按时还款,而训练上述模型,该贷款机构还需要用户行为数据,但该贷款机构并没有所需的用户行为数据,然后电子支付平台中有大量的用户行为数据,上述用户行为数据可以包括用户每月入账多少钱、消费多少钱和/或信用卡有没有逾期等。
这种情形下,贷款机构就可以与电子支付平台合作,共同训练上述模型,但是,贷款机构不想把自己的用户标签公开给电子支付平台,同样,电子支付平台也不想把自己的用户行为数据公开给上述贷款机构。基于这样的需求,贷款机构中的A设备和电子支付平台中的B设备就可以以和共享形式训练上述模型,A设备可以将贷款机构中的用户标签以和共享形式存储在A设备和B设备中,B设备也可以将电子支付平台中的用户行为数据以和共享形式存储在A设备和B设备中。
然后A设备和B设备利用上述用户标签和用户行为数据,采用机器学习算法以和共享形式训练上述模型,在训练结束之后,训练获得的模型同样是以和共享形式存储在A设备和B设备中,然后,B设备可以根据贷款机构和电子支付平台预先签订的协议,将自身保存的模型发送给A设备。整个训练过程中,A设备和B设备均未暴露自身的原始数据。
具体来说,在两方安全计算中,和共享形式是指将一个数x in Z/2^NZ以a+b mod2^N的形式存储在A和B两设备中,其中,ain Z/2^NZ存储于A设备中,对B设备不可见;b inZ/2^NZ存储于B设备中,对A设备不可见。
和共享形式的安全计算,即保持和共享形式进行计算,计算过程中A设备始终无法推断出b,B设备始终无法推断出a,计算结果依然以和共享形式存储于A和B两设备中。
在A设备和B设备采用机器学习算法训练模型的过程中,会用到sigmoid()函数,这个函数的计算可以通过连乘计算实现,那么假设有x1,x2,…,xn in Z/2^nZ,以和共享形式存储于A和B两设备中,如何安全计算
图1为现有相关技术中利用二叉树进行连乘计算的示意图,现有相关技术中,如图1所示,需要构建一棵二叉树,将一个乘数对应到二叉树的一个叶子节点,并且从底到顶逐层归纳地计算每一层的计算可以并行执行,也就是说,A设备与B设备可并行计算x1×x2与x3×x4,但是若要计算(x1×x2×x3×x4),那么A设备与B设备需要进行一轮交互,因此整个计算过程中,A设备与B设备需要进行交互的轮数为上述二叉树的高度,即log2n次,这样,当n较大时,A设备与B设备的交互轮数较多,通信量较大,进而整个连乘的计算过程的耗时较长。
为解决上述问题,本说明书实施例提供一种基于隐私保护的连乘计算方法,通过运行安全和转积协议,将两方的安全连乘问题转化为两个运算参与方内部单独的连乘问题。待两方内部单独计算连乘完毕后,再通过运行安全积转和协议得到以和共享形式表示的最终结果。整个计算过程只需要两轮交互,通信量为O(N)。
图2为本说明书基于隐私保护的连乘计算方法一个实施例的流程图,上述连乘计算方法由第一设备与第二设备通过两方安全计算实现;
如图2所示,上述基于隐私保护的连乘计算方法可以包括:
步骤202,对于以和共享形式存储在第一设备与第二设备中的n个参数,当需要对上述n个参数进行连乘计算时,第一设备与第二设备运行安全和转积协议,将上述n个参数转换为积共享形式存储在第一设备和第二设备中,n>1,n为正整数。
具体实现时,第一设备与第二设备可以并行执行将n个参数转换为积共享形式存储在第一设备和第二设备的过程,这个过程中,第一设备与第二设备仅需要一轮交互,通信量O(n)。
步骤204,第一设备与第二设备对各自存储的私有参数进行连乘计算,连乘计算获得的结果以积共享形式存储在上述第一设备和上述第二设备中。
步骤206,第一设备与第二设备运行安全积转和协议,将连乘计算获得的结果转换为和共享形式存储在上述第一设备和上述第二设备中。
上述基于隐私保护的连乘计算方法中,对于以和共享形式存储在第一设备与第二设备中的n个参数,当需要对n个参数进行连乘计算时,第一设备与第二设备运行安全和转积协议,将上述n个参数转换为积共享形式存储在第一设备和第二设备中,接下来第一设备与第二设备对各自存储的私有参数进行连乘计算,在第一设备与第二设备内部单独计算连乘完毕后,运行安全积转和协议,将连乘计算获得的结果转换为和共享形式存储在上述第一设备和上述第二设备中,整个计算过程只需要两轮交互,通信量为O(N),从而可以减少两方连乘安全计算过程中,两设备之间的交互轮数,降低两设备之间的通信量,进而可以缩短整个计算过程的耗时。
图3为本说明书基于隐私保护的连乘计算方法另一个实施例的流程图,如图3所示,本说明书图2所示实施例中,对于n个参数中的第一参数,第一参数以和共享形式存储在第一设备和第二设备中,其中,存储在上述第一设备中的参数为第一私有参数,存储在上述第二设备中的参数为第二私有参数,第一私有参数与第二私有参数之和为上述第一参数;
这样,步骤202中,第一设备与第二设备运行安全和转积协议,将第一参数转换为积共享形式存储在第一设备和第二设备中的过程可以包括:
步骤302,第一设备接收第三设备预先计算的随机参数。
其中,第三设备独立于第一设备与第二设备,用于进行半可信服务预计算,获得随机参数。
步骤304,第一设备根据上述第一私有参数和来自第三设备的随机参数计算中间参数,并将第一设备计算的中间参数发送给第二设备。
步骤306,第二设备接收第一设备计算的中间参数,以及接收第三设备预先计算的随机参数。
步骤308,第二设备根据来自第三设备的随机参数和第一设备计算的中间参数,计算第四私有参数;以及根据上述第四私有参数、上述第二私有参数和来自第三设备的随机参数,计算中间参数,并将第二设备计算的中间参数发送给第一设备。
步骤310,第一设备接收第二设备计算的中间参数,根据第二设备计算的中间参数和来自第三设备的随机参数,计算第三私有参数。
其中,第三私有参数与第四私有参数的乘积为第一参数。
这样,就可以实现将第一参数由和共享形式转换为积共享形式,对于n个参数均按照步骤302~步骤310提供的方法进行转换,即可将n个参数均转换为积共享形式,存储在第一设备和第二设备中。并且具体实现时,第一设备与第二设备可以并行执行将n个参数转换为积共享形式存储在第一设备和第二设备的过程,这个过程中,第一设备与第二设备仅需要一轮交互,通信量O(n)。
图4为本说明书基于隐私保护的连乘计算方法再一个实施例的流程图,如图4所示,本说明书图3所示实施例中,步骤302之前,还可以包括:
步骤402,第三设备预先计算随机参数,上述随机参数可以包括:第一~第七随机参数,其中,第一随机参数与第二随机参数之和等于第五随机参数与第六随机参数的乘积;第三随机参数与第四随机参数之和等于第五随机参数与第七随机参数的乘积;并且,第五随机参数为奇数;第二随机参数和第四随机参数中一为奇数,一为偶数。
步骤404,第三设备将第一随机参数、第三随机参数和第五随机参数发送给第一设备,将第二随机参数、第四随机参数、第六随机参数和第七随机参数发送给第二设备。
这样,步骤302可以为:
步骤406,第一设备接收第三设备发送的第一随机参数、第三随机参数和第五随机参数。
步骤304可以为:
步骤408,第一设备根据第一私有参数,以及第一随机参数、第三随机参数和第五随机参数计算第一中间参数和第二中间参数,并将第一中间参数和第二中间参数发送给第二设备。
步骤306可以为:
步骤410,第二设备接收第三设备发送的第二随机参数、第四随机参数、第六随机参数和第七随机参数,以及接收第一设备发送的第一中间参数和第二中间参数。
步骤308可以包括:
步骤412,第二设备根据第六随机参数、第一中间参数、第七随机参数和第二中间参数计算第四私有参数。
步骤414,第二设备根据第四私有参数、第二私有参数、第二随机参数和第四随机参数计算第三中间参数,并将第三中间参数发送给第一设备。
这样,步骤310可以为:
步骤416,第一设备接收第三中间参数,根据第五随机参数和第三中间参数,计算第三私有参数。
下面以第一参数为x,第一设备为A设备,第二设备为B设备为例,对和共享形式转换为积共享形式的方法进行介绍。
x in Z/2^NZ以a+b mod 2^N的形式存储在A和B两设备中,其中,a in Z/2^NZ存储于A设备中,对B设备不可见;b in Z/2^NZ存储于B设备中,对A设备不可见;a为第一私有参数,b为第二私有参数。
图5为本说明书基于隐私保护的连乘计算方法中安全和转积协议的示意图,如图5所示,可以包括:
步骤502,W设备进行半可信服务预计算,生成随机参数,上述随机参数可以包括:a0,b0,a1,b1,u0,v0,v1;其中,W设备为第三设备,a0为第一随机参数,b0为第二随机参数,a1为第三随机参数,b1为第四随机参数,u0为第五随机参数,v0为第六随机参数,v1为第七随机参数。
并且,a0+b0=u0×v0 mod 2N;
a1+b1=u0×v1 mod 2N;
u0为奇数,b0和b1中一为奇数,一为偶数。
步骤504,W设备将a0,a1,u0发送给A设备,将b0,b1,v0,v1发送给B设备。
步骤506,A设备接收W设备发送的a0,a1,u0,根据a,a0,a1和u0计算t0和t1;t0为第一中间参数,t1为第二中间参数。
具体地,A设备可以按照以下公式计算t0和t1。
步骤508,A设备将t0和t1发送给B设备。
步骤510,B设备接收A设备发送的t0和t1,根据v0,t0,v1,t0计算xR;xR为第四私有参数。
具体地,B设备可以按照以下公式计算xR。
步骤512,B设备根据xR,b,b0和b1计算s,s为第三中间参数。
具体地,B设备可以按照以下公式计算s。
步骤514,B设备将s发送给A设备。
步骤516,A设备接收s,根据u0和s计算xL,其中,xL为第三私有参数。
具体地,A设备可以按照以下公式计算xL。
xL=u0+s mod 2N
在安全和转积协议运行结束之后,有xLxR=x=a+b,其中,xR对A设备不可见,xL对B设备不可见。
当需要对x1,x2,…,xn这n个数进行连乘计算时,x1,x2,…,xn以和共享形式存储在A和B两设备中,那么首先,A设备和B设备可以按照本说明书图5所示实施例提供的方法,运行安全和转积协议,得到x1,x2,…,xn的积共享表示,如下:
其次,A设备自行计算yL,B设备自行计算yR,如下所示:
再次,A设备和B设备运行安全积转和协议,分别得到zL,zRinZ/2^NZ,满足zL+zR=yLyR mod 2N。
具体地,安全积转和协议可以按照图6所示的方法进行,图6为本说明书基于隐私保护的连乘计算方法中安全积转和协议一个实施例的示意图。图6中假设一个数以积共享形式存储在A和B两设备中,存储在A设备中的参数为yL,存储在B设备中的参数为yR。
如图6所示,首先,W设备预先计算随机参数,这里的随机参数可以包括z0,z1,u和v,并且z0+z1=uv;然后W设备将z0,u发送给A设备,将z1,v发送给B设备;
其次,A设备计算中间参数e,将e发送给B设备,其中,e=yL-u;B设备计算中间参数f,将f发送给A设备,其中,f=yR-v;
再次,A设备计算zL,zL=uf+z0;B设备计算zR,zR=eyR+z1;
其中,zL+zR=uf+eyR+uv=uyR-uv+yLyR-uyR+uv=yLyR。
也就是说,在安全积转和协议运行结束之后,有zL+zR=yLyR mod2N,其中,zR对A设备不可见,zL对B设备不可见。
本说明书实施例提供的基于隐私保护的连乘计算方法中,A设备和B设备需要运行n个安全和转积协议,A设备和B设备可并行运行这n个安全和转积协议,A设备和B设备需要1轮交互,通信量O(n);在A设备和B设备各自进行连乘计算时,A设备和B设备之间不需要交互;最后,A设备和B设备运行1个安全积转和协议,A设备和B设备需要1轮交互,通信量O(1);因此,总的来说,本说明书实施例提供的基于隐私保护的连乘计算方法中,A设备和B设备需要2轮交互,通信量为O(n),从而可以减少两方连乘安全计算过程中,两设备之间的交互轮数,降低两设备之间的通信量,进而可以缩短整个计算过程的耗时。
本说明书实施例提供的基于隐私保护的连乘计算方法可以应用于两方设备基于隐私保护的连乘计算的场景,举例来说,机器学习场景中,经常会用到sigmoid()函数,这个函数的计算可以通过连乘计算实现,这时就可以采用本说明书实施例提供的基于隐私保护的连乘计算方法来进行上述连乘计算。
当然上述基于隐私保护的连乘计算方法并不仅限于应用于机器学习场景中,在两方安全计算中,任何需要对和共享形式存储的数据进行连乘计算的场景均可以使用本说明书实施例提供的方法。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
图7为本说明书基于隐私保护的连乘计算装置一个实施例的结构示意图,本实施例中的基于隐私保护的连乘计算装置可以设置在第一设备中,第一设备与第二设备进行连乘的安全计算;如图7所示,上述基于隐私保护的连乘计算装置可以包括:转换模块71和计算模块72;
其中,对于以和共享形式存储在第一设备与第二设备中的n个参数,当需要对上述n个参数进行连乘计算时,转换模块71,用于与上述第二设备运行安全和转积协议,将n个参数转换为积共享形式存储在第一设备和第二设备中;n>1,n为正整数;
计算模块72,用于对第一设备存储的私有参数进行连乘计算,计算模块72进行连乘计算获得的结果与第二设备连乘计算获得的结果以积共享形式存储在第一设备和第二设备中;
转换模块71,还用于与第二设备运行安全积转和协议,将连乘计算获得的结果转换为和共享形式存储在第一设备和第二设备中。
图7所示实施例提供的基于隐私保护的连乘计算装置可用于执行本说明书图2所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。
图8为本说明书基于隐私保护的连乘计算装置另一个实施例的结构示意图,本实施例中,对于n个参数中的第一参数,第一参数以和共享形式存储在上述第一设备和上述第二设备中,其中,存储在第一设备中的参数为第一私有参数,存储在第二设备中的参数为第二私有参数,第一私有参数与第二私有参数之和为上述第一参数;与图7所示的基于隐私保护的连乘计算装置相比,图8所示的基于隐私保护的连乘计算装置中,转换模块71可以包括:接收子模块711、参数计算子模块712和发送子模块713;
其中,接收子模块711,用于接收第三设备预先计算的随机参数;
参数计算子模块712,用于根据第一私有参数和来自上述第三设备的随机参数计算中间参数;
发送子模块713,用于将参数计算子模块712计算的中间参数发送给第二设备;
接收子模块711,还用于接收第二设备计算的中间参数;
参数计算子模块712,还用于根据第二设备计算的中间参数和来自第三设备的随机参数,计算第三私有参数;其中,第二设备计算的中间参数是第二设备接收第一设备计算的中间参数,以及接收第三设备预先计算的随机参数,根据来自第三设备的随机参数和第一设备计算的中间参数,计算第四私有参数;以及根据第四私有参数、第二私有参数和来自上述第三设备的随机参数计算获得的。
其中,第三私有参数与第四私有参数的乘积为第一参数。
图8所示实施例提供的基于隐私保护的连乘计算装置可用于执行本申请图2~图4所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。
图9为本说明书基于隐私保护的连乘计算系统一个实施例的结构示意图,如图9所示,上述基于隐私保护的连乘计算系统可以包括:第一设备91和第二设备92;
对于以和共享形式存储在第一设备与第二设备中的n个参数,当需要对上述n个参数进行连乘计算时,第一设备91与第二设备92,用于运行安全和转积协议,将上述n个参数转换为积共享形式存储在第一设备91和第二设备92中;n>1,n为正整数;
第一设备91与第二设备92,用于对各自存储的私有参数进行连乘计算,连乘计算获得的结果以积共享形式存储在第一设备91和第二设备92中;
第一设备91与第二设备92,用于运行安全积转和协议,将连乘计算获得的结果转换为和共享形式存储在第一设备91和第二设备92中。
进一步地,上述基于隐私保护的连乘计算系统还可以包括:第三设备93;
对于所述n个参数中的第一参数,上述第一参数以和共享形式存储在第一设备91和第二设备92中,其中,存储在第一设备91中的参数为第一私有参数,存储在第二设备92中的参数为第二私有参数,上述第一私有参数与上述第二私有参数之和为第一参数;
第一设备91,具体用于接收第三设备93预先计算的随机参数;根据上述第一私有参数和来自上述第三设备93的随机参数计算中间参数,并将上述第一设备91计算的中间参数发送给第二设备92;
第二设备92,具体用于接收第一设备91计算的中间参数,以及接收第三设备93预先计算的随机参数;根据来自第三设备93的随机参数和第一设备91计算的中间参数,计算第四私有参数;以及根据上述第四私有参数、上述第二私有参数和来自上述第三设备93的随机参数,计算中间参数,并将第二设备92计算的中间参数发送给第一设备91;
第一设备91,具体用于接收第二设备92计算的中间参数,根据第二设备92计算的中间参数和来自第三设备93的随机参数,计算第三私有参数;
其中,第三私有参数与第四私有参数的乘积为第一参数。
本实施例中,第三设备93,还用于预先计算随机参数,上述随机参数包括:第一~第七随机参数,其中,第一随机参数与第二随机参数之和等于第五随机参数与第六随机参数的乘积;第三随机参数与第四随机参数之和等于第五随机参数与第七随机参数的乘积;并且,第五随机参数为奇数;第二随机参数和第四随机参数中一为奇数,一为偶数;以及将第一随机参数、第三随机参数和第五随机参数发送给第一设备91,将第二随机参数、第四随机参数、第六随机参数和第七随机参数发送给第二设备92。
图9所示实施例提供的基于隐私保护的连乘计算系统可用于执行本申请图2~图6所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。
图10为本说明书电子设备一个实施例的结构示意图,如图10所示,上述电子设备可以包括至少一个处理器;以及与上述处理器通信连接的至少一个存储器,其中:存储器存储有可被处理器执行的程序指令,上述处理器调用上述程序指令能够执行本说明书图2~图6所示实施例提供的基于隐私保护的连乘计算方法。
其中,上述电子设备可以作为第一设备,也可以作为第二设备,上述电子设备可以为智能手机、智能手表、可穿戴智能设备、平板电脑、笔记本电脑、PC或服务器等智能设备,本实施例对上述电子设备的具体形态不作限定。
图10示出了适于用来实现本说明书实施方式的示例性电子设备的框图。图10显示的电子设备仅仅是一个示例,不应对本说明书实施例的功能和使用范围带来任何限制。
如图10所示,电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:一个或者多个处理器410,通信接口420,存储器430,连接不同组件(包括存储器430、通信接口420和处理单元410)的通信总线440。
通信总线440表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
电子设备典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器430可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)和/或高速缓存存储器。存储器430可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本说明书各实施例的功能。
具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器430中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本说明书所描述的实施例中的功能和/或方法。
处理器410通过运行存储在存储器430中的程序,从而执行各种功能应用以及数据处理,例如实现本说明书图2~图6所示实施例提供的基于隐私保护的连乘计算方法。
本说明书实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行本说明书图2~图6所示实施例提供的基于隐私保护的连乘计算方法。
上述非暂态计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(Read Only Memory;以下简称:ROM)、可擦式可编程只读存储器(Erasable ProgrammableRead Only Memory;以下简称:EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本说明书操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network;以下简称:LAN)或广域网(Wide Area Network;以下简称:WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本说明书的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本说明书的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本说明书的实施例所属技术领域的技术人员所理解。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
需要说明的是,本说明书实施例中所涉及的终端可以包括但不限于个人计算机(Personal Computer;以下简称:PC)、个人数字助理(Personal Digital Assistant;以下简称:PDA)、无线手持设备、平板电脑(Tablet Computer)、手机、MP3播放器、MP4播放器等。
在本说明书所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本说明书各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本说明书各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (12)
1.一种基于隐私保护的连乘计算方法,其特征在于,所述连乘计算方法由第一设备与第二设备通过两方安全计算实现,所述连乘计算方法包括:
对于以和共享形式存储在所述第一设备与所述第二设备中的n个参数,当需要对所述n个参数进行连乘计算时,所述第一设备与所述第二设备运行安全和转积协议,将所述n个参数转换为积共享形式存储在所述第一设备和所述第二设备中;n>1,n为正整数;
所述第一设备与所述第二设备对各自存储的私有参数进行连乘计算,连乘计算获得的结果以积共享形式存储在所述第一设备和所述第二设备中;
所述第一设备与所述第二设备运行安全积转和协议,将连乘计算获得的结果转换为和共享形式存储在所述第一设备和所述第二设备中。
2.根据权利要求1所述的方法,其特征在于,对于所述n个参数中的第一参数,所述第一参数以和共享形式存储在所述第一设备和所述第二设备中,其中,存储在所述第一设备中的参数为第一私有参数,存储在所述第二设备中的参数为第二私有参数,所述第一私有参数与所述第二私有参数之和为所述第一参数;
所述第一设备与所述第二设备运行安全和转积协议,将所述n个参数转换为积共享形式存储在所述第一设备和所述第二设备中包括:
所述第一设备接收第三设备预先计算的随机参数;
所述第一设备根据所述第一私有参数和来自所述第三设备的随机参数计算中间参数,并将所述第一设备计算的中间参数发送给所述第二设备;
所述第二设备接收所述第一设备计算的中间参数,以及接收所述第三设备预先计算的随机参数;
所述第二设备根据来自所述第三设备的随机参数和所述第一设备计算的中间参数,计算第四私有参数;以及根据所述第四私有参数、所述第二私有参数和来自所述第三设备的随机参数,计算中间参数,并将所述第二设备计算的中间参数发送给所述第一设备;
所述第一设备接收所述第二设备计算的中间参数,根据所述第二设备计算的中间参数和来自所述第三设备的随机参数,计算第三私有参数;
其中,第三私有参数与第四私有参数的乘积为所述第一参数。
3.根据权利要求2所述的方法,其特征在于,所述第一设备接收第三设备预先计算的随机参数之前,还包括:
所述第三设备预先计算随机参数,所述随机参数包括:第一~第七随机参数,其中,第一随机参数与第二随机参数之和等于第五随机参数与第六随机参数的乘积;第三随机参数与第四随机参数之和等于第五随机参数与第七随机参数的乘积;并且,第五随机参数为奇数;第二随机参数和第四随机参数中一为奇数,一为偶数;
所述第三设备将第一随机参数、第三随机参数和第五随机参数发送给所述第一设备,将第二随机参数、第四随机参数、第六随机参数和第七随机参数发送给所述第二设备。
4.根据权利要求3所述的方法,其特征在于,所述第一设备接收第三设备预先计算的随机参数包括:
所述第一设备接收所述第三设备发送的第一随机参数、第三随机参数和第五随机参数;
所述第一设备根据所述第一私有参数和来自所述第三设备的随机参数计算中间参数,并将所述第一设备计算的中间参数发送给所述第二设备包括:
所述第一设备根据所述第一私有参数,以及第一随机参数、第三随机参数和第五随机参数计算第一中间参数和第二中间参数,并将第一中间参数和第二中间参数发送给所述第二设备。
5.根据权利要求4所述的方法,其特征在于,所述第二设备接收所述第一设备计算的中间参数,以及接收所述第三设备预先计算的随机参数包括:
所述第二设备接收所述第三设备发送的第二随机参数、第四随机参数、第六随机参数和第七随机参数,以及接收所述第一设备发送的第一中间参数和第二中间参数;
所述第二设备根据来自所述第三设备的随机参数和所述第一设备计算的中间参数,计算第四私有参数包括:
所述第二设备根据第六随机参数、第一中间参数、第七随机参数和第二中间参数计算第四私有参数;
所述第二设备根据所述第四私有参数、所述第二私有参数和来自所述第三设备的随机参数,计算中间参数,并将所述第二设备计算的中间参数发送给所述第一设备包括:
所述第二设备根据第四私有参数、第二私有参数、第二随机参数和第四随机参数计算第三中间参数,并将第三中间参数发送给所述第一设备;
所述第一设备接收所述第二设备计算的中间参数,根据所述第二设备计算的中间参数和来自所述第三设备的随机参数,计算第三私有参数包括:
所述第一设备接收第三中间参数,根据第五随机参数和第三中间参数,计算第三私有参数。
6.一种基于隐私保护的连乘计算装置,其特征在于,所述基于隐私保护的连乘计算装置设置在第一设备中,所述第一设备与第二设备进行连乘的安全计算,所述基于隐私保护的连乘计算装置包括:转换模块和计算模块;
对于以和共享形式存储在所述第一设备与所述第二设备中的n个参数,当需要对所述n个参数进行连乘计算时,所述转换模块,用于与所述第二设备运行安全和转积协议,将所述n个参数转换为积共享形式存储在所述第一设备和所述第二设备中;n>1,n为正整数;
计算模块,用于对所述第一设备存储的私有参数进行连乘计算,所述计算模块进行连乘计算获得的结果与所述第二设备连乘计算获得的结果以积共享形式存储在所述第一设备和所述第二设备中;
所述转换模块,还用于与所述第二设备运行安全积转和协议,将连乘计算获得的结果转换为和共享形式存储在所述第一设备和所述第二设备中。
7.根据权利要求6所述的装置,其特征在于,对于所述n个参数中的第一参数,所述第一参数以和共享形式存储在所述第一设备和所述第二设备中,其中,存储在所述第一设备中的参数为第一私有参数,存储在所述第二设备中的参数为第二私有参数,所述第一私有参数与所述第二私有参数之和为所述第一参数;
所述转换模块包括:
接收子模块,用于接收第三设备预先计算的随机参数;
参数计算子模块,用于根据所述第一私有参数和来自所述第三设备的随机参数计算中间参数;
发送子模块,用于将所述参数计算子模块计算的中间参数发送给所述第二设备;
所述接收子模块,还用于接收所述第二设备计算的中间参数;
所述参数计算子模块,还用于根据所述第二设备计算的中间参数和来自所述第三设备的随机参数,计算第三私有参数;其中,所述第二设备计算的中间参数是所述第二设备接收所述第一设备计算的中间参数,以及接收所述第三设备预先计算的随机参数,根据来自所述第三设备的随机参数和所述第一设备计算的中间参数,计算第四私有参数;以及根据所述第四私有参数、所述第二私有参数和来自所述第三设备的随机参数计算获得的;
其中,第三私有参数与第四私有参数的乘积为所述第一参数。
8.一种基于隐私保护的连乘计算系统,其特征在于,包括:第一设备和第二设备;
对于以和共享形式存储在所述第一设备与所述第二设备中的n个参数,当需要对所述n个参数进行连乘计算时,所述第一设备与所述第二设备,用于运行安全和转积协议,将所述n个参数转换为积共享形式存储在所述第一设备和所述第二设备中;n>1,n为正整数;
所述第一设备与所述第二设备,用于对各自存储的私有参数进行连乘计算,连乘计算获得的结果以积共享形式存储在所述第一设备和所述第二设备中;
所述第一设备与所述第二设备,用于运行安全积转和协议,将连乘计算获得的结果转换为和共享形式存储在所述第一设备和所述第二设备中。
9.根据权利要求8所述的系统,其特征在于,还包括:第三设备;
对于所述n个参数中的第一参数,所述第一参数以和共享形式存储在所述第一设备和所述第二设备中,其中,存储在所述第一设备中的参数为第一私有参数,存储在所述第二设备中的参数为第二私有参数,所述第一私有参数与所述第二私有参数之和为所述第一参数;
所述第一设备,具体用于接收所述第三设备预先计算的随机参数;根据所述第一私有参数和来自所述第三设备的随机参数计算中间参数,并将所述第一设备计算的中间参数发送给所述第二设备;
所述第二设备,具体用于接收所述第一设备计算的中间参数,以及接收所述第三设备预先计算的随机参数;根据来自所述第三设备的随机参数和所述第一设备计算的中间参数,计算第四私有参数;以及根据所述第四私有参数、所述第二私有参数和来自所述第三设备的随机参数,计算中间参数,并将所述第二设备计算的中间参数发送给所述第一设备;
所述第一设备,具体用于接收所述第二设备计算的中间参数,根据所述第二设备计算的中间参数和来自所述第三设备的随机参数,计算第三私有参数;
其中,第三私有参数与第四私有参数的乘积为所述第一参数。
10.根据权利要求9所述的系统,其特征在于,
所述第三设备,还用于预先计算随机参数,所述随机参数包括:第一~第七随机参数,其中,第一随机参数与第二随机参数之和等于第五随机参数与第六随机参数的乘积;第三随机参数与第四随机参数之和等于第五随机参数与第七随机参数的乘积;并且,第五随机参数为奇数;第二随机参数和第四随机参数中一为奇数,一为偶数;以及将第一随机参数、第三随机参数和第五随机参数发送给所述第一设备,将第二随机参数、第四随机参数、第六随机参数和第七随机参数发送给所述第二设备。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至5任一所述的方法。
12.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至5任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010163056.4A CN111461858B (zh) | 2020-03-10 | 2020-03-10 | 基于隐私保护的连乘计算方法、装置、系统和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010163056.4A CN111461858B (zh) | 2020-03-10 | 2020-03-10 | 基于隐私保护的连乘计算方法、装置、系统和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111461858A CN111461858A (zh) | 2020-07-28 |
CN111461858B true CN111461858B (zh) | 2023-02-17 |
Family
ID=71679223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010163056.4A Active CN111461858B (zh) | 2020-03-10 | 2020-03-10 | 基于隐私保护的连乘计算方法、装置、系统和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111461858B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008135951A1 (en) * | 2007-05-08 | 2008-11-13 | Koninklijke Philips Electronics N.V. | Method and a system for performing an oblivious query issued by a first party on a string provided by a second party |
EP2530867A1 (fr) * | 2011-05-31 | 2012-12-05 | Oberthur Technologies | Procédé de traitement cryptographique de données |
WO2015026385A1 (en) * | 2013-08-19 | 2015-02-26 | Thomson Licensing | Method and apparatus for utility-aware privacy preserving mapping in view of collusion and composition |
CN110546642A (zh) * | 2018-10-17 | 2019-12-06 | 阿里巴巴集团控股有限公司 | 不利用可信初始化器的安全多方计算 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE408940T1 (de) * | 2003-11-03 | 2008-10-15 | Koninkl Philips Electronics Nv | Verfahren und einrichtung zur effizienten mehrteilnehmer-vervielfachung |
US8433925B2 (en) * | 2009-09-04 | 2013-04-30 | Gradiant | Cryptographic system for performing secure computations and signal processing directly on encrypted data in untrusted environments |
US10360392B2 (en) * | 2014-08-01 | 2019-07-23 | National Ict Australia Limited | Generating shares of secret data |
JP6988807B2 (ja) * | 2016-08-18 | 2022-01-05 | 日本電気株式会社 | 秘密計算システム、秘密計算方法、秘密計算装置および秘密計算プログラム |
EP3662615B1 (en) * | 2017-08-03 | 2023-01-11 | HRL Laboratories, LLC | Privacy-preserving multi-client and cloud computation with application to secure navigation |
EP3506547A1 (en) * | 2017-12-28 | 2019-07-03 | Flytxt B.V. | Providing security against user collusion in data analytics using random group selection |
-
2020
- 2020-03-10 CN CN202010163056.4A patent/CN111461858B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008135951A1 (en) * | 2007-05-08 | 2008-11-13 | Koninklijke Philips Electronics N.V. | Method and a system for performing an oblivious query issued by a first party on a string provided by a second party |
EP2530867A1 (fr) * | 2011-05-31 | 2012-12-05 | Oberthur Technologies | Procédé de traitement cryptographique de données |
WO2015026385A1 (en) * | 2013-08-19 | 2015-02-26 | Thomson Licensing | Method and apparatus for utility-aware privacy preserving mapping in view of collusion and composition |
CN110546642A (zh) * | 2018-10-17 | 2019-12-06 | 阿里巴巴集团控股有限公司 | 不利用可信初始化器的安全多方计算 |
Also Published As
Publication number | Publication date |
---|---|
CN111461858A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108628807B (zh) | 浮点数矩阵的处理方法、装置、设备及计算机可读存储介质 | |
US20210133352A1 (en) | Utilizing a mnemonic for communicating sensitive data | |
CN114528044B (zh) | 一种接口调用方法、装置、设备及介质 | |
CN110909527B (zh) | 文本处理模型的运行方法、装置、电子设备、及存储介质 | |
CN115908640A (zh) | 生成图像的方法、装置、可读介质及电子设备 | |
CN114818000A (zh) | 隐私保护的集合混淆求交方法、系统及相关设备 | |
US11651198B2 (en) | Data processing method and apparatus for neural network | |
CN111966473B (zh) | 一种线性回归任务的运行方法及装置、电子设备 | |
CN114399814A (zh) | 一种基于深度学习的遮挡物移除和三维重建方法 | |
CN111461858B (zh) | 基于隐私保护的连乘计算方法、装置、系统和电子设备 | |
CN111915689B (zh) | 用于生成目标函数的方法、装置、电子设备和计算机可读介质 | |
CN111340574B (zh) | 风险用户的识别方法、装置和电子设备 | |
CN112507323A (zh) | 基于单向网络的模型训练方法、装置和计算设备 | |
CN109949806B (zh) | 信息交互方法和装置 | |
TW202405714A (zh) | 基於5g消息應用的支付方法、裝置、設備、系統及介質 | |
CN114584284A (zh) | 同态加密操作方法、装置和电子设备 | |
CN112511361A (zh) | 模型训练方法、装置和计算设备 | |
CN112950501A (zh) | 基于噪声场的图像降噪方法、装置、设备及存储介质 | |
CN112580064A (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN113011459B (zh) | 模型训练方法、装置和计算设备 | |
CN111460515B (zh) | 数据匹配方法、装置和电子设备 | |
CN108509895B (zh) | 用于检测人脸图像的方法和装置 | |
CN116974519A (zh) | 布尔分享转算术分享的数据处理方法、系统及相关设备 | |
CN113971948A (zh) | 表示方法、语音识别方法、装置、电子设备 | |
CN113779980A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40034488 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |