CN116684094A - 一种数据处理方法、装置、系统和可读存储介质 - Google Patents
一种数据处理方法、装置、系统和可读存储介质 Download PDFInfo
- Publication number
- CN116684094A CN116684094A CN202310960961.6A CN202310960961A CN116684094A CN 116684094 A CN116684094 A CN 116684094A CN 202310960961 A CN202310960961 A CN 202310960961A CN 116684094 A CN116684094 A CN 116684094A
- Authority
- CN
- China
- Prior art keywords
- sharing
- share
- mac
- calculator
- random number
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 51
- 238000004364 calculation method Methods 0.000 claims description 91
- 238000011084 recovery Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 description 28
- 238000004891 communication Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 238000012795 verification Methods 0.000 description 9
- 230000006399 behavior Effects 0.000 description 7
- 239000012634 fragment Substances 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000013479 data entry Methods 0.000 description 3
- 238000013467 fragmentation Methods 0.000 description 3
- 238000006062 fragmentation reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000499489 Castor canadensis Species 0.000 description 1
- 206010061619 Deformity Diseases 0.000 description 1
- 235000011779 Menyanthes trifoliata Nutrition 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 235000000332 black box Nutrition 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
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
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- 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
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/08—Randomization, e.g. dummy operations or using noise
-
- 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 Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供了一种数据处理方法、装置、系统和可读存储介质,方法包括:数据提供方生成t个k+s位的第一随机数,并基于原始数据和第一随机数,计算得到t个第一中间变量;数据提供方将每个第一中间变量、每个原始数据以及每个第一随机数通过秘密分享发送给计算方;计算方基于第一中间变量分享、原始数据分享、第一随机数分享以及MAC密钥分享,计算第一MAC分享;计算方验证第一条件是否成立,若成立则获得原始数据分享和第一MAC分享,否则终止协议;第一条件为:MAC密钥分享与原始数据分享基于秘密分享下的乘法结果等于第一MAC分享。本发明实施例可以为代理计算场景下的SPDZ2k方案提供准确的输入数据。
Description
技术领域
本发明涉及多方安全计算领域,尤其涉及一种数据处理方法、装置、系统和可读存储介质。
背景技术
多方安全计算(Multi-party Computation,MPC),又称为安全多方计算,指多个参与方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据。
秘密分享(Secret Share)是密码学中由多个参与方进行秘密分发、保存、计算、恢复的信息保护协议。各个参与方可以将一份数据分成多份,每份称为一个分享(或分片)并分发给其他参与方,之后通过计算和通信,可以完成对这些数据正确的函数计算并且保障参与方数据的隐私。
在恶意敌手模型下,基于有限环的加法秘密分享的多方安全计算方案(如SPDZ2k)通常使用MAC(Message Authentication Code,消息验证码)来防止敌手在输入、计算、输出过程中对数据进行篡改。具体地,每个参与方设置隐私的MAC密钥分享[α]。在输入数据时使用数据分享[x]和MAC密钥分享[α],计算MAC分享[m];在计算时除对[x]进行计算外,也会对[m]进行对应计算,始终保持[m] = [α]×[x];输出数据时,验证[m]= [α]×[x],若满足则输出x,若不满足则说明存在篡改行为,放弃协议。
然而,SPDZ2k方案仅适用所有参与方均为计算方的场景,如果数据提供方和计算方分别为独立的节点,由于数据提供方通常算力较低,不参与大规模计算和通信任务,无法完成上述输入数据时所需的计算。因此SPDZ2k方案不适用于代理计算场景。
发明内容
本发明实施例提供一种数据处理方法、装置、系统和可读存储介质,可以为代理计算场景下的SPDZ2k方案提供准确的输入数据,从而为实现代理计算场景下的SPDZ2k方案提供基础,并且可以保护数据隐私安全。
第一方面,本发明实施例公开了一种数据处理方法,应用于多方安全计算系统,所述多方安全计算系统用于恶意敌手模型下基于环的秘密分享的多方安全计算,所述多方安全计算系统包括数据提供方和计算方,所述计算方的个数大于1,所述数据提供方拥有t个k位的原始数据,所述计算方拥有MAC密钥分享,所述方法包括:
所述数据提供方生成t个k+s位的第一随机数,并基于所述原始数据和所述第一随机数,计算得到t个第一中间变量;
所述数据提供方将每个第一中间变量、每个原始数据以及每个第一随机数通过秘密分享发送给所述计算方,使得所述计算方获得第一中间变量分享、原始数据分享以及第一随机数分享;
所述计算方基于所述第一中间变量分享、所述原始数据分享、所述第一随机数分享以及所述MAC密钥分享,计算第一MAC分享;
所述计算方验证第一条件是否成立,若成立则获得所述原始数据分享和所述第一MAC分享,否则终止协议;所述第一条件为:所述MAC密钥分享与所述原始数据分享基于秘密分享下的乘法结果等于所述第一MAC分享。
第二方面,本发明实施例公开了一种多方安全计算系统,所述多方安全计算系统用于恶意敌手模型下基于环的秘密分享的多方安全计算,所述多方安全计算系统包括数据提供方和计算方,所述计算方的个数大于1,所述数据提供方拥有t个k位的原始数据,所述计算方拥有MAC密钥分享,其中:
所述数据提供方,用于生成t个k+s位的第一随机数,并基于所述原始数据和所述第一随机数,计算得到t个第一中间变量;
所述数据提供方,还用于将每个第一中间变量、每个原始数据以及每个第一随机数通过秘密分享发送给所述计算方,使得所述计算方获得第一中间变量分享、原始数据分享以及第一随机数分享;
所述计算方,用于基于所述第一中间变量分享、所述原始数据分享、所述第一随机数分享以及所述MAC密钥分享,计算第一MAC分享;
所述计算方,还用于验证第一条件是否成立,若成立则获得所述原始数据分享和所述第一MAC分享,否则终止协议;所述第一条件为:所述MAC密钥分享与所述原始数据分享基于秘密分享下的乘法结果等于所述第一MAC分享。
第三方面,本发明实施例公开了一种用于数据处理的装置,包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于进行如前述一个或多个所述的数据处理方法的指令。
第四方面,本发明实施例公开了一种机器可读存储介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如前述一个或多个所述的数据处理方法。
本发明实施例包括以下优点:
本发明实施例对SPDZ2k方案进行扩展,在数据提供方和计算方为独立的节点的情况下,数据提供方生成第一随机数,并基于其持有的原始数据和所述第一随机数,计算得到第一中间变量,将第一中间变量、原始数据以及第一随机数通过秘密分享发送给计算方,该过程不会暴露原始数据的明文。计算方基于第一中间变量分享、原始数据分享、第一随机数分享以及其持有的MAC密钥分享,计算第一MAC分享,该过程不需要数据提供方获取计算方的MAC密钥分享。计算方在验证第一条件成立时,可以确定其获取的原始数据分享和第一MAC分享正确,则可以将该原始数据分享和第一MAC分享作为数据输入阶段的结果,否则终止协议。由此,在数据输入阶段,本发明实施例可以在数据提供方无需获取计算方的MAC密钥分享并且数据提供方不泄露自身的原始数据的前提下,使得计算方可以获取正确的原始数据分享和MAC分享,以使计算方可以根据获取的原始数据分享和MAC分享进行多方安全计算。数据提供方只需在本地进行分片操作以及一些模乘运算,将分片发送给计算方即可。数据提供方不用进行复杂计算,将复杂计算放在计算方执行。由此,本发明实施例提供的数据处理方法可以将SPDZ2k方案扩展至代理计算场景。也即,数据提供方和计算方分别为独立的节点,数据提供方可以不用集成密文计算引擎,也没有较高计算资源的要求。本发明实施例可以为代理计算场景下的SPDZ2k方案提供准确的输入数据,从而为实现代理计算场景下的SPDZ2k方案提供基础,并且数据提供方不会获取计算方的MAC密钥分享,计算方也不会获取数据方的原始数据明文,可以保护数据隐私安全。
进一步地,本发明实施例提供的数据处理方法还可用于结果获取方与计算方独立的场景。在数据输出阶段,可以在结果获取方无需获取计算方的MAC密钥分享的前提下,使得结果获取方可以获得正确的计算结果,并保证数据隐私安全。由此,通过本发明实施例可以实现代理计算场景下的SPDZ2k方案。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种数据处理方法实施例的步骤流程图;
图2是本发明的一种多方安全计算系统实施例的结构框图;
图3是本发明的另一种多方安全计算系统实施例的结构框图;
图4是本发明的一种用于数据处理的装置800的框图;
图5是本发明的一些实施例中服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本发明实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
参照图1,示出了本发明的一种数据处理方法实施例的步骤流程图,所述多方安全计算系统用于恶意敌手模型下基于环的秘密分享的多方安全计算,所述多方安全计算系统包括数据提供方和计算方,所述计算方的个数大于1,所述数据提供方拥有t个k位的原始数据,所述计算方拥有MAC密钥分享,所述方法可以包括如下步骤:
步骤101、所述数据提供方生成t个k+s位的第一随机数,并基于所述原始数据和所述第一随机数,计算得到t个第一中间变量;
步骤102、所述数据提供方将每个第一中间变量、每个原始数据以及每个第一随机数通过秘密分享发送给所述计算方,使得所述计算方获得第一中间变量分享、原始数据分享以及第一随机数分享;
步骤103、所述计算方基于所述第一中间变量分享、所述原始数据分享、所述第一随机数分享以及所述MAC密钥分享,计算第一MAC分享;
步骤104、所述计算方验证第一条件是否成立,若成立则获得所述原始数据分享和所述第一MAC分享,否则终止协议;所述第一条件为:所述MAC密钥分享与所述原始数据分享基于秘密分享下的乘法结果等于所述第一MAC分享。
本发明实施例提供的数据处理方法可应用于多方安全计算系统,所述多方安全计算系统可用于恶意敌手模型下基于环的秘密分享的多方安全计算(SPDZ2k)。
相关技术中,SPDZ2k方案仅适用所有参与方均为计算方的场景,本发明实施例提供的数据处理方法可以将SPDZ2k方案扩展至代理计算场景。也即,数据提供方和计算方分别为独立的节点,数据提供方可以不用集成密文计算引擎,也没有较高计算资源的要求。
传统的SPDZ2k方案流程大致如下:每个参与方拥有原始数据x的分享,即对于原始数据x被分片为x = x1+...+xn的形式,原始数据x的秘密分享形式记为[x],其中n个参与方中第i个参与方Pi拥有分片xi。每个参与方设置隐私的MAC密钥分享αi,MAC密钥分享α的秘密分享形式记为[α]。在数据输入阶段,使用数据分享[x]和[α],计算MAC分享[m];在计算阶段,对[x]进行计算,同时对[m]进行相应计算,始终保持[m] = [α]×[x];在数据输出阶段,验证[m]= [α]×[x],若满足则输出x,否则存在篡改行为,放弃协议。其中的参与方既是数据提供方也是计算方。
在本发明实施例中,[x]k代表在mod 2k下x的秘密分享形式,xj记为第j个分片由计算节点Pj拥有,若无特别说明,分片应该保证隐私。
本发明实施例提供的数据处理方法可用于SPDZ2k方案的数据输入阶段,并且可适用于代理计算场景。在数据输入阶段,可以在数据提供方无需获取计算方的MAC密钥分享并且数据提供方不泄露自身的原始数据x的前提下,使得计算方可以获取正确的原始数据分享[x]和MAC分享[m],以使计算方可以使用获取的原始数据分享[x]进行MPC计算,以及使用获取的MAC分享[m]进行MAC验证,以保证安全性。
其中,原始数据x可以为数据提供方拥有的隐私数据。所述多方安全计算可以包括但不限于如下任意一项或多项:基于MPC的PSI(Private Set Intersection,隐私集合求交集)/PIR(Private Information Retrieval,隐私信息检索)、基于隐私保护的模型训练及预测、基于隐私保护的数据库查询操作等等。可以理解,本发明实施例对所述多方安全计算的具体类型不加以限制。例如,所述多方安全计算可以包含任意计算类型的数学计算,如四则计算 (例如加法计算、减法计算、乘法计算、除法计算)、逻辑计算(例如与计算、或计算、异或计算)等。
多个参与方可以基于各自持有的隐私数据执行多方安全计算。本发明实施例对所述隐私数据不做限制。例如,所述隐私数据如环境监控数据、用户征信数据、用户账户数据、个人健康数据等。
需要说明的是,本发明实施例对数据提供方和计算方的数量不做限制,可以根据实际MPC计算场景决定。本发明实施例中主要以一个数据提供方和两个参与方的多方安全计算为例进行说明。
在本发明实施例中,多方安全计算系统包括数据提供方S和计算方(如P1~Pn),n大于1,所述数据提供方S拥有t个k位的原始数据,如记为x = (x1,...,xt) mod 2k,(x1,...,xt) mod 2k表示对向量x中的每个元素分别mod 2k。每个计算方拥有隐私的MAC密钥分享,如记为(α1,...,αn)mod 2s,其中,第i个计算方Pi拥有αimod 2s。数据提供方S的原始数据不能以明文形式发送给计算方,而需要通过秘密分享的形式发送给每个计算方。在SPDZ2k方案下,计算方除了需要获取原始数据分享[x],还需要获取MAC分享[m]。在输出阶段,计算方(P1~Pn)得到数据分享[x]以及MAC分享[m],即Pi得到数据向量分片ximod 2k+s和MAC分片mimod 2k+s,满足∑mi=∑αi×∑ximod 2k+s,其中x, m, xi, mi,为向量形式。
需要说明的是,本发明实施例可以支持批量对向量形式的原始数据进行数据输入。
本发明实施例对每个计算方获取隐私的MAC密钥分享的方式不做限制。每个参与方可在规定范围内选取随机值作为自己的MAC密钥分享。示例性地,所述规定范围如mod2s。在本发明实施例的整个过程中,MAC密钥分享均为计算方自身持有的私有值,不会向其他参与方(如其他计算节点、数据提供方、数据接收方)交互自身的MAC密钥分享,只是在需要的时候将自身的MAC密钥分享作为隐私输入;并且在整个过程中,MAC密钥都不会被打开。
其中,所述规定范围与SPDZ2k方案的原理相关,s与安全性相关。在本发明实施例中,原始数据是k位,MAC密钥分享的范围是mod 2s,数据分享、MAC分享、以及MAC验证都是在mod 2k+s范围上,通过增大环的大小防止敌手作恶。
首先,数据提供方S生成t个k+s位的第一随机数,如记为(r1,...,rt) mod 2k+s,并基于所述原始数据(x1,...,xt) mod 2k和所述第一随机数(r1,...,rt) mod 2k+s,计算得到t个第一中间变量,如记为δh,h的取值为1~t。示例性地,可以将一个原始数据与一个第一随机数相乘,得到一个第一中间变量,如δh= xh×rhmod 2k+s。其中,s为统计安全参数,可以根据实际需要设置,一般可取40以上。
然后,数据提供方S将每个第一中间变量、每个原始数据以及每个第一随机数通过秘密分享发送给所述计算方(P1~Pn),使得计算方获得第一中间变量分享、原始数据分享以及第一随机数分享。所述计算方基于所述第一中间变量分享、所述原始数据分享、所述第一随机数分享以及所述MAC密钥分享,可以计算第一MAC分享;最后,所述计算方可以验证第一条件是否成立,若成立说明其获取的所述原始数据分享和所述第一MAC分享正确,则可以获得所述原始数据分享和所述第一MAC分享,否则终止协议;所述第一条件为:所述MAC密钥分享与所述原始数据分享基于秘密分享下的乘法结果等于所述第一MAC分享。
其中,基于秘密分享下的乘法结果指的是,基于秘密分享进行乘法计算,得到的结果也是秘密分享形式,计算过程中不打开乘数的明文。
需要说明的是,在本发明实施例中,计算方(P1~Pn)执行的计算指的是计算方基于自身持有的分片进行基于秘密分享的协同计算。例如,计算方(P1~Pn)基于各自持有的第一中间变量分享、原始数据分享、第一随机数分享以及MAC密钥分享,进行基于秘密分享的协同计算,使得每个计算方得到各自的第一MAC分享,该过程中,不会泄露明文数据。
本发明实施例中,数据提供方只需在本地进行分片操作以及一些模乘运算,并将分片发送给计算方即可。数据提供方不用进行复杂计算,而将复杂计算放在计算方执行。所述复杂计算指的是需要调用MPC黑盒算法利用分片完成的乘法运算等。因为MPC黑盒算法通常具有较多的通信轮数,对算力以及带宽具有较高要求。所述MPC黑盒算法例如基于秘密分享的MPC方案中基于beaver三元组的乘法方案。
本发明实施例对SPDZ2k方案进行扩展,在数据提供方和计算方为独立的节点的情况下,数据提供方生成第一随机数,并基于其持有的原始数据和所述第一随机数,计算得到第一中间变量,将第一中间变量、原始数据以及第一随机数通过秘密分享发送给计算方,该过程不会暴露原始数据的明文。计算方基于第一中间变量分享、原始数据分享、第一随机数分享以及其持有的MAC密钥分享,计算第一MAC分享,该过程不需要数据提供方获取计算方的MAC密钥分享。计算方在验证第一条件成立时,可以确定其获取的原始数据分享和第一MAC分享正确,则可以将该原始数据分享和第一MAC分享作为数据输入阶段的结果,否则终止协议。由此,在数据输入阶段,本发明实施例可以在数据提供方无需获取计算方的MAC密钥分享并且数据提供方不泄露自身的原始数据的前提下,使得计算方可以获取正确的原始数据分享和MAC分享,以使计算方可以根据获取的原始数据分享和MAC分享进行多方安全计算。由此本发明实施例可以为代理计算场景下的SPDZ2k方案提供准确的输入数据,从而为实现代理计算场景下的SPDZ2k方案提供基础,并且数据提供方不会获取计算方的MAC密钥分享,计算方也不会获取数据方的原始数据明文,可以保护数据隐私安全。
在本发明的一种可选实施例中,所述计算第一MAC分享,可以包括:
[mh]k+s= ([α]k+s+[rh]k+s)×[xh]k+s-[δh]k+s,h=1,2,..,t;其中,[mh]k+s表示第一MAC分享,[δh]k+s表示第一中间变量分享,[xh]k+s表示原始数据分享,[rh]k+s表示第一随机数分享,[α]k+s表示MAC密钥分享。
数据提供方将每个第一中间变量、每个原始数据以及每个第一随机数通过秘密分享发送给所述计算方,使得所述计算方获得第一中间变量分享[δh]k+s、原始数据分享[xh]k+s以及第一随机数分享[rh]k+s。
示例性地,第一MAC分享[mh]k+s可以计算如下:
[mh]k+s= ([α]k+s+[rh]k+s)×[xh]k+s-[δh]k+s,h=1,2,..,t;
本发明实施例对计算第一MAC分享的方式不做限制。计算方可以使用MPC黑盒算法计算第一MAC分享[mh]k+s。进一步地,在上述计算第一MAC分享的过程中,计算方可以使用基于秘密分享的乘法黑盒算法和减法黑盒算法。其中,基于秘密分享的乘法黑盒算法用于执行秘密分享下的乘法计算,基于秘密分享的减法黑盒算法用于执行秘密分享下的减法计算。
需要说明的是,本发明实施例中提到计算方时,通常指计算方P1~Pn这n个计算方。提到计算方Pi时,指的是其中第i个计算方。
在本发明的一种可选实施例中,所述计算方验证第一条件是否成立,可以包括:
步骤S11、所述计算方生成第二随机数,并对所述第二随机数进行秘密分享,得到所述第二随机数对应的第二随机数分享;
步骤S12、所述计算方计算所述MAC密钥分享和所述第二随机数分享基于秘密分享下的乘积,得到第二MAC分享;
步骤S13、所述计算方基于所述第二MAC分享验证第一条件是否成立。
计算方在计算得到第一MAC分享[mh]k+s之后,可以使用MPC黑盒算法额外生成一个随机数。例如,计算方可以使用基于秘密分享的随机数分享黑盒算法额外生成一个随机数(称为第二随机数),并且所述计算方获得所述第二随机数对应的分片,如记为[xt+1]。
n个计算方可以调用所述基于秘密分享的随机数分享黑盒算法,所述基于秘密分享的随机数分享黑盒算法的输入为空,输出为该算法为每个计算方随机选取的分享值(第二随机分享),且该第二随机分享对其他计算方不公开。
所述计算方计算所述MAC密钥分享和所述第二随机数分享基于秘密分享下的乘积,得到如下第二MAC分享:[mt+1]k+s= [α]k+s×[xt+1]k+s。第二MAC分享[mt+1]k+s可用于对原始数据分享和第一MAC分享进行MAC验证。具体地,所述第二MAC分享[mt+1]k+s可用于验证第一条件是否成立,通过所述第一条件是否成立可以验证计算过程中是否被恶意行为篡改,从而可以验证获取的原始数据分享和第一MAC分享是否正确,以保证计算安全。
在本发明的一种可选实施例中,所述计算方基于所述第二MAC分享验证第一条件是否成立,可以包括:
步骤S21、每个计算方分别生成公开随机数(χ1,..., χt) mod 2s;
步骤S22、第j个计算方计算yj=∑t h=1χh×xj h+ xj t+1mod2k+s并广播,j的取值为1~n,n为计算方的个数;
步骤S23、第j个计算方计算y = ∑n j=1yj,Mj=∑t h=1χh×mj h+ mj t+1mod2k+s;
步骤S24、第j个计算方计算、承诺并打开zj= Mj– αj×yjmod2k+s;
步骤S25、每个计算方分别计算z = ∑n j=1zjmod 2k+s,并验证是否满足z = 0,若满足则确定第一条件成立,若不满足则确定第一条件不成立。
需要说明的是,在本发明实施例中,对向量mod,表示对向量中每个元素分别mod;算式结尾有mod时,表示对该算式的结果mod。例如,上式(χ1,..., χt) mod 2s,表示对(χ1,..., χt)中的每个元素分别mod 2s。上式∑t h=1χh×xj h+ xj t+1mod2k+s,表示对∑t h=1χh×xj h+ xj t+1的结果mod2k+s。上式Mj– αj×yjmod2k+s,表示对Mj– αj×yj的结果mod2k+s。以此类推。
其中,公开随机数(χ1,..., χt) mod 2s表示t个公开的随机数,在各计算方之间公开且一致,也即,每个计算方都拥有公开随机数(χ1,..., χt) mod 2s。计算方可以使用MPC黑盒算法生成公开随机数。例如,计算方可以使用基于秘密分享的黑盒算法FRand生成公开随机数。
n个计算方可以调用所述基于秘密分享的黑盒算法FRand,所述基于秘密分享的黑盒算法FRand的输入为空,输出为向每个计算方输出公开随机数(χ1,..., χt) mod 2s,该公开随机数对所有计算方公开且一致且保持随机性。
上述y是中间变量,yj表示第j个计算方Pj拥有的中间变量的分片。需要说明的是,在本发明实施例中,分片若无特殊说明应该是隐私且独立计算的。
所述承诺并打开属于承诺协议Commit中的密码学原语,承诺协议包含承诺和打开的步骤,可以在公布隐私信息前先设置“承诺”,打开后,其他方可以对打开值进行验证是否是承诺的值。
各计算方计算zj后使用“承诺”对所有计算方公开自己的zj,因此所有计算方都可以获得其他计算方的zj,进而计算得到z,并且各计算方得到的z应是一致的。
在SPDZ2k方案中,MAC验证是在mod 2k+s下进行的,因此只需验证在mod 2k+s下,z=0是否成立,即可确定第一条件是否成立。若验证z=0,则说明[mh]k+s= [α]k+s×[xh]k+s成立,没有恶意敌手进行恶意篡改行为。此时可以成功输出原始数据分享[xh]k+s和第一MAC分享[mh]k+s,h的取值为1~t。
一个示例中,假设计算域(规定范围)为mod 232,数据提供方拥有原始数据为x mod232,计算方包括P1和P2。x可以为向量,示例性地,x可以为一组用户的身高数据,或者,x可以为一组用户的年龄数据,等等。首先,数据提供方生成第一随机数r并计算第一中间变量δ =x×r mod 232,数据提供方对第一中间变量、原始数据以及第一随机数进行秘密分享,如生成δ =δ1+ δ2mod 232,x =x1+ x2mod 232,r =r1+r2mod 232;然后,数据提供方通过一对一信道分别向计算方P1和P2发送第一中间变量分享、原始数据分享以及第一随机数分享,使得P1拥有δ1、x1和r1,P2拥有δ2、x2和r2;接下来,计算方根据各自持有的第一中间变量分享、原始数据分享、第一随机数分享以及MAC密钥分享,计算得到各自的第一MAC分享,如P1得到第一MAC分享m1,P2得到第一MAC分享m2。最后,计算方P1和P2验证第一条件是否成立,若成立则获得所述原始数据分享和所述第一MAC分享,用于后续的MPC计算。
其中,δ1和δ2为第一中间变量δ的两个分片;x1和x2为原始数据x的两个分片;r1和r2为第一随机数r的两个分片。数据提供方通过与P1之间的隐私通道将第一中间变量分享δ1、原始数据分享x1以及第一随机数分享r1发送给P1。数据提供方通过与P2之间的隐私通道将第一中间变量分享δ2、原始数据分享x2以及第一随机数分享r2发送给P2。
在具体实施中,所述多方安全计算系统还可以包括结果接收方,用于接收MPC计算得到的结果分享,利用该结果分享计算进行后续计算,或者,恢复得到结果明文。所述结果接收方可以是参与多方安全计算的n个参与方中指定的一个或多个计算方,也可以是其他独立的节点。
在本发明的一种可选实施例中,所述多方安全计算系统还可以包括结果接收方,所述方法还可以包括:
步骤S31、所述计算方基于所述原始数据分享进行多方安全计算,得到结果分享;
步骤S32、所述计算方对所述第一MAC分享进行所述多方安全计算相对应的计算,得到第三MAC分享;
步骤S33、所述计算方基于所述结果分享和所述第三MAC分享,计算得到第二中间变量分享,并将所述结果分享和所述第二中间变量分享发送给所述结果接收方;
步骤S34、所述结果接收方基于所述第二中间变量分享验证所述结果分享是否正确,若正确则将所述结果分享恢复得到输出结果,否则终止协议。
本发明实施例还可以适用于结果接收方是独立的节点的场景。例如,数据提供方S、计算方(P1~Pn)和结果接收方R均为独立的节点。也即,结果接收方可以不用集成密文计算引擎,也没有较高计算资源的要求。本发明实施例提供的数据处理方法还可用于SPDZ2k方案的数据输出阶段。在数据输出阶段,可以在结果获取方无需获取计算方的MAC密钥分享的前提下,使得结果获取方可以获得正确的计算结果,并保证数据隐私安全。
数据输入阶段完成之后,计算方可以获得原始数据分享和第一MAC分享。计算方可以基于原始数据分享进行MPC计算,得到计算结果的分片(也称为结果分享)。此外,计算方对所述第一MAC分享进行所述多方安全计算相对应的计算,得到第三MAC分享。第三MAC分享可用于对结果分享进行MAC验证,以验证计算过程中是否被恶意篡改,保证计算安全。
示例性地,假设数据输入阶段完成之后,计算方拥有原始数据分享[xh]k+s和第一MAC分享[mh]k+s。计算方基于原始数据分享[xh]k+s进行MPC计算,得到结果分享,如记为[yh]k+s,并且对第一MAC分享[mh]k+s进行与原始数据分享对应的MPC计算得到第三MAC分享,用于对MPC计算的结果进行MAC验证,如将第三MAC分享记为[nh]k+s。
需要说明的是,此处结果分享[yh]k+s中的y表示MPC计算的结果,与数据输入阶段步骤S22至S24中的y(该处为中间变量)的指代不同,仅使用相同符号表示。
计算方基于计算得到的所述结果分享和所述第三MAC分享,可以计算得到第二中间变量分享,并将所述结果分享和所述第二中间变量分享发送给所述结果接收方;所述结果接收方可以基于所述第二中间变量分享验证所述结果分享是否正确,若正确则将所述结果分享恢复得到输出结果,否则终止协议。
在本发明的一种可选实施例中,所述计算方基于所述结果分享和所述第三MAC分享,计算得到第二中间变量分享,可以包括:
步骤S41、所述计算方生成第四随机数分享,以及基于MAC密钥分享生成所述第四随机数分享对应的第四MAC分享[oh]s。
步骤S42、所述计算方基于所述结果分享和所述第四随机数分享计算得到第一更新分享[y'h]k+s,以及基于所述第三MAC分享和所述第四MAC分享计算得到第二更新分享[n'h]k+s;
步骤S43、所述计算方基于所述第四随机数分享和所述MAC密钥分享计算得到第三更新分享[sh]k+s,以及基于所述第四随机数分享、所述第一更新分享和所述第二更新分享计算得到第四更新分享[th]k+s;
步骤S44、将所述第一更新分享、所述第三更新分享和所述第四更新分享作为第二中间变量分享。
计算方可以使用MPC黑盒算法生成第四随机数分享。例如,计算方可以使用基于秘密分享的随机数分享黑盒算法生成第四随机数分享,如记为[rh]s,表示r是mod 2s环上的数。接下来,计算方可以使用MPC黑盒算法生成在mod 2s上的第四MAC分享。例如,计算方可以使用基于秘密分享的黑盒算法FMac生成在mod 2s上的第四MAC分享,如记为[oh]s。其中,FMac用于计算MAC分享。例如,将[rh]s和MAC密钥分享[α]k+s输入FMac,FMac可输出根据[α]k+s针对[rh]s生成的MAC分享[oh]s,满足[oh]s=[α]k+s×[rh]s。
FMac的输入为目标数据和MAC密钥分享,FMac的输出为根据输入的MAC密钥分享对所述目标数据计算得到的MAC分享。也即,在MAC密钥分享确定的情况下,MAC分享与目标数据之间具有绑定关系。同样的,本发明实施例中生成的第一MAC分享与原始数据之间也具有绑定关系。区别在于,第一MAC分享是通过本发明实施例的方法,在数据提供方无需获取计算方的MAC密钥分享,计算方也无需获取数据方的原始数据的前提下,使得计算方可以获得基于计算方的MAC密钥针对数据提供方的原始数据计算得到的MAC分享(本发明中称为第一MAC分享)。步骤S41中,由于计算方自身持有第四随机数分享以及MAC密钥分享,因此,此处可以直接通过调用秘密分享黑盒算法FMac生成第四随机数对应的第四MAC分享。
然后,计算方基于所述结果分享[yh]k+s和所述第四随机数分享[rh]s计算得到第一更新分享,如记为[y'h]k+s;以及基于所述第三MAC分享[nh]k+s和所述第四MAC分享[oh]s计算得到第二更新分享,如记为[n'h]k+s。
示例性地,计算方计算[y'h]k+s= [yh]k+s+ 2k[rh]k+s,以及计算[n'h]k+s= [nh]k+s+2k[oh]k+s。
接下来,计算方基于所述第四随机数分享[rh]s和所述MAC密钥分享[α]k+s计算得到第三更新分享,如记为[sh]k+s,以及基于所述第四随机数分享[rh]s、所述第一更新分享[y'h]k+s和所述第二更新分享[n'h]k+s计算得到第四更新分享,如记为[th]k+s。
示例性地,计算方计算[sh]k+s= [rh]k+s+ [α]k+s,以及计算[th]k+s= [rh]k+s×[y'h]k+s+ [n'h]k+s。
将所述第一更新分享[y'h]k+s、所述第三更新分享[sh]k+s和所述第四更新分享[th]k+s作为第二中间变量分享。
计算方将所述结果分享和所述第二中间变量分享发送给所述结果接收方;所述结果接收方基于所述第二中间变量分享验证所述结果分享是否正确,若正确则将所述结果分享恢复得到输出结果,否则终止协议。
在本发明的一种可选实施例中,所述结果接收方基于所述第二中间变量分享验证所述结果分享是否正确,可以包括:
步骤S51、所述结果接收方基于接收到的第二中间变量分享,恢复得到所述第一更新分享、所述第三更新分享和所述第四更新分享分别对应的第一恢复值y'h、第三恢复值sh和第四恢复值th;
步骤S52、所述结果接收方验证第二条件是否成立,若成立则确定所述结果分享正确,否则确定所述结果分享不正确;所述第二条件包括:th= sh×y'hmod 2k+s。
每个计算方将自身持有的结果分享[yh]k+s和第二中间变量分享([y'h]k+s、[sh]k+s和[th]k+s)发送给结果接收方,结果接收方基于接收到的第二中间变量分享,可以恢复得到所述第一更新分享、所述第三更新分享和所述第四更新分享分别对应的第一恢复值(如记为y'h)、第三恢复值(如记为sh)和第四恢复值(如记为th)。
具体地,结果接收方在mod 2k+s上打开y'h、sh和th,即将从所有计算方接收到的y'h的分片相加得到y'h,将从所有计算方接收到的sh的分片相加得到sh,将从所有计算方接收到的th的分片相加得到th。
结果接收方验证第二条件是否成立,若成立则确定所述结果分享正确,否则确定所述结果分享不正确;所述第二条件包括:th= sh×y'hmod 2k+s,h的取值为1~t。若第二条件成立说明其获取的结果分享正确,未被恶意行为篡改,可以根据获取的结果分享恢复得到结果明文,如结果接收方可以恢复每个结果数据yh= y'hmod 2k;否则,说明其获取的结果分享不正确,可能被恶意行为篡改,终止协议。
在本发明实施例中,计算过程的范围为mod 2k+s,是为了通过增大环的大小防止敌手作恶,最终得到的计算结果应为k位,因此,上述结果接收方可以恢复每个结果数据yh=y'hmod 2k。
在具体实施中,本发明实施例在SPDZ2k方案的数据输入阶段和数据输出阶段的操作分别可以看作是一个基于秘密分享的黑盒操作。
在数据输入阶段,参与方包括数据提供方S和计算方(P1~Pn),该输入阶段可以看作是一个黑盒操作,该黑盒操作的输入包括:S输入原始数据x = (x1,...,xt) mod 2k,P1~Pn分别输入MAC密钥分享(α1,...,αn) mod 2s。该黑盒操作的输出包括:P1~Pn得到原始数据分享[x],以及第一MAC分享[m],即Pi得到数据向量分片ximod 2k+s,MAC分片mimod 2k+s,满足∑mi=∑αi×∑ximod 2k+s,其中x, m, xi, mi,为向量形式。
在数据输出阶段,参与方包括计算方(P1~Pn)和结果接收方R,该输出阶段可以看作是一个黑盒操作,该黑盒操作的输入包括:P1~Pn输入t个结果分片[y]k+s=([y1]k+s,...,[yt]k+s),第一MAC分享[m]k+s=([m1]k+s,..., [mt]k+s),以及MAC密钥分享(α1,...,αn) mod2s。该黑盒操作的输出包括:R得到y=(y1,...,yt) mod 2k,为最终明文结果。
一个示例中,所述多方安全计算系统包括数据提供方S、计算方(P1~Pn)和结果接收方R。假设数据提供方S拥有t个k位原始数据x=(x1,...,xt) mod 2k,数据输入阶段的流程可以如下:
A1、S生成t个k+s位随机数(r1,...,rt) mod 2k+s,并计算δh= xh×rhmod 2k+s,h =1,2,..,t。S对δh、xh和rh生成随机的加法秘密分享分片并发送给计算方。
A2、计算方获得[δh]k+s、[xh]k+s和[rh]k+s,计算方使用半诚实敌手模型下的秘密分享乘法黑盒算法和减法黑盒算法计算[mh]k+s= ([α]k+s+[rh]k+s)×[xh]k+s-[δh]k+s。此外,计算方调用基于秘密分享的随机数分享黑盒算法额外生成一个随机数[xt+1],并计算[mt+1]k+s= [α]k+s×[xt+1]k+s,用于后续MAC验证。
A3、上述步骤后若没有恶意敌手进行作恶或篡改,则应当有h=1,2,..,t+1满足[mh]k+s= [α]k+s×[xh]k+s。为了防止这种恶意行为可以进行一致性检查,若一致性检查失败则说明有恶意行为,一致性检查成功则得到满足条件的输出。
一致性检查(即验证是否满足第一条件)的步骤如下:
a) 每个计算方调用基于秘密分享的黑盒算法FRand生成公开随机数(χ1,..., χt)mod 2s;
b) 计算方Pj计算yj=∑t h=1χhxj h+ xj t+1mod2k+s并广播;
c) 计算方Pj计算y = ∑n j=1yj,Mj=∑t h=1χhmj h+ mj t+1mod2k+s;
d) 计算方Pj计算、承诺并打开zj= Mj– αjy mod2k+s;
e) 每个计算方计算z = ∑n j=1zjmod 2k+s并验证是否满足z = 0,若不满足则终止。
A4、若一致性检查通过则成功输出[xh]k+s和[mh]k+s,h=1,2,....,t;否则终止协议。
上述数据输入阶段的方案,通过证明可知该方案敌手作恶成功(通过篡改自己的输入使得输出的数据分享和MAC分享对应错误的明文数据且上述方案不会终止)的概率小于2-s。
该示例中,计算方(P1~Pn)基于原始数据分享[xh]k+s进行MPC计算,得到结果分享[yh]k+s,并且对第一MAC分享[mh]k+s进行对应计算得到第三分享[nh]k+s。数据输出阶段的流程可以如下:
B1、计算方使用基于秘密分享的随机数分享黑盒算法生成[rh]s,并调用基于秘密分享的黑盒算法FMac,生成[rh]s对应的在mod 2s上的MAC分享[oh]s。
B2、计算方计算[y'h]k+s= [yh]k+s+ 2k[rh]k+s,并对应计算 [n'h]k+s= [nh]k+s+ 2k[oh]k+s。
B3、计算方计算[sh]k+s= [rh]k+s+ [α]k+s,以及[th]k+s= [rh]k+s×[y'h]k+s+ [n'h]k+s。
B4、每个计算方将自己的[y'h]k+s以及[sh]k+s和[th]k+s分片发送给结果接收方R。
B5、结果接收方R在mod 2k+s上打开y'h、sh和th,并验证第二条件是否成立(即验证是否满足th= sh×y'hmod 2k+s,h=1,2,...,t)。
B6、若验证不满足则终止协议,若验证满足则结果接收方恢复每个数据yh= y'hmod2k,h=1,2,...,t,得到y=(y1,...,yt) mod 2k,为最终明文结果。
需要说明的是,在B1中生成的是[rh]s,在B2中使用的是[rh]k+s,表示在B2中将[rh]s视为更大的环上的元素,如32位的数或者64位的数。
上述数据输出阶段的方案,通过证明可知该方案敌手作恶成功(通过篡改自己的输入使得恢复的数据不是真实计算结果且上述方案不会终止)的概率小于2-s。
综上,本发明实施例对SPDZ2k方案进行扩展,在数据提供方和计算方为独立的节点的情况下,数据提供方生成第一随机数,并基于其持有的原始数据和所述第一随机数,计算得到第一中间变量,将第一中间变量、原始数据以及第一随机数通过秘密分享发送给计算方,该过程不会暴露原始数据的明文。计算方基于第一中间变量分享、原始数据分享、第一随机数分享以及其持有的MAC密钥分享,计算第一MAC分享,该过程不需要数据提供方获取计算方的MAC密钥分享。计算方在验证第一条件成立时,可以确定其获取的原始数据分享和第一MAC分享正确,则可以将该原始数据分享和第一MAC分享作为数据输入阶段的结果,否则终止协议。由此,在数据输入阶段,本发明实施例可以在数据提供方无需获取计算方的MAC密钥分享并且数据提供方不泄露自身的原始数据的前提下,使得计算方可以获取正确的原始数据分享和MAC分享,以使计算方可以根据获取的原始数据分享和MAC分享进行多方安全计算。数据提供方只需在本地进行分片操作以及一些模乘运算,将分片发送给计算方即可。数据提供方不用进行复杂计算,将复杂计算放在计算方执行。由此,本发明实施例提供的数据处理方法可以将SPDZ2k方案扩展至代理计算场景。也即,数据提供方和计算方分别为独立的节点,数据提供方可以不用集成密文计算引擎,也没有较高计算资源的要求。本发明实施例可以为代理计算场景下的SPDZ2k方案提供准确的输入数据,从而为实现代理计算场景下的SPDZ2k方案提供基础,并且数据提供方不会获取计算方的MAC密钥分享,计算方也不会获取数据方的原始数据明文,可以保护数据隐私安全。
进一步地,本发明实施例提供的数据处理方法还可用于结果获取方与计算方独立的场景。在数据输出阶段,可以在结果获取方无需获取计算方的MAC密钥分享的前提下,使得结果获取方可以获得正确的计算结果,并保证数据隐私安全。由此,通过本发明实施例可以实现代理计算场景下的SPDZ2k方案。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图2,示出了本发明的一种多方安全计算系统实施例的结构框图,所述多方安全计算系统用于恶意敌手模型下基于环的秘密分享的多方安全计算,所述多方安全计算系统包括数据提供方201和计算方202,所述计算方的个数大于1,所述数据提供方拥有t个k位的原始数据,所述计算方拥有MAC密钥分享,其中:
所述数据提供方201,用于生成t个k+s位的第一随机数,并基于所述原始数据和所述第一随机数,计算得到t个第一中间变量;
所述数据提供方201,还用于将每个第一中间变量、每个原始数据以及每个第一随机数通过秘密分享发送给所述计算方,使得所述计算方获得第一中间变量分享、原始数据分享以及第一随机数分享;
所述计算方202,用于基于所述第一中间变量分享、所述原始数据分享、所述第一随机数分享以及所述MAC密钥分享,计算第一MAC分享;
所述计算方202,还用于验证第一条件是否成立,若成立则获得所述原始数据分享和所述第一MAC分享,否则终止协议;所述第一条件为:所述MAC密钥分享与所述原始数据分享基于秘密分享下的乘法结果等于所述第一MAC分享。
可选地,所述计算方,具体用于执行如下计算:
[mh]k+s= ([α]k+s+[rh]k+s)×[xh]k+s-[δh]k+s,h=1,2,..,t;其中,[mh]k+s表示第一MAC分享,[δh]k+s表示第一中间变量分享,[xh]k+s表示原始数据分享,[rh]k+s表示第一随机数分享,[α]k+s表示MAC密钥分享。
可选地,所述计算方,具体用于执行如下步骤:生成第二随机数,并对所述第二随机数进行秘密分享,得到所述第二随机数对应的第二随机数分享;计算所述MAC密钥分享和所述第二随机数分享基于秘密分享下的乘积,得到第二MAC分享;基于所述第二MAC分享验证第一条件是否成立。
可选地,所述计算方,具体用于执行如下步骤:
每个计算方分别生成公开随机数(χ1,..., χt) mod 2s;
第j个计算方计算yj=∑t h=1χh×xj h+ xj t+1mod2k+s并广播,j的取值为1~n,n为计算方的个数;
第j个计算方计算y = ∑n j=1yj,Mj=∑t h=1χh×mj h+ mj t+1mod2k+s;
第j个计算方计算、承诺并打开zj= Mj– αj×yjmod2k+s;
每个计算方分别计算z = ∑n j=1zjmod 2k+s,并验证是否满足z = 0,若满足则确定第一条件成立,若不满足则确定第一条件不成立。
可选地,所述多方安全计算系统还包括结果接收方203,参照图3,示出了本发明的另一种多方安全计算系统实施例的结构框图,其中:
所述计算方202,还用于基于所述原始数据分享进行多方安全计算,得到结果分享;对所述第一MAC分享进行所述多方安全计算相对应的计算,得到第三MAC分享;基于所述结果分享和所述第三MAC分享,计算得到第二中间变量分享,并将所述结果分享和所述第二中间变量分享发送给所述结果接收方;
所述结果接收方203,用于基于所述第二中间变量分享验证所述结果分享是否正确,若正确则将所述结果分享恢复得到输出结果,否则终止协议。
可选地,所述计算方,具体用于:生成第四随机数分享,以及基于持有的所述原始数据分享和所述第一MAC分享,生成第四MAC分享;基于所述结果分享和所述第四随机数分享计算得到第一更新分享,以及基于所述第三MAC分享和所述第四MAC分享计算得到第二更新分享;基于所述第四随机数分享和所述MAC密钥分享计算得到第三更新分享,以及基于所述第四随机数分享、所述第一更新分享和所述第二更新分享计算得到第四更新分享;将所述第一更新分享、所述第三更新分享和所述第四更新分享作为第二中间变量分享。
可选地,所述结果接收方,还用于:基于接收到的第二中间变量分享,恢复得到所述第一更新分享、所述第三更新分享和所述第四更新分享分别对应的第一恢复值、第三恢复值和第四恢复值;验证第二条件是否成立,若成立则确定所述结果分享正确,否则确定所述结果分享不正确;所述第二条件包括:所述第一恢复值与所述第三恢复值的乘积等于所述第四恢复值。
本发明实施例对SPDZ2k方案进行扩展,在数据提供方和计算方为独立的节点的情况下,数据提供方生成第一随机数,并基于其持有的原始数据和所述第一随机数,计算得到第一中间变量,将第一中间变量、原始数据以及第一随机数通过秘密分享发送给计算方,该过程不会暴露原始数据的明文。计算方基于第一中间变量分享、原始数据分享、第一随机数分享以及其持有的MAC密钥分享,计算第一MAC分享,该过程不需要数据提供方获取计算方的MAC密钥分享。计算方在验证第一条件成立时,可以确定其获取的原始数据分享和第一MAC分享正确,则可以将该原始数据分享和第一MAC分享作为数据输入阶段的结果,否则终止协议。由此,在数据输入阶段,本发明实施例可以在数据提供方无需获取计算方的MAC密钥分享并且数据提供方不泄露自身的原始数据的前提下,使得计算方可以获取正确的原始数据分享和MAC分享,以使计算方可以根据获取的原始数据分享和MAC分享进行多方安全计算。数据提供方只需在本地进行分片操作以及一些模乘运算,将分片发送给计算方即可。数据提供方不用进行复杂计算,将复杂计算放在计算方执行。由此,本发明实施例的多方安全计算系统可以将SPDZ2k方案扩展至代理计算场景。也即,数据提供方和计算方分别为独立的节点,数据提供方可以不用集成密文计算引擎,也没有较高计算资源的要求。本发明实施例可以为代理计算场景下的SPDZ2k方案提供准确的输入数据,从而为实现代理计算场景下的SPDZ2k方案提供基础,并且数据提供方不会获取计算方的MAC密钥分享,计算方也不会获取数据方的原始数据明文,可以保护数据隐私安全。进一步地,本发明实施例的多方安全计算系统还可用于结果获取方与计算方独立的场景。在数据输出阶段,可以在结果获取方无需获取计算方的MAC密钥分享的前提下,使得结果获取方可以获得正确的计算结果,并保证数据隐私安全。由此,通过本发明实施例可以实现代理计算场景下的SPDZ2k方案。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明实施例提供了一种用于数据处理的装置,包括有存储器,以及一个以上的程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序包含用于进行上述一个或多个实施例中所述的数据处理方法的指令。
图4是根据一示例性实施例示出的一种用于数据处理的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图4,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/ O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音信息处理模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/ O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以搜索装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频信息处理(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图5是本发明的一些实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行图1所示的数据处理方法。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行前文图1所对应实施例中数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图1所对应实施例中数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
以上对本发明所提供的一种数据处理方法、一种多方安全计算系统、一种用于数据处理的装置和一种可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (16)
1.一种数据处理方法,其特征在于,应用于多方安全计算系统,所述多方安全计算系统用于恶意敌手模型下基于环的秘密分享的多方安全计算,所述多方安全计算系统包括数据提供方和计算方,所述计算方的个数大于1,所述数据提供方拥有t个k位的原始数据,所述计算方拥有MAC密钥分享,所述方法包括:
所述数据提供方生成t个k+s位的第一随机数,并基于所述原始数据和所述第一随机数,计算得到t个第一中间变量;
所述数据提供方将每个第一中间变量、每个原始数据以及每个第一随机数通过秘密分享发送给所述计算方,使得所述计算方获得第一中间变量分享、原始数据分享以及第一随机数分享;
所述计算方基于所述第一中间变量分享、所述原始数据分享、所述第一随机数分享以及所述MAC密钥分享,计算第一MAC分享;
所述计算方验证第一条件是否成立,若成立则获得所述原始数据分享和所述第一MAC分享,否则终止协议;所述第一条件为:所述MAC密钥分享与所述原始数据分享基于秘密分享下的乘法结果等于所述第一MAC分享。
2.根据权利要求1所述的方法,其特征在于,所述计算第一MAC分享,包括:
[mh]k+s = ([α]k+s +[rh]k+s)×[xh]k+s -[δh]k+s,h=1,2,..,t;其中,[mh]k+s表示第一MAC分享,[δh]k+s表示第一中间变量分享,[xh]k+s表示原始数据分享,[rh]k+s表示第一随机数分享,[α]k+s表示MAC密钥分享。
3.根据权利要求1所述的方法,其特征在于,所述计算方验证第一条件是否成立,包括:
所述计算方生成第二随机数,并对所述第二随机数进行秘密分享,得到所述第二随机数对应的第二随机数分享;
所述计算方计算所述MAC密钥分享和所述第二随机数分享基于秘密分享下的乘积,得到第二MAC分享;
所述计算方基于所述第二MAC分享验证第一条件是否成立。
4.根据权利要求3所述的方法,其特征在于,所述计算方基于所述第二MAC分享验证第一条件是否成立,包括:
每个计算方分别生成公开随机数(χ1,..., χt) mod 2s;
第j个计算方计算yj =∑t h=1χh×xj h + xj t+1 mod2k+s并广播,j的取值为1~n,n为计算方的个数;
第j个计算方计算y = ∑n j=1 yj,Mj =∑t h=1χh×mj h + mj t+1 mod2k+s;
第j个计算方计算、承诺并打开zj = Mj – αj×yj mod2k+s;
每个计算方分别计算z = ∑n j=1 zj mod 2k+s,并验证是否满足z = 0,若满足则确定第一条件成立,若不满足则确定第一条件不成立。
5.根据权利要求1所述的方法,其特征在于,所述多方安全计算系统还包括结果接收方,所述方法还包括:
所述计算方基于所述原始数据分享进行多方安全计算,得到结果分享;
所述计算方对所述第一MAC分享进行所述多方安全计算相对应的计算,得到第三MAC分享;
所述计算方基于所述结果分享和所述第三MAC分享,计算得到第二中间变量分享,并将所述结果分享和所述第二中间变量分享发送给所述结果接收方;
所述结果接收方基于所述第二中间变量分享验证所述结果分享是否正确,若正确则将所述结果分享恢复得到输出结果,否则终止协议。
6.根据权利要求5所述的方法,其特征在于,所述计算方基于所述结果分享和所述第三MAC分享,计算得到第二中间变量分享,包括:
所述计算方生成第四随机数分享,以及基于持有的所述原始数据分享和所述第一MAC分享,生成第四MAC分享;
所述计算方基于所述结果分享和所述第四随机数分享计算得到第一更新分享,以及基于所述第三MAC分享和所述第四MAC分享计算得到第二更新分享;
所述计算方基于所述第四随机数分享和所述MAC密钥分享计算得到第三更新分享,以及基于所述第四随机数分享、所述第一更新分享和所述第二更新分享计算得到第四更新分享;
将所述第一更新分享、所述第三更新分享和所述第四更新分享作为第二中间变量分享。
7.根据权利要求6所述的方法,其特征在于,所述结果接收方基于所述第二中间变量分享验证所述结果分享是否正确,包括:
所述结果接收方基于接收到的第二中间变量分享,恢复得到所述第一更新分享、所述第三更新分享和所述第四更新分享分别对应的第一恢复值、第三恢复值和第四恢复值;
所述结果接收方验证第二条件是否成立,若成立则确定所述结果分享正确,否则确定所述结果分享不正确;所述第二条件包括:所述第一恢复值与所述第三恢复值的乘积等于所述第四恢复值。
8.一种多方安全计算系统,其特征在于,所述多方安全计算系统用于恶意敌手模型下基于环的秘密分享的多方安全计算,所述多方安全计算系统包括数据提供方和计算方,所述计算方的个数大于1,所述数据提供方拥有t个k位的原始数据,所述计算方拥有MAC密钥分享,其中:
所述数据提供方,用于生成t个k+s位的第一随机数,并基于所述原始数据和所述第一随机数,计算得到t个第一中间变量;
所述数据提供方,还用于将每个第一中间变量、每个原始数据以及每个第一随机数通过秘密分享发送给所述计算方,使得所述计算方获得第一中间变量分享、原始数据分享以及第一随机数分享;
所述计算方,用于基于所述第一中间变量分享、所述原始数据分享、所述第一随机数分享以及所述MAC密钥分享,计算第一MAC分享;
所述计算方,还用于验证第一条件是否成立,若成立则获得所述原始数据分享和所述第一MAC分享,否则终止协议;所述第一条件为:所述MAC密钥分享与所述原始数据分享基于秘密分享下的乘法结果等于所述第一MAC分享。
9.根据权利要求8所述的多方安全计算系统,其特征在于,所述计算方,具体用于执行如下计算:
[mh]k+s = ([α]k+s +[rh]k+s)×[xh]k+s -[δh]k+s,h=1,2,..,t;其中,[mh]k+s表示第一MAC分享,[δh]k+s表示第一中间变量分享,[xh]k+s表示原始数据分享,[rh]k+s表示第一随机数分享,[α]k+s表示MAC密钥分享。
10.根据权利要求8所述的多方安全计算系统,其特征在于,所述计算方,具体用于执行如下步骤:生成第二随机数,并对所述第二随机数进行秘密分享,得到所述第二随机数对应的第二随机数分享;计算所述MAC密钥分享和所述第二随机数分享基于秘密分享下的乘积,得到第二MAC分享;基于所述第二MAC分享验证第一条件是否成立。
11.根据权利要求10所述的多方安全计算系统,其特征在于,所述计算方,具体用于执行如下步骤:
每个计算方分别生成公开随机数(χ1,..., χt) mod 2s;
第j个计算方计算yj =∑t h=1χh×xj h + xj t+1 mod2k+s并广播,j的取值为1~n,n为计算方的个数;
第j个计算方计算y = ∑n j=1 yj,Mj =∑t h=1χh×mj h + mj t+1 mod2k+s;
第j个计算方计算、承诺并打开zj = Mj – αj×yj mod2k+s;
每个计算方分别计算z = ∑n j=1 zj mod 2k+s,并验证是否满足z = 0,若满足则确定第一条件成立,若不满足则确定第一条件不成立。
12.根据权利要求8所述的多方安全计算系统,其特征在于,所述多方安全计算系统还包括结果接收方,其中:
所述计算方,还用于基于所述原始数据分享进行多方安全计算,得到结果分享;对所述第一MAC分享进行所述多方安全计算相对应的计算,得到第三MAC分享;基于所述结果分享和所述第三MAC分享,计算得到第二中间变量分享,并将所述结果分享和所述第二中间变量分享发送给所述结果接收方;
所述结果接收方,用于基于所述第二中间变量分享验证所述结果分享是否正确,若正确则将所述结果分享恢复得到输出结果,否则终止协议。
13.根据权利要求12所述的多方安全计算系统,其特征在于,所述计算方,具体用于:生成第四随机数分享,以及基于持有的所述原始数据分享和所述第一MAC分享,生成第四MAC分享;基于所述结果分享和所述第四随机数分享计算得到第一更新分享,以及基于所述第三MAC分享和所述第四MAC分享计算得到第二更新分享;基于所述第四随机数分享和所述MAC密钥分享计算得到第三更新分享,以及基于所述第四随机数分享、所述第一更新分享和所述第二更新分享计算得到第四更新分享;将所述第一更新分享、所述第三更新分享和所述第四更新分享作为第二中间变量分享。
14.根据权利要求13所述的多方安全计算系统,其特征在于,所述结果接收方,还用于:基于接收到的第二中间变量分享,恢复得到所述第一更新分享、所述第三更新分享和所述第四更新分享分别对应的第一恢复值、第三恢复值和第四恢复值;验证第二条件是否成立,若成立则确定所述结果分享正确,否则确定所述结果分享不正确;所述第二条件包括:所述第一恢复值与所述第三恢复值的乘积等于所述第四恢复值。
15.一种用于数据处理的装置,其特征在于,包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于进行如权利要求1至7中任一所述的数据处理方法的指令。
16.一种可读存储介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如权利要求1至7中任一所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310960961.6A CN116684094B (zh) | 2023-08-01 | 2023-08-01 | 一种数据处理方法、装置、系统和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310960961.6A CN116684094B (zh) | 2023-08-01 | 2023-08-01 | 一种数据处理方法、装置、系统和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116684094A true CN116684094A (zh) | 2023-09-01 |
CN116684094B CN116684094B (zh) | 2023-10-24 |
Family
ID=87781303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310960961.6A Active CN116684094B (zh) | 2023-08-01 | 2023-08-01 | 一种数据处理方法、装置、系统和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116684094B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110889695A (zh) * | 2019-11-25 | 2020-03-17 | 支付宝(杭州)信息技术有限公司 | 基于安全多方计算保存和恢复隐私数据的方法和装置 |
US20200228325A1 (en) * | 2017-12-14 | 2020-07-16 | Robert Bosch Gmbh | Method for Faster Secure Multiparty Inner Product with SPDZ |
CN113162759A (zh) * | 2020-01-23 | 2021-07-23 | 电科云(北京)科技有限公司 | 基于恶意mascot协议的安全数据共享计算方法及系统 |
CN114915402A (zh) * | 2022-06-14 | 2022-08-16 | 山东多次方半导体有限公司 | 一种基于安全多方计算的可验证隐私推荐系统 |
CN115603896A (zh) * | 2022-10-08 | 2023-01-13 | 上海交通大学(Cn) | 优化mpc下aes加密的隐私保护方法及系统 |
-
2023
- 2023-08-01 CN CN202310960961.6A patent/CN116684094B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200228325A1 (en) * | 2017-12-14 | 2020-07-16 | Robert Bosch Gmbh | Method for Faster Secure Multiparty Inner Product with SPDZ |
CN110889695A (zh) * | 2019-11-25 | 2020-03-17 | 支付宝(杭州)信息技术有限公司 | 基于安全多方计算保存和恢复隐私数据的方法和装置 |
CN113162759A (zh) * | 2020-01-23 | 2021-07-23 | 电科云(北京)科技有限公司 | 基于恶意mascot协议的安全数据共享计算方法及系统 |
CN114915402A (zh) * | 2022-06-14 | 2022-08-16 | 山东多次方半导体有限公司 | 一种基于安全多方计算的可验证隐私推荐系统 |
CN115603896A (zh) * | 2022-10-08 | 2023-01-13 | 上海交通大学(Cn) | 优化mpc下aes加密的隐私保护方法及系统 |
Non-Patent Citations (2)
Title |
---|
IVAN DAMGARD等: "New Primitives for Actively-Secure MPC over Rings with Applications to Private Machine Learning", 《IEEE》 * |
RONALD CRAMER等: "SPDZ2k: Effcient MPC mod 2k for Dishonest Majority", 《IEEE》 * |
Also Published As
Publication number | Publication date |
---|---|
CN116684094B (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113315631B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN112398648B (zh) | 一种密钥管理方法、装置和用于密钥管理的装置 | |
CN112688779B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN112241250B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN112861175B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN114301594B (zh) | 一种不经意传输方法、多方安全计算平台和用于不经意传输的装置 | |
CN114978512B (zh) | 一种隐私求交方法、装置和可读存储介质 | |
CN113449325B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN115396100A (zh) | 一种基于秘密分享的不经意随机打乱方法和系统 | |
CN114301609B (zh) | 一种不经意传输方法、多方安全计算平台和用于不经意传输的装置 | |
CN116305206A (zh) | 一种安全多方计算方法、装置、电子设备及存储介质 | |
CN115085912A (zh) | 一种密文计算方法、装置和用于密文计算的装置 | |
CN114448631B (zh) | 一种多方安全计算方法、系统和用于多方安全计算的装置 | |
CN116684094B (zh) | 一种数据处理方法、装置、系统和可读存储介质 | |
CN115617897B (zh) | 一种数据类型转换方法和多方安全计算系统 | |
CN113779501B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN112711744B (zh) | 一种计算任务的处理方法、装置和用于计算任务的处理装置 | |
CN114885038A (zh) | 一种加密协议转换方法、结果获取节点和隐私计算节点 | |
CN112580064B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN112583764B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN112685747B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN114448630B (zh) | 一种多方安全计算方法、系统和用于多方安全计算的装置 | |
CN112668015B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN112580063B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN114969164B (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 |