CN109446828B - 一种安全多方计算方法及装置 - Google Patents

一种安全多方计算方法及装置 Download PDF

Info

Publication number
CN109446828B
CN109446828B CN201811319424.9A CN201811319424A CN109446828B CN 109446828 B CN109446828 B CN 109446828B CN 201811319424 A CN201811319424 A CN 201811319424A CN 109446828 B CN109446828 B CN 109446828B
Authority
CN
China
Prior art keywords
participant
party
value
encrypted
participants
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
CN201811319424.9A
Other languages
English (en)
Other versions
CN109446828A (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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201811319424.9A priority Critical patent/CN109446828B/zh
Publication of CN109446828A publication Critical patent/CN109446828A/zh
Application granted granted Critical
Publication of CN109446828B publication Critical patent/CN109446828B/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/602Providing cryptographic facilities or services

Abstract

本发明实施例提供了一种安全多方计算方法及装置,涉及信息安全技术领域,其中,上述方法应用于安全多方计算系统中的任意参与方,包括:确定为完成目标计算任务所需要提交的输入值;随机产生秘密值,用秘密值对输入值加密,并在系统中广播加密输入值;生成其他参与方对应的加密集合,并向其他参与方发送;接收其他参与方广播的加密输入值和加密集合;基于加密输入值及加密集合,计算得到反馈值;以其他参与方的公钥对反馈值加密,并向该参与方发送加密后反馈值;接收其他参与方发送的加密后反馈值,并基于加密后反馈值和系统中每个参与方的ID,完成目标计算任务。应用本发明实施例提供的方案,能够降低安全多方计算的通信复杂度,节省通信资源。

Description

一种安全多方计算方法及装置
技术领域
本发明涉及信息安全技术领域,特别是涉及一种安全多方计算方法及装置。
背景技术
近年来,随着计算机网络及通信技术的迅猛发展,信息安全愈发重要,网络入侵、信息泄密及网络犯罪等案件的破坏性也越来越大。一项计算任务需要多个参与方共同参与时,为了保护各个参与方的信息安全,可以使用安全多方计算系统完成该项计算任务。安全多方计算系统包括多个互不相信的参与方,这些参与方可以在不透露各自输入的情况下联合完成计算任务。而且,安全多方计算系统中不存在被多个互不相信的参与方所共同相信的第三方,完全杜绝了参与方的输入被第三方泄露的可能性。安全多方计算系统的应用场景非常广泛,例如,为了保护商业机密,每家企业的营业额都对其他企业和行业协会保密,这种情况下,一个行业内的多家企业可以基于安全多方计算系统联合计算本行业的总营业额;再例如,评委推选候选人时,哪个评委提名了哪个候选人对各个评委和主办方都保密,这种情况下,多个评委可以基于安全多方计算系统提名多个候选人。
发明人在实现本发明的过程中发现,现有技术的安全多方计算系统至少存在如下问题:安全多方计算系统中的参与方在每一次执行秘密值之间的乘法计算或秘密值的乘方计算时都需要与系统中其他参与方进行通信,导致实现安全多方计算过程需要较多的通信轮数,通信复杂度高。现有技术中,安全多方计算系统的通信复杂度是O(n×z)数量级的,其中,n是参与方的数量,z是安全多方计算过程中秘密值的最高次项的次数。高通信复杂度导致安全多方计算过程会消耗大量的通信资源。
发明内容
本发明实施例的目的在于提供一种安全多方计算方法及装置,以实现相比现有技术降低安全多方计算的通信复杂度,节省通信资源。具体技术方案如下:
本发明实施例提供一种安全多方计算方法,应用于第一参与方,其中,所述第一参与方为安全多方计算系统中的任意一个参与方,包括:
确定为完成目标计算任务所需要提交的输入值,其中,所述目标计算任务为:所述系统中各个参与方需要协同完成的计算任务;
随机产生所述第一参与方的秘密值,基于所述系统中的每个参与方都已知的预设算法,用所述第一参与方的秘密值对所述输入值加密,得到第一加密输入值,并在所述系统中广播所述第一加密输入值;
针对所述系统中每一其他参与方,生成该其他参与方对应的加密集合,并向该其他参与方发送所生成的加密集合,其中,一个参与方对应的加密集合为:以该参与方的公钥为加密秘钥对该参与方对应的有序集合加密得到的集合,一个参与方对应的有序集合为:基于该参与方的ID和生成有序集合的参与方的秘密值确定的有序的集合;
接收所述系统中的其他参与方广播的加密输入值和其他参与方发送的所述第一参与方对应的加密集合;
基于所述第一加密输入值、自身生成的所述第一参与方对应的有序集合、所接收到的加密输入值以及加密集合,计算得到所述第一参与方的反馈值;
针对所述系统中的每一其他参与方,以该其他参与方的公钥为秘钥对所述第一参与方的反馈值加密,并向该其他参与方发送加密后反馈值;
接收所述系统中其他参与方发送的加密后反馈值,并基于所述第一参与方的反馈值、所接收到的加密后反馈值和所述系统中每个参与方的ID,完成所述目标计算任务。
本发明实施例还提供一种安全多方计算装置,应用于第一参与方,其中,所述第一参与方为安全多方计算系统中的任意一个参与方,包括:
值确定模块,用于确定为完成目标计算任务所需要提交的输入值,其中,所述目标计算任务为:所述系统中各个参与方需要协同完成的计算任务;
值加密模块,用于随机产生所述第一参与方的秘密值,基于所述系统中的每个参与方都已知的预设算法,用所述第一参与方的秘密值对所述输入值加密,得到第一加密输入值,并在所述系统中广播所述第一加密输入值;
集合生成模块,用于针对所述系统中每一其他参与方,生成该其他参与方对应的加密集合,并向该其他参与方发送所生成的加密集合,其中,一个参与方对应的加密集合为:以该参与方的公钥为加密秘钥对该参与方对应的有序集合加密得到的集合,一个参与方对应的有序集合为:基于该参与方的ID和生成有序集合的参与方的秘密值确定的有序的集合;
值接收模块,用于接收所述系统中的其他参与方广播的加密输入值和其他参与方发送的所述第一参与方对应的加密集合;
值计算模块,用于基于所述第一加密输入值、自身生成的所述第一参与方对应的有序集合、所接收到的加密输入值以及加密集合,计算得到所述第一参与方的反馈值;
值发送模块,用于针对所述系统中的每一其他参与方,以该其他参与方的公钥为秘钥对所述第一参与方的反馈值加密,并向该其他参与方发送加密后反馈值;
任务完成模块,用于接收所述系统中其他参与方发送的加密后反馈值,并基于所述第一参与方的反馈值、所接收到的加密后反馈值和所述系统中每个参与方的ID,完成所述目标计算任务。
本发明实施例还提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的安全多方计算方法的步骤。
在本发明实施的又一方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的安全多方计算方法的步骤。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的安全多方计算方法。
本发明实施例提供的安全多方计算方法及装置,其参与方可以先根据目标计算任务生成并广播参与方自身的加密输入值,再与其他参与方交互相对应的加密集合,然后由每个参与方无交互地计算一个反馈值,并将该反馈值广播给其他参与方,最后获取到其他参与方广播反馈值的参与方可以无交互的计算出待计算结果。本发明实施例提供的方案,无须在执行秘密值之间的乘法计算或秘密值的乘方时计算进行通信,减少了各参与方交互的次数,相比现有技术降低了安全多方计算的通信复杂度,节省了通信资源。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的安全多方计算方法的一种流程图;
图2为本发明实施例提供的安全多方计算方法的另一种流程图;
图3为本发明实施例提供的安全多方计算装置的一种结构示意图;
图4为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种安全多方计算方法及装置,下面先对本发明实施例中涉及的概念进行说明。
参与方:参与到计算任务中的一员。一个参与方可以是个人电脑、服务器、路由器、手机、平板电脑、手提电脑、POS机、智能电器或智能汽车等具有计算和交互功能的设备,也可以是有多个具有计算和交互功能的设备所组成的系统。
安全多方计算系统:由多个互不相信的参与方组成,用于在其中各参与方不透露各自输入的情况下完成需要各参与方联合计算的任务。安全多方计算系统要确保各参与方输入的独立性、计算结果的正确性,同时还不可以泄露一个参与方的输入值给其他参与方。
有序集合:由多个元素组成的集合,其中的元素顺序不可变化。有序集合同时包含元素本身的信息和元素顺序的信息。
下面通过具体实施例,对本发明实施例提供的安全多方计算方法进行详细说明。
参见图1,图1为本发明实施例提供的安全多方计算方法的一种流程图,包括如下步骤:
步骤S101、确定为完成目标计算任务所需要提交的输入值。
目标计算任务为:系统中各个参与方需要协同完成的计算任务。目标计算任务可以是计算数值,也可以是为多个元素排序,还可以是获得逻辑结果、集合、字符串、图片或视频等。
为完成目标计算任务,参与方需要提交的输入值可以是数值、向量、矩阵、集合、字符串、图片或视频等。
每个参与方所需要提交的输入值对系统中的其他参与方是保密的,不过各个参与方可以知晓目标计算任务,也可以知晓如何使用各个参与方的输入值完成目标计划任务。
步骤S102、随机产生第一参与方的秘密值,基于系统中的每个参与方都已知的预设算法,用第一参与方的秘密值对输入值加密,得到第一加密输入值,并在系统中广播第一加密输入值。
上述预设算法可以是输入值与秘密值相加得到第一加密输入值、可以是输入值减去秘密值得到第一加密输入值、可以是输入值除以秘密值得到第一加密输入值,上述预设算法还可以是:以秘密值作为多项式的变量、输入值作为多项式的系数,将得到的多项式作为第一加密输入值。其中,输入值除以秘密值时,秘密值不能为0。
系统中的其他参与方也会执行第一参与方所执行的该步骤,得到该其他参与方的加密输入值并在系统中广播该其他参与方的加密输入值。
步骤S103、针对系统中每一其他参与方,生成该其他参与方对应的加密集合,并向该其他参与方发送所生成的加密集合。
一个参与方对应的加密集合为:以该参与方的公钥为加密秘钥对该参与方对应的有序集合加密得到的集合,一个参与方对应的有序集合为:基于该参与方的ID和生成有序集合的参与方的秘密值确定的有序的集合。
系统中的参与方的ID可以是数字,也可以是字符串,各个参与方的ID是公开的,系统中的每一个参与方都可以获取任一其他参与方的ID。
作为本发明实施例的执行主体,第一参与方可以生成n个有序集合,n为系统中参与方的数量,系统中的每一个参与方对应一个上述有序集合。除去第一参与方所生成的对应于第一参与方自身的有序集合,第一参与方所生成n-1个对应于其他参与方的有序集合,可以分别以所对应的参与方的公钥加密,并向该其他参与方发送。
系统中的其他参与方也会执行第一参与方所执行的该步骤,系统的各个参与方共生成n2个有序集合,有序集合可以使用Setm,i来表示,其中m表示生成该有序集合的参与方,i表示对应该有序集合的参与方,m和i的取值范围为1至n的正整数。对于m和i不相等的有序集合,m所表示参与方将其以i所表示的参与方的公钥为密钥加密,得到加密集合,然后m所表示参与方将该加密集合向i所表示的参与方发送。
系统中各个参与方的公钥是公开的,系统中的每一个参与方都可以获取任一其他参与方的公钥。
步骤S104、接收系统中的其他参与方广播的加密输入值和其他参与方发送的第一参与方对应的加密集合。
对于系统中的每一个参与方,可以接收到n-1个加密输入值和n-1个该参与方对应的加密集合。
步骤S105、基于第一加密输入值、自身生成的第一参与方对应的有序集合、所接收到的加密输入值以及加密集合,计算得到第一参与方的反馈值。
本发明的一种实现方式中,先使用第一参与方的私钥将所接收到的加密集合解密,得到系统中每一其他参与方生成的、第一参与方对应的有序集合,再基于系统中每个参与方的加密输入值和系统中每个参与方生成的第一参与方对应的有序集合,计算得到第一参与方的反馈值。
系统中的其他参与方也会执行第一参与方所执行的该步骤,并计算得到该其他参与方的反馈值。
步骤S106、针对系统中的每一其他参与方,以该其他参与方的公钥为秘钥对第一参与方的反馈值加密,并向该其他参与方发送加密后反馈值。
步骤S107、接收系统中其他参与方发送的加密后反馈值,并基于第一参与方的反馈值、所接收到的加密后反馈值和系统中每个参与方的ID,完成目标计算任务。
本发明的一种实现方式中,先使用第一参与方的私钥将所接收到的加密后反馈值解密,得到系统中每一其他参与方的反馈值,再基于系统中的每个参与方的反馈值和每个参与方的ID,完成目标计算任务。
本发明实施例提供的安全多方计算方法,其参与方可以先根据目标计算任务生成并广播参与方自身的加密输入值,再与其他参与方交互相对应的加密集合,然后由每个参与方无交互地计算一个反馈值,并将该反馈值广播给其他参与方,最后获取到其他参与方广播反馈值的参与方可以无交互的计算出待计算结果。本发明实施例提供的方案,无须在执行秘密值之间的乘法计算或秘密值的乘方时计算进行通信,减少了各参与方交互的次数,相比现有技术降低了安全多方计算的通信复杂度,节省了通信资源。
本发明的一种实现方式中,可以采用如下步骤A1-A4生成一个参与方对应的有序集合:
步骤A1、在预设有限域上随机生成一个n-1次多项式函数fm,1(x),并且确定该n-1次多项式函数的常数项为生成该有序集合的参与方的秘密值,其中,n为系统中参与方的数量。
步骤A2、在有限域上随机生成k-1个n-1次的、常数项为0的多项式函数,k为[2,系统中各个参与方能够协同处理的最大的多项式次数]范围内的第一预设数量。
第一预设数量受目标计算任务的限制,其不能大于系统中各个参与方能够协同处理的最大的多项式次数。各个参与方能够协同处理的最大的多项式次数为:将目标计算任务转化为多项式来计算时,各个参与方所能实现安全多方计算的最大的多项式的次数。一种实现方式中,可以设置第一预设数量等于系统中各个参与方能够协同处理的最大的多项式次数。
步骤A3、采用以下公式,计算得到k-1个多项式函数:
Figure GDA0002606228540000081
其中,fm,j(x)为所得到的第j-1个多项式函数,sm为生成该有序集合的参与方的秘密值,cm,j(x)为所生成的k-1个n-1阶的、常数项为0的多项式函数中的第j-1个多项式函数,m为表示生成该有序集合的参与方的数字,m的取值为从1到n的正整数。
步骤A4、生成满足以下表达式的集合,作为一个参与方对应的有序集合:
Setm,i={fm,1(IDi),fm,2(IDi),fm,3(IDi),…,fm,k(IDi)};
其中,Setm,i为该参与方对应的有序集合,IDi为该参与方的ID,i为表示该参与方的数字,i的取值为从1到n的正整数。
基于上述实现方式,本发明的另一种实现方式中,采用以下表达式表示目标计算任务:
Figure GDA0002606228540000082
其中,h1、h2、…、hn均为多项式函数,x1,1,x1,2,…,
Figure GDA0002606228540000083
为系统中第1个参与方的d1个输入值,x2,1,x2,2,…,
Figure GDA0002606228540000084
为系统中第2个参与方的d2个输入值,xn,1,xn,2,…,
Figure GDA0002606228540000085
为系统中第n个参与方的dn个输入值。
本实现方式中,对于以各个参与方的输入值为变量的、非多项式表达的目标计算任务,可以使用泰勒公式将非多项式的运算转化为多项式运算,从而能够将非多项式表达的目标计算任务转化为多项式表达的形式。需要特别说明的是,目标计算任务所转化成的形式,对系统中的各个参与方是已知的。
上述步骤S105中,基于第一加密输入值、自身生成的第一参与方对应的有序集合、所接收到的加密输入值以及加密集合,计算得到第一参与方的反馈值,可以采用如下步骤B1-步骤B3实现:
步骤B1、基于系统中的每个参与方都已知的预设算法和所接收到的加密输入值,获得目标计算任务的预设表示形式,其中,预设表示形式中针对每一参与方只包含一个其他参与方未知的数值:
Figure GDA0002606228540000091
其中,bm,k为预设表示形式中第m个参与方的秘密值多项式的k次项系数,bm,k-1为预设表示形式中第m个参与方的秘密值多项式的k-1次项系数,bm,1为预设表示形式中第m个参与方的秘密值多项式的1次项系数,bm,0为预设表示形式中第m个参与方的秘密值多项式的常数项。
需要特别说明的是,当第一预设数量被设置等于系统中各个参与方能够协同处理的最大的多项式次数时,h1、h2、…、hn中以各个参与方的输入值为变量的多项式的最高次数最大,因此,对于非多项式表达的目标计算任务,使用泰勒公式展开的项最多,多项式转化造成的误差最小。
步骤B2、使用第一参与方的私钥将所接收到的加密集合解密,得到系统中每一其他参与方生成的、第一参与方对应的有序集合。
步骤B3、采用以下公式,计算得到第一参与方的反馈值:
Figure GDA0002606228540000092
其中,i为表示第一参与方的数字,Ri为第一参与方的反馈值,fm,t(IDi)为第m个参与方生成的第一参与方对应的有序集合中的第t个元素。
本实现方式中,将系统中各个参与方的加密输入值,按照预设算法带入到多项式表达的目标计算任务后,目标计算任务就转化为了每个参与方的输入中只含有一个保密变量的情况,相当于将每个参与方的多个保密的输入值转化成了只含有了一个秘密值对其他参与方保密的多个输入值。
本发明的一种实现方式中,上述步骤S107中接收加密后反馈值并完成目标计算任务时,可以先使用第一参与方的私钥将所接收到的加密后反馈值解密,得到系统中每一其他参与方的反馈值,再采用以下公式,完成目标计算任务:
Figure GDA0002606228540000101
其中,U为目标计算任务的结果,IDp为第p个参与方的ID。
图2所示为本发明实施例提供的安全多方计算方法的另一种流程图,具体可以包括如下步骤:
步骤S201、确定为完成目标计算任务所需要提交的输入值。
本实施例中与图1所示实施例完全相同的步骤,在这里不再赘述。
步骤S202、随机产生第一参与方的秘密值,基于系统中的每个参与方都已知的预设算法,用第一参与方的秘密值对输入值加密,得到第一加密输入值,并在系统中广播第一加密输入值。
步骤S203、针对系统中每一其他参与方,生成该其他参与方对应的加密集合,并向该其他参与方发送所生成的加密集合。
步骤S204、基于第一参与方的秘密值生成第一参与方的审核密钥,并在系统中广播第一参与方的审核密钥。
上述审核密钥可以是数值,可以是集合,也可以是矩阵,用于审核系统中各个参与方所交互的内容是否被正确的发送或接收。
系统中的其他参与方也会执行第一参与方所执行的该步骤,生成该其他参与方的审核密钥,并在系统中广播该其他参与方的审核密钥。
步骤S205、根据系统中其他参与方的反馈确定第一参与方的审核密钥是否审核通过,如果审核不通过,那么重新在系统中广播第一参与方的审核密钥,直到审核通过。
系统中的其他参与方也会执行第一参与方所执行的该步骤,确定该其他参与方的审核密钥是否审核通过。
审核每个参与方所广播的审核密钥的可以是系统中的其他参与方,也可以是系统外的具有计算和交互功能的设备。
步骤S206、接收系统中的其他参与方广播的加密输入值和其他参与方发送的第一参与方对应的加密集合。
步骤S207、针对系统中的每一其他参与方,基于该其他参与方生成的、审核通过的审核密钥,对接收到的该其他参与方发送的、第一参与方对应的加密集合进行审核,如果审核不通过,那么要求该其他参与方重新发送第一参与方对应的加密集合,直到审核通过。
系统中的其他参与方也会执行第一参与方所执行的该步骤,对该其他参与方所对应的加密集合进行审核。
步骤S208、基于第一加密输入值、自身生成的第一参与方对应的有序集合、所接收到的加密输入值以及加密集合,计算得到第一参与方的反馈值。
步骤S209、针对系统中的每一其他参与方,以该其他参与方的公钥为秘钥对第一参与方的反馈值加密,并向该其他参与方发送加密后反馈值。
步骤S210、对所接收到的加密后反馈值分别进行审核,如果一个加密后反馈值审核不通过,那么要求发送该加密后反馈值的参与方重新发送加密后反馈值,直到系统中其他参与方发送的加密后反馈值均审核通过。
对于审核不通过的加密后反馈值,发送该加密后反馈值的参与方可以只对审核得到不通过结果的参与方重新发送,也可以对所有其他参与方重新发送。
系统中的其他参与方也会执行第一参与方所执行的该步骤,对所接收到的加密后反馈值分别进行审核。
步骤S211、接收系统中其他参与方发送的加密后反馈值,并基于第一参与方的反馈值、所接收到的加密后反馈值和系统中每个参与方的ID,完成目标计算任务。
本实施例提供的方案中,安全多方计算系统中的各个参与方可以通过非交互的方式,审核所交互的加密内容的正确性,保证了安全多方计算过程的准确性,避免交互产生的错误影响计算结果,而且因为审核所增加的参与方之间的交互次数少,并没有浪费通讯资源。
本发明的一种实现方式中,上述步骤S204中,基于第一参与方的秘密值生成第一参与方的审核密钥时,可以生成满足以下表达式的集合,作为第一参与方的审核密钥:
Figure GDA0002606228540000121
其中,i为表示第一参与方的数字,VKi为第一参与方的审核密钥,fi,1(x)为第一参与方的第一多项式函数,fi,2(x)为第一参与方的第二多项式函数,fi,k(x)为第一参与方的第k多项式函数,对于常数a,CMa为在预设椭圆曲线上的预设基点G与常数a的点乘aG,
Figure GDA0002606228540000122
wi,t,n-1、wi,t,n-2、wi,t,1、…、wi,t,0为fi,t(x)的多项式系数。
本实现方式中,可以通过以下方式对系统中第m个参与方的审核密钥进行审核:
对任意t=1,2,…,k-1判断以下等式是否成立,如果成立,那么审核通过,否则审核不通过:
Figure GDA0002606228540000123
其中,e为配对运算,
Figure GDA0002606228540000124
为VKm
Figure GDA0002606228540000125
中常数项的承诺,
Figure GDA0002606228540000126
为VKm
Figure GDA0002606228540000127
中常数项的承诺,sm为系统中第m个参与方的秘密值。
本实现方式中,利用椭圆曲线的离散对数问题的困难性,设置了用于审核各参与方之间所交互的加密内容的正确性的审核密钥。
本发明的一种实现方式中,上述步骤S207中,针对系统中的每一其他参与方,基于该其他参与方生成的、审核通过的审核密钥,对接收到的该其他参与方发送的、第一参与方对应的加密集合进行审核,可以包括:
先使用第一参与方的私钥将所接收到的加密集合解密,得到系统中每一其他参与方生成的、第一参与方对应的有序集合。
再针对系统中的任一其他参与方,若该其他参与方为系统中第y个参与方,对任意j=1,2,…,k判断以下等式是否成立,如果成立,那么审核通过,否则,审核不通过:
Figure GDA0002606228540000131
其中,fy,j(IDi)为该其他参与方发送给第一参与方的有序集合中的第j个元素,y的取值为从1到n的正整数且不等于i,
Figure GDA0002606228540000132
为审核通过的审核密钥VKy中的fy,j(x)的g次项系数与预设椭圆曲线上的预设基点G的点乘。
本实现方式中,基于审核通过的审核密钥对加密集合进行审核,审核的计算过程中没有用到配对运算,运算复杂度低,节省计算资源。
本发明的一种实现方式中,上述步骤S210中对所接收到的加密后反馈值分别进行审核时,可以先使用第一参与方的私钥将所接收到的加密后反馈值解密,得到系统中每一其他参与方的反馈值。
再针对系统中的任一其他参与方,若该其他参与方为系统中第y个参与方,判断以下等式是否成立,如果成立,那么审核通过,否则,审核不通过:
Figure GDA0002606228540000133
其中,bm,q为第m个参与方的秘密值多项式的q次项系数,bm,0为第m个参与方的秘密值多项式的常数项,G为预设椭圆曲线上的预设基点,y的取值为从1到n的正整数且不等于i。
本实现方式中,基于审核通过的审核密钥对加密后反馈值进行审核,审核的计算过程中没有用到配对运算,运算复杂度低,节省计算资源。
基于同一发明构思,根据本发明上述实施例提供的安全多方计算方法,相应地,本发明实施例还提供了一种安全多方计算装置,应用于第一参与方,其中,所述第一参与方为安全多方计算系统中的任意一个参与方,其结构示意图如图3所示,具体包括:
值确定模块301,用于确定为完成目标计算任务所需要提交的输入值,其中,所述目标计算任务为:所述系统中各个参与方需要协同完成的计算任务;
值加密模块302,用于随机产生所述第一参与方的秘密值,基于所述系统中的每个参与方都已知的预设算法,用所述第一参与方的秘密值对所述输入值加密,得到第一加密输入值,并在所述系统中广播所述第一加密输入值;
集合生成模块303,用于针对所述系统中每一其他参与方,生成该其他参与方对应的加密集合,并向该其他参与方发送所生成的加密集合,其中,一个参与方对应的加密集合为:以该参与方的公钥为加密秘钥对该参与方对应的有序集合加密得到的集合,一个参与方对应的有序集合为:基于该参与方的ID和生成有序集合的参与方的秘密值确定的有序的集合;
值接收模块304,用于接收所述系统中的其他参与方广播的加密输入值和其他参与方发送的所述第一参与方对应的加密集合;
值计算模块305,用于基于所述第一加密输入值、自身生成的所述第一参与方对应的有序集合、所接收到的加密输入值以及加密集合,计算得到所述第一参与方的反馈值;
值发送模块306,用于针对所述系统中的每一其他参与方,以该其他参与方的公钥为秘钥对所述第一参与方的反馈值加密,并向该其他参与方发送加密后反馈值;
任务完成模块307,用于接收所述系统中其他参与方发送的加密后反馈值,并基于所述第一参与方的反馈值、所接收到的加密后反馈值和所述系统中每个参与方的ID,完成所述目标计算任务。
本发明实施例提供的安全多方计算装置,其参与方可以先根据目标计算任务生成并广播参与方自身的加密输入值,再与其他参与方交互相对应的加密集合,然后由每个参与方无交互地计算一个反馈值,并将该反馈值广播给其他参与方,最后获取到其他参与方广播反馈值的参与方可以无交互的计算出待计算结果。本发明实施例提供的方案,无须在执行秘密值之间的乘法计算或秘密值的乘方时计算进行通信,减少了各参与方交互的次数,相比现有技术降低了安全多方计算的通信复杂度,节省了通信资源。
本发明的一种实现方式中,所述集合生成模块包括以下子模块,用于生成一个参与方对应的有序集合:
第一函数生成子模块,用于在预设有限域上随机生成一个n-1次多项式函数fm,1(x),并且确定所述该n-1次多项式函数的常数项为生成该有序集合的参与方的秘密值,其中,n为所述系统中参与方的数量;
第二函数生成子模块,用于在所述有限域上随机生成k-1个n-1次的、常数项为0的多项式函数,k为[2,所述系统中各个参与方能够协同处理的最大的多项式次数]范围内的第一预设数量;
函数获得子模块,用于采用以下公式,计算得到k-1个多项式函数:
Figure GDA0002606228540000151
其中,fm,j(x)为所得到的第j-1个多项式函数,sm为生成该有序集合的参与方的秘密值,cm,j(x)为所生成的k-1个n-1阶的、常数项为0的多项式函数中的第j-1个多项式函数,m为表示生成该有序集合的参与方的数字,m的取值为从1到n的正整数;
集合生成子模块,用于生成满足以下表达式的集合,作为一个参与方对应的有序集合:
Setm,i={fm,1(IDi),fm,2(IDi),fm,3(IDi),…,fm,k(IDi)};
其中,Setm,i为该参与方对应的有序集合,IDi为该参与方的ID,i为表示该参与方的数字,i的取值为从1到n的正整数。
本发明的一种实现方式中,采用以下表达式表示所述目标计算任务:
Figure GDA0002606228540000161
其中,h1、h2、…、hn均为多项式函数,x1,1,x1,2,…,
Figure GDA0002606228540000162
为所述系统中第1个参与方的d1个输入值,x2,1,x2,2,…,
Figure GDA0002606228540000163
为所述系统中第2个参与方的d2个输入值,xn,1,xn,2,…,
Figure GDA0002606228540000164
为所述系统中第n个参与方的dn个输入值;
所述值计算模块,包括:
形式获得子模块,用于基于所述系统中的每个参与方都已知的预设算法和所接收到的加密输入值,获得所述目标计算任务的预设表示形式,其中,所述预设表示形式中针对每一参与方只包含一个其他参与方未知的数值:
Figure GDA0002606228540000165
其中,bm,k为所述预设表示形式中第m个参与方的秘密值多项式的k次项系数,bm,k-1为所述预设表示形式中第m个参与方的秘密值多项式的k-1次项系数,bm,1为所述预设表示形式中第m个参与方的秘密值多项式的1次项系数,bm,0为所述预设表示形式中第m个参与方的秘密值多项式的常数项;
第一集合解密子模块,用于使用所述第一参与方的私钥将所接收到的加密集合解密,得到所述系统中每一其他参与方生成的、所述第一参与方对应的有序集合;
值计算子模块,用于采用以下公式,计算得到所述第一参与方的反馈值:
Figure GDA0002606228540000166
其中,i为表示所述第一参与方的数字,Ri为所述第一参与方的反馈值,fm,t(IDi)为第m个参与方生成的所述第一参与方对应的有序集合中的第t个元素。
本发明的一种实现方式中,所述任务完成模块,包括:
第一值解密子模块,用于使用所述第一参与方的私钥将所接收到的加密后反馈值解密,得到所述系统中每一其他参与方的反馈值;
任务完成子模块,用于采用以下公式,完成所述目标计算任务:
Figure GDA0002606228540000171
其中,U为所述目标计算任务的结果,IDp为第p个参与方的ID。
本发明的一种实现方式中,所述装置还包括:
密钥生成模块,用于基于所述第一参与方的秘密值生成所述第一参与方的审核密钥,并在所述系统中广播所述第一参与方的审核密钥;
状态确定模块,用于根据所述系统中其他参与方的反馈确定所述第一参与方的审核密钥是否审核通过,如果审核不通过,那么重新在所述系统中广播所述第一参与方的审核密钥,直到审核通过;
集合审核模块,用于在所述状态确定模块确定所述第一参与方的审核密钥审核通过之后,在所述值计算模块基于所述第一加密输入值、自身生成的所述第一参与方对应的有序集合、所接收到的加密输入值以及加密集合,计算得到所述第一参与方的反馈值之前,针对所述系统中的每一其他参与方,基于该其他参与方生成的、审核通过的审核密钥,对接收到的该其他参与方发送的、所述第一参与方对应的加密集合进行审核,如果审核不通过,那么要求该其他参与方重新发送所述第一参与方对应的加密集合,直到审核通过;
值审核模块,用于在所述任务完成模块基于所述第一参与方的反馈值、所接收到的加密后反馈值和所述系统中每个参与方的ID,完成所述目标计算任务之前,对所接收到的加密后反馈值分别进行审核,如果一个加密后反馈值审核不通过,那么要求发送该加密后反馈值的参与方重新发送加密后反馈值,直到所述系统中其他参与方发送的加密后反馈值均审核通过。
本实施例提供的方案中,安全多方计算系统中的各个参与方可以通过非交互的方式,审核所交互的加密内容的正确性,保证了安全多方计算过程的准确性,避免交互产生的错误影响计算结果,而且因为审核所增加的参与方之间的交互次数少,并没有浪费通讯资源。
本发明的一种实现方式中,所述密钥生成模块,具体用于生成满足以下表达式的集合,作为所述第一参与方的审核密钥:
Figure GDA0002606228540000181
其中,i为表示所述第一参与方的数字,VKi为所述第一参与方的审核密钥,fi,1(x)为所述第一参与方的第一多项式函数,fi,2(x)为所述第一参与方的第二多项式函数,fi,k(x)为所述第一参与方的第k多项式函数,对于常数a,CMa为在预设椭圆曲线上的预设基点G与常数a的点乘aG,
Figure GDA0002606228540000182
wi,t,n-1、wi,t,n-2、wi,t,1、…、wi,t,0为fi,t(x)的多项式系数;
所述装置还包括以下模块,用于对所述系统中第m个参与方的审核密钥进行审核:
相等判断模块,用于对任意t=1,2,…,k-1判断以下等式是否成立,如果成立,那么审核通过,否则审核不通过:
Figure GDA0002606228540000183
其中,e为配对运算,
Figure GDA0002606228540000184
为VKm
Figure GDA0002606228540000185
中常数项的承诺,
Figure GDA0002606228540000186
为VKm
Figure GDA0002606228540000187
中常数项的承诺,sm为所述系统中第m个参与方的秘密值。
本发明的一种实现方式中,所述集合审核模块,包括:
第二集合解密子模块,用于使用所述第一参与方的私钥将所接收到的加密集合解密,得到所述系统中每一其他参与方生成的、所述第一参与方对应的有序集合;
第一相等判断子模块,用于针对所述系统中的任一其他参与方,若该其他参与方为所述系统中第y个参与方,对任意j=1,2,…,k判断以下等式是否成立,如果成立,那么审核通过,否则,审核不通过:
Figure GDA0002606228540000191
其中,fy,j(IDi)为该其他参与方发送给所述第一参与方的有序集合中的第j个元素,y的取值为从1到n的正整数且不等于i,
Figure GDA0002606228540000192
为审核通过的审核密钥VKy中的fy,j(x)的g次项系数与预设椭圆曲线上的预设基点G的点乘。
本实现方式中,基于审核通过的审核密钥对加密集合进行审核,审核的计算过程中没有用到配对运算,运算复杂度低,节省计算资源。
本发明的一种实现方式中,所述值审核模块,包括:
第二值解密子模块,用于使用所述第一参与方的私钥将所接收到的加密后反馈值解密,得到所述系统中每一其他参与方的反馈值;
第二相等判断子模块,用于针对所述系统中的任一其他参与方,若该其他参与方为所述系统中第y个参与方,判断以下等式是否成立,如果成立,那么审核通过,否则,审核不通过:
Figure GDA0002606228540000193
其中,bm,q为第m个参与方的秘密值多项式的q次项系数,bm,0为第m个参与方的秘密值多项式的常数项,G为预设椭圆曲线上的预设基点,y的取值为从1到n的正整数且不等于i。
本实现方式中,基于审核通过的审核密钥对加密后反馈值进行审核,审核的计算过程中没有用到配对运算,运算复杂度低,节省计算资源。
基于同一发明构思,根据本发明上述实施例提供的安全多方计算方法,相应地,本发明实施例还提供了一种电子设备,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,
存储器403,用于存放计算机程序;
处理器401,用于执行存储器403上所存放的程序时,实现上述实施例中任一安全多方计算方法的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例提供的安全多方计算电子设备,其参与方可以先根据目标计算任务生成并广播参与方自身的加密输入值,再与其他参与方交互相对应的加密集合,然后由每个参与方无交互地计算一个反馈值,并将该反馈值广播给其他参与方,最后获取到其他参与方广播反馈值的参与方可以无交互的计算出待计算结果。本发明实施例提供的方案,无须在执行秘密值之间的乘法计算或秘密值的乘方时计算进行通信,减少了各参与方交互的次数,相比现有技术降低了安全多方计算的通信复杂度,节省了通信资源。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一安全多方计算方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一安全多方计算方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质和计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种安全多方计算方法,应用于第一参与方,其中,所述第一参与方为安全多方计算系统中的任意一个参与方,其特征在于,包括:
确定为完成目标计算任务所需要提交的输入值,其中,所述目标计算任务为:所述系统中各个参与方需要协同完成的计算任务;
随机产生所述第一参与方的秘密值,基于所述系统中的每个参与方都已知的预设算法,用所述第一参与方的秘密值对所述输入值加密,得到第一加密输入值,并在所述系统中广播所述第一加密输入值;
针对所述系统中每一其他参与方,生成该其他参与方对应的加密集合,并向该其他参与方发送所生成的加密集合,其中,一个参与方对应的加密集合为:以该参与方的公钥为加密秘钥对该参与方对应的有序集合加密得到的集合,一个参与方对应的有序集合为:基于该参与方的ID和生成有序集合的参与方的秘密值确定的有序的集合;
接收所述系统中的其他参与方广播的加密输入值和其他参与方发送的所述第一参与方对应的加密集合;
基于所述第一加密输入值、自身生成的所述第一参与方对应的有序集合、所接收到的加密输入值以及加密集合,计算得到所述第一参与方的反馈值;
针对所述系统中的每一其他参与方,以该其他参与方的公钥为秘钥对所述第一参与方的反馈值加密,并向该其他参与方发送加密后反馈值;
接收所述系统中其他参与方发送的加密后反馈值,并基于所述第一参与方的反馈值、所接收到的加密后反馈值和所述系统中每个参与方的ID,完成所述目标计算任务。
2.根据权利要求1所述的方法,其特征在于,通过以下方式生成一个参与方对应的有序集合:
在预设有限域上随机生成一个n-1次多项式函数fm,1(x),并且确定所述n-1次多项式函数的常数项为生成该有序集合的参与方的秘密值,其中,n为所述系统中参与方的数量;
在所述有限域上随机生成k-1个n-1次的、常数项为0的多项式函数,k为[2,所述系统中各个参与方能够协同处理的最大的多项式次数]范围内的第一预设数量;
采用以下公式,计算得到k-1个多项式函数:
Figure FDA0002606228530000021
其中,fm,j(x)为所得到的第j-1个多项式函数,sm为生成该有序集合的参与方的秘密值,cm,j(x)为所生成的k-1个n-1阶的、常数项为0的多项式函数中的第j-1个多项式函数,m为表示生成该有序集合的参与方的数字,m的取值为从1到n的正整数;
生成满足以下表达式的集合,作为一个参与方对应的有序集合:
Setm,i={fm,1(IDi),fm,2(IDi),fm,3(IDi),…,fm,k(IDi)};
其中,Setm,i为该参与方对应的有序集合,IDi为该参与方的ID,i为表示该参与方的数字,i的取值为从1到n的正整数。
3.根据权利要求2所述的方法,其特征在于,采用以下表达式表示所述目标计算任务:
Figure FDA0002606228530000022
其中,h1、h2、…、hn均为多项式函数,
Figure FDA0002606228530000023
为所述系统中第1个参与方的d1个输入值,
Figure FDA0002606228530000024
为所述系统中第2个参与方的d2个输入值,
Figure FDA0002606228530000025
为所述系统中第n个参与方的dn个输入值;
所述基于所述第一加密输入值、自身生成的所述第一参与方对应的有序集合、所接收到的加密输入值以及加密集合,计算得到所述第一参与方的反馈值,包括:
基于所述系统中的每个参与方都已知的预设算法和所接收到的加密输入值,获得所述目标计算任务的预设表示形式,其中,所述预设表示形式中针对每一参与方只包含一个其他参与方未知的数值:
Figure FDA0002606228530000031
其中,bm,k为所述预设表示形式中第m个参与方的秘密值多项式的k次项系数,bm,k-1为所述预设表示形式中第m个参与方的秘密值多项式的k-1次项系数,bm,1为所述预设表示形式中第m个参与方的秘密值多项式的1次项系数,bm,0为所述预设表示形式中第m个参与方的秘密值多项式的常数项;
使用所述第一参与方的私钥将所接收到的加密集合解密,得到所述系统中每一其他参与方生成的、所述第一参与方对应的有序集合;
采用以下公式,计算得到所述第一参与方的反馈值:
Figure FDA0002606228530000032
其中,i为表示所述第一参与方的数字,Ri为所述第一参与方的反馈值,fm,t(IDi)为第m个参与方生成的所述第一参与方对应的有序集合中的第t个元素。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一参与方的反馈值、所接收到的加密后反馈值和所述系统中每个参与方的ID,完成所述目标计算任务,包括:
使用所述第一参与方的私钥将所接收到的加密后反馈值解密,得到所述系统中每一其他参与方的反馈值;
采用以下公式,完成所述目标计算任务:
Figure FDA0002606228530000033
其中,U为所述目标计算任务的结果,IDp为第p个参与方的ID。
5.根据权利要求1-4项任一所述的方法,其特征在于,在所述基于所述第一加密输入值、自身生成的所述第一参与方对应的有序集合、所接收到的加密输入值以及加密集合,计算得到所述第一参与方的反馈值之前,还包括:
基于所述第一参与方的秘密值生成所述第一参与方的审核密钥,并在所述系统中广播所述第一参与方的审核密钥;
根据所述系统中其他参与方的反馈确定所述第一参与方的审核密钥是否审核通过,如果审核不通过,那么重新在所述系统中广播所述第一参与方的审核密钥,直到审核通过;
针对所述系统中的每一其他参与方,基于该其他参与方生成的、审核通过的审核密钥,对接收到的该其他参与方发送的、所述第一参与方对应的加密集合进行审核,如果审核不通过,那么要求该其他参与方重新发送所述第一参与方对应的加密集合,直到审核通过;
在所述基于所述第一参与方的反馈值、所接收到的加密后反馈值和所述系统中每个参与方的ID,完成所述目标计算任务之前,还包括:
对所接收到的加密后反馈值分别进行审核,如果一个加密后反馈值审核不通过,那么要求发送该加密后反馈值的参与方重新发送加密后反馈值,直到所述系统中其他参与方发送的加密后反馈值均审核通过。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第一参与方的秘密值生成所述第一参与方的审核密钥,包括:
生成满足以下表达式的集合,作为所述第一参与方的审核密钥:
Figure FDA0002606228530000041
其中,i为表示所述第一参与方的数字,VKi为所述第一参与方的审核密钥,fi,1(x)为所述第一参与方的第一多项式函数,fi,2(x)为所述第一参与方的第二多项式函数,fi,k(x)为所述第一参与方的第k多项式函数,对于常数a,CMa为在预设椭圆曲线上的预设基点G与常数a的点乘aG,
Figure FDA0002606228530000042
wi,t,n-1、wi,t,n-2、wi,t,1、…、wi,t,0为fi,t(x)的多项式系数;
通过以下方式对所述系统中第m个参与方的审核密钥进行审核:
对任意t=1,2,…,k-1判断以下等式是否成立,如果成立,那么审核通过,否则审核不通过:
Figure FDA0002606228530000043
其中,e为配对运算,
Figure FDA0002606228530000044
为VKm
Figure FDA0002606228530000045
中常数项的承诺,
Figure FDA0002606228530000046
为VKm
Figure FDA0002606228530000051
中常数项的承诺,sm为所述系统中第m个参与方的秘密值。
7.根据权利要求6所述的方法,其特征在于,所述针对所述系统中的每一其他参与方,基于该其他参与方生成的、审核通过的审核密钥,对接收到的该其他参与方发送的、所述第一参与方对应的加密集合进行审核,包括:
使用所述第一参与方的私钥将所接收到的加密集合解密,得到所述系统中每一其他参与方生成的、所述第一参与方对应的有序集合;
针对所述系统中的任一其他参与方,若该其他参与方为所述系统中第y个参与方,对任意j=1,2,…,k判断以下等式是否成立,如果成立,那么审核通过,否则,审核不通过:
Figure FDA0002606228530000052
其中,fy,j(IDi)为该其他参与方发送给所述第一参与方的有序集合中的第j个元素,y的取值为从1到n的正整数且不等于i,
Figure FDA0002606228530000053
为审核通过的审核密钥VKy中的fy,j(x)的g次项系数与预设椭圆曲线上的预设基点G的点乘。
8.根据权利要求6所述的方法,其特征在于,所述对所接收到的加密后反馈值分别进行审核,包括:
使用所述第一参与方的私钥将所接收到的加密后反馈值解密,得到所述系统中每一其他参与方的反馈值;
针对所述系统中的任一其他参与方,若该其他参与方为所述系统中第y个参与方,判断以下等式是否成立,如果成立,那么审核通过,否则,审核不通过:
Figure FDA0002606228530000054
其中,bm,q为第m个参与方的秘密值多项式的q次项系数,bm,0为第m个参与方的秘密值多项式的常数项,G为预设椭圆曲线上的预设基点,y的取值为从1到n的正整数且不等于i。
9.一种安全多方计算装置,应用于第一参与方,其中,所述第一参与方为安全多方计算系统中的任意一个参与方,其特征在于,包括:
值确定模块,用于确定为完成目标计算任务所需要提交的输入值,其中,所述目标计算任务为:所述系统中各个参与方需要协同完成的计算任务;
值加密模块,用于随机产生所述第一参与方的秘密值,基于所述系统中的每个参与方都已知的预设算法,用所述第一参与方的秘密值对所述输入值加密,得到第一加密输入值,并在所述系统中广播所述第一加密输入值;
集合生成模块,用于针对所述系统中每一其他参与方,生成该其他参与方对应的加密集合,并向该其他参与方发送所生成的加密集合,其中,一个参与方对应的加密集合为:以该参与方的公钥为加密秘钥对该参与方对应的有序集合加密得到的集合,一个参与方对应的有序集合为:基于该参与方的ID和生成有序集合的参与方的秘密值确定的有序的集合;
值接收模块,用于接收所述系统中的其他参与方广播的加密输入值和其他参与方发送的所述第一参与方对应的加密集合;
值计算模块,用于基于所述第一加密输入值、自身生成的所述第一参与方对应的有序集合、所接收到的加密输入值以及加密集合,计算得到所述第一参与方的反馈值;
值发送模块,用于针对所述系统中的每一其他参与方,以该其他参与方的公钥为秘钥对所述第一参与方的反馈值加密,并向该其他参与方发送加密后反馈值;
任务完成模块,用于接收所述系统中其他参与方发送的加密后反馈值,并基于所述第一参与方的反馈值、所接收到的加密后反馈值和所述系统中每个参与方的ID,完成所述目标计算任务。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-8任一所述的方法步骤。
CN201811319424.9A 2018-11-07 2018-11-07 一种安全多方计算方法及装置 Active CN109446828B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811319424.9A CN109446828B (zh) 2018-11-07 2018-11-07 一种安全多方计算方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811319424.9A CN109446828B (zh) 2018-11-07 2018-11-07 一种安全多方计算方法及装置

Publications (2)

Publication Number Publication Date
CN109446828A CN109446828A (zh) 2019-03-08
CN109446828B true CN109446828B (zh) 2020-10-13

Family

ID=65551009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811319424.9A Active CN109446828B (zh) 2018-11-07 2018-11-07 一种安全多方计算方法及装置

Country Status (1)

Country Link
CN (1) CN109446828B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111753315B (zh) * 2019-03-29 2023-10-13 华控清交信息科技(北京)有限公司 输入数据的计算方法、计算引擎及存储介质
CN110460435B (zh) * 2019-07-01 2021-01-01 创新先进技术有限公司 数据交互方法、装置、服务器和电子设备
US10735189B2 (en) 2019-07-01 2020-08-04 Alibaba Group Holding Limited Data exchange for multi-party computation
CN112751665B (zh) * 2019-10-30 2022-12-09 阿里巴巴(中国)网络技术有限公司 一种安全多方计算方法、设备、系统及存储介质
CN111143894B (zh) * 2019-12-24 2022-01-28 支付宝(杭州)信息技术有限公司 一种提升安全多方计算效率的方法及系统
CN112860790B (zh) * 2021-01-14 2023-05-30 华控清交信息科技(北京)有限公司 数据管理方法、系统、装置
CN114024674A (zh) * 2021-11-23 2022-02-08 支付宝(杭州)信息技术有限公司 两方安全比较的方法及系统

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1875569A (zh) * 2003-11-03 2006-12-06 皇家飞利浦电子股份有限公司 用于有效多方乘积的方法和设备
CN101442482A (zh) * 2007-11-13 2009-05-27 北京大学 一种基于反馈传播的分布式计算网络构建方法及其系统
CN102521910A (zh) * 2011-12-16 2012-06-27 河海大学 一种隐藏得票数的电子投票方法
CN102594820A (zh) * 2012-02-17 2012-07-18 南京邮电大学 基于物联网场景的安全多方计算隐私保护测评方法
CN102970143A (zh) * 2012-12-13 2013-03-13 中国科学技术大学苏州研究院 采用加法同态加密方法进行安全计算双方持有数和的指数的方法
CN103460637A (zh) * 2011-03-30 2013-12-18 三菱电机株式会社 针对存储在服务器中的隐马尔可夫模型(hmm)评估存储在客户端中的观测值序列的概率的方法和服务器
CN103763100A (zh) * 2013-10-29 2014-04-30 清华大学 保护任意用户群数据隐私安全的和与积计算方法
CN104521178A (zh) * 2012-04-17 2015-04-15 华为技术有限公司 安全的多方云计算的方法和系统
CN106682530A (zh) * 2017-01-10 2017-05-17 杭州电子科技大学 一种基于区块链技术的医疗信息共享隐私保护方法及装置
CN107256248A (zh) * 2017-06-07 2017-10-17 福州大学 云存储安全中基于通配符的可搜索加密方法
CN108364223A (zh) * 2017-12-29 2018-08-03 阿里巴巴集团控股有限公司 一种数据审计的方法及装置
CN108476198A (zh) * 2015-07-21 2018-08-31 巴弗尔公司 用于在不受信任的计算机上执行私人程序的系统和处理器
CN108574575A (zh) * 2017-03-07 2018-09-25 罗伯特·博世有限公司 数据处理方法和数据处理设备
CN108712429A (zh) * 2018-05-24 2018-10-26 西安电子科技大学 基于区块链云外包计算数据的隐私保护方法
CN108712260A (zh) * 2018-05-09 2018-10-26 曲阜师范大学 云环境下保护隐私的多方深度学习计算代理方法

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1875569A (zh) * 2003-11-03 2006-12-06 皇家飞利浦电子股份有限公司 用于有效多方乘积的方法和设备
CN101442482A (zh) * 2007-11-13 2009-05-27 北京大学 一种基于反馈传播的分布式计算网络构建方法及其系统
CN103460637A (zh) * 2011-03-30 2013-12-18 三菱电机株式会社 针对存储在服务器中的隐马尔可夫模型(hmm)评估存储在客户端中的观测值序列的概率的方法和服务器
CN102521910A (zh) * 2011-12-16 2012-06-27 河海大学 一种隐藏得票数的电子投票方法
CN102594820A (zh) * 2012-02-17 2012-07-18 南京邮电大学 基于物联网场景的安全多方计算隐私保护测评方法
CN104521178A (zh) * 2012-04-17 2015-04-15 华为技术有限公司 安全的多方云计算的方法和系统
CN102970143A (zh) * 2012-12-13 2013-03-13 中国科学技术大学苏州研究院 采用加法同态加密方法进行安全计算双方持有数和的指数的方法
CN103763100A (zh) * 2013-10-29 2014-04-30 清华大学 保护任意用户群数据隐私安全的和与积计算方法
CN108476198A (zh) * 2015-07-21 2018-08-31 巴弗尔公司 用于在不受信任的计算机上执行私人程序的系统和处理器
CN106682530A (zh) * 2017-01-10 2017-05-17 杭州电子科技大学 一种基于区块链技术的医疗信息共享隐私保护方法及装置
CN108574575A (zh) * 2017-03-07 2018-09-25 罗伯特·博世有限公司 数据处理方法和数据处理设备
CN107256248A (zh) * 2017-06-07 2017-10-17 福州大学 云存储安全中基于通配符的可搜索加密方法
CN108364223A (zh) * 2017-12-29 2018-08-03 阿里巴巴集团控股有限公司 一种数据审计的方法及装置
CN108712260A (zh) * 2018-05-09 2018-10-26 曲阜师范大学 云环境下保护隐私的多方深度学习计算代理方法
CN108712429A (zh) * 2018-05-24 2018-10-26 西安电子科技大学 基于区块链云外包计算数据的隐私保护方法

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
《BeeKeeper 2.0: Confidential Blockchain-Enabled IoT System with Fully Homomorphic Computation》;Lijing Zhou等;《sensors》;20181105;第1-19页 *
《BeeKeeper: A Blockchain-based IoT System with Secure Storage and Homomorphic Computation》;Lijing Zhou等;《JOURNAL OF LATEX CLASS FILES》;20150831;第14卷(第8期);第1-17页 *
《保护隐私的电子拍卖与电子投票协议研究》;庞雷;《中国博士学位论文全文数据库_信息科技辑》;20130115;第2013年卷(第1期);第I139-26页 *
《基于云计算服务的安全多方计算》;蒋瀚等;《计算机研究与发展》;20161231;第53卷(第10期);第2152-2162页 *
《基于安全多方计算的网络隐私保护应用研究》;周小艳;《中国优秀硕士学位论文全文数据库_信息科技辑》;20180315;第2018年卷(第3期);第I138-62页 *
《安全多方计算的研究》;杨方圆;《中国优秀硕士学位论文全文数据库_信息科技辑》;20070315;第2007年卷(第3期);第I138-65页 *
《通用可组合公平安全多方计算协议》;田有亮等;《通信学报》;20140228;第35卷(第2期);第54-62页 *
《高效安全的多方计算基础协议及应用研究》;张斌;《中国博士学位论文全文数据库_信息科技辑》;20130515;第2013年卷(第5期);第I138-6页 *

Also Published As

Publication number Publication date
CN109446828A (zh) 2019-03-08

Similar Documents

Publication Publication Date Title
CN109446828B (zh) 一种安全多方计算方法及装置
Giacomelli et al. Privacy-preserving ridge regression with only linearly-homomorphic encryption
US11902413B2 (en) Secure machine learning analytics using homomorphic encryption
Wang et al. Privacy-preserving public auditing for data storage security in cloud computing
EP3424175B1 (en) Converting a boolean masked value to an arithmetically masked value for cryptographic operations
US20160012238A1 (en) A method and system for privacy-preserving recommendation to rating contributing users based on matrix factorization
Jayapandian et al. Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption
US20220374544A1 (en) Secure aggregation of information using federated learning
US8923519B2 (en) Method of efficient secure function evaluation using resettable tamper-resistant hardware tokens
CN111970106B (zh) 一种格上支持全同态的短密文属性基加密方法及系统
CN113424492A (zh) 更高效的后量子签名
CN114039785A (zh) 数据加密、解密、处理方法、装置、设备和存储介质
CN112100144A (zh) 区块链文件共享方法、装置、存储介质及电子设备
Zhao et al. Secure outsourced NB: Accurate and efficient privacy-preserving Naive Bayes classification
CN115412365B (zh) 基于多层加密的数据隐私保护方法
Kulkarni et al. A comparative analysis of hybrid encryption technique for images in the cloud environment
CN116861477A (zh) 基于隐私保护的数据处理方法、系统、终端及存储介质
Cui et al. Towards Multi-User, Secure, and Verifiable $ k $ NN Query in Cloud Database
US20220237322A1 (en) Systems and methods for privacy-preserving inventory matching with security against malicious adversaries
CN115378725A (zh) 基于多方安全计算中的隐私保护方法及装置
CN113645022A (zh) 一种确定隐私集合交集方法、装置、电子设备及存储介质
CN114337994A (zh) 数据处理方法、装置及系统
Al-Attab et al. Lightweight effective encryption algorithm for securing data in cloud computing
Shen et al. Privacy-preserving multi-party deep learning based on homomorphic proxy re-encryption
CN112073172B (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