多方安全计算方法、装置、设备及存储介质制造方法及图纸

技术编号:28720823 阅读:10 留言:0更新日期:2021-06-06 03:45
本申请实施例公开了一种多方安全计算方法、装置、设备及存储介质,属于数据安全技术领域。该方法包括:对第一明文数据进行同态加密处理,生成第一密文数据;向第二节点设备发送包含第一密文数据的加密数据;接收第二节点设备发送的差值密文数据;对差值密文数据进行解密处理,并基于解密结果的正负性确定数值比较结果。本申请在两个参与方均不向对方透漏己方数据,且不借助可信第三方的前提下,同时实现大小比较和相等测试。相比于相关技术中的计算方法,两个节点设备各自只需进行一次数据收发,减少了通信次数,通信开销小、计算效率高,且大小比较和相等测试可以同时进行。且大小比较和相等测试可以同时进行。且大小比较和相等测试可以同时进行。

【技术实现步骤摘要】
多方安全计算方法、装置、设备及存储介质


[0001]本申请实施例涉及数据安全
,特别涉及一种多方安全计算方法、装置、设备及存储介质。

技术介绍

[0002]多方安全计算的研究主要是针对无可信第三方的情况下,如何安全地计算一个约定函数的问题。安全多方计算可以使能安全的数据合作和融合应用,在数据不出域、合法合规的前提下联合多方数据源进行计算、分析、学习,实现数据价值共享。
[0003]相关技术中,安全多方计算比较数值的大小以及进行相等测试的方法,通常采用不经意传输技术或同态加密技术。
[0004]然而,基于不经意传输的大小比较和相等测试方法,各个参与方之间的通信交互次数较多,通信开销大、效率低,基于同态加密技术的方法则计算复杂度较高,无法实际应用。

技术实现思路

