CN111885079B - 保护数据隐私的多方联合处理数据的方法及装置 - Google Patents

保护数据隐私的多方联合处理数据的方法及装置 Download PDF

Info

Publication number
CN111885079B
CN111885079B CN202010763176.8A CN202010763176A CN111885079B CN 111885079 B CN111885079 B CN 111885079B CN 202010763176 A CN202010763176 A CN 202010763176A CN 111885079 B CN111885079 B CN 111885079B
Authority
CN
China
Prior art keywords
party
value
result
commitment
privacy
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
CN202010763176.8A
Other languages
English (en)
Other versions
CN111885079A (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.)
Alipay Hangzhou Information Technology Co Ltd
Hong Kong Polytechnic University HKPU
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Hong Kong Polytechnic University HKPU
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 Alipay Hangzhou Information Technology Co Ltd, Hong Kong Polytechnic University HKPU filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010763176.8A priority Critical patent/CN111885079B/zh
Publication of CN111885079A publication Critical patent/CN111885079A/zh
Application granted granted Critical
Publication of CN111885079B publication Critical patent/CN111885079B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例提供了保护数据隐私的多方联合处理数据的方法及装置。在该方法中,第一方将经过同态加密的多个原始特征密文发送至第二方之后,还将原始隐私数据按照约束方程解的形式,构建成多个第一隐私矩阵,分别计算其中多个第一隐私向量的承诺值和第一掩盖向量的承诺值。在接收到第二方的第一挑战数时,基于构建的第二多项式和分离变换后的第二多项式,计算多个第二隐私向量的承诺值和第二掩盖向量的承诺值。在接收到第二方的第二挑战数时,基于构建的第一多项式和分离变换后的第二多项式分别计算多个结果。第一方将确定的多个承诺值和多个结果均发送至第二方,使得第二方对原始特征密文进行验证,验证通过后对原始特征密文进行数据处理。

Description

