CN111628991A - 一种通用且抗恶意敌手的安全计算方法 - Google Patents
一种通用且抗恶意敌手的安全计算方法 Download PDFInfo
- Publication number
- CN111628991A CN111628991A CN202010449393.XA CN202010449393A CN111628991A CN 111628991 A CN111628991 A CN 111628991A CN 202010449393 A CN202010449393 A CN 202010449393A CN 111628991 A CN111628991 A CN 111628991A
- Authority
- CN
- China
- Prior art keywords
- commitment
- encryption circuit
- input
- data provider
- calculator
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 86
- 238000012795 verification Methods 0.000 claims abstract description 16
- 238000007689 inspection Methods 0.000 claims abstract description 9
- 239000000126 substance Substances 0.000 claims description 31
- 238000011156 evaluation Methods 0.000 claims description 21
- 238000010276 construction Methods 0.000 claims description 4
- 238000000034 method Methods 0.000 abstract description 8
- 230000007246 mechanism Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000015097 nutrients Nutrition 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/08—Auctions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Mathematical Physics (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种通用且抗恶意敌手的安全计算方法,是应用于由n个数据提供者提供计算输入和两个非共谋的计算方执行安全计算所组成的场景中,并包括以下步骤:1、输入承诺;2、承诺构造检查;3、标签一致性检验及标签计算;4、加密电路计算;5、输出验证。本发明能解决当前恶意敌手模型中多个数据提供者(如安全的云资源拍卖)的安全计算问题,从而能对输入和输出进行正确性和一致性的检查和对计算过程的检验,在恶意敌手存在的前提下实现隐私保护。
Description
技术领域
本发明涉及网络与信息安全技术领域,尤其涉及一种通用且抗恶意敌手的安全计算方法。
背景技术
安全多方计算允许多个参与方共同计算一个在各自私有输入上的函数,同时保护每个参与方的输入不泄漏给其他方。由于安全多方计算和云计算技术的迅猛发展,研究者们提出了许多实用的安全计算方案。以拍卖为例,满足不同属性(如真实性、社会福利最大化等)的云资源拍卖机制有很多。然而,云资源拍卖的安全性却很少被考虑。如果没有安全保障,一些敏感信息可能会泄露,可能会造成不可弥补的损失。所以不同的安全拍卖机制得到了广泛的研究,在满足各种经济属性的同时保护拍卖隐私。为了解决拍卖过程中的隐私问题,将安全多方计算技术和拍卖机制结合是大家研究的目标。此类方案中,研究者们使用加密电路、秘密分享、同态加密等技术来保护隐私。然而,当前的安全拍卖方案,尤其是云资源拍卖,只在半诚实的敌手存在的情况下提供安全性。一旦存在恶意方,这些方案都不足以保证拍卖的安全性。
在现实生活中,存在这样一类通用的安全计算场景。在此场景中,多个数据所有者希望联合且安全地分析他们的数据。例如,私有数据由数据所有者持有,为了保护数据的隐私,数据所有者只提供加密后的输入数据。然后,计算方只负责参与计算,也就是说,计算方接收加密的输入数据并执行安全计算。最后,将加密的计算结果返回给数据所有者,而计算方不知道任何的明文结果。在满足上述计算场景的前提下,为了在恶意敌手存在的情况下保护数据的隐私,存在不小的挑战。而目前的方案没有同时满足输入的正确性和一致性,在计算过程中计算方不作假和验证最后的输出。
由此可见,在上述安全计算场景中,应该考虑到信息的隐私保护。也就是说,不仅要保护计算过程的隐私性,而且要对计算之前的输入阶段和计算之后的输出阶段进行检查。
发明内容
本发明为克服现有技术的不足之处,提供一种通用且抗恶意敌手的安全计算方法,以期能解决当前恶意敌手模型中多个数据提供者(如安全的云资源拍卖)的安全计算问题,从而能对输入和输出进行正确性和一致性的检查和对计算过程的检验,在恶意敌手存在的前提下实现隐私保护。
本发明为达到上述发明目的,采用如下技术方案:
本发明一种通用且抗恶意敌手的安全计算方法的特点是应用于由n个数据提供者{d1,d2,...,du,...,dn}持有各自的私有输入数据{x1,x2,...,xu,...,xn},并由两个非共谋的计算方P1和P2接收加密的私有输入数据后在两个加密电路中执行安全计算,从而得到最终输出{y1,y2,...,yu,...,yn}所组成的场景中;其中,du表示第u个数据提供者;xu表示第u个数据提供者du的私有输入数据;yu表示第u个数据提供者du的最终输出;u=1,2,...,n;所述安全计算方法包括以下步骤:
步骤1、输入承诺:
步骤1.1、定义所述私有输入数据xu的位数为l;所述私有输入数据xu的每一位输入对应的承诺集合对的数量为s;
式(1)和式(2)中,com表示最佳绑定承诺方案;com(·)表示一个承诺;||表示字符串之间的连接符;b表示第i位的乱序值,且在每个承诺集合对中随机、独立地被选择,b∈{0,1};Wu,i,j和W′u,i,j分别表示第u个数据提供者du的第i位输入的第j个承诺集合对中第一个承诺集合和第二个承诺集合;和分别表示第u个数据提供者du的第i位输入的第j个承诺集合对在第一个加密电路中分配给0和1的标签;和分别表示第u个数据提供者du的第i位输入的第j个承诺集合对在第二个加密电路中分配给b和1-b的标签;和分别表示第u个数据提供者du的第i位输入的第j个承诺集合对在第二个加密电路中分配给0和1的标签;和分别表示第u个数据提供者du的第i位输入的第j个承诺集合对在第一个加密电路中分配给b和1-b的标签;j=1,...,s;
步骤1.2、第u个数据提供者du为s个承诺集合对产生一个位置集其中,bu,i,j表示第u个数据提供者du的第i位输入的第j个承诺集合对的标志位,且bu,i,j∈{0,1},当bu,i,j=0表示在第j个承诺集合对中输入承诺集为第一个承诺集合Wu,i,j;bu,i,j=1表示在第j个承诺集合对中输入承诺集为第二个承诺集合W′u,i,j;
步骤1.3、第u个数据提供者du将所有承诺集合对发送给两个计算方P1和P2;
步骤2、承诺构造检查:
步骤2.1、对于第u个数据提供者du的第i位输入,第一计算方P1使用抛硬币协议选择一个长度为s的随机字符串ρ1∈{0,1}s;第二计算方P2使用抛硬币协议选择一个长度为s的随机字符串ρ2∈{0,1}s;
步骤2.2、两个计算方P1和P2交换随机字符串,双方都计算出最终的挑战字符串当挑战字符串ρ中的第j位为1时,对应的承诺集合对{Wu,i,j,W′u,i,j}作为检查集;当挑战字符串ρ中的第j位为0时,对应的承诺集合对{Wu,i,j,W′u,i,j}作为评估集;
步骤2.3、对于第u个数据提供者du的第i位输入,第u个数据提供者du打开s个承诺集合对中检查集里的两个承诺集合;同时,第u个数据提供者du打开s个承诺集合对中评估集的位置集得到bu,i,j,当bu,i,j=0表示打开评估集的第一个承诺集合,bu,i,j=1表示打开评估集的第二个承诺集合;
假设被打开的检查集或评估集为承诺集合Wu,i,j或W′u,i,j,则定义承诺集合Wu,i,j或W′u,i,j中包含的两个承诺分别被打开为两个三元组(K1,1,K1,2,K1,3)和(K2,1,K2,2,K2,3),并将两个三元组发送给两个计算方P1和P2;其中,K1,1、K1,2和K1,3分别表示第一个三元组的第一个值、第二个值和第三个值;K2,1、K2,2和K2,3分别表示第二个三元组的第一个值、第二个值和第三个值;
两个计算方P1和P2分别检查两个三元组(K1,1,K1,2,K1,3)和(K2,1,K2,2,K2,3)的前两个值是否满足K1,1≠K1,2,K2,1≠K2,2;同时,两个三元组(K1,1,K1,2,K1,3)和(K2,1,K2,2,K2,3)的第三个值是否满足K1,1=K2,3且K2,1=K1,3或者满足K1,2=K2,3且K2,2=K1,3;
若同时满足,则表示通过承诺构造检查,并执行步骤3,否则表示未通过承诺构造检查,且两个计算方P1和P2都输出“错误的输入”并终止执行;
步骤3、标签一致性检验及标签计算:
将输入承诺集中的第二个承诺打开,并将打开后的三元组发送给第二计算方P2;其中,和分别表示打开输入承诺集的第一个三元组的第一个值、第二个值和第三个值;和分别表示打开输入承诺集的第二个三元组的第一个值、第二个值和第三个值;
步骤3.2、第一计算方P1计算和其中,表示异或操作;H表示一个抗碰撞的哈希函数;H(·)表示哈希函数值;H1,q表示第一个加密电路的第q个哈希值,C1,q表示第一个加密电路的第q个哈希承诺,q∈{1,2,3};
步骤3.4、第一计算方P1对(H1,1,H1,2)进行随机地排序,得到排序后的哈希值对且对应顺序的哈希承诺为第一计算方P1将和发送给第二计算方P2;其中,和分别表示重新排序后,第一个加密电路的第一个哈希值和第二个哈希值;和分别表示重新排序后,第一个加密电路的第一个哈希承诺和第二个哈希承诺;
步骤3.5、第二计算方P2对(H2,1,H2,2)进行随机地排序,得到排序后的哈希值对且对应顺序的哈希承诺为第二计算方P2将和发送给第一计算方P1;其中,和分别表示重新排序后,第二个加密电路的第一个哈希值和第二个哈希值;和分别表示重新排序后,第二个加密电路的第一个哈希承诺和第二个哈希承诺;
步骤3.8、所有的数据提供者都能通过检查相应的证据进行验证,若验证通过,则执行步骤3.9,否则终止执行;
步骤3.9、标签计算:
第一计算方P1使用(K1,1,K1,2)作为第一个加密电路的编码,使用K1,3作为第二个加密电路的标签;第二计算方P2使用(K2,1,K2,2)作为第二个加密电路的编码,使用K2,3作为第一个加密电路的标签;
步骤4、加密电路计算:
步骤4.1、第一计算方P1使用作为所有数据提供者的输入的编码,产生第一个加密电路GC1及其输出编码为E1;其中,和分别表示在第一个加密电路中,对于数据提供者du的第i位输入,分配给0和分配给1的最终标签;
所述第一计算方P1将第一个加密电路GC1发送给第二计算方P2,第一计算方P1自己持有其中,和分别表示在第一个加密电路中,对于第u个数据提供者du的第i位输出,分配给0和分配给1的标签;l′表示输出位的长度;
步骤4.2、第二计算方P2使用作为所有数据提供者的输入的编码,产生第二个加密电路GC2及其输出编码为E2;其中,和分别表示在第二个加密电路中,对于第u个数据提供者du的第i位输入,分配给0和分配给1的最终标签;
步骤4.3、第一计算方P1使用作为输入标签计算第二个加密电路GC2,从而获得输出标签其中,xu,i和yu,i分别表示第u个数据提供者du的第i位的输入和输出;u=1,2,...,n;xu,i∈{0,1};yu,i∈{0,1};
步骤5、输出验证:
步骤5.1、第一计算方P1通过式(3)计算出第一个加密电路的输出编码的承诺com(E1),并通过式(4)计算出第二个加密电路的输出标签的承诺com(O2):
式(3)和式(4)中,E1,u表示第u个数据提供者du收到的第一次加密电路的输出编码;O2,u表示第u个数据提供者du收到的第二次加密电路的输出标签;
步骤5.2、第二计算方P2通过式(5)计算出第二个加密电路的输出编码的承诺com(E2),并通过式(6)计算出第一个加密电路的输出标签的承诺com(O1):
式(5)和式(6)中,E2,u表示第u个数据提供者du收到的第二次加密电路的输出编码;O1,u表示第u个数据提供者du收到的第一次加密电路的输出标签;
步骤5.3、两个计算方P1和P2向所有的数据提供者公布所有的承诺;
步骤5.4、对于第u个数据提供者du,第一计算方P1打开承诺com(E1,u)和com(O2,u);第二计算方P2打开承诺com(E2,u)和com(O1,u);
第u个数据提供者du检查是否满足如果满足,则表示检查成功,第u个数据提供者du接受明文结果或作为私有输入数据xu的输出结果yu,否则表示检查失败,第u个数据提供者du丢弃明文结果和并通过公布输出标签O1,u和O2,u以及输出编码E1,u和E2,u来向其他数据提供者证明失败结果。
本发明所述的安全计算方法的特点也在于,所述步骤3.8包括:
与现有技术相比,本发明的有益效果在于:
1、本发明能在恶意敌手存在的情况下为多个数据提供者提供安全计算,并通过只运行两个独立的加密电路(交换计算双方的角色)就实现了恶意敌手模型中的安全性,并且在加密电路计算中消除了无关传输技术的使用;从而带来了在恶意敌手模型中安全计算效率的提升;
2、本发明设计了一个输入一致性检查机制,以确保所有的数据提供者为两个独立的加密电路的计算提供相同的输入值;此外,该机制可以通过提供作弊证据来确定哪些数据提供者正在作弊;从而保证了输入的正确性和一致性,避免了恶意的数据提供者造成的影响;
3、本发明还设计了一个输出验证机制,这样所有的数据提供者都可以公开地验证输出的正确性,而计算双方都不知道输出的任何信息;从而保证了输出的正确性,保护了输出的隐私;
4、本发明提出的面向多数据提供者的安全计算方法针对现实场景,不仅可以保护隐私,而且只要符合此类计算场景都是通用的。
附图说明
图1是本发明方法的应用场景图;
图2是本发明的输入承诺集合图;
图3是本发明的承诺构造检查图;
图4是本发明的标签一致性检验图;
图5是本发明的标签评估图。
具体实施方式
本实施例中,如图1所示,一种通用且抗恶意敌手的安全计算方法,是应用于由n个数据提供者{d1,d2,...,du,...,dn}持有各自的私有输入数据{x1,x2,...,xu,...,xn},并由两个非共谋的计算方P1和P2接收加密的私有输入数据后在两个加密电路中执行安全计算f(x1,x2,...,xu,...,xn),从而得到相应的最终输出{y1,y2,...,yu,...,yn}所组成的场景中;其中,du表示第u个数据提供者;xu表示第u个数据提供者du的私有输入数据;f表示一个基于n个数据提供者的私有输入数据合作计算的函数;yu表示第u个数据提供者du的最终输出;u=1,2,...,n;该安全计算方法包括以下步骤:
步骤1、输入承诺:
步骤1.1、定义私有输入数据xu的位数为l;私有输入数据xu的每一位输入对应的承诺集合对的数量为s;
式(1)和式(2)中,com表示最佳绑定承诺方案,此方案参考文献[Foundations ofcryptography:volume 1,basic tools,2007]里的perfectly binding commitmentscheme;com(·)表示一个承诺;和分别是Wu,i,j里的第一个承诺和第二个承诺;和分别是W′u,i,j里的第一个承诺和第二个承诺;||表示字符串之间的连接符;b表示第i位的乱序值,且在每个承诺集合对中随机、独立地被选择,b∈{0,1};Wu,i,j和W′u,i,j分别表示第u个数据提供者du的第i位输入的第j个承诺集合对中第一个承诺集合和第二个承诺集合;和分别表示第u个数据提供者du的第i位输入的第j个承诺集合对在第一个加密电路中分配给0和1的标签;和分别表示第u个数据提供者du的第i位输入的第j个承诺集合对在第二个加密电路中分配给b和1-b的标签;和分别表示第u个数据提供者du的第i位输入的第j个承诺集合对在第二个加密电路中分配给0和1的标签;和分别表示第u个数据提供者du的第i位输入的第j个承诺集合对在第一个加密电路中分配给b和1-b的标签;j=1,...,s;
步骤1.2、第u个数据提供者du为s个承诺集合对产生一个位置集其中,bu,i,j表示第u个数据提供者du的第i位输入的第j个承诺集合对的标志位,且bu,i,j∈{0,1},当bu,i,j=0表示在第j个承诺集合对中输入承诺集为第一个承诺集合Wu,i,j;bu,i,j=1表示在第j个承诺集合对中输入承诺集为第二个承诺集合W′u,i,j;
图2左边表示对应于第u个数据提供者du的第一位输入线的所有承诺集合对;右边一列代表第一位输入线的位置集;假设第u个数据提供者du的第一位输入线的位置集为{com(0),com(1),...,com(0)},则代表对应的输入承诺集合分别为Wu,1,1,W′u,1,2,...,Wu,1,s;
步骤1.3、第u个数据提供者du将所有承诺集合对发送给两个计算方P1和P2;
步骤2、承诺构造检查:
步骤2.1、对于第u个数据提供者du的第i位输入,第一计算方P1使用抛硬币协议选择一个长度为s的随机字符串ρ1∈{0,1}s;第二计算方P2使用抛硬币协议选择一个长度为s的随机字符串ρ2∈{0,1}s;
步骤2.2、两个计算方P1和P2交换随机字符串,双方都计算出最终的挑战字符串当挑战字符串ρ中的第j位为1时,对应的承诺集合对{Wu,i,j,W′u,i,j}作为检查集;当挑战字符串ρ中的第j位为0时,对应的承诺集合对{Wu,i,j,W′u,i,j}作为评估集;
步骤2.3、对于第u个数据提供者du的第i位输入,第u个数据提供者du打开s个承诺集合对中检查集里的两个承诺集合;同时,第u个数据提供者du打开s个承诺集合对中评估集的位置集得到bu,i,j,当bu,i,j=0表示打开评估集的第一个承诺集合,bu,i,j=1表示打开评估集的第二个承诺集合;
假设被打开的检查集或评估集为承诺集合Wu,i,j或W′u,i,j,则定义承诺集合Wu,i,j或W′u,i,j中包含的两个承诺分别被打开为两个三元组(K1,1,K1,2,K1,3)和(K2,1,K2,2,K2,3),并将两个三元组发送给两个计算方P1和P2;其中,K1,1、K1,2和K1,3分别表示第一个三元组的第一个值、第二个值和第三个值;K2,1、K2,2和K2,3分别表示第二个三元组的第一个值、第二个值和第三个值;
两个计算方P1和P2分别检查两个三元组(K1,1,K1,2,K1,3)和(K2,1,K2,2,K2,3)的前两个值是否满足K1,1≠K1,2,K2,1≠K2,2;同时,两个三元组(K1,1,K1,2,K1,3)和(K2,1,K2,2,K2,3)的第三个值是否满足K1,1=K2,3且K2,1=K1,3或者满足K1,2=K2,3且K2,2=K1,3;
若同时满足,则表示通过承诺构造检查,并执行步骤3,否则表示未通过承诺构造检查,且两个计算方P1和P2都输出“错误的输入”并终止执行;
图3表示对第u个数据提供者du的第一位输入线进行承诺构造检查的例子;在此实施例例中,假设挑战字符串ρ=<1010…0>,这决定了在图3中,被矩形圈出的承诺集合属于检查集,没有被矩形圈出的承诺集合属于评估集,检查集里的承诺全部被打开;第u个数据提供者du的第一位输入线对应的位置集为{com(0),com(1),com(1),com(0)...,com(0)},这决定了在图3的评估集中,被圆圈圈出的输入承诺集被打开;最后,两个计算方P1和P2按步骤2.3方法检查是否所有被打开的检查集都被正确地构造;
步骤3、标签一致性检验及标签计算:
将输入承诺集中的第二个承诺打开,并将打开后的三元组发送给第二计算方P2;其中,和分别表示打开输入承诺集的第一个三元组的第一个值、第二个值和第三个值;和分别表示打开输入承诺集的第二个三元组的第一个值、第二个值和第三个值;
步骤3.2、第一计算方P1计算和其中,表示异或操作;H表示一个抗碰撞的哈希函数;H(·)表示一个哈希函数值;表示哈希值之间的异或操作;表示哈希值之间的连接操作;H1,q表示第一个加密电路的第q个哈希值,C1,q表示第一个加密电路的第q个哈希承诺,q∈{1,2,3};
步骤3.4、第一计算方P1对(H1,1,H1,2)进行随机地排序,得到排序后的哈希值对且对应顺序的哈希承诺为第一计算方P1将和发送给第二计算方P2;其中,和分别表示重新排序后,第一个加密电路的第一个哈希值和第二个哈希值;和分别表示重新排序后,第一个加密电路的第一个哈希承诺和第二个哈希承诺;
步骤3.5、第二计算方P2对(H2,1,H2,2)进行随机地排序,得到排序后的哈希值对且对应顺序的哈希承诺为第二计算方P2将和发送给第一计算方P1;其中,和分别表示重新排序后,第二个加密电路的第一个哈希值和第二个哈希值;和分别表示重新排序后,第二个加密电路的第一个哈希承诺和第二个哈希承诺;
步骤3.8、所有的数据提供者都能通过检查相应的证据进行验证,若验证通过,则执行步骤3.9,否则终止执行;
图4演示了在图3的例子前提下,如何检查第u个数据提供者du的第一位输入线的标签一致性;对于第一位输入线,在图4中所有的输入承诺集里,相同位置被打开的标签进行哈希后再相互之间进行异或操作,即第一计算方P1计算和第二计算方P2计算和其中,和分别表示第一个加密电路中,对于第u个数据提供者du的第一位输入线,分配给0和1的最终哈希值,和分别表示第二个加密电路中,对于第u个数据提供者du的第一位输入线,分配给0和1的最终哈希值;第一计算方P1对随机排序得到并将发送给第二计算方P2,第二计算方P2检查是否包含在中;其中,和分别表示重排序后第一个加密电路中,对于第u个数据提供者du的第一位输入线的第一个和第二个最终哈希值;类似地,第二计算方P2对随机排序得到并将发送给第一计算方P1,第一计算方P1检查是否包含在中;其中,和分别表示重排序后第二个加密电路中,对于第u个数据提供者du的第一位输入线的第一个和第二个最终哈希值;如果两个检查都成功,则标签一致性检查成功;如果检查失败,则按步骤3.8进行验证;
步骤3.9、标签计算:
第一计算方P1使用(K1,1,K1,2)作为第一个加密电路的编码,使用K1,3作为第二个加密电路的标签;第二计算方P2使用(K2,1,K2,2)作为第二个加密电路的编码,使用K2,3作为第一个加密电路的标签;
图5显示了在图3的例子的前提下,如何计算第u个数据提供者du的第一位输入线的最终的标签;对于第一位输入线的输入承诺集,相同位置上的所有打开的标签都被执行异或操作以得到最终的标签;具体来说,第一计算方P1计算 和
第二计算方P2计算和其中,和分别表示在第一个加密电路中,对于第u个数据提供者du的第一位输入,分配给0和分配给1的最终标签;和分别表示在第二个加密电路中,对于第u个数据提供者du的第一位输入,分配给0和分配给1的最终标签;最后,第一计算方P1将作为第一个加密电路的编码,使用作为第二个加密电路的标签;类似地,第二计算方P2将作为第一个加密电路的编码,使用作为第二个加密电路的标签;
步骤4、加密电路计算:
步骤4.1、第一计算方P1使用作为所有数据提供者的输入的编码,产生第一个加密电路GC1及其输出编码为E1;其中,和分别表示在第一个加密电路中,对于数据提供者du的第i位输入,分配给0和分配给1的最终标签;
第一计算方P1将第一个加密电路GC1发送给第二计算方P2,第一计算方P1自己持有其中,和分别表示在第一个加密电路中,对于第u个数据提供者du的第i位输出,分配给0和分配给1的标签;l′表示输出位的长度;
步骤4.2、第二计算方P2使用作为所有数据提供者的输入的编码,产生第二个加密电路GC2及其输出编码为E2;其中,和分别表示在第二个加密电路中,对于第u个数据提供者du的第i位输入,分配给0和分配给1的最终标签;
步骤4.3、第一计算方P1使用作为输入标签计算第二个加密电路GC2,从而获得输出标签其中,xu,i和yu,i分别表示第u个数据提供者du的第i位的输入和输出;u=1,2,...,n;xu,i∈{0,1};yu,i∈{0,1};
步骤5、输出验证:
步骤5.1、第一计算方P1通过式(3)计算出第一个加密电路的输出编码的承诺com(E1),并通过式(4)计算出第二个加密电路的输出标签的承诺com(O2):
式(3)和式(4)中,E1,u表示第u个数据提供者du收到的第一次加密电路的输出编码;O2,u表示第u个数据提供者du收到的第二次加密电路的输出标签;
步骤5.2、第二计算方P2通过式(5)计算出第二个加密电路的输出编码的承诺com(E2),并通过式(6)计算出第一个加密电路的输出标签的承诺com(O1):
式(5)和式(6)中,E2,u表示第u个数据提供者du收到的第二次加密电路的输出编码;O1,u表示第u个数据提供者du收到的第一次加密电路的输出标签;
步骤5.3、两个计算方P1和P2向所有的数据提供者公布所有的承诺;
步骤5.4、对于第u个数据提供者du,第一计算方P1打开承诺com(E1,u)和com(O2,u);第二计算方P2打开承诺com(E2,u)和com(O1,u);
Claims (2)
1.一种通用且抗恶意敌手的安全计算方法,其特征是应用于由n个数据提供者{d1,d2,...,du,...,dn}持有各自的私有输入数据{x1,x2,...,xu,...,xn},并由两个非共谋的计算方P1和P2接收加密的私有输入数据后在两个加密电路中执行安全计算,从而得到最终输出{y1,y2,...,yu,...,yn}所组成的场景中;其中,du表示第u个数据提供者;xu表示第u个数据提供者du的私有输入数据;yu表示第u个数据提供者du的最终输出;u=1,2,...,n;所述安全计算方法包括以下步骤:
步骤1、输入承诺:
步骤1.1、定义所述私有输入数据xu的位数为l;所述私有输入数据xu的每一位输入对应的承诺集合对的数量为s;
式(1)和式(2)中,com表示最佳绑定承诺方案;com(·)表示一个承诺;||表示字符串之间的连接符;b表示第i位的乱序值,且在每个承诺集合对中随机、独立地被选择,b∈{0,1};Wu,i,j和W′u,i,j分别表示第u个数据提供者du的第i位输入的第j个承诺集合对中第一个承诺集合和第二个承诺集合;和分别表示第u个数据提供者du的第i位输入的第j个承诺集合对在第一个加密电路中分配给0和1的标签;和分别表示第u个数据提供者du的第i位输入的第j个承诺集合对在第二个加密电路中分配给b和1-b的标签;和分别表示第u个数据提供者du的第i位输入的第j个承诺集合对在第二个加密电路中分配给0和1的标签;和分别表示第u个数据提供者du的第i位输入的第j个承诺集合对在第一个加密电路中分配给b和1-b的标签;j=1,...,s;
步骤1.2、第u个数据提供者du为s个承诺集合对产生一个位置集其中,bu,i,j表示第u个数据提供者du的第i位输入的第j个承诺集合对的标志位,且bu,i,j∈{0,1},当bu,i,j=0表示在第j个承诺集合对中输入承诺集为第一个承诺集合Wu,i,j;bu,i,j=1表示在第j个承诺集合对中输入承诺集为第二个承诺集合W′u,i,j;
步骤1.3、第u个数据提供者du将所有承诺集合对发送给两个计算方P1和P2;
步骤2、承诺构造检查:
步骤2.1、对于第u个数据提供者du的第i位输入,第一计算方P1使用抛硬币协议选择一个长度为s的随机字符串ρ1∈{0,1}s;第二计算方P2使用抛硬币协议选择一个长度为s的随机字符串ρ2∈{0,1}s;
步骤2.2、两个计算方P1和P2交换随机字符串,双方都计算出最终的挑战字符串当挑战字符串ρ中的第j位为1时,对应的承诺集合对{Wu,i,j,W′u,i,j}作为检查集;当挑战字符串ρ中的第j位为0时,对应的承诺集合对{Wu,i,j,W′u,i,j}作为评估集;
步骤2.3、对于第u个数据提供者du的第i位输入,第u个数据提供者du打开s个承诺集合对中检查集里的两个承诺集合;同时,第u个数据提供者du打开s个承诺集合对中评估集的位置集得到bu,i,j,当bu,i,j=0表示打开评估集的第一个承诺集合,bu,i,j=1表示打开评估集的第二个承诺集合;
假设被打开的检查集或评估集为承诺集合Wu,i,j或W′u,i,j,则定义承诺集合Wu,i,j或W′u,i,j中包含的两个承诺分别被打开为两个三元组(K1,1,K1,2,K1,3)和(K2,1,K2,2,K2,3),并将两个三元组发送给两个计算方P1和P2;其中,K1,1、K1,2和K1,3分别表示第一个三元组的第一个值、第二个值和第三个值;K2,1、K2,2和K2,3分别表示第二个三元组的第一个值、第二个值和第三个值;
两个计算方P1和P2分别检查两个三元组(K1,1,K1,2,K1,3)和(K2,1,K2,2,K2,3)的前两个值是否满足K1,1≠K1,2,K2,1≠K2,2;同时,两个三元组(K1,1,K1,2,K1,3)和(K2,1,K2,2,K2,3)的第三个值是否满足K1,1=K2,3且K2,1=K1,3或者满足K1,2=K2,3且K2,2=K1,3;
若同时满足,则表示通过承诺构造检查,并执行步骤3,否则表示未通过承诺构造检查,且两个计算方P1和P2都输出“错误的输入”并终止执行;
步骤3、标签一致性检验及标签计算:
将输入承诺集中的第二个承诺打开,并将打开后的三元组发送给第二计算方P2;其中,和分别表示打开输入承诺集的第一个三元组的第一个值、第二个值和第三个值;和分别表示打开输入承诺集的第二个三元组的第一个值、第二个值和第三个值;
步骤3.2、第一计算方P1计算和其中,表示异或操作;H表示一个抗碰撞的哈希函数;H(·)表示哈希函数值;H1,q表示第一个加密电路的第q个哈希值,C1,q表示第一个加密电路的第q个哈希承诺,q∈{1,2,3};
步骤3.4、第一计算方P1对(H1,1,H1,2)进行随机地排序,得到排序后的哈希值对且对应顺序的哈希承诺为第一计算方P1将和发送给第二计算方P2;其中,和分别表示重新排序后,第一个加密电路的第一个哈希值和第二个哈希值;和分别表示重新排序后,第一个加密电路的第一个哈希承诺和第二个哈希承诺;
步骤3.5、第二计算方P2对(H2,1,H2,2)进行随机地排序,得到排序后的哈希值对且对应顺序的哈希承诺为第二计算方P2将和发送给第一计算方P1;其中,和分别表示重新排序后,第二个加密电路的第一个哈希值和第二个哈希值;和分别表示重新排序后,第二个加密电路的第一个哈希承诺和第二个哈希承诺;
步骤3.8、所有的数据提供者都能通过检查相应的证据进行验证,若验证通过,则执行步骤3.9,否则终止执行;
步骤3.9、标签计算:
第一计算方P1使用(K1,1,K1,2)作为第一个加密电路的编码,使用K1,3作为第二个加密电路的标签;第二计算方P2使用(K2,1,K2,2)作为第二个加密电路的编码,使用K2,3作为第一个加密电路的标签;
步骤4、加密电路计算:
步骤4.1、第一计算方P1使用作为所有数据提供者的输入的编码,产生第一个加密电路GC1及其输出编码为E1;其中,和分别表示在第一个加密电路中,对于数据提供者du的第i位输入,分配给0和分配给1的最终标签;
所述第一计算方P1将第一个加密电路GC1发送给第二计算方P2,第一计算方P1自己持有其中,和分别表示在第一个加密电路中,对于第u个数据提供者du的第i位输出,分配给0和分配给1的标签;l′表示输出位的长度;
步骤4.2、第二计算方P2使用作为所有数据提供者的输入的编码,产生第二个加密电路GC2及其输出编码为E2;其中,和分别表示在第二个加密电路中,对于第u个数据提供者du的第i位输入,分配给0和分配给1的最终标签;
步骤4.3、第一计算方P1使用作为输入标签计算第二个加密电路GC2,从而获得输出标签其中,xu,i和yu,i分别表示第u个数据提供者du的第i位的输入和输出;u=1,2,...,n;xu,i∈{0,1};yu,i∈{0,1};
步骤5、输出验证:
步骤5.1、第一计算方P1通过式(3)计算出第一个加密电路的输出编码的承诺com(E1),并通过式(4)计算出第二个加密电路的输出标签的承诺com(O2):
式(3)和式(4)中,E1,u表示第u个数据提供者du收到的第一次加密电路的输出编码;O2,u表示第u个数据提供者du收到的第二次加密电路的输出标签;
步骤5.2、第二计算方P2通过式(5)计算出第二个加密电路的输出编码的承诺com(E2),并通过式(6)计算出第一个加密电路的输出标签的承诺com(O1):
式(5)和式(6)中,E2,u表示第u个数据提供者du收到的第二次加密电路的输出编码;O1,u表示第u个数据提供者du收到的第一次加密电路的输出标签;
步骤5.3、两个计算方P1和P2向所有的数据提供者公布所有的承诺;
步骤5.4、对于第u个数据提供者du,第一计算方P1打开承诺com(E1,u)和com(O2,u);第二计算方P2打开承诺com(E2,u)和com(O1,u);
2.根据权利要求1所述的安全计算方法,其特征是,所述步骤3.8包括:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010449393.XA CN111628991B (zh) | 2020-05-25 | 2020-05-25 | 一种通用且抗恶意敌手的安全计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010449393.XA CN111628991B (zh) | 2020-05-25 | 2020-05-25 | 一种通用且抗恶意敌手的安全计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111628991A true CN111628991A (zh) | 2020-09-04 |
CN111628991B CN111628991B (zh) | 2021-12-28 |
Family
ID=72260689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010449393.XA Active CN111628991B (zh) | 2020-05-25 | 2020-05-25 | 一种通用且抗恶意敌手的安全计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111628991B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7240198B1 (en) * | 2000-08-08 | 2007-07-03 | Yeda Research & Development Co., Ltd. | Honesty preserving negotiation and computation |
US20090182667A1 (en) * | 2006-05-05 | 2009-07-16 | Parkes David C | Practical secrecy-preserving, verifiably correct and trustworthy auctions |
CN103248478A (zh) * | 2013-05-08 | 2013-08-14 | 天津大学 | 基于多方安全协议的密封式电子拍卖方案与验证方法 |
US10083310B1 (en) * | 2013-03-13 | 2018-09-25 | Hrl Laboratories, Llc | System and method for mobile proactive secure multi-party computation (MPMPC) using commitments |
CN108683669A (zh) * | 2018-05-19 | 2018-10-19 | 深圳市图灵奇点智能科技有限公司 | 数据验证方法和安全多方计算系统 |
CN108809623A (zh) * | 2018-07-10 | 2018-11-13 | 矩阵元技术(深圳)有限公司 | 安全多方计算方法、装置及系统 |
CN109886687A (zh) * | 2019-02-28 | 2019-06-14 | 矩阵元技术(深圳)有限公司 | 一种基于区块链实现安全多方计算的结果验证方法及系统 |
CN110719159A (zh) * | 2019-09-24 | 2020-01-21 | 河南师范大学 | 抗恶意敌手的多方隐私集合交集方法 |
-
2020
- 2020-05-25 CN CN202010449393.XA patent/CN111628991B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7240198B1 (en) * | 2000-08-08 | 2007-07-03 | Yeda Research & Development Co., Ltd. | Honesty preserving negotiation and computation |
US20090182667A1 (en) * | 2006-05-05 | 2009-07-16 | Parkes David C | Practical secrecy-preserving, verifiably correct and trustworthy auctions |
US10083310B1 (en) * | 2013-03-13 | 2018-09-25 | Hrl Laboratories, Llc | System and method for mobile proactive secure multi-party computation (MPMPC) using commitments |
CN103248478A (zh) * | 2013-05-08 | 2013-08-14 | 天津大学 | 基于多方安全协议的密封式电子拍卖方案与验证方法 |
CN108683669A (zh) * | 2018-05-19 | 2018-10-19 | 深圳市图灵奇点智能科技有限公司 | 数据验证方法和安全多方计算系统 |
CN108809623A (zh) * | 2018-07-10 | 2018-11-13 | 矩阵元技术(深圳)有限公司 | 安全多方计算方法、装置及系统 |
CN109886687A (zh) * | 2019-02-28 | 2019-06-14 | 矩阵元技术(深圳)有限公司 | 一种基于区块链实现安全多方计算的结果验证方法及系统 |
CN110719159A (zh) * | 2019-09-24 | 2020-01-21 | 河南师范大学 | 抗恶意敌手的多方隐私集合交集方法 |
Non-Patent Citations (4)
Title |
---|
CHEN, ZHILI.: ""Efficient Three-party Computation: An Information-theoretic Approach from Cut-and-Choose."", 《ARXIV PREPRINT ARXIV:1908.03718》 * |
KOLESNIKOV, VLADIMIR ET AL.: ""Improved garbled circuit building blocks and applications to auctions and computing minima."", 《INTERNATIONAL CONFERENCE ON CRYPTOLOGY AND NETWORK SECURITY》 * |
KOLESNIKOV, VLADIMIR ET AL.: ""Improved garbled circuit: Free XOR gates and applications."", 《INTERNATIONAL COLLOQUIUM ON AUTOMATA, LANGUAGES, AND PROGRAMMING》 * |
叶建伟等: "一种基于带承诺加密电路的移动代码保护协议", 《计算机研究与发展》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111628991B (zh) | 2021-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3451578B1 (en) | Turn-control rewritable blockchain | |
US10305875B1 (en) | Hybrid blockchain | |
Huang et al. | Efficient secure two-party computation using symmetric cut-and-choose | |
Asharov et al. | Calling out cheaters: Covert security with public verifiability | |
CN113591146B (zh) | 基于合作的高效安全两方计算系统及计算方法 | |
CN117171779B (zh) | 基于交集保护的数据处理装置 | |
CN112489283B (zh) | 一种基于区块链和安全多方计算的电子投票选举统计方法 | |
CN111628991B (zh) | 一种通用且抗恶意敌手的安全计算方法 | |
CN114169888B (zh) | 一种通用型支持多重签名的加密货币保管方法 | |
CN116318901A (zh) | 一种融合区块链的隐私和可验证物联网数据聚合方法 | |
CN116127429A (zh) | 一种基于符号映射编码和区块链的数据确权方法 | |
CN113541963A (zh) | 一种基于tee可扩展的安全多方计算方法及系统 | |
Babenko et al. | Security analysis of the electronic voting protocol based on blind intermediaries using the spin verifier | |
Lai et al. | Recursive hiding of biometrics-based secret sharing scheme using adversary structure | |
CN114520728B (zh) | 一种分布式匿名阅卷评分方法与系统 | |
CN113222591B (zh) | 一种基于区块链的公平两方协商方法及系统 | |
Ma et al. | VPFL: Enabling verifiability and privacy in federated learning with zero-knowledge proofs | |
You et al. | A novel key sharing fuzzy vault scheme | |
Habib et al. | CredSec: A Blockchain-based Secure Credential Management System for University Adoption | |
Sun et al. | Improved Voting System Based on Blockchain | |
CN118013542A (zh) | 基于区块链的种子指纹数据加密、解密方法及管理系统 | |
CN118300904A (zh) | 一种基于同态的分组可验证联邦学习方法 | |
CN115150050A (zh) | 用于联邦学习的安全审计装置、方法、系统以及介质 | |
CN115396148A (zh) | 隐私保护的名单查询方法、系统、介质、设备及终端 | |
CN115733651A (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 |