[0005]本申请实施例提供了一种多方安全计算方法、装置、设备及存储介质,能够减少通信开销、提高计算效率。所述技术方案如下。
[0006]一方面,本申请提供了一种多方安全计算方法,所述方法应用于联合计算系统中的第一节点设备,所述方法包括如下步骤:对第一明文数据进行同态加密处理,生成第一密文数据;向第二节点设备发送包含所述第一密文数据的加密数据,所述第二节点设备用于基于所述加密数据以及第二明文数据,得到第二密文数据,并基于所述第一密文数据以及所述第二密文数据计算差值密文数据;接收所述第二节点设备发送的所述差值密文数据;对所述差值密文数据进行解密处理,并基于解密结果的正负性确定数值比较结果,所述数值比较结果包括所述第一明文数据大于所述第二明文数据、所述第一明文数据小于所述第二明文数据或所述第一明文数据等于所述第二明文数据。
[0007]另一方面,本申请提供了一种多方安全计算方法,所述方法应用于联合计算系统中的第二节点设备,所述方法包括如下步骤:接收第一节点设备发送的加密数据,所述加密数据包含第一密文数据,所述第一节点设备用于对第一明文数据进行同态加密处理生成所述第一密文数据;基于所述加密数据以及第二明文数据,生成第二密文数据;基于所述第一密文数据以及所述第二密文数据计算得到差值密文数据;向所述第一节点设备发送所述差值密文数据,所述第一节点设备用于对所述差值密文数据进行解密处理,并基于解密结果的正负性确定数值比较结果,所述数值比较结果包括所述第一明文数据大于所述第二明文数据、所述第一明文数据小于所述第二明文数据
或所述第一明文数据等于所述第二明文数据。
[0008]另一方面,本申请提供了一种多方安全计算装置,所述装置包括如下结构:第一加密模块,用于对第一明文数据进行同态加密处理,生成第一密文数据;第一发送模块,用于向第二节点设备发送包含所述第一密文数据的加密数据,所述第二节点设备用于基于所述加密数据以及第二明文数据,得到第二密文数据,并基于所述第一密文数据以及所述第二密文数据计算差值密文数据;第一接收模块,用于接收所述第二节点设备发送的所述差值密文数据;解密模块,用于对所述差值密文数据进行解密处理,并基于解密结果的正负性确定数值比较结果,所述数值比较结果包括所述第一明文数据大于所述第二明文数据、所述第一明文数据小于所述第二明文数据或所述第一明文数据等于所述第二明文数据。
[0009]另一方面,本申请提供了一种多方安全计算装置,所述装置包括如下结构:第二接收模块,用于接收第一节点设备发送的加密数据,所述加密数据包含第一密文数据,所述第一节点设备用于对第一明文数据进行同态加密处理生成所述第一密文数据;第二加密模块,用于基于所述加密数据以及第二明文数据,生成第二密文数据;计算模块,用于基于所述第一密文数据以及所述第二密文数据计算得到差值密文数据;第二发送模块,用于向所述第一节点设备发送所述差值密文数据,所述第一节点设备用于对所述差值密文数据进行解密处理,并基于解密结果的正负性确定数值比较结果,所述数值比较结果包括所述第一明文数据大于所述第二明文数据、所述第一明文数据小于所述第二明文数据或所述第一明文数据等于所述第二明文数据。
[0010]另一方面,本申请提供了一种计算机设备,所述计算机设备包括处理器和存储器;所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的多方安全计算方法。
[0011]另一方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现如上述方面所述的多方安全计算方法。
[0012]根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备实现上述方面的各种可选实现方式中提供的多方安全计算方法。
[0013]本申请实施例提供的技术方案至少包括以下有益效果:本申请实施例中,双方节点设备向对方发送的数据均为密文数据,通过同态加密算法,对差值密文数据进行解密得到第一明文数据与第二明文数据之差的正负性,在两个参与方均不向对方透漏己方数据,且不借助可信第三方的前提下,同时实现大小比较和相等测试。相比于相关技术中的计算方法,两个节点设备各自只需进行一次数据收发,减少了通信次数,通信开销小、计算效率高,且大小比较和相等测试可以同时进行。
附图说明
[0014]图1是本申请一个示例性实施例提供的实施环境示意图;图2是本申请一个示例性实施例提供的多方安全计算方法的流程图;图3是本申请另一个示例性实施例提供的多方安全计算方法的流程图;图4是本申请另一个示例性实施例提供的多方安全计算方法的流程图;图5是本申请一个示例性实施例提供的基于加法同态加密算法的多方安全计算方法的流程图;图6是本申请另一个示例性实施例提供的多方安全计算方法的流程图;图7是本申请一个示例性实施例提供的基于仿射密码加密算法的多方安全计算方法的流程图;图8是本申请另一个示例性实施例提供的多方安全计算方法的流程图;图9是本申请一个示例性实施例提供的基于仿射密码加密算法的多方安全计算方法的流程图;图10是本申请另一个示例性实施例提供的多方安全计算方法的流程图;图11是本申请另一个示例性实施例提供的多方安全计算方法的流程图;图12是本申请一个示例性实施例提供的多方安全计算装置的结构框图;图13是本申请一个示例性实施例提供的多方安全计算装置的结构框图;图14是本申请一个示例性实施例提供的计算机设备的结构框图。
具体实施方式
[0015]为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0016]在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多方安全计算方法,其特征在于,所述方法应用于联合计算系统中的第一节点设备,所述方法包括:对第一明文数据进行同态加密处理,生成第一密文数据;向第二节点设备发送包含所述第一密文数据的加密数据,所述第二节点设备用于基于所述加密数据以及第二明文数据,得到第二密文数据,并基于所述第一密文数据以及所述第二密文数据计算差值密文数据;接收所述第二节点设备发送的所述差值密文数据;对所述差值密文数据进行解密处理,并基于解密结果的正负性确定数值比较结果,所述数值比较结果包括所述第一明文数据大于所述第二明文数据、所述第一明文数据小于所述第二明文数据或所述第一明文数据等于所述第二明文数据。2.根据权利要求1所述的方法,其特征在于,所述对第一明文数据进行同态加密处理,生成第一密文数据之前,所述方法包括:联合所述第二节点设备进行计算精度协商,并确定同态加密算法中的模数;所述对第一明文数据进行同态加密处理,生成第一密文数据,包括:基于所述同态加密算法以及所述模数对所述第一明文数据进行同态加密处理,生成所述第一密文数据。3.根据权利要求2所述的方法,其特征在于,所述同态加密算法为加法同态加密算法;所述基于所述同态加密算法以及所述模数对所述第一明文数据进行同态加密处理,生成所述第一密文数据,包括:生成所述加法同态加密算法对应的密钥对,所述密钥对包括公钥和私钥;基于所述加法同态加密算法、所述模数以及所述公钥,对所述第一明文数据进行同态加密处理,生成所述第一密文数据;所述向第二节点设备发送包含所述第一密文数据的加密数据,包括:向所述第二节点设备发送包含所述第一密文数据以及所述公钥的所述加密数据;所述对所述差值密文数据进行解密处理,包括:基于所述私钥对所述差值密文数据进行解密处理。4.根据权利要求3所述的方法,其特征在于,所述第二节点设备用于生成第一随机数,基于所述模数对所述第一随机数与所述第二明文数据之积进行取模运算,基于所述公钥对取模运算结果进行同态加密处理生成所述第二密文数据,以及基于所述第一密文数据和所述第一随机数计算第一乘积密文并生成所述差值密文数据,所述差值密文数据为所述第一乘积密文与所述第二密文数据之差,所述第一乘积密文为所述第一随机数与所述第一明文数据之积对应的密文,所述第一随机数为正整数。5.根据权利要求2所述的方法,其特征在于,所述同态加密算法为仿射密码加密算法;所述基于所述同态加密算法以及所述模数对所述第一明文数据进行同态加密处理,生成所述第一密文数据,包括:生成第二随机数以及所述仿射密码加密算法的密钥组,所述第二随机数为正整数;基于所述仿射密码加密算法、所述密钥组以及所述模数,对所述第二随机数进行同态加密处理,生成第一加密随机数,并对所述第一明文数据与所述第二随机数之积进行同态加密处理,生成所述第一密文数据;
所述向第二节点设备发送包含所述第一密文数据的加密数据,包括:向所述第二节点设备发送包含所述第一密文数据以及所述第一加密随机数的所述加密数据;所述对所述差值密文数据进行解密处理,包括:基于所述密钥组对所述差值密文数据进行解密处理。6.根据权利要求5所述的方法,其特征在于,所述第二节点设备用于生成第三随机数,基于所述模数对所述第三随机数与所述第二明文数据之积进行取模运算,基于取模运算结果与所述第一加密随机数生成所述第二密文数据,基于所述第一密文数据与所述第三随机数生成第二乘积密文,并基于所述第二乘积密文与所述第二密文数据之差得到所述差值密文数据,所述第二密文数据为所述第二随机数、所述第三随机数与所述第二明文数据三者之积对应的密文数据,所述第二乘积密文为所述第二随机数、所述第三随机数与所述第一明文数据三者之积对应的密文数据,所述第三随机数为正整数。7.根据权利要求2所述的方法,其特征在于,所述同态加密算法为仿射密码加密算法,所述第二节点设备用于在进行精度协商后生成第四随机数和第五随机数,并将所述第四随机数发送至所述第一节点设备,所述第四随机数与所述第五随机数为正整数;所述基于所述同态加密算法以及所述模数对所述第一明文数据进行同态加密处理,生成所述第一密文数据,包括:生成所述仿射密码加密算法的密钥组;基于所述仿射密码加密算法、所述密钥组以及所述模数,对所述第一明文数据进行同态加密处理生成所述第一密文数据,并对所述第四随机数进行同态加密处理生成第二加密随机数;所述向第二节点设备发送包含所述第一密文数据的加密数据,包括:向所述第二节点设备发送包含所述第一密文数据以及所述第二加密随机数的所述加密数据;所述对所述差值密文数据进行解密处理,包括:基于所述密钥组对所述差值密文数据进行解密处理。8.根据权利要求7所述的方法,其特征在于,所述第二节点设备用于基于所述第二加密随机数、所述第五随机数以及所述第二明文数据生成所述第二密文数据,基...

【专利技术属性】
技术研发人员:程勇陶阳宇符芳诚
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1