保护数据隐私的多方联合处理数据的方法及装置
技术领域
本说明书一个或多个实施例涉及数据处理和数据安全领域,尤其涉及一种保护数据隐私的多方联合处理数据的方法及装置。
背景技术
随着计算机技术的发展,数据交互处理的需求越来越大,如何在数据交互处理的过程中保证数据的安全和隐私性,成为重要问题。例如,在一种场景中,第一方和第二方均存储有大量用户数据,需要将两方的数据进行融合统计,并将统计结果在两方之间共享。但是,第一方或者第二方的用户数据均属于隐私数据,不能明文发送至对方。在这种情况下,如何实现对两方中隐私数据的联合处理,并且保证隐私数据的安全性,是数据处理和数据安全领域需要考虑的问题。
因此,希望能有改进的方案,在多方联合处理数据的过程中,保护各方隐私数据的安全。
发明内容
本说明书一个或多个实施例描述了保护数据隐私的多方联合处理数据的方法及装置,以在多方联合处理数据的过程中,保护各方隐私数据的安全。具体的技术方案如下。
第一方面,实施例提供了一种保护数据隐私的多方联合处理数据的方法,多方包括第一方和第二方,所述第一方存储有原始隐私数据,其中包括多个业务对象的原始特征向量
Figure 78625DEST_PATH_IMAGE001
,每个原始特征向量
Figure 261345DEST_PATH_IMAGE001
具有第一约定数据格式,所述方法通过所述第一方执行,包括:
获取多个原始特征密文
Figure 244344DEST_PATH_IMAGE002
,并将其发送至所述第二方;其中,多个原始特征密文
Figure 639553DEST_PATH_IMAGE002
通过约定同态加密过程对对应的原始特征向量
Figure 719505DEST_PATH_IMAGE001
加密得到;
将所述原始隐私数据,按照预先构建的多个约束方程解的形式构建成多个第一隐私矩阵,其中包括多个第一隐私向量
Figure 994497DEST_PATH_IMAGE003
;所述多个约束方程基于所述约定同态加密过程和第一约定数据格式构建;
利用预设承诺算法和多个第一掩盖随机数,分别计算对应的第一隐私向量
Figure 527110DEST_PATH_IMAGE003
的第一承诺值
Figure 726010DEST_PATH_IMAGE004
,以及第一掩盖向量d的第二承诺值D
将所述第二承诺值D和多个第一承诺值
Figure 598151DEST_PATH_IMAGE004
发送至所述第二方;
接收所述第二方发送的第一挑战数y
将所述第一挑战数y作为第二子变元Y的取值,确定基于所述多个约束方程、多个第一隐私向量
Figure 857094DEST_PATH_IMAGE003
、所述第一掩盖向量d、第一子变元X和所述第二子变元Y,构建的第一多项式Lr和第二多项式tX,并将所述第二多项式tX分离变换成第一变元向量Z、第二隐私矩阵T和第二变元向量F的乘积;所述第二隐私矩阵T包括第二掩盖向量u和多个第二隐私向量
Figure 814686DEST_PATH_IMAGE005
利用所述预设承诺算法和多个第二掩盖随机数,分别计算对应的第二隐私向量
Figure 551697DEST_PATH_IMAGE005
的第三承诺值
Figure 340662DEST_PATH_IMAGE006
,以及所述第二掩盖向量u的第四承诺值U
将所述第四承诺值U和多个第三承诺值
Figure 770506DEST_PATH_IMAGE006
发送至所述第二方;
接收所述第二方发送的第二挑战数x
将所述第二挑战数x作为所述第一子变元X的取值,基于分离变换后的第二多项式,确定与所述第二隐私矩阵T对应的第一结果
Figure 215394DEST_PATH_IMAGE007
,以及与多个第二掩盖随机数对应的第二结果
Figure 756097DEST_PATH_IMAGE008
;以及,基于所述第一多项式Lr,确定与所述第一隐私矩阵对应的第三结果lr,和与多个第一掩盖随机数对应的第四结果
Figure 852098DEST_PATH_IMAGE009
将所述第一结果
Figure 452843DEST_PATH_IMAGE007
、第二结果
Figure 181765DEST_PATH_IMAGE008
、第三结果lr和第四结果
Figure 463842DEST_PATH_IMAGE009
发送至所述第二方,以使所述第二方在基于接收的结果和承诺值进行验证并通过之后,对所述多个原始特征密文
Figure 961819DEST_PATH_IMAGE002
进行数据处理。
第二方面,实施例提供了一种保护数据隐私的多方联合处理数据的方法,多方包括第一方和第二方,所述第一方存储有原始隐私数据,其中包括多个业务对象的原始特征向量
Figure 999045DEST_PATH_IMAGE001
,每个原始特征向量
Figure 152946DEST_PATH_IMAGE001
具有第一约定数据格式,所述方法通过所述第二方执行,包括:
接收所述第一方发送的多个原始特征密文
Figure 35451DEST_PATH_IMAGE002
,其通过约定同态加密过程对对应的原始特征向量
Figure 653515DEST_PATH_IMAGE001
加密得到;
接收所述第一方发送的第二承诺值D和多个第一承诺值
Figure 596063DEST_PATH_IMAGE004
生成第一挑战数y,并将其发送至所述第一方;
接收所述第一方发送的第四承诺值U和多个第三承诺值
Figure 237260DEST_PATH_IMAGE010
生成第二挑战数x,并将其发送至所述第一方;
接收所述第一方发送的第一结果
Figure 923456DEST_PATH_IMAGE007
、第二结果
Figure 396026DEST_PATH_IMAGE008
、第三结果lr和第四结果
Figure 962005DEST_PATH_IMAGE009
利用预设承诺算法和所述第二结果
Figure 887236DEST_PATH_IMAGE008
计算所述第一结果
Figure 377123DEST_PATH_IMAGE011
的第五承诺值;基于所述第二挑战数x、所述第四承诺值U和多个第三承诺值
Figure 641882DEST_PATH_IMAGE010
,以及分离变换后的第二多项式tX的变量表达形式,计算所述第一结果
Figure 926233DEST_PATH_IMAGE011
的第六承诺值;执行所述第五承诺值与第六承诺值是否相等的第一判断;
基于所述第二挑战数x、所述第一结果
Figure 604339DEST_PATH_IMAGE011
以及分离变换后的第二多项式tX的变量表达形式,计算第二多项式tX的第一取值;至少基于所述第三结果lr以及第二多项式tX的变量表达形式,计算第二多项式tX的第二取值;执行所述第一取值与所述第二取值是否相等的第二判断;
利用所述预设承诺算法和所述第四结果
Figure 835600DEST_PATH_IMAGE009
计算所述第三结果lr的第七承诺值;基于所述第一挑战数y、第二挑战数x、第二承诺值D和多个第一承诺值
Figure 17183DEST_PATH_IMAGE004
,以及第一多项式Lr的变量表达形式,计算所述第三结果lr的第八承诺值;执行所述第七承诺值与第八承诺值是否相等的第三判断;
当各个判断的结果均为是时,确定对所述约定同态加密过程和所述第一约定数据格式的零知识证明验证通过;
基于所述第一约定数据格式,对多个原始特征密文
Figure 472435DEST_PATH_IMAGE002
进行数据处理,得到数据处理结果。
第三方面,实施例提供了一种保护数据隐私的多方联合处理数据的装置,多方包括第一方和第二方,所述第一方存储有原始隐私数据,其中包括多个业务对象的原始特征向量
Figure 372258DEST_PATH_IMAGE001
,每个原始特征向量
Figure 141631DEST_PATH_IMAGE001
具有第一约定数据格式,所述装置部署在所述第一方中,包括:
第一获取模块,配置为,获取多个原始特征密文
Figure 708878DEST_PATH_IMAGE002
,并将其发送至所述第二方;其中,多个原始特征密文
Figure 69452DEST_PATH_IMAGE002
通过约定同态加密过程对对应的原始特征向量
Figure 909101DEST_PATH_IMAGE001
加密得到;
第一构建模块,配置为,将所述原始隐私数据,按照预先构建的多个约束方程解的形式构建成多个第一隐私矩阵,其中包括多个第一隐私向量
Figure 278903DEST_PATH_IMAGE003
;所述多个约束方程基于所述约定同态加密过程和第一约定数据格式构建;
第一承诺模块,配置为,利用预设承诺算法和多个第一掩盖随机数,分别计算对应的第一隐私向量
Figure 435078DEST_PATH_IMAGE003
的第一承诺值
Figure 435395DEST_PATH_IMAGE004
,以及第一掩盖向量d的第二承诺值D
第一发送模块,配置为,将所述第二承诺值D和多个第一承诺值
Figure 44231DEST_PATH_IMAGE004
发送至所述第二方;
第一接收模块,配置为,接收所述第二方发送的第一挑战数y
第二构建模块,配置为,将所述第一挑战数y作为第二子变元Y的取值,确定基于所述多个约束方程、多个第一隐私向量
Figure 483302DEST_PATH_IMAGE003
、所述第一掩盖向量d、第一子变元X和所述第二子变元Y,构建的第一多项式Lr和第二多项式tX,并将所述第二多项式tX分离变换成第一变元向量Z、第二隐私矩阵T和第二变元向量F的乘积;所述第二隐私矩阵T包括第二掩盖向量u和多个第二隐私向量
Figure 493983DEST_PATH_IMAGE005
第二承诺模块,配置为,利用所述预设承诺算法和多个第二掩盖随机数,分别计算对应的第二隐私向量
Figure 665202DEST_PATH_IMAGE005
的第三承诺值
Figure 26913DEST_PATH_IMAGE010
,以及所述第二掩盖向量u的第四承诺值U
第二发送模块,配置为,将所述第四承诺值U和多个第三承诺值
Figure 738517DEST_PATH_IMAGE010
发送至所述第二方;
第二接收模块,配置为,接收所述第二方发送的第二挑战数x
第一确定模块,配置为,将所述第二挑战数x作为所述第一子变元X的取值,基于分离变换后的第二多项式,确定与所述第二隐私矩阵T对应的第一结果
Figure 806967DEST_PATH_IMAGE011
,以及与多个第二掩盖随机数对应的第二结果
Figure 945825DEST_PATH_IMAGE008
;以及,基于所述第一多项式Lr,确定与所述第一隐私矩阵对应的第三结果lr,和与多个第一掩盖随机数对应的第四结果
Figure 794832DEST_PATH_IMAGE009
第三发送模块,配置为,将所述第一结果
Figure 497077DEST_PATH_IMAGE011
、第二结果
Figure 482351DEST_PATH_IMAGE008
、第三结果lr和第四结果
Figure 57689DEST_PATH_IMAGE009
发送至所述第二方,以使所述第二方在基于接收的结果和承诺值进行验证并通过之后,对所述多个原始特征密文
Figure 331675DEST_PATH_IMAGE002
进行数据处理。
第四方面,实施例提供了一种保护数据隐私的多方联合处理数据的装置,多方包括第一方和第二方,所述第一方存储有原始隐私数据,其中包括多个业务对象的原始特征向量
Figure 385082DEST_PATH_IMAGE001
,每个原始特征向量
Figure 490441DEST_PATH_IMAGE001
具有第一约定数据格式,所述装置部署在所述第二方中,包括:
第三接收模块,配置为,接收所述第一方发送的多个原始特征密文
Figure 971101DEST_PATH_IMAGE002
,其通过约定同态加密过程对对应的原始特征向量
Figure 466805DEST_PATH_IMAGE001
加密得到;
第四接收模块,配置为,接收所述第一方发送的第二承诺值D和多个第一承诺值
Figure 589481DEST_PATH_IMAGE004
第四发送模块,配置为,生成第一挑战数y,并将其发送至所述第一方;
第五接收模块,配置为,接收所述第一方发送的第四承诺值U和多个第三承诺值
Figure 283768DEST_PATH_IMAGE010
第五发送模块,配置为,生成第二挑战数x,并将其发送至所述第一方;
第六接收模块,配置为,接收所述第一方发送的第一结果
Figure 138591DEST_PATH_IMAGE011
、第二结果
Figure 183908DEST_PATH_IMAGE008
、第三结果lr和第四结果
Figure 844696DEST_PATH_IMAGE009
第一判断模块,配置为,利用预设承诺算法和所述第二结果
Figure 783702DEST_PATH_IMAGE008
计算所述第一结果
Figure 58695DEST_PATH_IMAGE011
的第五承诺值;基于所述第二挑战数x、所述第四承诺值U和多个第三承诺值
Figure 325728DEST_PATH_IMAGE010
,以及分离变换后的第二多项式tX的变量表达形式,计算所述第一结果
Figure 790207DEST_PATH_IMAGE011
的第六承诺值;执行所述第五承诺值与第六承诺值是否相等的第一判断;
第二判断模块,配置为,基于所述第二挑战数x、所述第一结果
Figure 193507DEST_PATH_IMAGE011
以及分离变换后的第二多项式tX的变量表达形式,计算第二多项式tX的第一取值;至少基于所述第三结果lr以及第二多项式tX的变量表达形式,计算第二多项式tX的第二取值;执行所述第一取值与所述第二取值是否相等的第二判断;
第三判断模块,配置为,利用所述预设承诺算法和所述第四结果
Figure 655712DEST_PATH_IMAGE009
计算所述第三结果lr的第七承诺值;基于所述第一挑战数y、第二挑战数x、第二承诺值D和多个第一承诺值
Figure 675621DEST_PATH_IMAGE004
,以及第一多项式Lr的变量表达形式,计算所述第三结果lr的第八承诺值;执行所述第七承诺值与第八承诺值是否相等的第三判断;
第二确定模块,配置为,当各个判断的结果均为是时,确定所述约定同态加密过程和所述第一约定数据格式的零知识证明验证通过;
第一处理模块,配置为,基于所述第一约定数据格式,对多个原始特征密文
Figure 412633DEST_PATH_IMAGE002
进行数据处理,得到数据处理结果。
第五方面,实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面至第二方面中任一项所述的方法。
第六方面,实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面至第二方面中任一项所述的方法。
根据本说明书实施例提供的方法及装置,在多方联合处理数据的过程中,第一方将经过同态加密的原始特征密文发送至第二方,预先基于约定同态加密过程和第一约定数据格式构建约束方程,在此基础上,通过与第二方的多次交互,向第二方针对约定同态加密过程和第一约定数据格式进行零知识证明,以证明第一方所发送的原始特征密文是按照约定同态加密过程进行的加密,且其对应的明文符合第一约定数据格式,第二方在对第一方验证通过之后,对原始特征密文进行数据处理。上述零知识证明的过程可以一次性对多个密文及其明文的合法性进行验证,而不会泄露任何相关明文信息,从而能够确保在多方联合处理数据过程中各方隐私数据的安全。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2为实施例提供的保护数据隐私的多方联合处理数据的一种方法流程示意图;
图3为实施例提供的一种保护数据隐私的多方联合处理数据的装置的示意性框图;
图4为实施例提供的一种保护数据隐私的多方联合处理数据的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。在该实施场景中,示意性地示出了2个参与方,其中第一方是隐私数据拥有方,第二方是需要结合第一方中的隐私数据进行数据处理的数据处理方。
第一方存储的隐私数据,可以是图像、文本、音频等数据,也可以是业务对象的特征数据,例如,业务对象可以包括用户、商品、商户或事件等,其特征数据可以是用户数据、商品数据、商户数据或事件数据等。
第二方对隐私数据的数据处理,可以是利用第一方的隐私数据进行模型训练,也可以是进行数据融合、数据统计等处理。当进行模型训练时,所训练的业务预测模型可以是分类模型或者是回归模型。
在一种应用场景中,第一方存储有多个业务对象的第一特征数据,第一特征数据包括多个第一属性。第二方也存储有这多个业务对象的第二特征数据,该第二特征数据包括多个第二属性,即第二方存储有相同业务对象的不同属性的特征数据。特征数据可以采用特征向量的形式表示。第一方和第二方可以联合对这多个业务对象的特征数据进行处理。例如,第一方存储有100万个用户的健康数据,其中的健康项目包括,是否患有高血压、是否患有心脏病、是否患有糖尿病等,第二方存储有同样的这100万个用户的属性数据,其中包括用户年龄、用户性别、用户所处地区等等。第一方和第二方可以联合对这100万个用户的健康数据和属性数据进行数据统计,例如可以统计这100万个用户中女性患有高血压的比例,或者男性患有高血压的比例,或者统计某个地区患有某种疾病的用户比例等等。
在第一方和第二方联合进行数据处理的情况下,出于保护隐私数据的目的,第一方不能直接将隐私数据发送至第二方,以免泄露隐私数据。在这种情况下,第一方可以将存储的隐私数据经过同态加密之后发送至第二方,第二方接收第一方发送的同态加密后的密文,并基于该密文进行数据处理。
例如,当第一方存储的隐私数据为多个业务对象的原始特征向量时,第一方可以采用Paillier加密算法,并基于该加密算法的第一公钥N,对每一个业务对象的原始特征向量
Figure 139280DEST_PATH_IMAGE012
进行如下的同态加密,得到原始特征密文
Figure 569125DEST_PATH_IMAGE013
Figure 810750DEST_PATH_IMAGE014
其中,mod为取模符号,
Figure 351453DEST_PATH_IMAGE015
为同态加密时使用的随机数。通过上述同态加密,多个业务对象的原始特征向量加密之后,得到的密文互不相同。
这样,当第二方接收到多个原始特征密文
Figure 198186DEST_PATH_IMAGE013
时,可以利用同态加密算法具有的特殊性质对原始特征密文
Figure 798932DEST_PATH_IMAGE013
进行数据处理,其处理结果与对明文处理后再加密,是等价的。因为同态加密算法具有这样的一种特殊性质,对明文进行运算后再加密,与加密后对密文进行相应的运算,结果是等价的。例如,用同样的第一公钥N加密
Figure 527853DEST_PATH_IMAGE016
Figure 59198DEST_PATH_IMAGE017
得到
Figure 822754DEST_PATH_IMAGE018
Figure 328822DEST_PATH_IMAGE019
,如果满足
Figure 748302DEST_PATH_IMAGE020
,那么则认为,该加密算法满足加法同态,相应的,
Figure 896387DEST_PATH_IMAGE021
为对应的同态加和操作。
然而,上述过程是理想化过程。在一种场景中,恶意者可能不按照约定同态加密过程进行同态加密,而是将精心构造的恶意字符串作为原始特征密文发送至第二方。如果第二方仍然采用相应的数据处理方式对恶意字符串进行操作,并将结果返回给恶意者,那么恶意者可能借助于精心构造的恶意字符串的特点,根据第二方返回的结果反推出第二方中的隐私数据。
考虑到以上风险,参见图1,在本说明书实施例中,预先基于要证明的约定同态加密过程和约定数据格式构建多个约束方程,其中的隐私数据采用变量标识,并在第一方和第二方之间共享构建的约束方程。第一方在向第二方发送多个原始特征密文
Figure 248871DEST_PATH_IMAGE013
之后,与第二方之间进行基于隐私数据和约束方程的数据交互,以进行零知识证明。也就是,第一方向第二方提供针对约定同态加密过程和约定数据格式的零知识证明,证明所发送的原始特征密文
Figure 394681DEST_PATH_IMAGE013
是通过约定同态加密过程进行加密的,并且其对应的明文符合约定数据格式,而不是恶意构造的字符串。其所交互的数据是对隐私数据进行变换后的数据。第二方在对第一方的零知识证明验证通过之后,再基于多个原始特征密文
Figure 98195DEST_PATH_IMAGE013
进行数据处理,从而避免隐私数据泄露的风险。下面详细说明上述实施例的具体实施过程。
图2为实施例提供的保护数据隐私的多方联合处理数据的一种方法流程示意图。其中,多方包括第一方和第二方,第一方存储有原始隐私数据,其中包括多个业务对象的原始特征向量
Figure 518812DEST_PATH_IMAGE012
,每个原始特征向量
Figure 194644DEST_PATH_IMAGE012
具有第一约定数据格式。例如,多个业务对象的数量为100万个,则i的取值范围可以为[1,100万]中的整数。
原始隐私数据还可以包括其他的隐私数据。在本实施例之前提到的隐私数据,可以理解为通用意义上的隐私数据,其没有特指哪些数据。而本实施例中提到的原始隐私数据,具有确定的含义,其包含的数据比较明确,两者并不矛盾。每个业务对象具有一个原始特征向量,每个原始特征向量可以包含多个属性的特征值。第一约定数据格式可以包括属性的排列顺序、特征值的取值范围等格式。第一方可以预先将多个原始特征向量处理成具有第一约定数据格式的形式,第一约定数据格式的作用,可以理解为使得原始特征向量更适用于进行后续的数据处理。
本实施例的方法具体包括以下步骤,步骤S210,第一方获取多个原始特征密文,发送多个原始特征密文至第二方;步骤S220,将原始隐私数据按照约束方程解的形式构建成多个第一隐私矩阵;步骤S230,计算第一隐私向量的第一承诺值,以及第一掩盖向量的第二承诺值,发送第二承诺值和多个第一承诺值至第二方;步骤S240,第二方生成第一挑战数,发送第一挑战数至第一方;步骤S250,第一方确定第一多项式和第二多项式,并将第二多项式分离变换成第一变元向量、第二隐私矩阵和第二变元向量的乘积;步骤S260,第一方计算第二隐私向量的第三承诺值,以及第二掩盖向量的第四承诺值,发送第四承诺值和多个第三承诺值至第二方;步骤S270,第二方生成第二挑战数,发送第二挑战数至第一方;步骤S280,计算第一结果、第二结果、第三结果和第四结果,发送第一结果~第四结果至第二方;步骤S290,第二方基于各个承诺值和结果,执行第一判断、第二判断和第三判断;步骤S200,当各个判断的结果均为是时,对多个原始特征密文进行数据处理。下面详细对每个步骤进行说明。
步骤S210,第一方获取多个原始特征密文
Figure 42514DEST_PATH_IMAGE013
,并将其发送至第二方,第二方可以接收第一方发送的多个原始特征密文
Figure 233324DEST_PATH_IMAGE013
。其中,多个原始特征密文
Figure 910162DEST_PATH_IMAGE013
通过约定同态加密过程对对应的原始特征向量
Figure 502817DEST_PATH_IMAGE012
加密得到。在获取多个原始特征密文
Figure 787168DEST_PATH_IMAGE013
时,第一方可以直接通过约定同态加密过程,对对应的原始特征向量
Figure 402957DEST_PATH_IMAGE012
进行加密得到;也可以是,获取预先通过约定同态加密过程加密得到的多个原始特征密文
Figure 165377DEST_PATH_IMAGE013
针对多个原始特征密文
Figure 612539DEST_PATH_IMAGE013
的约定同态加密过程可以包括:使用第一公钥N和多个第一加密随机数
Figure 271053DEST_PATH_IMAGE015
,采用第一同态加密算法,分别对多个原始特征向量
Figure 170876DEST_PATH_IMAGE012
进行同态加密后得到。其中,第一公钥N可以是预先生成或者直接生成的,多个第一加密随机数
Figure 2566DEST_PATH_IMAGE015
可以是在对对应的多个原始特征向量
Figure 241917DEST_PATH_IMAGE012
时随机生成。
步骤S220,第一方将原始隐私数据,按照预先构建的多个约束方程解的形式构建成多个第一隐私矩阵,例如包括3个第一隐私矩阵,分别采用矩阵ABC表示。多个第一隐私矩阵中包括多个第一隐私向量
Figure 868071DEST_PATH_IMAGE022
,其可以是行向量,也可以是列向量。例如,矩阵ABC均为
Figure 520769DEST_PATH_IMAGE023
维的矩阵,则第一隐私向量的数量为3
Figure 624991DEST_PATH_IMAGE023
个,rn和cn分别表示矩阵的行数和列数,均为整数。
多个约束方程基于上述约定同态加密过程和第一约定数据格式构建,并且第一方和第二方共享多个约束方程的变量表达形式,在变量表达形式中原始隐私数据采用变量标识。具体的,一方可以预先构建多个约束方程,将其发送至另一方。
多个约束方程可以包括非线性约束方程(例如采用乘法约束方程表示)和线性约束方程(例如采用加法约束方程表示)。乘法约束方程的形式可以表示为
Figure 233696DEST_PATH_IMAGE024
,定义
Figure 30751DEST_PATH_IMAGE025
为该乘法约束方程的左因子,
Figure 905166DEST_PATH_IMAGE026
为右因子,c为该乘法约束方程的积。根据该乘法约束方程的形式可以将所有的原始隐私数据构建成ABC三个矩阵,用MC表示所有乘法约束方程的数量,则ABC三个矩阵的维数
Figure 281920DEST_PATH_IMAGE023
可以满足
Figure 292602DEST_PATH_IMAGE027
,这样能够尽可能降低通信量。且ABC三个矩阵之间满足以下关系:
Figure 526137DEST_PATH_IMAGE028
其中,
Figure 825531DEST_PATH_IMAGE029
符号表示哈达玛乘积,即三个矩阵满足:它们相同位置处的元素分别是同一个乘法约束方程的左因子、右因子和积。相同位置可以理解为相同行和相同列。
加法约束方程也可以采用ABC三个矩阵来表示。例如,采用以下第一隐私向量表示ABC三个矩阵中的各个行,
Figure 271556DEST_PATH_IMAGE030
Figure 667902DEST_PATH_IMAGE031
Figure 806760DEST_PATH_IMAGE032
Figure 593450DEST_PATH_IMAGE033
所有加法约束方程可以包括LC条,LC<2MC,表示如下:
Figure 108745DEST_PATH_IMAGE034
+
Figure 94019DEST_PATH_IMAGE035
+
Figure 868026DEST_PATH_IMAGE036
=
Figure 204329DEST_PATH_IMAGE037
Figure 257736DEST_PATH_IMAGE038
其中,
Figure 300778DEST_PATH_IMAGE039
Figure 781438DEST_PATH_IMAGE040
Figure 339459DEST_PATH_IMAGE041
为常数向量,
Figure 196556DEST_PATH_IMAGE042
为标量,下标
Figure 94105DEST_PATH_IMAGE043
表示加法约束方程的编号,
Figure 11245DEST_PATH_IMAGE039
表示在第
Figure 56562DEST_PATH_IMAGE043
条加法约束方程中属于第一隐私向量
Figure 655033DEST_PATH_IMAGE044
的常数向量,
Figure 469406DEST_PATH_IMAGE040
表示在第
Figure 9977DEST_PATH_IMAGE043
条加法约束方程中属于第一隐私向量
Figure 277011DEST_PATH_IMAGE045
的常数向量,
Figure 475911DEST_PATH_IMAGE041
表示在第
Figure 348052DEST_PATH_IMAGE043
条加法约束方程中属于第一隐私向量
Figure 872574DEST_PATH_IMAGE046
的常数向量。上述
Figure 564586DEST_PATH_IMAGE039
Figure 832757DEST_PATH_IMAGE040
Figure 356142DEST_PATH_IMAGE041
Figure 723669DEST_PATH_IMAGE042
均是第一方和第二方之间的共享数据,不属于隐私数据。
为了更详细地说明如何将乘法约束方程转换为矩阵,以及将加法约束方程转换成等式,这里给出一个例子。假设只考虑一组约束,其中涉及的隐私变量包括
Figure 230874DEST_PATH_IMAGE047
,其满足的约束为:
Figure 224107DEST_PATH_IMAGE048
那么,变量
Figure 601999DEST_PATH_IMAGE049
Figure 468323DEST_PATH_IMAGE050
可以为矩阵A
Figure 134928DEST_PATH_IMAGE051
Figure 479322DEST_PATH_IMAGE052
项,变量
Figure 242878DEST_PATH_IMAGE053
Figure 748946DEST_PATH_IMAGE054
以及变量
Figure 168426DEST_PATH_IMAGE054
Figure 50931DEST_PATH_IMAGE055
可以分别是矩阵B
Figure 668995DEST_PATH_IMAGE056
Figure 549226DEST_PATH_IMAGE057
项,以及矩阵C
Figure 987161DEST_PATH_IMAGE058
Figure 938936DEST_PATH_IMAGE059
项。用矩阵中的项描述上述加法约束方程而得到的常数向量分别为,
Figure 145926DEST_PATH_IMAGE060
,对应的标量为
Figure 711906DEST_PATH_IMAGE061
。这里需要注意的是,除了上述显性的加法约束方程外,其还应满足第一个乘法约束方程的积等于第二个乘法约束方程的右因子,因此,另一加法约束方程应为,
Figure 637137DEST_PATH_IMAGE062
。其对应的常数向量分别为,
Figure 127024DEST_PATH_IMAGE063
,其相应的标量为,
Figure 657362DEST_PATH_IMAGE064
。上述仅仅是一种可行的实施方式,根据上述转换方式,还可以得到其他的ABC矩阵形式,例如将变量
Figure 941713DEST_PATH_IMAGE049
Figure 354240DEST_PATH_IMAGE050
作为矩阵A
Figure 382239DEST_PATH_IMAGE051
Figure 767084DEST_PATH_IMAGE065
项,
Figure 222336DEST_PATH_IMAGE049
Figure 387738DEST_PATH_IMAGE050
的先后顺序还可以不同。因此,可以存在很多种ABC的矩阵形式。在具体实施时,选择一种形式即可。
步骤S230,第一方利用预设承诺算法和多个第一掩盖随机数,分别计算对应的第一隐私向量
Figure 157111DEST_PATH_IMAGE022
的第一承诺值
Figure 193200DEST_PATH_IMAGE066
,以及第一掩盖向量d的第二承诺值D,将第二承诺值D和多个第一承诺值
Figure 84932DEST_PATH_IMAGE022
发送至第二方,第二方接收第一方发送的第二承诺值D和多个第一承诺值
Figure 206472DEST_PATH_IMAGE022
。第一方在发送第二承诺值D和多个第一承诺值
Figure 28804DEST_PATH_IMAGE066
时,可以分别发送,也可以打包一起发送,本说明书对该发送方式不做限定。
其中,第一掩盖向量d的维度与多个第一隐私向量
Figure 450558DEST_PATH_IMAGE022
的维度相同,用于对多个第一隐私向量
Figure 247612DEST_PATH_IMAGE022
进行掩盖,防止隐私泄露。第一承诺值和第二承诺值可以用于后续对关于多个第一隐私矩阵的相关验证。
预设承诺算法可以包括佩德森承诺算法(Pedersen commitment)和其他的承诺算法。例如,当第一隐私矩阵包括3个,且分别采用矩阵ABC表示时,多个第一掩盖随机数可以采用
Figure 325290DEST_PATH_IMAGE067
表示,每个第一隐私向量对应一个第一掩盖随机数,第一掩盖向量d也对应有一个第一掩盖随机数
Figure 436465DEST_PATH_IMAGE068
。通过预设承诺算法和多个第一掩盖随机数,可以将多个第一隐私向量和第一掩盖向量承诺并隐藏起来。
多个第一掩盖随机数可以是在预设范围内随机生成的。cn维的第一掩盖向量d中的每一维数据可以是在[0,N 2)的整数空间中随机选取的。多个第一掩盖随机数也可以是在[0,N 2)的整数空间中随机选取得到。N为第一公钥。
下面以佩德森承诺算法为例说明承诺值的计算过程。将第一承诺值
Figure 712726DEST_PATH_IMAGE066
和第二承诺值D分别采用以下公式表示:
Figure 883944DEST_PATH_IMAGE069
Figure 980076DEST_PATH_IMAGE070
Figure 957259DEST_PATH_IMAGE071
Figure 88026DEST_PATH_IMAGE072
其中,
Figure 679414DEST_PATH_IMAGE073
Figure 262842DEST_PATH_IMAGE074
表示利用
Figure 778137DEST_PATH_IMAGE075
计算得到
Figure 966673DEST_PATH_IMAGE044
的承诺值为
Figure 276431DEST_PATH_IMAGE076
,其余三个公式的含义与此类似,不再赘述。以
Figure 347155DEST_PATH_IMAGE076
为例,采用以下步骤说明第一承诺值
Figure 603824DEST_PATH_IMAGE076
的计算方法,其他承诺值的计算方法类似,不再赘述。
步骤1a,针对第一隐私向量
Figure 443604DEST_PATH_IMAGE077
,确定一个阶为N 2的群Q
步骤2a,在群Q中随机确定cn+1个生成元
Figure 189844DEST_PATH_IMAGE078
,则ck可以表示为
Figure 951126DEST_PATH_IMAGE079
步骤3a,采用以下公式计算得到第一隐私向量
Figure 542645DEST_PATH_IMAGE044
的第一承诺值:
Figure 768089DEST_PATH_IMAGE080
其中,
Figure 419651DEST_PATH_IMAGE081
为连乘符号。
本实施例的所有承诺值均可以参照步骤1a-3a进行计算,只需要对其中的参量进行相应替换即可。在后续说明中的承诺值的计算过程也可以参照此处的说明。
步骤S240,第二方生成第一挑战数y,并将其发送至第一方,第一方接收第二方发送的第一挑战数y。第二方可以在接收到第一方发送的第二承诺值D和多个第一承诺值
Figure 651918DEST_PATH_IMAGE066
之后,生成第一挑战数y,并将其发送至第一方。在生成第一挑战数y时,可以在预设的整数范围内随机生成。
步骤S250,第一方将第一挑战数y作为第二子变元Y的取值,确定基于多个约束方程、多个第一隐私向量
Figure 312706DEST_PATH_IMAGE022
、第一掩盖向量d、第一子变元X和第二子变元Y,构建的第一多项式Lr和第二多项式tX,并将第二多项式tX分离变换成第一变元向量Z、第二隐私矩阵T和第二变元向量F的乘积。第一变元向量Z和第二变元向量F均是关于第一子变元X的向量。第二隐私矩阵T包括第二掩盖向量u和多个第二隐私向量
Figure 127078DEST_PATH_IMAGE082
其中,第一方或者第二方,可以预先基于多个约束方程构建第一多项式Lr和第二多项式tX的变量表达形式,或者由一方预先构建,然后分享至另一方。
第一方可以直接将第一挑战数y、多个第一隐私向量
Figure 152803DEST_PATH_IMAGE022
、第一掩盖向量d代入变量表达形式的第一多项式Lr和第二多项式tX中,然后再对第二多项式tX进行分离变换,这样能够提高处理的效率。
针对于得到分离变量形式的第二多项式tX,在另一种可行的实施方式中,第一方或者第二方可以预先对第二多项式tX的变量表达形式进行分离变换,或者由一方预先进行该分离变换,然后分享至另一方。第二方在得到变量表达形式且分离变换后的第二多项式tX时,即在得到变量表达形式的第一变元向量Z、第二隐私矩阵T和第二变元向量F的乘积时,可以直接将第一挑战数y、多个第一隐私向量
Figure 419837DEST_PATH_IMAGE022
、第一掩盖向量d代入。
上述提及的多项式可以有多种形式。第一多项式Lr可以为第二多项式tX的因式,第一多项式Lr的各项基于不同幂次的变元分别与多个第一隐私向量
Figure 884316DEST_PATH_IMAGE022
或第一掩盖向量d的乘积得到,该变元包括第一子变元X和/或第二子变元Y;第一变元向量Z和第二变元向量F包含不同幂次的第一子变元X。例如,第一多项式Lr和第二多项式tX可以基于劳伦特(Laurent)多项式构建。
以劳伦特多项式为例,针对所有约束方程,可以构建以下多个多项式:
Figure 756457DEST_PATH_IMAGE083
(1)
Figure 749821DEST_PATH_IMAGE084
Figure 769729DEST_PATH_IMAGE085
Figure 975583DEST_PATH_IMAGE086
(2)
Figure 498968DEST_PATH_IMAGE087
其中,
Figure 928812DEST_PATH_IMAGE088
是向量
Figure 622968DEST_PATH_IMAGE089
,各个符号的含义与步骤S220中的定义相同,此处不再赘述。当将第一挑战数y作为第二子变元Y的取值,将多个第一隐私向量
Figure 163671DEST_PATH_IMAGE022
、第一掩盖向量d代入上述多个多项式中时,可以得到第一多项式Lr和第二多项式tX的具体表达形式,其为关于第一子变元X的多项式。
上述的第一多项式Lr和第二多项式tX的形式仅是一种实施方式,还可以在这种形式的基础上进行一定的变换,例如,可以将
Figure 807141DEST_PATH_IMAGE090
增加或者转移至
Figure 611149DEST_PATH_IMAGE045
所在的项中,或者增加或者转移至
Figure 74492DEST_PATH_IMAGE046
所在的项中,等等,这些都是可行。所有变换形式的第一多项式Lr和第二多项式tX均属于本说明书的保护范围内。
在得到第二多项式tX的具体表达形式时,可以对其进行分离变换,将其分离成第一变元向量Z、第二隐私矩阵T和第二变元向量F的乘积,即tX=ZTF的形式。由于第一变元向量Z和第二变元向量F均是关于第一子变元X的向量,这样的分离变换将所有的隐私数据均转移至第二隐私矩阵T中,更便于对隐私数据的变换处理。
下面介绍一种对第二多项式tX进行分离变换的实施方式。
在[0,N 2)整数空间中随机选取
Figure 684465DEST_PATH_IMAGE091
-1个用于掩藏隐私数据的随机数
Figure 916863DEST_PATH_IMAGE092
Figure 891772DEST_PATH_IMAGE091
可以预先设定。令
Figure 107990DEST_PATH_IMAGE093
Figure 990495DEST_PATH_IMAGE094
为预先设定的两个正数,且满足
Figure 546241DEST_PATH_IMAGE095
Figure 488790DEST_PATH_IMAGE096
。则第二多项式
Figure 192303DEST_PATH_IMAGE097
可变换成另外两个度分别为
Figure 878500DEST_PATH_IMAGE098
Figure 538020DEST_PATH_IMAGE099
的多项式
Figure 917049DEST_PATH_IMAGE100
Figure 842279DEST_PATH_IMAGE101
的组合,
Figure 269850DEST_PATH_IMAGE102
,这两个多项式
Figure 862505DEST_PATH_IMAGE100
Figure 881277DEST_PATH_IMAGE101
的系数处于[0,N 2)所表示的整数空间内。将
Figure 497066DEST_PATH_IMAGE100
Figure 525065DEST_PATH_IMAGE101
的系数写在一个
Figure 972227DEST_PATH_IMAGE103
维的第二隐私矩阵
Figure 630741DEST_PATH_IMAGE104
中,并且加入已选取的 (
Figure 530564DEST_PATH_IMAGE091
-1)个随机数
Figure 96674DEST_PATH_IMAGE092
,即得到了第二隐私矩阵
Figure 850873DEST_PATH_IMAGE104
的构造,其构造如下:
Figure 742605DEST_PATH_IMAGE105
(3)
其中,第二隐私矩阵T包括多个第二隐私向量
Figure 864145DEST_PATH_IMAGE106
和第二掩盖向量u,第二隐私向量
Figure 437209DEST_PATH_IMAGE106
具体包括
Figure 593384DEST_PATH_IMAGE107
。第一变元向量Z和第二变元向量F的形式为:
Figure 656018DEST_PATH_IMAGE108
(4)
Figure 468116DEST_PATH_IMAGE109
(5)
上述第二隐私矩阵T的具体形式与所选定的
Figure 376029DEST_PATH_IMAGE091
Figure 652290DEST_PATH_IMAGE093
Figure 823508DEST_PATH_IMAGE094
有关,也与第二多项式tX的具体形式有关,当
Figure 919640DEST_PATH_IMAGE091
Figure 896823DEST_PATH_IMAGE093
Figure 762011DEST_PATH_IMAGE094
改变时,或者第二多项式tX的具体形式改变时,第二隐私矩阵T的具体形式也会发生变化。第一方和第二方共享除隐私数据之外的选定参数以及多项式的表达形式,在此基础上,第一方和第二方均可以基于共享的非隐私数据,实现本实施例中的零知识证明。
步骤S260,第一方利用预设承诺算法和多个第二掩盖随机数,分别计算对应的第二隐私向量
Figure 353398DEST_PATH_IMAGE110
的第三承诺值
Figure 202406DEST_PATH_IMAGE111
,以及第二掩盖向量u的第四承诺值U,将第四承诺值U和多个第三承诺值
Figure 717700DEST_PATH_IMAGE111
发送至第二方,第二方可以接收第一方发送的第四承诺值U和多个第三承诺值
Figure 640657DEST_PATH_IMAGE111
。第二掩盖向量u的维度与第二隐私向量的维度相同,用于对多个第二隐私向量
Figure 215995DEST_PATH_IMAGE110
进行掩盖,防治隐私泄露。其中,第三承诺值和第四承诺值可以用于后续对关于第二隐私矩阵的相关验证。第一方在发送第四承诺值U和多个第三承诺值
Figure 286719DEST_PATH_IMAGE111
时,可以分别发送,也可以打包一起发送,本说明书对该发送方式不做限定。
多个第二掩盖随机数可以是在预设范围内随机生成的,例如可以是在[0,N 2)的整数空间中随机选取得到。每个第二隐私向量对应一个第二掩盖随机数,第二掩盖向量也对应有一个第二掩盖随机数。通过预设承诺算法和多个第二掩盖随机数,可以将多个第二隐私向量和第二掩盖向量承诺并隐藏起来。
例如,多个第二掩盖随机数可以表示为
Figure 543388DEST_PATH_IMAGE112
,当第二隐私向量
Figure 383168DEST_PATH_IMAGE110
具体包括
Figure 129407DEST_PATH_IMAGE113
时,每个向量对应的承诺值如下:
Figure 890690DEST_PATH_IMAGE114
Figure 482208DEST_PATH_IMAGE115
Figure 442074DEST_PATH_IMAGE116
(6)
其中,
Figure 811744DEST_PATH_IMAGE117
Figure 591482DEST_PATH_IMAGE118
。每个承诺值的计算可以参见步骤S230中的说明,此处不再赘述。
步骤S270,第二方生成第二挑战数x,并将其发送至第一方。第一方接收第二方发送的第二挑战数x。第二方可以在接收到第一方发送的第四承诺值U和多个第三承诺值
Figure 252270DEST_PATH_IMAGE111
之后,生成第二挑战数x,并将其发送至第一方。在生成第二挑战数x时,可以在预设的整数范围内随机生成。
步骤S280,第一方将第二挑战数x作为第一子变元X的取值,基于分离变换后的第二多项式,确定与第二隐私矩阵T对应的第一结果
Figure 66642DEST_PATH_IMAGE119
,以及与多个第二掩盖随机数对应的第二结果
Figure 92367DEST_PATH_IMAGE120
;以及,基于第一多项式Lr,确定与第一隐私矩阵对应的第三结果lr,和与多个第一掩盖随机数对应的第四结果
Figure 359400DEST_PATH_IMAGE121
。其中,第一结果和第二结果可以用于后续对关于第二隐私矩阵的相关验证,第三结果和第四结果可以用于后续对关于多个第一隐私矩阵的相关验证。
第一方将第一结果
Figure 823880DEST_PATH_IMAGE119
、第二结果
Figure 696021DEST_PATH_IMAGE120
、第三结果lr和第四结果
Figure 689385DEST_PATH_IMAGE121
发送至第二方,第二方接收第一方发送的第一结果
Figure 709293DEST_PATH_IMAGE119
、第二结果
Figure 649567DEST_PATH_IMAGE120
、第三结果lr和第四结果
Figure 172953DEST_PATH_IMAGE122
。第一方在发送各个结果时,可以一一进行发送,也可以将各个结果进行打包后发送,本说明书对具体的发送方式不做限定。
在一种实施方式中,第一多项式Lr可以为第二多项式tX的因式,且第一多项式Lr的各项基于不同幂次的变元分别与多个第一隐私向量
Figure 868376DEST_PATH_IMAGE022
或第一掩盖向量d的乘积得到,分离变换后的第二多项式为第一变元向量Z、第二隐私矩阵T和第二变元向量F的乘积,且第一变元向量Z和第二变元向量F包含不同幂次的第一子变元X
在步骤S280中,基于分离变换后的第二多项式,确定与第二隐私矩阵T对应的第一结果
Figure 110002DEST_PATH_IMAGE123
,以及与多个第二掩盖随机数对应的第二结果
Figure 837655DEST_PATH_IMAGE124
的步骤,包括:
将第二挑战数x作为第一子变元X的取值,计算第一变元向量Z与第二隐私矩阵T的乘积,得到第一结果
Figure 481126DEST_PATH_IMAGE123
;计算第一变元向量Z与由多个第二掩盖随机数构成的第三掩盖向量
Figure 81872DEST_PATH_IMAGE125
的乘积,得到第二结果
Figure 14056DEST_PATH_IMAGE124
。第一结果
Figure 92870DEST_PATH_IMAGE123
和第二结果
Figure 856427DEST_PATH_IMAGE124
的计算过程可以采用以下公式表示:
Figure 831336DEST_PATH_IMAGE126
(7)
以上仅仅是计算第一结果
Figure 781974DEST_PATH_IMAGE123
和第二结果
Figure 930059DEST_PATH_IMAGE124
的一种方式,还可以基于第二隐私矩阵T与第二变元向量F的乘积,得到第一结果,基于第二变元向量F与第三掩盖向量
Figure 485805DEST_PATH_IMAGE125
的乘积计算第二结果。这些实施方式都能起到将ZTF进行分离而得到第一结果的目的,方便后续第二方对第二隐私矩阵T进行验证。
在步骤S280中,基于第一多项式Lr,确定与第一隐私矩阵对应的第三结果lr,和与多个第一掩盖随机数对应的第四结果
Figure 428353DEST_PATH_IMAGE122
的步骤,包括:
将第二挑战数x、多个第一隐私向量
Figure 131867DEST_PATH_IMAGE022
、第一掩盖向量d均代入第一多项式Lr中,得到第一结果lr;将多个第一掩盖随机数分别替换第一多项式Lr中对应的第一隐私向量和第一掩盖向量,得到第二结果
Figure 5014DEST_PATH_IMAGE122
。其中,第二挑战数x作为第一子变元X的取值。
例如,当第一多项式采用以下形式表示时,
Figure 477584DEST_PATH_IMAGE083
将第二挑战数x、第一挑战数y、多个第一隐私向量
Figure 856613DEST_PATH_IMAGE022
、第一掩盖向量d均代入上式
Figure 985106DEST_PATH_IMAGE127
,可以得到以下第一结果lr
Figure 209414DEST_PATH_IMAGE128
(8)
将多个第一掩盖随机数
Figure 536490DEST_PATH_IMAGE129
分别替换上式lr中对应的第一隐私向量和第一掩盖向量,得到第二结果
Figure 24103DEST_PATH_IMAGE122
Figure 436630DEST_PATH_IMAGE130
(9)
步骤S290,第二方基于各个承诺值和结果,执行以下第一判断、第二判断和第三判断。
第一判断,利用预设承诺算法和第二结果
Figure 730208DEST_PATH_IMAGE124
计算第一结果
Figure 115053DEST_PATH_IMAGE123
的第五承诺值;基于第二挑战数x、第四承诺值U和多个第三承诺值
Figure 304726DEST_PATH_IMAGE111
,以及分离变换后的第二多项式tX的变量表达形式,计算第一结果
Figure 470128DEST_PATH_IMAGE123
的第六承诺值;执行第五承诺值与第六承诺值是否相等的第一判断。
第二判断,基于第二挑战数x、第一结果
Figure 488768DEST_PATH_IMAGE123
以及分离变换后的第二多项式tX的变量表达形式,计算第二多项式tX的第一取值;至少基于第三结果lr以及第二多项式tX的变量表达形式,计算第二多项式tX的第二取值;执行第一取值与第二取值是否相等的第二判断。
第三判断,利用预设承诺算法和第四结果
Figure 790436DEST_PATH_IMAGE122
计算第三结果lr的第七承诺值;基于第一挑战数y、第二挑战数x、第二承诺值D和多个第一承诺值
Figure 88694DEST_PATH_IMAGE066
,以及第一多项式Lr的变量表达形式,计算第三结果lr的第八承诺值;执行第七承诺值与第八承诺值是否相等的第三判断。
其中,上述三个判断的执行顺序可以有多种形式,本说明书并不限定上述三个判断的执行顺序。例如,第二判断可以在第一判断的结果为是时执行,第三判断可以在第一判断和第二判断的结果均为是时执行。
当各个判断的结果均为是时,确定对约定同态加密过程和第一约定数据格式的零知识证明验证通过,当其中至少有一个判断的结果为否时,确定验证不通过,可以不再继续执行后续步骤。
本实施例在进行验证之前有一个假设,即假设第一方按照约定同态加密过程对隐私数据进行了同态加密,且假设原始特征向量按照第一约定数据格式进行了处理,如果上述假设均成立,则上述三个判断过程的判断结果应均为是,如果三个判断过程的判断结果均为是,则上述假设成立,即确定第一方确实按照约定同态加密过程对隐私数据进行了加密,且原始特征向量确实符合第一约定数据格式。
上述验证过程的一个前提是,所有约束方程都是基于约定同态加密过程和第一约定数据格式构建的。上述验证过程还根据了承诺值所满足的一定性质,即原数值的承诺值相乘的结果,等于原数值相加之后再计算承诺值,对原数值的承诺值进行求幂并相乘的结果,等于该原数值乘以对应的幂相加之后再计算承诺值,采用公式可以表示为
Figure 741392DEST_PATH_IMAGE131
(10)
Figure 314456DEST_PATH_IMAGE132
(11)
其中,
Figure 470631DEST_PATH_IMAGE133
Figure 267685DEST_PATH_IMAGE134
Figure 329051DEST_PATH_IMAGE135
为原数值
Figure 768123DEST_PATH_IMAGE136
的承诺值,
Figure 778804DEST_PATH_IMAGE137
为原数值
Figure 950022DEST_PATH_IMAGE138
的承诺值。
Figure 46154DEST_PATH_IMAGE139
表示计算
Figure 23338DEST_PATH_IMAGE136
的承诺值,
Figure 91788DEST_PATH_IMAGE140
表示计算
Figure 230645DEST_PATH_IMAGE138
的承诺值,其中省略了所用到的随机数。
在一种实施方式中,在变量表达形式中,第一多项式Lr为第二多项式tX的因式,且第一多项式Lr的各项基于不同幂次的变元分别与多个第一隐私向量
Figure 79652DEST_PATH_IMAGE003
或第一掩盖向量d的乘积得到。在变量表达形式中,分离变换后的第二多项式tX等于第一变元向量Z、第二隐私矩阵T和第二变元向量F的乘积。在本实施方式中,各个判断中的各项计算可以按照以下方式进行。
在第一判断中,计算第一结果
Figure 329368DEST_PATH_IMAGE011
的第六承诺值时,可以将第二挑战数x作为第一子变元X的取值,计算第一变元向量Z中的每一元素,并将每一元素作为对应的第三承诺值
Figure 517904DEST_PATH_IMAGE141
和第四承诺值U的指数,计算各幂之间的连乘,得到第一结果
Figure 827663DEST_PATH_IMAGE011
的第六承诺值。
在利用预设承诺算法和第二结果
Figure 163966DEST_PATH_IMAGE008
计算第一结果
Figure 681621DEST_PATH_IMAGE011
的第五承诺值时,可以以第二结果
Figure 521401DEST_PATH_IMAGE008
为随机数,依据步骤S230中计算承诺值的方法计算第五承诺值。
在第二判断中,计算第二多项式tX的第一取值时,可以将第二挑战数x作为第一变元X的取值,基于第一结果
Figure 267640DEST_PATH_IMAGE142
与第二变元向量F的乘积,确定第二多项式tX的第一取值。
在第三判断中,计算第三结果lr的第八承诺值时,可以基于第一挑战数y、第二挑战数x计算第一多项式Lr的变量表达式中不同幂次的变元的第三取值,将多个第三取值分别作为对应的第二承诺值D和第一承诺值
Figure 560082DEST_PATH_IMAGE004
的指数,计算各幂之间的连乘,得到第三结果lr的第八承诺值。
在利用预设承诺算法和第四结果
Figure 620441DEST_PATH_IMAGE009
计算第三结果lr的第七承诺值时,可以以第四结果
Figure 314728DEST_PATH_IMAGE009
为随机数,依据步骤S230中计算承诺值的方法计算第七承诺值。
在另一实施方式中,当分离变换后的第二多项式tX的变量表达形式为
Figure 231868DEST_PATH_IMAGE143
时,且在式(7)中
Figure 480447DEST_PATH_IMAGE144
,则第一结果
Figure 141236DEST_PATH_IMAGE011
可以表示为式(3)和式(4)的乘积,即
Figure 690029DEST_PATH_IMAGE146
Figure 981333DEST_PATH_IMAGE148
Figure 248366DEST_PATH_IMAGE150
Figure 712845DEST_PATH_IMAGE152
(12)
则第一判断可以是判断以下等式(13)是否成立
Figure 568675DEST_PATH_IMAGE153
(13)
等式(13)是基于式(11)表示的承诺值性质而建立。在等式(13)中,等式左边为第一结果
Figure 827618DEST_PATH_IMAGE011
的第五承诺值,等式右边为第一结果
Figure 847526DEST_PATH_IMAGE011
的第六承诺值。
第二判断可以是判断以下等式(14)是否成立
Figure 787801DEST_PATH_IMAGE154
(14)
其中,
Figure 311186DEST_PATH_IMAGE155
Figure 6609DEST_PATH_IMAGE156
的计算以及K的取值可以参见式(1)和式(2),
Figure 982656DEST_PATH_IMAGE157
,第二方利用第一挑战数y和第二挑战数x可以计算Ls(x)以及
Figure 726621DEST_PATH_IMAGE156
的值。等式(14)的左边为第二多项式tX的第一取值,右边为第二多项式tX的第二取值。等式(14)是基于第二多项式,即式(2)建立。
第三判断可以是判断以下等式(15)是否成立
Figure 635671DEST_PATH_IMAGE158
=
Figure 174100DEST_PATH_IMAGE159
*
Figure 903021DEST_PATH_IMAGE160
*
Figure 247415DEST_PATH_IMAGE161
(15)
等式(15)是基于式(11)表示的承诺值性质而建立。在等式(15)中,等式左边为第三结果lr的第七承诺值,等式右边为第三结果lr的第八承诺值。
步骤S200,当各个判断的结果均为是时,第二方基于第一约定数据格式,对多个原始特征密文c i 数据处理,得到数据处理结果。
在基于第一约定数据格式,对多个原始特征密文的数据处理,可以是进行模型训练,也可以是进行数据融合或数据统计等处理。例如,第二方可以基于自身存储的多个业务对象的特征数据,以及多个原始特征密文,进行数据融合或者进行数据统计。第一方和第二方中多个业务对象均按照约定排列顺序进行排列,第一方和第二方共享该约定排列顺序。例如,第一方和第二方中共享按照一定顺序排列的业务对象标识,且第一方和第二方中的同一业务对象标识,表示同一个业务对象。例如,第一方中的业务对象1和第二方中的业务对象1均表示用户1,第一方中的业务对象20和第二方中的业务对象20均表示用户20。在具体实施方式部分的第五段中,给出了第二方联合两方的数据进行处理的一个例子。当第二方得到数据处理结果时,可以将该数据处理结果发送至第一方,实现数据处理结果的共享。
在一种实施方式中,多个业务对象的原始特征密文c i 之间可以纵向排列。这里的纵向排列可以理解为,一个业务对象的原始特征密文占用一横行。对多个原始特征密文c i 进行数据处理时,可以基于第一约定数据格式,对多个原始特征密文c i 中的属性块进行纵向统计求和。
在另一种实施方式中,多个业务对象的原始特征密文c i 之间可以横向排列。这里的横向排列可以理解为,一个业务对象的原始特征密文占用一竖列。对多个原始特征密文c i 进行数据处理时,可以基于第一约定数据格式,对多个原始特征密文c i 中的属性块进行横向统计求和。
在上述实施方式中,业务对象的数量可能非常大,例如在百万级别。对原始特征密文进行统计求和时,可能产生进位。为了使得统计求和的结果不会因为进位的问题而产生错误,在一个实施例中,可以在原始特征向量中针对进位问题而增加预设0值。例如,每个原始特征向量m i 可以具有以下第一约定数据格式:其包括第一数量sn个属性块,每个属性块包括位于第一位置的第二数量个预设0值和位于第二位置的该属性块的特征值b i sn ,特征值b i sn 的取值或0或1。sn为整数,表示每个原始特征向量中的属性个数。第一位置可以在第二位置的左侧或者右侧。
例如,当业务对象的总数量为100万个左右时,第二数量可以设置为31,那么31+1=32就是一个属性块占用的比特,如果第一数量为32,则一个原始特征向量即为32*32=1024比特。对每个原始特征向量进行Paillier同态加密之后的密文,即为2048比特。原始特征向量
Figure 197922DEST_PATH_IMAGE001
可采用式(16)的形式表示
Figure 969569DEST_PATH_IMAGE001
=00…b 32…00…b 200…b 1 (16)
其中,b 1b 32为原始特征向量中的32个特征值,其取值为0或1。
当原始特征密文对应的明文采用式(16)的形式表示式,对指定的属性块进行统计求和时,该属性块中填充的0值能为统计求和中的进位提供空间,使得统计求和准确进行。
在另一实施例中,多个约束方程具体可以基于以下内容构建:多个原始特征密文
Figure 389049DEST_PATH_IMAGE002
的同态加密过程、多个辅助特征密文
Figure 537134DEST_PATH_IMAGE162
的同态加密过程、第一约定数据格式和多个辅助特征向量
Figure 92880DEST_PATH_IMAGE163
的第二约定数据格式;第一约定数据格式包括特征值b i sn 的取值范围。
其中,多个辅助特征密文
Figure 301007DEST_PATH_IMAGE162
,通过以下同态加密过程加密得到:使用第一公钥N和多个第二加密随机数
Figure 942204DEST_PATH_IMAGE164
,采用第一同态加密算法,分别对多个辅助特征向量
Figure 628401DEST_PATH_IMAGE163
进行同态加密后得到。第二加密随机数
Figure 553500DEST_PATH_IMAGE164
可以是在预设范围内随机生成的用于同态加密的随机数,针对每个待加密的明文,生成与之对应的第二加密随机数。
多个辅助特征向量
Figure 666950DEST_PATH_IMAGE163
,通过以第三数量个业务对象为单位,对按照约定排列顺序排练的多个业务对象进行分组,并将任意分组中多个原始特征向量的特征值b i sn 进行拼接得到。第三数量为根据经验设定的预设值,例如可以为15。约定排列顺序是针对多个业务对象的排列顺序,第一方和第二方共享该约定排列顺序。
基于约定同态加密过程和第一约定数据格式构建的约束方程,能对第一约定数据格式中进行验证。为了能进一步对原始特征向量中的特征值取值范围进行验证可以基于特征值构建辅助特征向量,并确定辅助特征密文。
多个约束方程可以包括:
方程一,通过将同态加密过程中的原始隐私数据采用变量标识,将同态加密过程转换得到的多个乘法约束方程和多个加法约束方程;
方程二,通过将特征值b i sn 、原始特征向量
Figure 795443DEST_PATH_IMAGE001
采用变量标识,将每个原始特征向量
Figure 285330DEST_PATH_IMAGE001
表示为第一数量sn个特征值b i sn 分别与相应系数相乘后的和值,得到的加法约束方程,该系数基于第一数量sn和第二数量确定;
方程三,通过将特征值b i sn 采用变量标识,将特征值b i sn 的取值范围采用乘法约束方程或加法约束方程表示时得到的约束方程。
其中,原始隐私数据除了多个原始特征向量
Figure 612406DEST_PATH_IMAGE001
之外,还可以包括:多个第一加密随机数
Figure 100019DEST_PATH_IMAGE165
、多个辅助特征向量
Figure 512546DEST_PATH_IMAGE163
、多个第二加密随机数
Figure 540545DEST_PATH_IMAGE164
和多个特征值b i sn 。在构建约束方程时,原始隐私数据采用变量标识。第一方和第二方共享所构建的约束方程。
当特征值b i sn 的取值或0或1时,针对特征值b i sn 取值范围的约束方程包括:
方程四,特征值b i sn 减去1的差值与该特征值b i sn 的乘积等于0。该方程可以表示为
Figure 925390DEST_PATH_IMAGE166
,其中b i sn 表示第i个业务对象的原始特征向量的第sn个特征值。
上述方程的解包含四组,0、1以及大于第一巨数值的两个解。其中,第一巨数值可以为
Figure 380642DEST_PATH_IMAGE167
。为了在第一方具有的特征值的解中排除大于第一巨数值的两个解,上述方法还可以包括以下步骤1b-5b验证步骤。
步骤1b,第一方在小于第一巨数值的整数范围内,随机生成第四数量j个挑选随机数
Figure 546044DEST_PATH_IMAGE168
。其中,第四数量可以为预设数值,表示重复次数,例如可以为128或者其他数量,j可以在小于等于第四数量的正整数范围内取值。例如,第一方在
Figure 112154DEST_PATH_IMAGE169
整数范围内随机生成第四数量个
Figure 600774DEST_PATH_IMAGE168
Figure 492506DEST_PATH_IMAGE170
步骤2b,第一方获取第二方随机生成的第四数量j个第一随机数
Figure 879625DEST_PATH_IMAGE171
的集合,第j个集合中的第一随机数
Figure 187110DEST_PATH_IMAGE172
的数量与多个原始特征向量
Figure 343285DEST_PATH_IMAGE001
中的特征值b i sn 总数相等,第一随机数
Figure 405918DEST_PATH_IMAGE171
的取值或0或1。
第一方可以向第二方发送指示其生成第一随机数的消息,第二方在接收到该消息时,生成第一随机数。该消息可以携带第四数量以及特征值b i sn 的总数。该特征值b i sn 的总数是原始特征向量的总数量与每个原始特征向量中的特征值总数量的乘积。
步骤3b,第一方,针对每个集合,将该集合中的各个第一随机数
Figure 14754DEST_PATH_IMAGE171
分别与对应位置的特征值b i sn 相乘,再与对应位置的挑选随机数
Figure 391509DEST_PATH_IMAGE168
相加,得到对应的第一验证数
Figure 667770DEST_PATH_IMAGE173
;第一方将得到的多个第一验证数
Figure 635726DEST_PATH_IMAGE173
发送至第二方,第二方接收第一方发送的多个第一验证数
Figure 935120DEST_PATH_IMAGE173
本实施例中,可以采用以下式表示第一验证数的计算过程:
Figure 646724DEST_PATH_IMAGE174
(17)
其中,
Figure 777491DEST_PATH_IMAGE175
表示第j个第一验证数,
Figure 368878DEST_PATH_IMAGE171
表示第j个集合中与第i个原始特征向量中的第sn个特征值b i sn 对应的第一随机数,
Figure 217886DEST_PATH_IMAGE176
表示第j个挑选随机数。
第一方在发送多个第一验证数
Figure 467601DEST_PATH_IMAGE173
时,可以分别发送,也可以打包一起发送,本说明书对该发送方式不做限定。
步骤4b,第二方在确定多个第一验证数
Figure 656137DEST_PATH_IMAGE173
小于第一巨数值时,向第一方发送表示初步验证通过的第一通知。第二方可以判断每一个第一验证数
Figure 231475DEST_PATH_IMAGE173
是否小于第一巨数值。如果特征值的取值都为0或1,则式(17)等式右侧括号中的项会非常小,这使得每个
Figure 302199DEST_PATH_IMAGE177
Figure 558868DEST_PATH_IMAGE178
的差值是可忽略的,而
Figure 664227DEST_PATH_IMAGE178
是在小于第一巨数值的整数范围内随机取值,若每个
Figure 144887DEST_PATH_IMAGE179
都小于第一巨数值,则证明第一方对特征值作弊的可能性为
Figure 640591DEST_PATH_IMAGE180
(例如在j
Figure 763268DEST_PATH_IMAGE181
的条件下),
Figure 457554DEST_PATH_IMAGE179
的重复次数j越多,第一方作弊的可能性越小。而第一方在对特征值进行式(17)所示的变换之后,实际起到的作用是采用第一随机数对特征值进行随机化掩盖,这样又避免泄露第一方的隐私数据。
步骤5b,第一方,当接收到第二方发送的表示初步验证通过的第一通知时,执行步骤S220,将原始隐私数据,按照预先构建的多个约束方程解的形式构建成多个第一隐私矩阵。其中,第一通知在确定多个第一验证数
Figure 561645DEST_PATH_IMAGE173
小于第一巨数值时发送。
采用本实施例的方式,可以预先向第二方对特征值的取值进行验证,排除所构建的
Figure 872541DEST_PATH_IMAGE166
约束方程中解为大于第一巨数值的情况。这样,后续的零知识证明过程会更加准确。
在另一实施例中,约束方程还可以包括:
方程五,通过将特征值b i sn 、多个挑选随机数
Figure 267750DEST_PATH_IMAGE168
采用变量标识,基于第一验证数
Figure 19805DEST_PATH_IMAGE173
的计算过程构建得到的加法约束方程。
结合上述的方程一~方程五,可以构建更多的约束方程。下面对多个约束方程的具体形式进行说明。
采用
Figure 373426DEST_PATH_IMAGE182
表示一个明文m与其所对应密文c在使用随机数r进行Pallier同态加密时所满足的约束条件,其中
Figure 640460DEST_PATH_IMAGE183
。该约束条件的生成过程可由计算 Paillier同态加密时所进行的所有步骤导出,即将幂运算过程转换为线性运算和乘法运算,得到以下多个约束方程
Figure 777043DEST_PATH_IMAGE184
(18)
通过式(18)可以将同态加密过程转换为加法约束方程和多个乘法约束方程。其中,
Figure 445922DEST_PATH_IMAGE185
的大小可通过如下方式确定
Figure 970444DEST_PATH_IMAGE186
其中,
Figure 662456DEST_PATH_IMAGE187
代表N的汉明重量,符号
Figure 665047DEST_PATH_IMAGE188
代表向上取整,N为第一密钥。
结合上述的方程一~方程五,并且将同态加密过程采用式(18)进行变换,以及,以第一数量sn取32,第二数量取31,第三数量取15为例,可以得到以下形式的多个约束方程:
Figure 454012DEST_PATH_IMAGE189
Figure 70807DEST_PATH_IMAGE190
Figure 312432DEST_PATH_IMAGE191
Figure 118714DEST_PATH_IMAGE192
Figure 496606DEST_PATH_IMAGE193
Figure 300614DEST_PATH_IMAGE194
Figure 29536DEST_PATH_IMAGE195
其中,
Figure 577192DEST_PATH_IMAGE192
表示,使用第一公钥N和多个加密随机数r j ’,采用第一同态加密算法,分别对多个挑选随机数R j ’进行同态加密后得到密文c j ’。其中,多个加密随机数r j ’和多个挑选随机数R j ’也属于隐私数据。密文c j ’可以共享给第二方。
在上述多个约束方程中,①代表所有明文密文对需满足正确加密;若满足约束方程②-⑦,则说明原明文符合约定数据格式条件。其中,约束②保证了由b i sn 可以构成m i ,约束③-⑦则用来保证所有特征值b i sn 只能为0或1。
在上述实施例中,第一方和第二方之间共享多个约束方程,以及第一多项式的变量表达形式、第二多项式的变量表达形式和分离变换后的第二多项式的变量表达形式,在变量表达形式中原始隐私数据采用变量标识。
上述实施例中,可以采用Paillier同态加密技术将多个特征(例如32个特征)包装到一个明文中,可以高效地一次性加密多个特征。对于上述证明过程,实施例中引入了约束系统,将所要证明的内容转换为约束,并零知识证明这些约束。
上述实施例中并不限定明文的长度必须小于同态加密的最小私钥长度,本实施例中引入的辅助特征向量,用每15 个明文中的特征值构造一个辅助特征向量并对其进行加密,即约束⑥⑦。由于此方法构造的辅助特征向量的长度小于最小私钥的长度,因此上述所有约束方程可以共同保证明文的正确加密且明文具有约定的特殊结构特征。此方案中,其通信量大小为乘法约束数量的平方根个群元素,通信量相对比较小,提高了通信效率。此外,由于实施例中的通信量与乘法约束数量呈平方根关系,则当被证明的信息数量越大时,每个信息的平均证明大小将会越小,实施例的高效性则越显著。
在具体实现中,为了提高系统效率,可以在大群中求幂以及乘法运算的效率上,采用快速傅立叶变换(Fast Fourier Transform,FFT)技术、指数运算乘积(multi-exponentiation)技术以及预计算(pre-computation)技术等减少计算量,或者将其预先提前进行。具体来说,FFT技术可以降低计算两个多项式乘法时复杂度,例如在计算
Figure 75169DEST_PATH_IMAGE196
时可以用其以提高效率;而指数运算乘积技术可以用于降低求幂运算时的计算复杂度,例如在对第一隐私矩阵ABC计算承诺值时可以采用此方法。此外,实施例中可以预先计算第一隐私矩阵 ABC中大部分项的取值,这样可以提高实际证明时的效率。
上述内容对本说明书的特定实施例进行了描述,其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行,并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的,或者可能是有利的。
图3为实施例提供的一种保护数据隐私的多方联合处理数据的装置的示意性框图。多方包括第一方和第二方,所述第一方存储有原始隐私数据,其中包括多个业务对象的原始特征向量m i ,每个原始特征向量m i 具有第一约定数据格式,所述装置300部署在第一方中,该第一方可以通过任何具有计算、处理能力的设备、平台或设备集群来实现。该实施例与图2所示方法实施例中第一方执行的方法相对应。该装置300包括:
第一获取模块310,配置为,获取多个原始特征密文
Figure 846816DEST_PATH_IMAGE002
,并将其发送至所述第二方;其中,多个原始特征密文
Figure 63034DEST_PATH_IMAGE002
通过约定同态加密过程对对应的原始特征向量m i 加密得到;
第一构建模块320,配置为,将所述原始隐私数据,按照预先构建的多个约束方程解的形式构建成多个第一隐私矩阵,其中包括多个第一隐私向量
Figure 148801DEST_PATH_IMAGE003
;所述多个约束方程基于所述约定同态加密过程和第一约定数据格式构建;
第一承诺模块330,配置为,利用预设承诺算法和多个第一掩盖随机数,分别计算对应的第一隐私向量
Figure 501285DEST_PATH_IMAGE003
的第一承诺值
Figure 443833DEST_PATH_IMAGE004
,以及第一掩盖向量d的第二承诺值D
第一发送模块340,配置为,将所述第二承诺值D和多个第一承诺值
Figure 334298DEST_PATH_IMAGE004
发送至所述第二方;
第一接收模块350,配置为,接收所述第二方发送的第一挑战数y
第二构建模块360,配置为,将所述第一挑战数y作为第二子变元Y的取值,确定基于所述多个约束方程、多个第一隐私向量
Figure 20494DEST_PATH_IMAGE003
、所述第一掩盖向量d、第一子变元X和所述第二子变元Y,构建的第一多项式Lr和第二多项式tX,并将所述第二多项式tX分离变换成第一变元向量Z、第二隐私矩阵T和第二变元向量F的乘积;所述第二隐私矩阵T包括第二掩盖向量u和多个第二隐私向量
Figure 493064DEST_PATH_IMAGE005
第二承诺模块370,配置为,利用所述预设承诺算法和多个第二掩盖随机数,分别计算对应的第二隐私向量
Figure 606513DEST_PATH_IMAGE005
的第三承诺值
Figure 735006DEST_PATH_IMAGE010
,以及所述第二掩盖向量u的第四承诺值U
第二发送模块380,配置为,将所述第四承诺值U和多个第三承诺值
Figure 224894DEST_PATH_IMAGE010
发送至所述第二方;
第二接收模块390,配置为,接收所述第二方发送的第二挑战数x
第一确定模块311,配置为,将所述第二挑战数x作为所述第一子变元X的取值,基于分离变换后的第二多项式,确定与所述第二隐私矩阵T对应的第一结果
Figure 551970DEST_PATH_IMAGE011
,以及与多个第二掩盖随机数对应的第二结果
Figure 39583DEST_PATH_IMAGE008
;以及,基于所述第一多项式Lr,确定与所述第一隐私矩阵对应的第三结果lr,和与多个第一掩盖随机数对应的第四结果
Figure 186530DEST_PATH_IMAGE009
第三发送模块312,配置为,将所述第一结果
Figure 480108DEST_PATH_IMAGE011
、第二结果
Figure 864953DEST_PATH_IMAGE008
、第三结果lr和第四结果
Figure 320206DEST_PATH_IMAGE009
发送至所述第二方,以使所述第二方在基于接收的结果和承诺值进行验证并通过之后,对所述多个原始特征密文
Figure 485608DEST_PATH_IMAGE002
进行数据处理。
在一种实施方式中,所述第一多项式Lr为所述第二多项式tX的因式;所述第一多项式Lr的各项基于不同幂次的变元分别与多个第一隐私向量
Figure 504248DEST_PATH_IMAGE003
或所述第一掩盖向量d的乘积得到,所述变元包括所述第一子变元X和/或第二子变元Y;第一变元向量Z和第二变元向量F包含不同幂次的第一子变元X
在一种实施方式中,第一确定模块311,基于分离变换后的第二多项式,确定与所述第二隐私矩阵T对应的第一结果
Figure 540337DEST_PATH_IMAGE011
,以及与多个第二掩盖随机数对应的第二结果
Figure 432070DEST_PATH_IMAGE008
时,包括:
计算所述第一变元向量Z与所述第二隐私矩阵T的乘积,得到第一结果
Figure 756872DEST_PATH_IMAGE011
计算所述第一变元向量Z与由多个第二掩盖随机数构成的第三掩盖向量
Figure 126673DEST_PATH_IMAGE197
的乘积,得到第二结果
Figure 548428DEST_PATH_IMAGE008
在一种实施方式中,第一确定模块311,基于所述第一多项式Lr,确定与所述第一隐私矩阵对应的第三结果lr,和与多个第一掩盖随机数对应的第四结果
Figure 548745DEST_PATH_IMAGE009
时,包括:
将所述第二挑战数x、多个第一隐私向量
Figure 157580DEST_PATH_IMAGE003
、所述第一掩盖向量d均代入所述第一多项式Lr中,得到第一结果lr;所述第二挑战数x作为所述第一子变元X的取值;
将多个第一掩盖随机数分别替换所述第一多项式Lr中对应的第一隐私向量和第一掩盖向量,得到第二结果
Figure 331073DEST_PATH_IMAGE009
在一种实施方式中,每个原始特征向量m i 具有以下第一约定数据格式:其包括第一数量sn个属性块,每个属性块包括位于第一位置的第二数量个预设0值和位于第二位置的该属性块的特征值
Figure 341754DEST_PATH_IMAGE198
,特征值
Figure 512972DEST_PATH_IMAGE198
的取值或0或1。
在一种实施方式中,多个原始特征密文
Figure 609104DEST_PATH_IMAGE002
通过以下约定同态加密过程加密得到:使用第一公钥N和多个第一加密随机数
Figure 586288DEST_PATH_IMAGE165
,采用第一同态加密算法,分别对多个原始特征向量m i 进行同态加密后得到。
在一种实施方式中,所述多个约束方程具体基于以下内容构建:多个原始特征密文
Figure 169585DEST_PATH_IMAGE002
的同态加密过程、多个辅助特征密文
Figure 308442DEST_PATH_IMAGE162
的同态加密过程、所述第一约定数据格式和多个辅助特征向量
Figure 891870DEST_PATH_IMAGE163
的第二约定数据格式;所述第一约定数据格式包括特征值
Figure 407165DEST_PATH_IMAGE198
的取值范围;
所述多个辅助特征密文
Figure 595701DEST_PATH_IMAGE162
,通过以下同态加密过程加密得到:使用所述第一公钥N和多个第二加密随机数
Figure 171039DEST_PATH_IMAGE164
,采用所述第一同态加密算法,分别对多个辅助特征向量
Figure 976184DEST_PATH_IMAGE163
进行同态加密后得到;
所述多个辅助特征向量
Figure 232853DEST_PATH_IMAGE163
,通过以第三数量个业务对象为单位,对按照约定排列顺序排练的多个业务对象进行分组,并将任意分组中多个原始特征向量的特征值
Figure 338212DEST_PATH_IMAGE198
进行拼接得到。
在一种实施方式中,多个约束方程包括:
通过将同态加密过程中的原始隐私数据采用变量标识,将同态加密过程转换得到的多个乘法约束方程和多个加法约束方程;
通过将特征值
Figure 818872DEST_PATH_IMAGE198
、原始特征向量m i 采用变量标识,将每个原始特征向量m i 表示为第一数量sn个特征值
Figure 580154DEST_PATH_IMAGE198
分别与相应系数相乘后的和值,得到的加法约束方程,所述系数基于第一数量sn和第二数量确定;
通过将特征值
Figure 437252DEST_PATH_IMAGE198
采用变量标识,将特征值
Figure 397118DEST_PATH_IMAGE198
的取值范围采用乘法约束方程或加法约束方程表示时得到的约束方程。
在一种实施方式中,所述原始隐私数据还包括:多个第一加密随机数
Figure 501209DEST_PATH_IMAGE165
、多个辅助特征向量
Figure 280946DEST_PATH_IMAGE163
、多个第二加密随机数
Figure 941735DEST_PATH_IMAGE199
和多个特征值
Figure 959369DEST_PATH_IMAGE198
在一种实施方式中,当特征值
Figure 781832DEST_PATH_IMAGE198
的取值或0或1时,针对特征值
Figure 314444DEST_PATH_IMAGE200
取值范围的约束方程包括,特征值
Figure 513344DEST_PATH_IMAGE198
减去1的差值与该特征值
Figure 385485DEST_PATH_IMAGE198
的乘积等于0;
装置300还包括:
随机数生成模块(图中未示出),配置为在小于第一巨数值的整数范围内,随机生成第四数量个挑选随机数
Figure 644428DEST_PATH_IMAGE168
集合获取模块(图中未示出),配置为,获取所述第二方随机生成的第四数量个第一随机数
Figure 398758DEST_PATH_IMAGE171
的集合,每个集合中的第一随机数
Figure 604611DEST_PATH_IMAGE171
的数量与多个原始特征向量
Figure 393576DEST_PATH_IMAGE001
中的特征值
Figure 557841DEST_PATH_IMAGE198
总数相等,第一随机数
Figure 251996DEST_PATH_IMAGE171
的取值或0或1;
验证数计算模块(图中未示出),配置为,针对每个集合,将该集合中的各个第一随机数
Figure 792699DEST_PATH_IMAGE171
分别与对应位置的特征值
Figure 436170DEST_PATH_IMAGE198
相乘,再与对应位置的挑选随机数
Figure 240178DEST_PATH_IMAGE168
相加,得到对应的第一验证数
Figure 703520DEST_PATH_IMAGE173
验证数发送模块(图中未示出),配置为,将得到的多个第一验证数
Figure 313493DEST_PATH_IMAGE173
发送至所述第二方;
第一构建模块320,具体配置为,当接收到所述第二方发送的表示初步验证通过的第一通知时,将所述原始隐私数据,按照预先构建的多个约束方程解的形式构建成多个第一隐私矩阵;其中,所述第一通知在确定多个第一验证数
Figure 749154DEST_PATH_IMAGE173
小于所述第一巨数值时发送。
在一种实施方式中,多个约束方程还包括:
通过将特征值
Figure 520800DEST_PATH_IMAGE198
、多个挑选随机数
Figure 737018DEST_PATH_IMAGE168
采用变量标识,基于所述第一验证数
Figure 619524DEST_PATH_IMAGE173
的计算过程构建得到的加法约束方程。
在一种实施方式中,所述预设承诺算法包括佩德森承诺算法。
在一种实施方式中,所述第一多项式Lr和第二多项式tX基于劳伦特多项式构建。
在一种实施方式中,所述第一同态加密算法包括Paillier加密算法。
在一种实施方式中,所述第一方和所述第二方之间共享所述多个约束方程,以及第一多项式的变量表达形式、第二多项式的变量表达形式和分离变换后的第二多项式的变量表达形式,在变量表达形式中原始隐私数据采用变量标识。
在一种实施方式中,所述业务对象包括:用户、商品、商户或事件。
图4为实施例提供的一种保护数据隐私的多方联合处理数据的装置的示意性框图。多方包括第一方和第二方,所述第一方存储有原始隐私数据,其中包括多个业务对象的原始特征向量m i ,每个原始特征向量m i 具有第一约定数据格式,所述装置400部署在第二方中,第二方可以通过任何具有计算、处理能力的设备、平台或设备集群来实现。该实施例与图2所示方法实施例中第二方执行的方法相对应。该装置400可以包括:
第三接收模块410,配置为,接收所述第一方发送的多个原始特征密文
Figure 175270DEST_PATH_IMAGE002
,其通过约定同态加密过程对对应的原始特征向量m i 加密得到;
第四接收模块420,配置为,接收所述第一方发送的第二承诺值D和多个第一承诺值
Figure 383397DEST_PATH_IMAGE004
第四发送模块430,配置为,生成第一挑战数y,并将其发送至所述第一方;
第五接收模块440,配置为,接收所述第一方发送的第四承诺值U和多个第三承诺值
Figure 821332DEST_PATH_IMAGE010
第五发送模块450,配置为,生成第二挑战数x,并将其发送至所述第一方;
第六接收模块460,配置为,接收所述第一方发送的第一结果
Figure 960058DEST_PATH_IMAGE011
、第二结果
Figure 432628DEST_PATH_IMAGE008
、第三结果lr和第四结果
Figure 546077DEST_PATH_IMAGE009
第一判断模块470,配置为,利用预设承诺算法和所述第二结果
Figure 674570DEST_PATH_IMAGE008
计算所述第一结果
Figure 164457DEST_PATH_IMAGE011
的第五承诺值;基于所述第二挑战数x、所述第四承诺值U和多个第三承诺值
Figure 491533DEST_PATH_IMAGE010
,以及分离变换后的第二多项式tX的变量表达形式,计算所述第一结果
Figure 713567DEST_PATH_IMAGE011
的第六承诺值;执行所述第五承诺值与第六承诺值是否相等的第一判断;
第二判断模块480,配置为,基于所述第二挑战数x、所述第一结果
Figure 126094DEST_PATH_IMAGE011
以及分离变换后的第二多项式tX的变量表达形式,计算第二多项式tX的第一取值;至少基于所述第三结果lr以及第二多项式tX的变量表达形式,计算第二多项式tX的第二取值;执行所述第一取值与所述第二取值是否相等的第二判断;
第三判断模块490,配置为,利用所述预设承诺算法和所述第四结果
Figure 419672DEST_PATH_IMAGE009
计算所述第三结果lr的第七承诺值;基于所述第一挑战数y、第二挑战数x、第二承诺值D和多个第一承诺值
Figure 804517DEST_PATH_IMAGE004
,以及第一多项式Lr的变量表达形式,计算所述第三结果lr的第八承诺值;执行所述第七承诺值与第八承诺值是否相等的第三判断;
第二确定模块411,配置为,当各个判断的结果均为是时,确定所述约定同态加密过程和所述第一约定数据格式的零知识证明验证通过;
第一处理模块412,配置为,基于所述第一约定数据格式,对多个原始特征密文
Figure 259769DEST_PATH_IMAGE002
进行数据处理,得到数据处理结果。
在一种实施方式中,在变量表达形式中,所述第一多项式Lr为所述第二多项式tX的因式,所述第一多项式Lr的各项基于不同幂次的变元分别与多个第一隐私向量
Figure 159592DEST_PATH_IMAGE003
或第一掩盖向量d的乘积得到,所述变元包括所述第一子变元X和/或第二子变元Y
在变量表达形式中,分离变换后的第二多项式tX等于第一变元向量Z、第二隐私矩阵T和第二变元向量F的乘积,所述第一变元向量Z和第二变元向量F包含不同幂次的第一子变元X
在一种实施方式中,第一判断模块470,计算所述第一结果
Figure 178233DEST_PATH_IMAGE011
的第六承诺值时,包括:
将所述第二挑战数x作为所述第一子变元X的取值,计算所述第一变元向量Z中的每一元素,并将每一元素作为对应的第三承诺值
Figure 479901DEST_PATH_IMAGE010
和第四承诺值U的指数,计算各幂之间的连乘,得到所述第一结果
Figure 371634DEST_PATH_IMAGE007
的第六承诺值。
在一种实施方式中,第二判断模块480,计算第二多项式tX的第一取值时,包括:
将所述第二挑战数x作为所述第一变元X的取值,基于所述第一结果
Figure 493173DEST_PATH_IMAGE011
与所述第二变元向量F的乘积,确定第二多项式tX的第一取值。
在一种实施方式中,第三判断模块490,计算第三结果lr的第八承诺值时,包括:
基于所述第一挑战数y、第二挑战数x计算第一多项式Lr的变量表达式中不同幂次的变元的第三取值,将多个第三取值分别作为对应的第二承诺值D和第一承诺值
Figure 66237DEST_PATH_IMAGE004
的指数,计算各幂之间的连乘,得到所述第三结果lr的第八承诺值。
在一种实施方式中,所述第二判断在所述第一判断的结果为是时执行,所述第三判断在所述第一判断和第二判断的结果均为是时执行。
在一种实施方式中,每个原始特征向量
Figure 487991DEST_PATH_IMAGE001
具有以下第一约定数据格式:其包括第一数量sn个属性块,每个属性块包括位于第一位置的第二数量个预设0值和位于第二位置的该属性块的特征值
Figure 285046DEST_PATH_IMAGE198
,特征值
Figure 97144DEST_PATH_IMAGE198
的取值或0或1;
装置400还包括,通知发送模块(图中未示出),配置为,接收所述第一方发送的多个第一验证数
Figure 270637DEST_PATH_IMAGE173
;在确定多个第一验证数
Figure 281318DEST_PATH_IMAGE173
小于第一巨数值时,向所述第一方发送表示初步验证通过的第一通知。
在一种实施方式中,多个业务对象的原始特征密文
Figure 452536DEST_PATH_IMAGE002
之间纵向排列;第一处理模块412,具体配置为,基于所述第一约定数据格式,对多个原始特征密文
Figure 548668DEST_PATH_IMAGE002
中的属性块进行纵向统计求和。
上述装置实施例与方法实施例相对应,具体说明可以参见方法实施例部分的描述,此处不再赘述。装置实施例是基于对应的方法实施例得到,与对应的方法实施例具有同样的技术效果,具体说明可参见对应的方法实施例。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图1至图2任一项所述的方法。
本说明书实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图1至图2任一项所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于存储介质和计算设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步的详细说明。所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (28)

