CN114584285B - 安全多方处理方法及相关设备 - Google Patents
安全多方处理方法及相关设备 Download PDFInfo
- Publication number
- CN114584285B CN114584285B CN202210479045.6A CN202210479045A CN114584285B CN 114584285 B CN114584285 B CN 114584285B CN 202210479045 A CN202210479045 A CN 202210479045A CN 114584285 B CN114584285 B CN 114584285B
- Authority
- CN
- China
- Prior art keywords
- participant
- result
- determining
- comparison result
- original data
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请实施例公开了一种安全多方处理方法及相关设备,应用于安全多方计算系统,安全多方计算系统包括n个参与方;每一参与方均有对应的原始数据;方法包括:根据原始数据确定比特长度;通过第一参与方根据比特长度以及第一原始数据确定第一中间结果;通过第二参与方根据比特长度以及第二参与方对应的第二原始数据确定第二中间结果;根据第一中间结果、第二中间结果以及比特长度确定第一比较结果;根据第一原始数据、第二原始数据以及预设计算机比特长度确定第二比较结果;根据第一比较结果和第二比较结果确定每一参与方的运算结果,得到n个运算结果;根据n个运算结果确定目标运算结果。采用本申请实施例可以提升复杂函数的运算效率。
Description
技术领域
本申请涉及数据加密技术领域和数据处理技术领域,具体涉及一种安全多方处理方法及相关设备。
背景技术
目前,安全多方计算(multi-party computation,MPC)技术能够在多个参与方在不暴露各自输入数据的前提下,进行计算并获取结果。MPC为数据价值的安全释放提供了技术支撑,从而在隐私保护场景下广泛使用。
实际应用中,二元域上的代数运算构成功能完备集,任何电路都可以通过二元域上的代数运算进行模拟。因此,通用MPC协议仅仅只考虑一些基本的代数运算,如加法、乘法等。而对于实际场景中出现的一些复杂函数,如指数函数等,因此,如何提升复杂函数的运算效率的问题亟待解决。
发明内容
本申请实施例提供了一种安全多方处理方法及相关设备,可以提升复杂函数的运算效率。
第一方面,本申请实施例提供一种安全多方处理方法,应用于安全多方计算系统,所述安全多方计算系统包括n个参与方,n为大于1的整数;每一参与方均有对应的原始数据;
所述方法包括:
根据所述原始数据确定比特长度;
通过第一参与方根据所述比特长度以及所述第一原始数据确定第一中间结果,所述第一参与方为所述n个参与方中的一个参与方;
通过第二参与方根据所述比特长度以及所述第二参与方对应的第二原始数据确定第二中间结果,所述第二参与方为所述n个参与方中除所述第一参与方之外的参与方;
根据所述第一中间结果、所述第二中间结果以及所述比特长度确定第一比较结果;
根据所述第一原始数据、所述第二原始数据以及预设计算机比特长度确定第二比较结果;
根据所述第一比较结果和所述第二比较结果确定每一参与方的运算结果,得到n个运算结果;
根据所述n个运算结果确定目标运算结果。
第二方面,本申请实施例提供了一种安全多方处理装置,应用于安全多方计算系统,所述安全多方计算系统包括n个参与方,n为大于1的整数;每一参与方均有对应的原始数据;
所述装置包括:第一确定单元、第二确定单元、比较单元和运算单元,其中,
所述第一确定单元,用于根据所述原始数据确定比特长度;
所述第二确定单元,用于通过第一参与方根据所述比特长度以及所述第一原始数据确定第一中间结果,所述第一参与方为所述n个参与方中的一个参与方;以及通过第二参与方根据所述比特长度以及所述第二参与方对应的第二原始数据确定第二中间结果,所述第二参与方为所述n个参与方中除所述第一参与方之外的参与方;
所述比较单元,用于根据所述第一中间结果、所述第二中间结果以及所述比特长度确定第一比较结果;以及根据所述第一原始数据、所述第二原始数据以及预设计算机比特长度确定第二比较结果;
所述运算单元,用于根据所述第一比较结果和所述第二比较结果确定每一参与方的运算结果,得到n个运算结果;以及根据所述n个运算结果确定目标运算结果。
第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面中的步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
实施本申请实施例,具备如下有益效果:
可以看出,本申请实施例中所描述的安全多方处理方法及相关设备,应用于安全多方计算系统,安全多方计算系统包括n个参与方,n为大于1的整数;每一参与方均有对应的原始数据,根据原始数据确定比特长度;通过第一参与方根据比特长度以及第一原始数据确定第一中间结果,第一参与方为n个参与方中的一个参与方;通过第二参与方根据比特长度以及第二参与方对应的第二原始数据确定第二中间结果,第二参与方为n个参与方中除第一参与方之外的参与方;根据第一中间结果、第二中间结果以及比特长度确定第一比较结果;根据第一原始数据、第二原始数据以及预设计算机比特长度确定第二比较结果;根据第一比较结果和第二比较结果确定每一参与方的运算结果,得到n个运算结果;根据n个运算结果确定目标运算结果,进而,可以提升复杂函数,如指数函数的运算效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种用于实现安全多方处理方法的安全多方计算系统的结构示意图;
图2是本申请实施例提供的一种安全多方处理方法的流程示意图;
图3是本申请实施例提供的一种电子设备的结构示意图;
图4是本申请实施例提供的一种安全多方处理装置的功能单元组成框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例所描述计算节点可以为电子设备,电子设备可以包括智能手机(如Android手机、iOS手机、Windows Phone手机等)、平板电脑、掌上电脑、行车记录仪、交通指挥平台、服务器、笔记本电脑、移动互联网设备(MID,Mobile Internet Devices)或穿戴式设备(如智能手表、蓝牙耳机)等,上述仅是举例,而非穷举,包含但不限于上述电子设备,该电子设备也可以为云服务器,或者,该电子设备也可以为计算机集群。
下面对本申请实施例进行详细介绍。
相关技术中,针对复杂函数,例如,指数函数,往往通过多项式逼近的方法进行计算。这种做法存在如下两点问题:
(1)、对于多数函数,多项式逼近仅在局部有较好的效果,全局收敛性较差。因此在设计中,往往需要对于数据的大小范围做出假设,从而限制了这类协议的使用范围(或者说,需要根据不同的场景重新设计算法)。
(2)、使用通用协议组合构造出来的协议,性能往往很差,计算精度比明文计算的结果低很多。
为了解决相关技术的缺陷,请参阅图1,图1是本申请实施例提供的一种用于实现安全多方处理方法的安全多方计算系统的结构示意图,如图所示,本安全多方计算系统包括:n个参与方,分别为参与方1、参与方2、...、参与方n,n为大于1的整数。每一个参与方可以对应一个电子设备,每一参与方均有对应的原始数据,可以实现如下功能:
根据所述原始数据确定比特长度;
通过第一参与方根据所述比特长度以及所述第一原始数据确定第一中间结果,所述第一参与方为所述n个参与方中的一个参与方;
通过第二参与方根据所述比特长度以及所述第二参与方对应的第二原始数据确定第二中间结果,所述第二参与方为所述n个参与方中除所述第一参与方之外的参与方;
根据所述第一中间结果、所述第二中间结果以及所述比特长度确定第一比较结果;
根据所述第一原始数据、所述第二原始数据以及预设计算机比特长度确定第二比较结果;
根据所述第一比较结果和所述第二比较结果确定每一参与方的运算结果,得到n个运算结果;
根据所述n个运算结果确定目标运算结果。
可以看出,本申请实施例中所描述的安全多方计算系统,该安全多方计算系统包括n个参与方,n为大于1的整数;每一参与方均有对应的原始数据,根据原始数据确定比特长度;通过第一参与方根据比特长度以及第一原始数据确定第一中间结果,第一参与方为n个参与方中的一个参与方;通过第二参与方根据比特长度以及第二参与方对应的第二原始数据确定第二中间结果,第二参与方为n个参与方中除第一参与方之外的参与方;根据第一中间结果、第二中间结果以及比特长度确定第一比较结果;根据第一原始数据、第二原始数据以及预设计算机比特长度确定第二比较结果;根据第一比较结果和第二比较结果确定每一参与方的运算结果,得到n个运算结果;根据n个运算结果确定目标运算结果,进而,可以提升复杂函数,如指数函数的运算效率。
请参阅图2,图2是本申请实施例提供的一种安全多方处理方法的流程示意图,应用于图1所示的安全多方计算系统,所述安全多方计算系统包括n个参与方,n为大于1的整数;每一参与方均有对应的原始数据;如图所示,本安全多方处理方法包括:
201、根据所述原始数据确定比特长度。
其中,本申请实施例中,可以调用第一比较协议,基于第一比较协议根据原始数据确定比特长度。该比特长度可以为参与方的原始数据的比特长度,或者,该比特长度也可以为由所有参与方的原始数据构成的完整原始数据的比较长度。第一比较协议可以为基于秘密分享的比较协议。例如,针对任一参与方,该参与方可以调用第一比较协议,如:计算x的比特长度l,具体为:即比较x与2 i 的大小,其中,x为原始数据,。
具体实现中,原始数据可以以下至少一种:整型数据、浮点型数据等等,在此不做限定。当所有参与方的原始数据能够组成完整原始数据时,如以2个参与方为例,参与方P1拥有原始数据x1,参与方P2拥有原始数据x2,则其满足x=x1+x2 mod 2k,当然,具体实现中,也可以根据底层MPC协议的不同,计算过程中可能还存在其余的参与方。
本申请实施例,可以先假定一种通用的安全多方计算方法,如SPDZ算法,SecureNN算法等,可以支持多方安全计算k比特整数的加法、乘法和比较(计算机系统中k通常取32、64或128)等,秘密分享采用加性秘密分享,(浮点)数据采用精度为p比特的定点数表示。我们首先考虑的计算,其中,x是以加性秘密分享的状态存储在各参与方手中(为简单起见,以下假定是两个参与方分享x)。然后再将其扩展到的计算,其中,x由参与方P0完全占有,y由参与方P1完全占有。
可选的,所述n个参与方的原始数据均为完整原始数据的部分数据,或者,所述n个参与方的原始数据均为完全占有原始数据。
具体实现,n个参与方的原始数据均为完整原始数据的部分数据,即每个参与方只有完整原始数据的部分数据,另外,n个参与方的原始数据也可以均为完全占有原始数据。
202、通过第一参与方根据所述比特长度以及所述第一原始数据确定第一中间结果,所述第一参与方为所述n个参与方中的一个参与方。
具体实现中,以第一参与方为例,第一参与方为n个参与方中的任一个参与方,则可以按照如下公式确定第一中间结果:
u1=x1 mod 2 l
其中,u1表示第一中间结果,x1表示第一参与方的原始数据,l表示比特长度。
203、通过第二参与方根据所述比特长度以及所述第二参与方对应的第二原始数据确定第二中间结果,所述第二参与方为所述n个参与方中除所述第一参与方之外的参与方。
具体实现中,针对第二参与方,即第二参与方为n个参与方中除第一参与方之外的参与方,第二参与方的参与方数量为n-1个。也可以按照如下公式,根据比特长度以及第二参与方对应的第二原始数据确定第二中间结果,具体如下:
u2=x2 mod 2 l
其中,u2表示第二中间结果,x2表示第二参与方的原始数据,l表示比特长度。
204、根据所述第一中间结果、所述第二中间结果以及所述比特长度确定第一比较结果。
具体实现中,任一参与方可以调用第二比较协议,基于第二比较协议,比较u1+u2与2 l 的大小,进而,可以得到第一比较结果,可以将第一比较结果记为r0,其中,在第一比较结果为真时,记作r0=1,其表示u1+u2不小于2 l ,反之,在第一比较结果为假时,记作r0=0,其u1+u2小于2 l 。
其中,第二比较协议可以为基于秘密分享的比较协议。
205、根据所述第一原始数据、所述第二原始数据以及预设计算机比特长度确定第二比较结果。
其中,预设计算机比特长度也可以预先设置或者系统默认,例如,其可以记为k,其表示计算机比特长度,k为8的倍数。
具体实现中,任一参与方可以调用第三比较协议,基于第三比较协议,比较x1+x2与2 k 的大小,得到第二比较结果。该第二比较结果可以记为r1,其中,在第二比较结果为真时,其可以记作r1=1,其表示x1+x2不小于2 k ,反之,在第二比较结果为假时,其可以记作r1=0,其表示x1+x2小于2 k 。
其中,第三比较协议可以为基于秘密分享的比较协议。
具体实现中,第一比较协议、第二比较协议、第三比较协议可以为部分或者全部相同的比较协议,也可以为不同的比较协议。
206、根据所述第一比较结果和所述第二比较结果确定每一参与方的运算结果,得到n个运算结果。
具体实现中,针对第一比较结果、第二比较结果之间的不同,可以基于不同的情况下,确定每一方的运算结果,最终得到n个运算结果,即每一方对应一个运算结果。
可选的,上述步骤206,根据所述第一比较结果和所述第二比较结果确定每一参与方的运算结果,得到n个运算结果,可以包括如下步骤:
A61、在所述第一比较结果、所述第二比较结果中只有一个比较结果为真时,根据所述第一中间结果、所述比特长度更新所述第一中间结果;
A62、通过更新后的所述第一中间结果,确定所述第一参与方对应的运算结果;
A63、根据所述第二中间结果确定所述第二参与方对应的运算结果。
具体实现中,即如果r0=0,r1=1,则可以通过第一参与方按照如下公式计算更新后的第一中间结果,具体如下:
u1=u1+2 l
其中,该公式的左边u1为更新后的第一中间结果,该公式的右边u1为更新前的第一中间结果,l表示比特长度。
具体实现中,如果r0=1,r1=0,则可以通过第一参与方按照如下公式计算更新后的第一中间结果,具体如下:
u1=u1-2 l
其中,该公式的左边u1为更新后的第一中间结果,该公式的右边u1为更新前的第一中间结果,l表示比特长度。
进一步的,可以通过第一参与方按照如下公式确定其对应的运算结果,具体如下:
具体实现中,z1即为第一参与方的运算结果,可以将z1转化为精度为p的定点数,p为预先设置的原始数据的数据精度。
另外,还可以通过第二参与方按照如下公式确定其对应的运算结果,具体如下:
具体实现中,z2即为第二参与方的运算结果,可以将z2转化为精度为p的定点数,p为预先设置的原始数据的数据精度。
可选的,上述步骤206,根据所述第一比较结果和所述第二比较结果确定每一参与方的运算结果,得到n个运算结果,可以包括如下步骤:
B61、在所述第一比较结果、所述第二比较结果均为真,或者,所述第一比较结果、所述第二比较结果均为假时,根据所述第一中间结果确定所述第一参与方对应的运算结果;
B62、根据所述第二中间结果确定所述第二参与方对应的运算结果。
其中,在第一比较结果、第二比较结果均为真,或者,第一比较结果、第二比较结果均为假时,则不需要更新第一中间结果和第二中间结果,则可以直接利用第一中间结果和第二中间结果确定每一参与方的运算结果。
具体的,可以通过第一参与方按照如下公式确定其对应的运算结果,具体如下:
具体实现中,z1即为第一参与方的运算结果,可以将z1转化为精度为p的定点数,p为预先设置的原始数据的数据精度。
另外,还可以通过第二参与方按照如下公式确定其对应的运算结果,具体如下:
具体实现中,z2即为第二参与方的运算结果,可以将z2转化为精度为p的定点数,p为预先设置的原始数据的数据精度。
207、根据所述n个运算结果确定目标运算结果。
具体实现中,参与方可以调用乘法协议,基于乘法协议,将n个运算结果转化为目标运算结果,例如,参与方可以调用乘法协议,计算z1与z2的乘积。本申请实施例中,乘法协议可以为基于秘密分享的乘法协议。
具体实现中,举例说明下,在多个参与方的情况,以计算过程为例,x为原始数据,y为目标运算结果,其中,假设参与方P1拥有x1,参与方P2拥有x2,…,Pn拥有xn,且满足x=x1+x2+…+xn mod 2k,n为大于或等于2的整数,则计算过程可以包括如下步骤:
1、参与方调用比较协议,计算x的比特长度l,即比较x与2 i 的大小。
2、各个参与方在本地执行如下运算:
参与方1(P1)计算u1=x1 mod 2 l ;
参与方2(P2)计算u2=x2 mod 2 l ;
…
参与方n(Pn)计算un=xn mod 2 l 。
3、参与方调用比较协议,比较u1+u2+…+un与2 l 的大小,比较结果可以记为r0,其中,r0=1,表示u1+u2+…+un不小于2 l ,r0=0表示u1+u2+…+un小于2 l 。
4、参与方调用比较协议,比较x1+x2+…+xn与2 k 的大小。比较结果记为r1,其中,r1=1表示x1+x2+…+xn不小于2 k ,r1=0表示x1+x2+…+xn小于2 k 。
5、如果r0=0,r1=1,则P1计算u1=u1+2 l 。
6、如果r0=1,r1=0,则P1计算u1=u1-2 l 。
7、各个参与方在本地执行如下运算:
…
8、参与方调用乘法协议,计算z1、z2、…、zn之间的乘积。
(1)、参与方调用比较协议,计算x的比特长度l(即比较x与2 i 的大小)。
(2)、参与方1计算u1=x1 mod 2 l 。
(3)、参与方2计算u2=x2 mod 2 l 。
(4)、参与方调用比较协议,比较u1+u2与2 l 的大小,比较结果记作为r0,其中r0=1,其表示u1+u2不小于2 l ,r0=0,其u1+u2小于2 l 。
(5)、参与方调用比较协议,比较x1+x2与2 k 的大小。比较结果可以记为r1,其中r1=1,其表示x1+x2不小于2 k ,r1=0,其表示x1+x2小于2 k 。
(6)、如果r0=0,r1=1,则P1计算u1=u1+2 l 。
(7)、如果r0=1,r1=0,则P1计算u1=u1-2 l 。
(10)、参与方调用乘法协议,计算z1与z2的乘积。
可选的,在P为2,且每一参与方均完全占有原始数据时,还可以包括如下步骤:
A1、通过所述第一参与方根据所述第一原始数据确定第三中间结果;
A2、通过所述第二参与方根据所述第二原始数据确定第四中间结果;
A3、根据所述第三中间结果、所述第四中间结果确定所述第一参与方的所述第一原始数据和所述第二参与方的所述第二原始数据。
具体实现中,第一参与方可以按照如下方式根据第一原始数据确定第三中间结果,具体如下:u1=lnx,其中,x表示第一参与方的原始数据,再将u1转为k比特的定点数表示,再计算,得到第三中间结果u1,此处,[ ]表示对括号内的内容进行取整,取整方式可以为向上取整或者向下取整。
具体实现中,第二参与方可以按照如下方式根据第二原始数据确定第四中间结果,具体如下:
进而,可以根据第三中间结果确定第一参与方的第一原始数据,以及根据第四中间结果确定第二参与方的第二原始数据。
举例说明下,以计算过程为例,其中,x、y均为原始数据,x为第一参与方的原始数据,y为第二参与方的原始数据,注意到,因此,只需要首先调用MPC乘法协议计算的值,就可以转化为上述的计算问题。具体的计算过程如下:
4、参与方调用y=e x 的计算过程,计算e v 。
从而,在针对指数运算,本申请实施例中,提供了一种全新的指数函数的安全多方计算方法,解决了采用多项式逼近方法时候的性能较低,收敛性差,计算精度低的问题。
而采用本申请实施例的安全多方计算方法,可以计算的指数函数范围与明文状态下可计算的整数范围相当,不存在收敛性的问题,因此适用于各种不同的场景。另外,指数函数的计算精度高,由于指数函数的变化远远超过乘法函数,还可以通过调高乘法运算的精度,适当调低指数函数部分的精度,进一步提高计算精度。针对计算,仅仅需要调用两次比较协议和一次乘法协议,性能较高。例如,具体实现中,两次比较协议和一次乘法协议可以并行执行。当然,计算在计算的基础上,仅多了一次乘法协议。
总而言之,利用指数函数本身的同态性质进行计算,而不是多项式逼近方法。有效解决了收敛性和精度的问题,另外秘密分享中,高位比特随机数据的熵只有2比特,从而,可以通过调用两次比较协议,在不泄露数据的情况下消除秘密分享中的随机数据压缩到2个比特。
可以看出,本申请实施例中所描述的安全多方处理方法,应用于安全多方计算系统,安全多方计算系统包括n个参与方,n为大于1的整数;每一参与方均有对应的原始数据,根据原始数据确定比特长度;通过第一参与方根据比特长度以及第一原始数据确定第一中间结果,第一参与方为n个参与方中的一个参与方;通过第二参与方根据比特长度以及第二参与方对应的第二原始数据确定第二中间结果,第二参与方为n个参与方中除第一参与方之外的参与方;根据第一中间结果、第二中间结果以及比特长度确定第一比较结果;根据第一原始数据、第二原始数据以及预设计算机比特长度确定第二比较结果;根据第一比较结果和第二比较结果确定每一参与方的运算结果,得到n个运算结果;根据m个运算结果确定目标运算结果,进而,可以提升复杂函数,如指数函数的运算效率。
与上述实施例一致地,请参阅图3,图3是本申请实施例提供的一种电子设备的结构示意图,如图所示,该电子设备包括处理器、存储器、通信接口以及一个或多个程序,应用于安全多方计算系统,所述安全多方计算系统包括n个参与方,n为大于1的整数;每一参与方均有对应的原始数据;
上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,本申请实施例中,上述程序包括用于执行以下步骤的指令:
根据所述原始数据确定比特长度;
通过第一参与方根据所述比特长度以及所述第一原始数据确定第一中间结果,所述第一参与方为所述n个参与方中的一个参与方;
通过第二参与方根据所述比特长度以及所述第二参与方对应的第二原始数据确定第二中间结果,所述第二参与方为所述n个参与方中除所述第一参与方之外的参与方;
根据所述第一中间结果、所述第二中间结果以及所述比特长度确定第一比较结果;
根据所述第一原始数据、所述第二原始数据以及预设计算机比特长度确定第二比较结果;
根据所述第一比较结果和所述第二比较结果确定每一参与方的运算结果,得到n个运算结果;
根据所述n个运算结果确定目标运算结果。
可选的,在所述根据所述第一比较结果和所述第二比较结果确定每一参与方的运算结果,得到n个运算结果方面,上述程序包括用于执行以下步骤的指令:
在所述第一比较结果、所述第二比较结果中只有一个比较结果为真时,根据所述第一中间结果、所述比特长度更新所述第一中间结果;
通过更新后的所述第一中间结果,确定所述第一参与方对应的运算结果;
根据所述第二中间结果确定所述第二参与方对应的运算结果。
可选的,在所述根据所述第一比较结果和所述第二比较结果确定每一参与方的运算结果,得到n个运算结果方面,上述程序包括用于执行以下步骤的指令:
在所述第一比较结果、所述第二比较结果均为真,或者,所述第一比较结果、所述第二比较结果均为假时,根据所述第一中间结果确定所述第一参与方对应的运算结果;
根据所述第二中间结果确定所述第二参与方对应的运算结果。
可选的,所述n个参与方的原始数据均为完整原始数据的部分数据,或者,所述n个参与方的原始数据均为完全占有原始数据。
可选的,在P为2,且每一参与方均完全占有原始数据时,
上述程序还包括用于执行以下步骤的指令:
通过所述第一参与方根据所述第一原始数据确定第三中间结果;
通过所述第二参与方根据所述第二原始数据确定第四中间结果;
根据所述第三中间结果、所述第四中间结果确定所述第一参与方的所述第一原始数据和所述第二参与方的所述第二原始数据。
可以看出,本申请实施例中所描述的电子设备,应用于安全多方计算系统,安全多方计算系统包括n个参与方,n为大于1的整数;每一参与方均有对应的原始数据,根据原始数据确定比特长度;通过第一参与方根据比特长度以及第一原始数据确定第一中间结果,第一参与方为n个参与方中的一个参与方;通过第二参与方根据比特长度以及第二参与方对应的第二原始数据确定第二中间结果,第二参与方为n个参与方中除第一参与方之外的参与方;根据第一中间结果、第二中间结果以及比特长度确定第一比较结果;根据第一原始数据、第二原始数据以及预设计算机比特长度确定第二比较结果;根据第一比较结果和第二比较结果确定每一参与方的运算结果,得到n个运算结果;根据n个运算结果确定目标运算结果,进而,可以提升复杂函数,如指数函数的运算效率。
图4是本申请实施例中所涉及的安全多方处理装置400的功能单元组成框图。该安全多方处理装置400应用于安全多方计算系统,所述安全多方计算系统包括n个参与方,n为大于1的整数;每一参与方均有对应的原始数据;所述装置400包括:第一确定单元401、第二确定单元402、比较单元403和运算单元404,其中,
所述第一确定单元401,用于根据所述原始数据确定比特长度;
所述第二确定单元402,用于通过第一参与方根据所述比特长度以及所述第一原始数据确定第一中间结果,所述第一参与方为所述n个参与方中的一个参与方;以及通过第二参与方根据所述比特长度以及所述第二参与方对应的第二原始数据确定第二中间结果,所述第二参与方为所述n个参与方中除所述第一参与方之外的参与方;所述比较单元403,用于根据所述第一中间结果、所述第二中间结果以及所述比特长度确定第一比较结果;以及根据所述第一原始数据、所述第二原始数据以及预设计算机比特长度确定第二比较结果;
所述运算单元404,用于根据所述第一比较结果和所述第二比较结果确定每一参与方的运算结果,得到n个运算结果;以及根据所述n个运算结果确定目标运算结果。
可选的,在所述根据所述第一比较结果和所述第二比较结果确定每一参与方的运算结果,得到n个运算结果方面,所述运算单元404具体用于:
在所述第一比较结果、所述第二比较结果中只有一个比较结果为真时,根据所述第一中间结果、所述比特长度更新所述第一中间结果;
通过更新后的所述第一中间结果,确定所述第一参与方对应的运算结果;
根据所述第二中间结果确定所述第二参与方对应的运算结果。
可选的,在所述根据所述第一比较结果和所述第二比较结果确定每一参与方的运算结果,得到n个运算结果方面,所述运算单元404具体用于:
在所述第一比较结果、所述第二比较结果均为真,或者,所述第一比较结果、所述第二比较结果均为假时,根据所述第一中间结果确定所述第一参与方对应的运算结果;
根据所述第二中间结果确定所述第二参与方对应的运算结果。
可选的,所述n个参与方的原始数据均为完整原始数据的部分数据,或者,所述n个参与方的原始数据均为完全占有原始数据。
可选的,在P为2,且每一参与方均完全占有原始数据时,
所述装置400还具体用于:
通过所述第一参与方根据所述第一原始数据确定第三中间结果;
通过所述第二参与方根据所述第二原始数据确定第四中间结果;
根据所述第三中间结果、所述第四中间结果确定所述第一参与方的所述第一原始数据和所述第二参与方的所述第二原始数据。
可以看出,本申请实施例中所描述的安全多方处理装置,应用于安全多方计算系统,安全多方计算系统包括n个参与方,n为大于1的整数;每一参与方均有对应的原始数据,根据原始数据确定比特长度;通过第一参与方根据比特长度以及第一原始数据确定第一中间结果,第一参与方为n个参与方中的一个参与方;通过第二参与方根据比特长度以及第二参与方对应的第二原始数据确定第二中间结果,第二参与方为n个参与方中除第一参与方之外的参与方;根据第一中间结果、第二中间结果以及比特长度确定第一比较结果;根据第一原始数据、第二原始数据以及预设计算机比特长度确定第二比较结果;根据第一比较结果和第二比较结果确定每一参与方的运算结果,得到n个运算结果;根据n个运算结果确定目标运算结果,进而,可以提升复杂函数,如指数函数的运算效率。
可以理解的是,本实施例的安全多方处理装置的各程序模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
本申请实施例还提供一种计算机可读存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory ,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (8)
1.一种安全多方处理方法,其特征在于,应用于安全多方计算系统,所述安全多方计算系统包括n个参与方,n为大于1的整数;每一参与方均有对应的原始数据;
所述方法包括:
根据所述原始数据确定比特长度;
通过第一参与方根据所述比特长度以及所述第一参与方对应的第一原始数据确定第一中间结果,所述第一参与方为所述n个参与方中的一个参与方;
通过第二参与方根据所述比特长度以及所述第二参与方对应的第二原始数据确定第二中间结果,所述第二参与方为所述n个参与方中除所述第一参与方之外的参与方;
根据所述第一中间结果、所述第二中间结果以及所述比特长度确定第一比较结果;
根据所述第一原始数据、所述第二原始数据以及预设计算机比特长度确定第二比较结果;
根据所述第一比较结果和所述第二比较结果确定每一参与方的运算结果,得到n个运算结果;
根据所述n个运算结果确定目标运算结果;
其中,所述根据所述第一比较结果和所述第二比较结果确定每一参与方的运算结果,得到n个运算结果,包括:
在所述第一比较结果、所述第二比较结果中只有一个比较结果为真时,根据所述第一中间结果、所述比特长度更新所述第一中间结果;
通过更新后的所述第一中间结果,确定所述第一参与方对应的运算结果;
根据所述第二中间结果确定所述第二参与方对应的运算结果;
或者,
其中,所述根据所述第一比较结果和所述第二比较结果确定每一参与方的运算结果,得到n个运算结果,包括:
在所述第一比较结果、所述第二比较结果均为真,或者,所述第一比较结果、所述第二比较结果均为假时,根据所述第一中间结果确定所述第一参与方对应的运算结果;
根据所述第二中间结果确定所述第二参与方对应的运算结果。
2.根据权利要求1所述的方法,其特征在于,所述n个参与方的原始数据均为完整原始数据的部分数据,或者,所述n个参与方的原始数据均为完全占有原始数据。
3.根据权利要求2所述的方法,其特征在于,在n为2,且每一参与方均完全占有原始数据时,
所述方法还包括:
通过所述第一参与方根据所述第一原始数据确定第三中间结果;
通过所述第二参与方根据所述第二原始数据确定第四中间结果;
根据所述第三中间结果、所述第四中间结果确定所述第一参与方的所述第一原始数据和所述第二参与方的所述第二原始数据。
4.一种安全多方处理装置,其特征在于,应用于安全多方计算系统,所述安全多方计算系统包括n个参与方,n为大于1的整数;每一参与方均有对应的原始数据;
所述装置包括:第一确定单元、第二确定单元、比较单元和运算单元,其中,
所述第一确定单元,用于根据所述原始数据确定比特长度;
所述第二确定单元,用于通过第一参与方根据所述比特长度以及所述第一参与方对应的第一原始数据确定第一中间结果,所述第一参与方为所述n个参与方中的一个参与方;以及通过第二参与方根据所述比特长度以及所述第二参与方对应的第二原始数据确定第二中间结果,所述第二参与方为所述n个参与方中除所述第一参与方之外的参与方;
所述比较单元,用于根据所述第一中间结果、所述第二中间结果以及所述比特长度确定第一比较结果;以及根据所述第一原始数据、所述第二原始数据以及预设计算机比特长度确定第二比较结果;
所述运算单元,用于根据所述第一比较结果和所述第二比较结果确定每一参与方的运算结果,得到n个运算结果;以及根据所述n个运算结果确定目标运算结果;
其中,在所述根据所述第一比较结果和所述第二比较结果确定每一参与方的运算结果,得到n个运算结果方面,所述运算单元具体用于:
在所述第一比较结果、所述第二比较结果中只有一个比较结果为真时,根据所述第一中间结果、所述比特长度更新所述第一中间结果;
通过更新后的所述第一中间结果,确定所述第一参与方对应的运算结果;
根据所述第二中间结果确定所述第二参与方对应的运算结果;
其中,在所述根据所述第一比较结果和所述第二比较结果确定每一参与方的运算结果,得到n个运算结果方面,所述运算单元具体用于:
在所述第一比较结果、所述第二比较结果均为真,或者,所述第一比较结果、所述第二比较结果均为假时,根据所述第一中间结果确定所述第一参与方对应的运算结果;
根据所述第二中间结果确定所述第二参与方对应的运算结果。
5.根据权利要求4所述的装置,其特征在于,所述n个参与方的原始数据均为完整原始数据的部分数据,或者,所述n个参与方的原始数据均为完全占有原始数据。
6.根据权利要求5所述的装置,其特征在于,在n为2,且每一参与方均完全占有原始数据时,
所述装置还具体用于:
通过所述第一参与方根据所述第一原始数据确定第三中间结果;
通过所述第二参与方根据所述第二原始数据确定第四中间结果;
根据所述第三中间结果、所述第四中间结果确定所述第一参与方的所述第一原始数据和所述第二参与方的所述第二原始数据。
7.一种电子设备,其特征在于,包括处理器、存储器,所述存储器用于存储一个或多个程序,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-3任一项所述的方法中的步骤的指令。
8.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-3任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210479045.6A CN114584285B (zh) | 2022-05-05 | 2022-05-05 | 安全多方处理方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210479045.6A CN114584285B (zh) | 2022-05-05 | 2022-05-05 | 安全多方处理方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114584285A CN114584285A (zh) | 2022-06-03 |
CN114584285B true CN114584285B (zh) | 2022-07-29 |
Family
ID=81778542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210479045.6A Active CN114584285B (zh) | 2022-05-05 | 2022-05-05 | 安全多方处理方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114584285B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116055049B (zh) * | 2023-04-03 | 2023-07-04 | 富算科技(上海)有限公司 | 多方安全计算方法、装置、系统、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113708930A (zh) * | 2021-10-20 | 2021-11-26 | 杭州趣链科技有限公司 | 隐私数据的数据比较方法、装置、设备及介质 |
CN113722734A (zh) * | 2021-08-30 | 2021-11-30 | 支付宝(杭州)信息技术有限公司 | 两方安全选择确定选择结果分片的方法、装置和系统 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110089071B (zh) * | 2016-11-04 | 2023-02-17 | 诺基亚技术有限公司 | 安全的分布式数据处理 |
US20200304293A1 (en) * | 2017-08-30 | 2020-09-24 | Inpher, Inc. | High-Precision Privacy-Preserving Real-Valued Function Evaluation |
CN107888385B (zh) * | 2017-12-27 | 2020-12-22 | 数安时代科技股份有限公司 | Rsa模数生成方法、rsa密钥生成方法、计算机设备及介质 |
CN109361510B (zh) * | 2018-11-07 | 2021-06-11 | 西安电子科技大学 | 一种支持溢出检测和大整数运算的信息处理方法及应用 |
CN110266721B (zh) * | 2019-07-05 | 2020-04-28 | 西南交通大学 | 一种基于同态的云辅助动态通用安全多方计算方法 |
CN111162906B (zh) * | 2019-12-27 | 2023-04-14 | 上海市数字证书认证中心有限公司 | 一种基于茫然传输算法的协同秘密分享方法及装置、系统、介质 |
CN111049650B (zh) * | 2019-12-27 | 2022-10-25 | 上海市数字证书认证中心有限公司 | 一种基于sm2算法的协同解密方法及装置、系统、介质 |
US11784800B2 (en) * | 2020-02-14 | 2023-10-10 | Google Llc | Secure multi-party reach and frequency estimation |
CN111404943B (zh) * | 2020-03-18 | 2021-10-26 | 腾讯科技(深圳)有限公司 | 数据的处理方法、装置、电子设备及计算机可读存储介质 |
CN113467750A (zh) * | 2021-05-31 | 2021-10-01 | 深圳致星科技有限公司 | 用于基数为4的srt算法的大整数位宽除法电路及方法 |
CN113515776B (zh) * | 2021-06-23 | 2021-12-14 | 支付宝(杭州)信息技术有限公司 | 一种基于量子计算的多方安全计算的方法和装置 |
CN113535808B (zh) * | 2021-06-24 | 2022-09-16 | 复旦大学 | 基于安全多方计算的键值对模型安全训练与推理方法 |
CN113516256B (zh) * | 2021-09-14 | 2021-12-03 | 深圳市洞见智慧科技有限公司 | 基于秘密共享、同态加密的无第三方联邦学习方法及系统 |
CN114329533A (zh) * | 2021-12-22 | 2022-04-12 | 深圳市洞见智慧科技有限公司 | 安全多方计算方法及相关设备 |
CN114428972A (zh) * | 2022-01-21 | 2022-05-03 | 深圳市洞见智慧科技有限公司 | 支持外包计算的隐私保护查询方法、装置及相关设备 |
-
2022
- 2022-05-05 CN CN202210479045.6A patent/CN114584285B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113722734A (zh) * | 2021-08-30 | 2021-11-30 | 支付宝(杭州)信息技术有限公司 | 两方安全选择确定选择结果分片的方法、装置和系统 |
CN113708930A (zh) * | 2021-10-20 | 2021-11-26 | 杭州趣链科技有限公司 | 隐私数据的数据比较方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114584285A (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11249721B2 (en) | Multiplication circuit, system on chip, and electronic device | |
WO2020220743A1 (zh) | 一种计算机数据处理方法及装置 | |
EP1320027A2 (en) | Elliptic curve cryptosystem apparatus, method and program | |
CN114584285B (zh) | 安全多方处理方法及相关设备 | |
CN109495266B (zh) | 基于随机数的数据加密方法及装置 | |
CN112506469A (zh) | 针对隐私数据进行处理的方法和装置 | |
CN113158258A (zh) | 一种基于椭圆曲线的协同签名方法、装置和系统 | |
CN112241250A (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN117014318B (zh) | 多尺度网络节点间链路的添加方法、装置、设备及介质 | |
CN116108473A (zh) | 多方安全计算中的数据处理方法及装置 | |
CN113239389B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN114234984B (zh) | 基于差分矩阵的室内定位轨迹平滑方法、系统及设备 | |
CN112580064B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN114584284A (zh) | 同态加密操作方法、装置和电子设备 | |
CN109274460B (zh) | 一种多比特并行结构串行抵消译码方法和装置 | |
CN108075889B (zh) | 一种降低加解密运算时间复杂度的数据传输方法及系统 | |
CN112286496B (zh) | 蒙哥马利算法的模乘器和电子设备 | |
CN115833847B (zh) | Polar码译码方法、装置、通信设备和存储介质 | |
CN117234457B (zh) | 一种用于隐私计算的数据相减运算方法 | |
CN111461858B (zh) | 基于隐私保护的连乘计算方法、装置、系统和电子设备 | |
CN108243002B (zh) | 模约减方法、装置、设备及计算机可读存储介质 | |
US20240086154A1 (en) | Logic circuit for anti-circular shift-and-add multiplication | |
CN115906129A (zh) | 基于同态加密的机器学习中非线性运算逼近方法及装置 | |
CN115694819A (zh) | 一种数据处理方法、系统、设备及计算机可读存储介质 | |
CN117176359A (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 | ||
GR01 | Patent grant |