1.一种保护数据隐私的多方联合处理数据的方法,多方包括第一方和第二方,所述第一方存储有原始隐私数据,其中包括多个业务对象的原始特征向量mi,每个原始特征向量mi具有第一约定数据格式,所述方法通过所述第一方执行,包括:
获取多个原始特征密文ci,并将其发送至所述第二方;其中,多个原始特征密文ci通过约定同态加密过程对对应的原始特征向量mi加密得到;
将所述原始隐私数据,按照预先构建的多个约束方程解的形式构建成多个第一隐私矩阵,其中包括多个第一隐私向量aτbτcτ;所述多个约束方程基于所述约定同态加密过程和第一约定数据格式构建;
利用预设承诺算法和多个第一掩盖随机数,分别计算对应的第一隐私向量aτbτcτ的第一承诺值AτBτCτ,以及第一掩盖向量d的第二承诺值D;
将所述第二承诺值D和多个第一承诺值AτBτCτ发送至所述第二方;
接收所述第二方发送的第一挑战数y;
将所述第一挑战数y作为第二子变元Y的取值,确定基于所述多个约束方程、多个第一隐私向量aτbτcτ、所述第一掩盖向量d、第一子变元X和所述第二子变元Y,构建的第一多项式Lr和第二多项式tX,并将所述第二多项式tX分离变换成第一变元向量Z、第二隐私矩阵T和第二变元向量F的乘积;所述第二隐私矩阵T包括第二掩盖向量u和多个第二隐私向量t′;
利用所述预设承诺算法和多个第二掩盖随机数,分别计算对应的第二隐私向量t′的第三承诺值T′ηT″ψ,以及所述第二掩盖向量u的第四承诺值U;
将所述第四承诺值U和多个第三承诺值T′ηT″ψ发送至所述第二方;
接收所述第二方发送的第二挑战数x;
将所述第二挑战数x作为所述第一子变元X的取值,基于分离变换后的第二多项式,确定与所述第二隐私矩阵T对应的第一结果
Figure FDA0003495710900000011
以及与多个第二掩盖随机数对应的第二结果
Figure FDA0003495710900000012
以及,基于所述第一多项式Lr,确定与所述第一隐私矩阵对应的第三结果lr,和与多个第一掩盖随机数对应的第四结果ρ;
将所述第一结果
Figure FDA0003495710900000021
第二结果
Figure FDA0003495710900000022
第三结果lr和第四结果ρ发送至所述第二方,以使所述第二方在基于接收的结果和承诺值进行验证并通过之后,对所述多个原始特征密文ci进行数据处理。
2.根据权利要求1所述的方法,其中,所述第一多项式Lr为所述第二多项式tX的因式;所述第一多项式Lr的各项基于不同幂次的变元分别与多个第一隐私向量aτbτcτ或所述第一掩盖向量d的乘积得到,所述变元包括所述第一子变元X和/或第二子变元Y;
所述第一变元向量Z和第二变元向量F包含不同幂次的第一子变元X。
3.根据权利要求2所述的方法,所述基于分离变换后的第二多项式,确定与所述第二隐私矩阵T对应的第一结果
Figure FDA0003495710900000023
以及与多个第二掩盖随机数对应的第二结果
Figure FDA0003495710900000024
的步骤,包括:
计算所述第一变元向量Z与所述第二隐私矩阵T的乘积,得到第一结果
Figure FDA0003495710900000025
计算所述第一变元向量Z与由多个第二掩盖随机数构成的第三掩盖向量γ的乘积,得到第二结果
Figure FDA0003495710900000026
4.根据权利要求2所述的方法,所述基于所述第一多项式Lr,确定与所述第一隐私矩阵对应的第三结果lr,和与多个第一掩盖随机数对应的第四结果ρ的步骤,包括:
将所述第二挑战数x、多个第一隐私向量aτbτcτ、所述第一掩盖向量d均代入所述第一多项式Lr中,得到第一结果lr;所述第二挑战数x作为所述第一子变元X的取值;
将多个第一掩盖随机数分别替换所述第一多项式Lr中对应的第一隐私向量和第一掩盖向量,得到第二结果ρ。
5.根据权利要求1所述的方法,其中,每个原始特征向量mi具有以下第一约定数据格式:其包括第一数量sn个属性块,每个属性块包括位于第一位置的第二数量个预设0值和位于第二位置的该属性块的特征值
Figure FDA0003495710900000027
特征值
Figure FDA0003495710900000028
的取值或0或1。
6.根据权利要求1或5所述的方法,其中,多个原始特征密文ci通过以下约定同态加密过程加密得到:使用第一公钥N和多个第一加密随机数ri,采用第一同态加密算法,分别对多个原始特征向量mi进行同态加密后得到。
7.根据权利要求6所述的方法,其中,所述多个约束方程具体基于以下内容构建:多个原始特征密文ci的同态加密过程、多个辅助特征密文
Figure FDA0003495710900000031
的同态加密过程、所述第一约定数据格式和多个辅助特征向量
Figure FDA0003495710900000032
的第二约定数据格式;所述第一约定数据格式包括特征值
Figure FDA0003495710900000033
的取值范围;
所述多个辅助特征密文
Figure FDA0003495710900000034
通过以下同态加密过程加密得到:使用所述第一公钥N和多个第二加密随机数
Figure FDA0003495710900000035
采用所述第一同态加密算法,分别对多个辅助特征向量
Figure FDA0003495710900000036
进行同态加密后得到;
所述多个辅助特征向量
Figure FDA0003495710900000037
通过以第三数量个业务对象为单位,对按照约定排列顺序排练的多个业务对象进行分组,并将任意分组中多个原始特征向量的特征值
Figure FDA0003495710900000038
进行拼接得到。
8.根据权利要求7所述的方法,所述多个约束方程包括:
通过将同态加密过程中的原始隐私数据采用变量标识,将同态加密过程转换得到的多个乘法约束方程和多个加法约束方程;
通过将特征值
Figure FDA0003495710900000039
原始特征向量mi采用变量标识,将每个原始特征向量mi表示为第一数量sn个特征值
Figure FDA00034957109000000310
分别与相应系数相乘后的和值,得到的加法约束方程,所述系数基于第一数量sn和第二数量确定;
通过将特征值
Figure FDA00034957109000000311
采用变量标识,将特征值
Figure FDA00034957109000000312
的取值范围采用乘法约束方程或加法约束方程表示时得到的约束方程。
9.根据权利要求8所述的方法,其中,所述原始隐私数据还包括:多个第一加密随机数ri、多个辅助特征向量
Figure FDA00034957109000000313
多个第二加密随机数
Figure FDA00034957109000000314
和多个特征值
Figure FDA00034957109000000315
10.根据权利要求8所述的方法,当特征值
Figure FDA00034957109000000316
的取值或0或1时,针对特征值
Figure FDA0003495710900000041
取值范围的约束方程包括,特征值
Figure FDA0003495710900000042
减去1的差值与该特征值
Figure FDA0003495710900000043
的乘积等于0;
所述方法还包括:
在小于第一巨数值的整数范围内,随机生成第四数量个挑选随机数R′j
获取所述第二方随机生成的第四数量个第一随机数
Figure FDA0003495710900000044
的集合,每个集合中的第一随机数
Figure FDA0003495710900000045
的数量与多个原始特征向量mi中的特征值
Figure FDA0003495710900000046
总数相等,第一随机数
Figure FDA0003495710900000047
的取值或0或1;
针对每个集合,将该集合中的各个第一随机数
Figure FDA0003495710900000048
分别与对应位置的特征值
Figure FDA0003495710900000049
相乘,再与对应位置的挑选随机数R′j相加,得到对应的第一验证数L′j
将得到的多个第一验证数L′j发送至所述第二方;
当接收到所述第二方发送的表示初步验证通过的第一通知时,执行将所述原始隐私数据,按照预先构建的多个约束方程解的形式构建成多个第一隐私矩阵;其中,所述第一通知在确定多个第一验证数L′j小于所述第一巨数值时发送。
11.根据权利要求10所述的方法,多个约束方程还包括:
通过将特征值
Figure FDA00034957109000000410
多个挑选随机数R′j采用变量标识,基于所述第一验证数L′j的计算过程构建得到的加法约束方程。
12.根据权利要求1所述的方法,其中,所述预设承诺算法包括佩德森承诺算法。
13.根据权利要求1所述的方法,所述第一多项式Lr和第二多项式tX基于劳伦特多项式构建。
14.根据权利要求6所述的方法,所述第一同态加密算法包括Paillier加密算法。
15.根据权利要求1所述的方法,所述第一方和所述第二方之间共享所述多个约束方程,以及第一多项式的变量表达形式、第二多项式的变量表达形式和分离变换后的第二多项式的变量表达形式,在变量表达形式中原始隐私数据采用变量标识。
16.根据权利要求1所述的方法,所述业务对象包括:用户、商品、商户或事件。
17.一种保护数据隐私的多方联合处理数据的方法,多方包括第一方和第二方,所述第一方存储有原始隐私数据,其中包括多个业务对象的原始特征向量mi,每个原始特征向量mi具有第一约定数据格式,所述方法通过所述第二方执行,包括:
接收所述第一方发送的多个原始特征密文ci,其通过约定同态加密过程对对应的原始特征向量mi加密得到;
接收所述第一方发送的第二承诺值D和多个第一承诺值AτBτCτ
生成第一挑战数y,并将其发送至所述第一方;
接收所述第一方发送的第四承诺值U和多个第三承诺值T′ηT″ψ
生成第二挑战数x,并将其发送至所述第一方;
接收所述第一方发送的第一结果
Figure FDA0003495710900000051
第二结果
Figure FDA0003495710900000052
第三结果lr和第四结果ρ;
利用预设承诺算法和所述第二结果
Figure FDA0003495710900000053
计算所述第一结果
Figure FDA0003495710900000054
的第五承诺值;基于所述第二挑战数x、所述第四承诺值U和多个第三承诺值T′ηT″ψ,以及分离变换后的第二多项式tX的变量表达形式,计算所述第一结果
Figure FDA0003495710900000055
的第六承诺值;执行所述第五承诺值与第六承诺值是否相等的第一判断;
基于所述第二挑战数x、所述第一结果
Figure FDA0003495710900000056
以及分离变换后的第二多项式tX的变量表达形式,计算第二多项式tX的第一取值;至少基于所述第三结果lr以及第二多项式tX的变量表达形式,计算第二多项式tX的第二取值;执行所述第一取值与所述第二取值是否相等的第二判断;
利用所述预设承诺算法和所述第四结果ρ计算所述第三结果lr的第七承诺值;基于所述第一挑战数y、第二挑战数x、第二承诺值D和多个第一承诺值AτBτCτ,以及第一多项式Lr的变量表达形式,计算所述第三结果lr的第八承诺值;执行所述第七承诺值与第八承诺值是否相等的第三判断;
当各个判断的结果均为是时,确定对所述约定同态加密过程和所述第一约定数据格式的零知识证明验证通过;
基于所述第一约定数据格式,对多个原始特征密文ci进行数据处理,得到数据处理结果。
18.根据权利要求17所述的方法,其中,在变量表达形式中,所述第一多项式Lr为所述第二多项式tX的因式,所述第一多项式Lr的各项基于不同幂次的变元分别与多个第一隐私向量aτbτcτ或第一掩盖向量d的乘积得到,所述变元包括第一子变元X和/或第二子变元Y;
在变量表达形式中,分离变换后的第二多项式tX等于第一变元向量Z、第二隐私矩阵T和第二变元向量F的乘积,所述第一变元向量Z和第二变元向量F包含不同幂次的第一子变元X。
19.根据权利要求18所述的方法,所述计算所述第一结果
Figure FDA0003495710900000061
的第六承诺值的步骤,包括:
将所述第二挑战数x作为所述第一子变元X的取值,计算所述第一变元向量Z中的每一元素,并将每一元素作为对应的第三承诺值T′ηT″ψ和第四承诺值U的指数,计算各幂之间的连乘,得到所述第一结果
Figure FDA0003495710900000062
的第六承诺值。
20.根据权利要求18所述的方法,所述计算第二多项式tX的第一取值的步骤,包括:
将所述第二挑战数x作为所述第一变元X的取值,基于所述第一结果
Figure FDA0003495710900000063
与所述第二变元向量F的乘积,确定第二多项式tX的第一取值。
21.根据权利要求18所述的方法,所述计算所述第三结果lr的第八承诺值的步骤,包括:
基于所述第一挑战数y、第二挑战数x计算第一多项式Lr的变量表达式中不同幂次的变元的第三取值,将多个第三取值分别作为对应的第二承诺值D和第一承诺值AτBτCτ的指数,计算各幂之间的连乘,得到所述第三结果lr的第八承诺值。
22.根据权利要求17所述的方法,所述第二判断在所述第一判断的结果为是时执行,所述第三判断在所述第一判断和第二判断的结果均为是时执行。
23.根据权利要求17所述的方法,其中,每个原始特征向量mi具有以下第一约定数据格式:其包括第一数量sn个属性块,每个属性块包括位于第一位置的第二数量个预设0值和位于第二位置的该属性块的特征值
Figure FDA0003495710900000071
特征值
Figure FDA0003495710900000072
的取值或0或1;所述方法还包括:
接收所述第一方发送的多个第一验证数L′j
在确定多个第一验证数L′j小于第一巨数值时,向所述第一方发送表示初步验证通过的第一通知。
24.根据权利要求23所述的方法,多个业务对象的原始特征密文ci之间纵向排列;所述对多个原始特征密文ci进行数据处理的步骤,包括:
基于所述第一约定数据格式,对多个原始特征密文ci中的属性块进行纵向统计求和。
25.一种保护数据隐私的多方联合处理数据的装置,多方包括第一方和第二方,所述第一方存储有原始隐私数据,其中包括多个业务对象的原始特征向量mi,每个原始特征向量mi具有第一约定数据格式,所述装置部署在所述第一方中,包括:
第一获取模块,配置为,获取多个原始特征密文ci,并将其发送至所述第二方;其中,多个原始特征密文ci通过约定同态加密过程对对应的原始特征向量mi加密得到;
第一构建模块,配置为,将所述原始隐私数据,按照预先构建的多个约束方程解的形式构建成多个第一隐私矩阵,其中包括多个第一隐私向量aτbτcτ;所述多个约束方程基于所述约定同态加密过程和第一约定数据格式构建;
第一承诺模块,配置为,利用预设承诺算法和多个第一掩盖随机数,分别计算对应的第一隐私向量aτbτcτ的第一承诺值AτBτCτ,以及第一掩盖向量d的第二承诺值D;
第一发送模块,配置为,将所述第二承诺值D和多个第一承诺值AτBτCτ发送至所述第二方;
第一接收模块,配置为,接收所述第二方发送的第一挑战数y;
第二构建模块,配置为,将所述第一挑战数y作为第二子变元Y的取值,确定基于所述多个约束方程、多个第一隐私向量aτbτcτ、所述第一掩盖向量d、第一子变元X和所述第二子变元Y,构建的第一多项式Lr和第二多项式tX,并将所述第二多项式tX分离变换成第一变元向量Z、第二隐私矩阵T和第二变元向量F的乘积;所述第二隐私矩阵T包括第二掩盖向量u和多个第二隐私向量t′;
第二承诺模块,配置为,利用所述预设承诺算法和多个第二掩盖随机数,分别计算对应的第二隐私向量t′的第三承诺值T′ηT″ψ,以及所述第二掩盖向量u的第四承诺值U;
第二发送模块,配置为,将所述第四承诺值U和多个第三承诺值T′ηT″ψ发送至所述第二方;
第二接收模块,配置为,接收所述第二方发送的第二挑战数x;
第一确定模块,配置为,将所述第二挑战数x作为所述第一子变元X的取值,基于分离变换后的第二多项式,确定与所述第二隐私矩阵T对应的第一结果
Figure FDA0003495710900000081
以及与多个第二掩盖随机数对应的第二结果
Figure FDA0003495710900000082
以及,基于所述第一多项式Lr,确定与所述第一隐私矩阵对应的第三结果lr,和与多个第一掩盖随机数对应的第四结果ρ;
第三发送模块,配置为,将所述第一结果
Figure FDA0003495710900000083
第二结果
Figure FDA0003495710900000084
第三结果lr和第四结果ρ发送至所述第二方,以使所述第二方在基于接收的结果和承诺值进行验证并通过之后,对所述多个原始特征密文ci进行数据处理。
26.一种保护数据隐私的多方联合处理数据的装置,多方包括第一方和第二方,所述第一方存储有原始隐私数据,其中包括多个业务对象的原始特征向量mi,每个原始特征向量mi具有第一约定数据格式,所述装置部署在所述第二方中,包括:
第三接收模块,配置为,接收所述第一方发送的多个原始特征密文ci,其通过约定同态加密过程对对应的原始特征向量mi加密得到;
第四接收模块,配置为,接收所述第一方发送的第二承诺值D和多个第一承诺值AτBτCτ
第四发送模块,配置为,生成第一挑战数y,并将其发送至所述第一方;
第五接收模块,配置为,接收所述第一方发送的第四承诺值U和多个第三承诺值T′ηT″ψ
第五发送模块,配置为,生成第二挑战数x,并将其发送至所述第一方;
第六接收模块,配置为,接收所述第一方发送的第一结果
Figure FDA0003495710900000091
第二结果
Figure FDA0003495710900000092
第三结果lr和第四结果ρ;
第一判断模块,配置为,利用预设承诺算法和所述第二结果
Figure FDA0003495710900000093
计算所述第一结果
Figure FDA0003495710900000094
的第五承诺值;基于所述第二挑战数x、所述第四承诺值U和多个第三承诺值T′ηT″ψ,以及分离变换后的第二多项式tX的变量表达形式,计算所述第一结果
Figure FDA0003495710900000095
的第六承诺值;执行所述第五承诺值与第六承诺值是否相等的第一判断;
第二判断模块,配置为,基于所述第二挑战数x、所述第一结果
Figure FDA0003495710900000096
以及分离变换后的第二多项式tX的变量表达形式,计算第二多项式tX的第一取值;至少基于所述第三结果lr以及第二多项式tX的变量表达形式,计算第二多项式tX的第二取值;执行所述第一取值与所述第二取值是否相等的第二判断;
第三判断模块,配置为,利用所述预设承诺算法和所述第四结果ρ计算所述第三结果lr的第七承诺值;基于所述第一挑战数y、第二挑战数x、第二承诺值D和多个第一承诺值AτBτCτ,以及第一多项式Lr的变量表达形式,计算所述第三结果lr的第八承诺值;执行所述第七承诺值与第八承诺值是否相等的第三判断;
第二确定模块,配置为,当各个判断的结果均为是时,确定所述约定同态加密过程和所述第一约定数据格式的零知识证明验证通过;
第一处理模块,配置为,基于所述第一约定数据格式,对多个原始特征密文ci进行数据处理,得到数据处理结果。
27.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-24中任一项所述的方法。
28.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-24中任一项所述的方法。
CN202010763176.8A 2020-07-31 2020-07-31 保护数据隐私的多方联合处理数据的方法及装置 Active CN111885079B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010763176.8A CN111885079B (zh) 2020-07-31 2020-07-31 保护数据隐私的多方联合处理数据的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010763176.8A CN111885079B (zh) 2020-07-31 2020-07-31 保护数据隐私的多方联合处理数据的方法及装置

Publications (2)

Publication Number Publication Date
CN111885079A CN111885079A (zh) 2020-11-03
CN111885079B true CN111885079B (zh) 2022-04-12

Family

ID=73204991

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010763176.8A Active CN111885079B (zh) 2020-07-31 2020-07-31 保护数据隐私的多方联合处理数据的方法及装置

Country Status (1)

Country Link
CN (1) CN111885079B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112906904B (zh) * 2021-02-03 2024-03-26 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN113472807B (zh) * 2021-02-22 2023-03-21 支付宝(杭州)信息技术有限公司 用户间的隐私通信方法和装置
CN113179158B (zh) * 2021-04-08 2022-05-17 支付宝(杭州)信息技术有限公司 一种控制带宽的多方联合数据处理方法及装置
CN113158253B (zh) * 2021-05-14 2023-05-12 深圳前海微众银行股份有限公司 一种隐私求并集方法及装置
CN113312641B (zh) * 2021-06-02 2023-07-18 杭州趣链科技有限公司 多点多方的数据交互方法、系统、电子装置和存储介质
CN113761469B (zh) * 2021-08-10 2024-05-17 支付宝(杭州)信息技术有限公司 一种保护数据隐私的最高位进位计算方法
CN114092242A (zh) * 2021-11-03 2022-02-25 支付宝(杭州)信息技术有限公司 基于范围证明实现隐私交易的方法和系统
CN113965331B (zh) * 2021-12-22 2022-04-01 鹏城实验室 密态预测验证方法、装置、设备及存储介质
CN114978538B (zh) * 2022-05-17 2023-11-14 蚂蚁区块链科技(上海)有限公司 保护隐私的数据关系证明方法、装置、介质和计算设备
CN114978510A (zh) * 2022-06-14 2022-08-30 蚂蚁区块链科技(上海)有限公司 针对隐私向量的安全处理方法和装置
CN115394005B (zh) * 2022-08-23 2023-08-18 中电信数智科技有限公司 一种视频会议中匿名投票的方法
CN115473721A (zh) * 2022-09-06 2022-12-13 深圳壹账通智能科技有限公司 数据验证的处理方法、装置、计算机设备及可读存储介质
CN116127489B (zh) * 2023-02-03 2023-06-27 蓝象智联(杭州)科技有限公司 一种用于安全多方计算的数据点乘运算方法及电子设备
CN116821936B (zh) * 2023-06-30 2024-09-17 北京海泰方圆科技股份有限公司 一种数据交集的确定方法及装置
CN117155570B (zh) * 2023-10-30 2024-01-23 北京天润基业科技发展股份有限公司 密文置换方法、存储介质及电子设备
CN118332611B (zh) * 2024-06-14 2024-09-10 上海零数众合信息科技有限公司 业务隐私数据验证方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107919965A (zh) * 2018-01-05 2018-04-17 杭州电子科技大学 一种基于同态加密的生物特征敏感信息外包身份认证方法
CN109787743A (zh) * 2019-01-17 2019-05-21 广西大学 一种基于矩阵运算的可验证的全同态加密方法
CN110830232A (zh) * 2019-11-07 2020-02-21 南京远致数据技术有限公司 基于同态加密算法的隐蔽式竞价方法及竞价系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1653697B1 (en) * 2004-10-29 2016-08-17 BlackBerry Limited Secure Peer-to-Peer Messaging Invitation Architecture
EP2688264B1 (en) * 2012-07-16 2016-08-24 Alcatel Lucent Method and apparatus for privacy protected clustering of user interest profiles
CN105933102A (zh) * 2016-04-06 2016-09-07 重庆大学 利用隐秘矩阵构造的基于身份的全同态加密方法
CN106452723B (zh) * 2016-12-13 2017-05-31 深圳市全同态科技有限公司 一种基于模运算的全同态加密处理方法
CN109145829A (zh) * 2018-08-24 2019-01-04 中共中央办公厅电子科技学院 一种基于深度学习和同态加密的安全高效的人脸识别方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107919965A (zh) * 2018-01-05 2018-04-17 杭州电子科技大学 一种基于同态加密的生物特征敏感信息外包身份认证方法
CN109787743A (zh) * 2019-01-17 2019-05-21 广西大学 一种基于矩阵运算的可验证的全同态加密方法
CN110830232A (zh) * 2019-11-07 2020-02-21 南京远致数据技术有限公司 基于同态加密算法的隐蔽式竞价方法及竞价系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《机器学习算法在同态加密数据集上的应用》;贾福春 等;《清华大学学报(自然科学版)》;20200630;全文 *

Also Published As

Publication number Publication date
CN111885079A (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
CN111885079B (zh) 保护数据隐私的多方联合处理数据的方法及装置
Castagnos et al. Bandwidth-efficient threshold EC-DSA
Castagnos et al. Two-party ECDSA from hash proof systems and efficient instantiations
Paillier et al. Discrete-log-based signatures may not be equivalent to discrete log
US9571274B2 (en) Key agreement protocol
Zhou et al. Provable certificateless generalized signcryption scheme
Ahn et al. Synchronized aggregate signatures: new definitions, constructions and applications
CN106936593B (zh) 基于椭圆曲线高效匿名的无证书多接收者签密方法
Wang et al. Online/offline provable data possession
JP7147073B2 (ja) より効率的なポスト量子署名
Singh A practical key exchange for the internet using lattice cryptography
CN104509024A (zh) 用于使输入同态随机化的方法和系统
Gu et al. Conjugacy systems based on nonabelian factorization problems and their applications in cryptography
Ezerman et al. Provably secure group signature schemes from code-based assumptions
Cheng et al. An Improved Certificateless Signcryption in the Standard Model.
Kaaniche et al. A novel zero-knowledge scheme for proof of data possession in cloud storage applications
CN115102688A (zh) 数据处理方法、多项式计算方法及电子设备
US20160352689A1 (en) Key agreement protocol
Zhao et al. Fully CCA2 secure identity-based broadcast encryption with black-box accountable authority
Liu et al. Secure and efficient two-party collaborative SM9 signature scheme suitable for smart home
Cheng The sm9 cryptographic schemes
Debnath et al. Towards fair mutual private set intersection with linear complexity
WO2016187690A1 (en) Key agreement protocol
Yang et al. INAKA: Improved authenticated key agreement protocol based on newhope
Wang et al. A quantum concurrent signature scheme based on the quantum finite automata signature scheme

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40039795

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant