CN112861166B - 一种高效率安全多方计算方法 - Google Patents
一种高效率安全多方计算方法 Download PDFInfo
- Publication number
- CN112861166B CN112861166B CN202110443101.6A CN202110443101A CN112861166B CN 112861166 B CN112861166 B CN 112861166B CN 202110443101 A CN202110443101 A CN 202110443101A CN 112861166 B CN112861166 B CN 112861166B
- Authority
- CN
- China
- Prior art keywords
- participant
- label
- participants
- gate
- encrypted
- 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
Links
Images
Classifications
-
- 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/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及信息安全技术领域,具体涉及一种高效率安全多方计算方法,包括以下步骤:步骤A)第一参与方将待计算函数转换为布尔电路,第一参与方将布尔电路的门分派给各个参与方;步骤B)第一参与方生成映射表,记为真值表;步骤C)参与方向第一参与方通过OT传输获得输入标签,通过查真值表获得门的输出标签;步骤D)全部门均得出输出标签后,布尔电路将输出结果标签,第一参与方将结果标签转换为结果真值,结果真值即为多方计算的结果。本发明的实质性效果是:将布尔电路的门转换为真值表,并分派给不同参与方进行计算,分散了计算任务,能够缩短安全多方计算所需要的时间,提高安全多方计算的效率。
Description
技术领域
本发明涉及信息安全技术领域,具体涉及一种高效率安全多方计算方法。
背景技术
安全多方计算是针对无可信第三方的情况下,如何安全地计算一个约定函数的问题。安全多方计算中,各个参与方无需向对方或第三方透露其原数据,即可完成需要多个参与方原数据才能完成的约定函数的计算。使得安全多方计算具有输入隐私性、计算正确性以及去中心化特征,能使数据既保持隐私又能被使用,从而释放隐私数据分享,隐私数据分析,隐私数据挖掘的巨大价值。安全多方计算是电子选举、门限签名以及电子拍卖等诸多应用得以实施的密码学基础。数据公开共享是区块链采用的分布式账本技术的特征之一,使得数据隐私在区块链上面临考验。结合安全多方计算,使得区块链领域能够即保证数据的隐私性,又能够保证计算的正确可信。因而在隐私智能合约、密钥管理、随机数生成等技术中发挥着重要作用。但目前的安全多方计算方法存在效率较低的技术问题。
如中国专利CN109446828A,公开日2019年3月8日,一种安全多方计算方法,包括:确定为完成目标计算任务所需要提交的输入值;随机产生秘密值,用秘密值对输入值加密,并在系统中广播加密输入值;生成其他参与方对应的加密集合,并向其他参与方发送;接收其他参与方广播的加密输入值和加密集合;基于加密输入值及加密集合,计算得到反馈值;以其他参与方的公钥对反馈值加密,并向该参与方发送加密后反馈值;接收其他参与方发送的加密后反馈值,并基于加密后反馈值和系统中每个参与方的ID,完成目标计算任务。其多次进行广播加密集合且使用了同态加密技术,导致运算量较大,降低了计算效率。
发明内容
本发明要解决的技术问题是:目前的安全多方计算存在效率较低的技术问题,提出了一种高效率安全多方计算方法。
为解决上述技术问题,本发明所采取的技术方案为:一种高效率安全多方计算方
法,用于具有发起方和多个参与方的多方计算,其特征在于,包括以下步骤:所述发起方将
待计算函数转换为布尔电路,而后将布尔电路的门作为门计算任务,分派给多个参与方,参
与方将收到其门计算任务;由所述发起方生成输入输出标签映射表,所述输入输出标签映
射表记为真值表,布尔电路由此转化为多张真值表,多张所述真值表根据门计算任务分派
情况,发送给多个参与方;每个所述参与方分别与所述发起方通过OT传输获得其数据输入
相应的标签,若被分派的门计算任务的输入数据包含其他参与方的标签,则向对应参与方
索要标签,参与方通过查真值表获得门计算任务的输出标签;布尔电路全部门均得出输出
标签后,布尔电路将输出结果标签,所述发起方将所述结果标签转换为真值,即为多方计算
的结果。理论上,任何函数都可以转换为布尔电路,即布尔电路能够实现复杂函数的计算。
将布尔电路的门转换为真值表,并分派给不同参与方进行计算,分散了计算任务,能够缩
短安全多方计算所需要的时间,提高安全多方计算的效率。
作为优选,将门计算任务分派给多个参与方的方法包括以下步骤:首先,将仅使用参与方输入标签的门计算任务分派给对应的参与方;而后,对于使用发起方和第二参与方输入标签的门计算任务,比较发起方和第二参与方的已分派的门计算任务数量,将门计算任务分派给已分派门计算任务数量较少的参与方,若发起方和第二参与方已被分派的门计算任务数量相等,则分派给发起方;最后,对于使用已分派给发起方和第二参与方的门计算任务的输出标签的门计算任务,比较发起方和第二参与方的已分派的门计算任务数量,将门计算任务分派给已分派门计算任务数量较少的参与方,若发起方和第二参与方已被分派的门计算任务数量相等,则分派给发起方。
作为优选,将门计算任务分派给多个参与方的方法包括以下步骤:首先,将仅使用参与方输入标签的门计算任务分派给对应的参与方;而后,对于使用发起方和第二参与方输入标签的门计算任务,将门计算任务分派给已分派门计算任务数量较少的参与方,若发起方和第二参与方已被分派的门计算任务数量相等,则发起方和第二参与方已被分派的门计算任务的并行指数,所述并行指数计算方法为:统计已被分派的门计算任务中的次级门计算任务,所述次级门计算任务指输入中包括其他门计算任务的输出的门计算任务,将已被分派的门计算任务的数量与次级门计算任务的数量的商作为并行指数。
作为优选,将门计算任务分派给多个参与方的方法包括以下步骤:排序后遍历参与方,将使用当前被遍历参与方以及排序在所述被遍历参与方前的参与方标签的门计算任务分配给所述被遍历参与方,即完成门计算任务分派。本优选方案能够均衡每个参与方被分派到的计算量,有助于提高安全多方计算的效率。
作为优选,由所述发起方生成输入输出标签映射表的方法包括:将布尔电路的门计算任务排序并编号,依照排序对每个门计算任务执行以下步骤:列举门计算任务的输入及输出的可取值,将每个可取值使用预设长度的随机码代替;穷举门计算任务的输入组合,获得每个所述输入组合对应的输出,将所述输出用相应的随机码表示,将表示输入组合的随机码组合以及表示输出的随机码分别作为输入输出标签映射表的第一列和第二列,所述输入输出标签映射表即真值表,真值表的标识同相应的门计算任务的编号。本优选技术方案能够通过门的编号标识快速索引每张真值表,方便参与方之间进行标签传输。
作为优选,参与方通过OT传输获得其数据输入相应的标签的方法包括以下步骤:参与方将真值表标识发送给发起方并声明请求获取标签;所述发起方列举所述参与方发送的真值表标识对应的真值表中输入的全部可取值及其标签,所述发起方为每个可取值生成一个标示随机数,将标示随机数和可取值关联后发送给所述参与方;所述参与方生成隐码,所述隐码为随机数,所述参与方获得与其数据输入相等的可取值对应的标示随机数,使用标示随机数对隐码进行对称加密,获得加密隐码,所述参与方将加密隐码发送给所述发起方;所述发起方收到加密隐码后,使用全部可取值对应的标示随机数进行解密,获得与可取值数量相等的解密后的复原隐码,复原隐码中将存在且仅存在一个与原始的隐码相同,分别使用复原隐码对称加密标签,获得加密标签,将全部加密标签发送给所述参与方;所述参与方尝试使用隐码解密每个加密标签,将能且仅能成功解密一个加密标签,获得的标签即为其数据输入相应的标签。本方案提供的OT传输方法能够在两个参与方之间完成,不需要广播数据,减少了通信量需求。参与方不能存储加密隐码,当参与方将加密隐码发送给发起方后,参与方应销毁加密隐码。
作为优选,使用标示随机数对隐码进行对称加密的加密方法为:按位读取标示随机数,若被读取的标示随机数的位值为1,则按位取出隐码的位值作为加密隐码的位值,若隐码的位值被取完,则将填补数作为加密隐码的位值,所述填补数由隐码的最后一位取反获得,若被读取的标示随机数的位值为0,则随机生成0或1作为加密隐码的位值,直到遍历标示随机数,其中,所述发起方运行有检查机制,确保标示随机数中具有多于隐码长度的位值1;相应的,在所述发起方收到加密隐码后,使用全部标示随机数进行解密的方法为:对每个标示随机数按位读取,若被读取的标示随机数的位值为1,则将加密隐码中相应位置的位值保留,若被读取的标示随机数的位值为0,则将加密隐码中相应位置的位删除,按位读取完标示随机数后,加密隐码保留下来的位值将是复原隐码以及填补数,找到与所述填补数不同的最后一位即为复原隐码的最后一位,即获得复原隐码。隐码的位数不需要提前约定,即减少了通信次数,也提高了加密的安全性,本方案提供的加密方案具有计算不复杂,计算快速的优点,能够进一步提高安全多方计算的效率。
作为优选,使用复原隐码加密标签的方法为:按位读取复原隐码,若被读取的复原隐码的位值为1,则按位取出标签的位值作为加密标签的位值,若标签的位值被取完,则将填补数作为加密标签的位值,所述填补数由标签的最后一位取反获得,若被读取的复原隐码的位值为0,则随机生成0或1作为加密标签的位值,直到遍历复原隐码;相应的,所述参与方使用隐码解密加密标签的方法为:按位读取隐码,若被读取的隐码的位值为1,则将加密标签中相应位置的位值保留,若被读取的隐码的位值为0,则将加密标签中相应位置的位删除,按位读取完隐码后,加密标签保留下来的位值将是标签及填补数,找到与填补数不同的最后一位即为标签的最后一位,只有长度与约定值相同的标签为正确标签,若未得到长度正确标签或长度正确标签数量多于1个,则通知发起方,并更换标示随机数和隐码后重新尝试获取标签。标签的位数为全部参与方均知晓的约定值。
作为优选,向对应参与方索要标签的方法包括:所述参与方向发起方发送对应真值表的标识,所述发起方根据真值表的分派结果向对应参与方索要相应的输出,当所述的对应参与方返回所述输出时,所述发起方将所述输出复原为真值,将复原得到的所述真值在所述参与方发送的真值表标识对应的真值表的标签发送给所述参与方。
本发明的实质性效果是:1)将布尔电路的门转换为真值表,并分派给不同参与方进行计算,分散了计算任务,能够缩短安全多方计算所需要的时间,提高安全多方计算的效率;2)通过OT传输在参与方和发起方之间传递标签,能够有效保护参与方输入数据的隐私,保证各个参与方的数据安全;3)通过使用标示随机数和隐码进行对称加密传递标签,避免使用复杂的加密算法,能够提高标签传递的效率。
附图说明
图1为实施例一安全多方计算方法流程示意图;
图2为实施例一分派给各个参与方流程示意图;
图3为实施例一建立标签映射表方法流程示意图;
图4为实施例一获得输入标签的方法流程示意图;
图5为实施例一对随机数加密的方法流程示意图;
图6为实施例一对标签加密的方法流程示意图。
具体实施方式
下面通过具体实施例,并结合附图,对本发明的具体实施方式作进一步具体说明。
实施例一:
一种高效率安全多方计算方法,用于具有N个参与方的多方计算,发起安全多方计算的参与方为发起方,发起方将其余参与方排序,请参阅附图1,本实施例包括以下步骤:
理论上,任何函数都可以转换为布尔电路,即布尔电路能够实现复杂函数的计算。
比如将电子选举的规则函数,即待计算函数,转换为布尔电路,则各参与方将是否投票给
候选人的布尔值输入布尔电路,最终布尔电路将输出当前候选人是否成功被选上的结
果布尔值。也可以将求和函数转换为布尔电路,各参与方将自身的销售额转换为标签输入
布尔电路后,布尔电路最终会得出代表行业销售总额的标签组合,即布尔值组合,也即
一个二进制数。用于不记名电子拍卖时,各参与方将自己的出价输入,布尔电路将比较各
参与方出价的大小,并输出出价最高的参与方,即为拍卖中标方。
步骤B)发起方生成布尔电路每个门的输入输出标签映射表,记为真值表,表示真值表的输入,表示门的输入端数量,表示真值表的
输出,布尔电路被表示为M张真值表,M为布尔电路中门的数量。使用输入输出标签映射
表,即真值表,各参与方将不需要暴露自己的输入数据,当用于求行业销售总额时,各参与
方不需要暴露自己的销售额。同时,也使得各参与方无法操控每个门的输出,因为参与方无
法知晓真值表中每个标签的真实含义,如强行作恶,可能会得出对自己不利的结果标签,因
而不会作恶。
步骤C)每个参与方均根据被分派的门对应的真值表,向发起方通过OT传输获得
输入相应的标签,若被分派的门的输入包含其他参与方的标签,则向对应参与方索要标
签,参与方获得被分派的门的输入标签后,通过查真值表获得门的输出标签。向对应参与
方索要输出标签的方法为:参与方向发起方索要,发起方根据真值表的分派结果向
对应参与方索要相应的输出,表示输出与连接的真值表下标,当参与方返回输出时,发起方将复原为真值,将复原得到的真值对应的标签发送给参与方 。
表1 本实施例中真值表T21
若参与方具有真值表T21所对应的与门的两个输入,请参阅表1,该门为一个“与”
门,比如若参与方具有的原始数据为,但参与方并不知晓真值表T21对应
的门为“与”门,也不知晓对应真值表T21中的哪个输入标签,因而无法直接获得门的
输出。请参阅表2,表2为方便理解本技术方案而列出的表格,在实际应用中并不会有这样表
被传递。
表2 本实施例中真值表T21的标签值含义
标签 | 标签含义 | 标签值 |
E1 | 门的第一个输入的第一个可取值,即0 | 01011101 |
E2 | 门的第一个输入的第二个可取值,即1 | 01000101 |
F1 | 门的第二个输入的第一个可取值,即0 | 01011001 |
F2 | 门的第二个输入的第二个可取值,即1 | 11110010 |
G1 | 门的第一个可能输出值,即0 | 11010101 |
G2 | 门的第一个可能输出值,即1 | 01010100 |
若参与方只能通过OT传输从发起方获得输入的值取0时的标签,即,而后再次通过OT传输从发起方获得输入的值取1时的标签,即,查表1所示的真值表,可得输入对应为第三行,第三行的输出为11010101,
参与方不知晓11010101的含义,因而不能知晓结果,使得参与方无法操纵门的结果,避免
其作恶。因为真值表T21的第5行和第6行,为两个干扰行,无论参与方的输入是什么,发起
方永远都不会返回第5行和第6行所表示的组合,使得参与方不知晓以外的输入,对
应的标签是什么,保护了真值表的隐秘性,进一步避免参与方操纵真值表作恶。
步骤D)当布尔电路的全部门均得出输出标签后,布尔电路将输出结果标签,发
起方将结果标签转换为结果真值,结果真值即为多方计算的结果。将布尔电路的门转换
为真值表,并分派给不同参与方进行计算,分散了计算任务,能够缩短安全多方计算所需要
的时间,提高安全多方计算的效率。
将布尔电路的每个门分派给各个参与方的方法请参与附图2,具体包括:步骤
A1)首先将仅使用参与方输入标签即可计算的门分派给参与方。步骤A2)使用参与方
和参与方的输入标签可计算的门记为,比较参与方和参与方已被分派的门的数
量,将门分派给已分派门数量较少的参与方,若参与方和参与方已被分派门的数量
相等,则分派给参与方,其中。步骤A3)使用已分派给参与方和参与方的门的输
出标签可计算的门记为,比较参与方和参与方已被分派的门的数量,将门分派给
已分派门数量较少的参与方,若参与方和参与方已被分派门的数量相等,则分派给参
与方,其中 。
发起方生成布尔电路每个门的输入输出标签映射表的方法请参阅附图3,具体
包括:步骤B1)将布尔电路的门排序并编号,依照排序对每个门执行步骤B2)至步骤B3);
步骤B2)列举门的输入及输出的可取值,将每个可取值使用预设长度的随机码代替;步骤
B3)穷举门的输入组合及相对应的输出,用相应的随机码表示,分别作为真值表的第一列和
第二列,将真值表关联门的编号。能够通过门的编号标识快速索引每张真值表,方便参与方
之间进行标签传输。
参与方根据真值表通过OT传输获得输入相应的标签的方法请参阅附图4,具体
包括:步骤C1)参与方将真值表标识发送给发起方并请求获取标签;步骤C2)发起方列举真
值表中输入的全部可取值及其标签,为可取值的下标,发起方为每个可取值生
成一个标示随机数,将标示随机数和关联后发送给参与方;步骤C3)参与方收到
标示随机数及关联的后,生成隐码,获得与相等的对应的标示随机数,
使用标示随机数对隐码进行加密,获得加密隐码,参与方将加密隐码发送
给发起方;步骤C4)发起方收到加密隐码后,使用全部可取值对应的标示随机数进
行解密,获得与可取值数量相等的解密后的复原隐码,复原隐码中有且仅有一个
与隐码相同,分别使用复原隐码加密对应的标签,获得加密标签,将全部加
密标签发送给参与方 ;步骤C5)参与方尝试使用隐码解密每个加密标签,将能且
仅能成功解密一个标签,即与相等的对应的标签,即标签 。本方案提供的OT
传输方法能够在两个参与方之间完成,不需要广播数据,减少了通信量需求。参与方不能
存储加密隐码,当参与方将加密隐码发送给发起方后,参与方应销毁加密隐码。
使用标示随机数对隐码进行加密的方法请参阅附图5,具体为:步骤
C31)按位读取标示随机数,若标示随机数位值为1,则步骤C32)按位取出隐
码的位值作为加密隐码的位值,若隐码的位值被取完,则将填补数作为加密隐码的
位值,填补数由隐码的最后一位取反获得,若标示随机数位值为0,则步骤C33)随
机生成0或1作为加密隐码的位值,直到遍历标示随机数,其中,发起方运行有检
查机制,确保标示随机数中具有多于隐码长度的位值1;步骤C4)中,发起方收到
加密隐码后,使用全部可取值对应的标示随机数进行解密的方法为:步骤C41)对每
个标示随机数按位读取,若标示随机数数的位值为1,则步骤C42)将加密隐码中相
应位置的位值保留,若标示随机数的位值为0,则步骤C43)将加密隐码中相应位置的
位删除,步骤C44)按位读取完标示随机数后,加密隐码保留下来的位值将是隐码及
若干个填补数,找到与填补数不同的最后一位即为隐码的最后一位。表3记载了本实施例
中,获取真值表T21的第一个输入E取值为0时的标签过程中,发起方和参与方i执行的操作
和生成的变量的值。其中,为避免错误解密值bn’中的取值为1的位值数量不足,应当使标签具有较多的位数,本实施例中标签具有25位,若使用具有255位长度的标签则效
果更佳。
表3 获得输入标签过程中参与方执行及传递的内容
使用复原隐码加密对应的标签的方法请参阅附图6,具体为:按位读取
复原隐码,若复原隐码位值为1,则按位取出标签的位值作为加密标签的位
值,若标签的位值被取完,则将填补数作为加密标签的位值,填补数由标签的最
后一位取反获得,若复原隐码位值为0,则随机生成0或1作为加密标签的位值,直到
遍历复原隐码;参与方尝试使用隐码解密加密标签的方法为:按位读取隐码,
若隐码的位值为1,则将加密标签中相应位置的位值保留,若隐码的位值为0,则将加
密标签中相应位置的位删除,按位读取完隐码后,加密标签保留下来的位值将是标
签及若干个填补数,找到与填补数不同的最后一位即为标签的最后一位,只有长度
与约定值相同的标签为正确标签,若得到的正确标签数量为0或者大于1,则通知第一约
定方,并从步骤C1)重新尝试获取标签。其中,参与方运行有检查机制,使加密隐码经任
一标示随机数解密后,所具有的位值1数量大于标签的位数,标签的位数为全部
参与方均知晓的约定值。
实施例二:
一种高效率安全多方计算方法,本实施例相对于实施例一,进行了进一步的改进,
实施例一中,需要对参与方进行可信合约限制,使其在生成并传递加密隐码后,将加密
隐码删除。本实施例中,则采用了另外的实施方式,提高了确保参与方不保存加密隐码的可信度。本实施例中,参与方生成加密隐码后,将加密隐码以及对应的标示随机
数发送给参与方,参与方根据标示随机数,将标示随机数中位值取0对应的加
密隐码位值进行随机改动,而对标示随机数中位值取1对应的加密隐码位值不做操
作,将改动后的加密隐码发送给发起方。由于参与方并不知道更多信息,因而无法得知
任何有用信息,且仅对标示随机数中位值取0对应的加密隐码位值进行随机改动,不
会影响后续步骤的解密。改动不需要针对每个取值为0的位值,随机改动若干个即可,如表4
中所示意的改动。为实现事后验证,参与方生成加密隐码后,将加密隐码以及对应的
标示随机数加密后上链存储,发起方收到改动后的加密隐码后,将所收到的加密隐码加密后上链存储,上链存储前的加密采用各自的私钥进行加密。
表4 对隐码b加密过程参与方执行的操作和具体变量的值
同时本实施例对步骤A)中,将布尔电路的每个门分派给各个参与方的方法提供
了不同的技术方案,具体为:N个参与方的排序记为;从开始,将使用参与方的输入
标签以及参与方的输入和输出标签能够计算的门分配给参与方,其中,当
时,不考虑参与方,循环自加1,直到布尔电路的全部门被分派。
以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。
Claims (6)
1.一种高效率安全多方计算方法,用于具有发起方和多个参与方的多方计算,其特征在于,包括以下步骤:
所述发起方将待计算函数转换为布尔电路,而后将布尔电路的门作为门计算任务,分派给多个参与方,参与方将收到其门计算任务;
由所述发起方生成输入输出标签映射表,所述输入输出标签映射表记为真值表,布尔电路由此转化为多张真值表,多张所述真值表根据门计算任务分派情况,发送给多个参与方;
每个所述参与方分别与所述发起方通过OT传输获得其数据输入相应的标签,若被分派的门计算任务的输入数据包含其他参与方的标签,则向对应参与方索要标签,参与方通过查真值表获得门计算任务的输出标签;
布尔电路全部门均得出输出标签后,布尔电路将输出结果标签,所述发起方将所述结果标签转换为真值,即为多方计算的结果;
参与方通过OT传输获得其数据输入相应的标签的方法包括以下步骤:
参与方将真值表标识发送给发起方并声明请求获取标签;
所述发起方列举所述参与方发送的真值表标识对应的真值表中输入的全部可取值及其标签,所述发起方为每个可取值生成一个标示随机数,将标示随机数和可取值关联后发送给所述参与方;
所述参与方生成隐码,所述隐码为随机数,所述参与方获得与其数据输入相等的可取值对应的标示随机数,使用标示随机数对隐码进行对称加密,获得加密隐码,所述参与方将加密隐码发送给所述发起方;
所述发起方收到加密隐码后,使用全部可取值对应的标示随机数进行解密,获得与可取值数量相等的解密后的复原隐码,复原隐码中将存在且仅存在一个与原始的隐码相同,分别使用复原隐码对称加密标签,获得加密标签,将全部加密标签发送给所述参与方;
所述参与方尝试使用隐码解密每个加密标签,将能且仅能成功解密一个加密标签,获得的标签即为其数据输入相应的标签。
2.根据权利要求1所述的一种高效率安全多方计算方法,其特征在于,
将门计算任务分派给多个参与方的方法包括以下步骤:
首先,将仅使用参与方输入标签的门计算任务分派给对应的参与方;
而后,对于使用第一参与方和第二参与方输入标签的门计算任务,比较第一参与方和第二参与方的已分派的门计算任务数量,将门计算任务分派给已分派门计算任务数量较少的参与方,若第一参与方和第二参与方已被分派的门计算任务数量相等,则分派给第一参与方;
最后,对于使用已分派给第一参与方和第二参与方的门计算任务的输出标签的门计算任务,比较第一参与方和第二参与方的已分派的门计算任务数量,将门计算任务分派给已分派门计算任务数量较少的参与方,若第一参与方和第二参与方已被分派的门计算任务数量相等,则分派给第一参与方。
3.根据权利要求1所述的一种高效率安全多方计算方法,其特征在于,
将门计算任务分派给多个参与方的方法包括以下步骤:
排序后遍历参与方,将使用当前被遍历参与方以及排序在所述被遍历参与方前的参与方标签的门计算任务分配给所述被遍历参与方,即完成门计算任务分派;
由所述发起方生成输入输出标签映射表的方法包括:
将布尔电路的门计算任务排序并编号,依照排序对每个门计算任务执行以下步骤:
列举门计算任务的输入及输出的可取值,将每个可取值使用预设长度的随机码代替;
穷举门计算任务的输入组合,获得每个所述输入组合对应的输出,将所述输出用相应的随机码表示,将表示输入组合的随机码组合以及表示输出的随机码分别作为输入输出标签映射表的第一列和第二列,所述输入输出标签映射表即真值表,真值表的标识同相应的门计算任务的编号。
4.根据权利要求1所述的一种高效率安全多方计算方法,其特征在于,
使用标示随机数对隐码进行对称加密的加密方法为:
按位读取标示随机数,若被读取的标示随机数的位值为1,则按位取出隐码的位值作为加密隐码的位值,若隐码的位值被取完,则将填补数作为加密隐码的位值,所述填补数由隐码的最后一位取反获得,若被读取的标示随机数的位值为0,则随机生成0或1作为加密隐码的位值,直到遍历标示随机数,其中,所述发起方运行有检查机制,确保标示随机数中具有多于隐码长度的位值1;
相应的,在所述发起方收到加密隐码后,使用全部标示随机数进行解密的方法为:对每个标示随机数按位读取,若被读取的标示随机数的位值为1,则将加密隐码中相应位置的位值保留,若被读取的标示随机数的位值为0,则将加密隐码中相应位置的位删除,按位读取完标示随机数后,加密隐码保留下来的位值将是复原隐码以及填补数,找到与所述填补数不同的最后一位即为复原隐码的最后一位,即获得复原隐码。
5.根据权利要求1所述的一种高效率安全多方计算方法,其特征在于,
使用复原隐码加密标签的方法为:
按位读取复原隐码,若被读取的复原隐码的位值为1,则按位取出标签的位值作为加密标签的位值,若标签的位值被取完,则将填补数作为加密标签的位值,所述填补数由标签的最后一位取反获得,若被读取的复原隐码的位值为0,则随机生成0或1作为加密标签的位值,直到遍历复原隐码;
相应的,所述参与方使用隐码解密加密标签的方法为:
按位读取隐码,若被读取的隐码的位值为1,则将加密标签中相应位置的位值保留,若被读取的隐码的位值为0,则将加密标签中相应位置的位删除,按位读取完隐码后,加密标签保留下来的位值将是标签及填补数,找到与填补数不同的最后一位即为标签的最后一位,只有长度与约定值相同的标签为正确标签,若未得到长度正确标签或长度正确标签数量多于1个,则通知发起方,并更换标示随机数和隐码后重新尝试获取标签。
6.根据权利要求1至3任一项所述的一种高效率安全多方计算方法,其特征在于,
若被分派的门计算任务的输入数据包含其他参与方的标签,则向对应参与方索要标签,参与方通过查真值表获得门计算任务的输出标签,具体包括:
所述参与方向发起方发送对应真值表的标识,所述发起方根据真值表的分派结果向对应参与方索要相应的输出,当所述的对应参与方返回所述输出时,所述发起方将所述输出复原为真值,将复原得到的所述真值在所述参与方发送的真值表标识对应的真值表的标签发送给所述参与方。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110443101.6A CN112861166B (zh) | 2021-04-23 | 2021-04-23 | 一种高效率安全多方计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110443101.6A CN112861166B (zh) | 2021-04-23 | 2021-04-23 | 一种高效率安全多方计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112861166A CN112861166A (zh) | 2021-05-28 |
CN112861166B true CN112861166B (zh) | 2021-07-27 |
Family
ID=75992715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110443101.6A Active CN112861166B (zh) | 2021-04-23 | 2021-04-23 | 一种高效率安全多方计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112861166B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114024674B (zh) * | 2021-11-23 | 2024-05-31 | 支付宝(杭州)信息技术有限公司 | 两方安全比较的方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109886687B (zh) * | 2019-02-28 | 2023-12-05 | 矩阵元技术(深圳)有限公司 | 一种基于区块链实现安全多方计算的结果验证方法及系统 |
CN110166446B (zh) * | 2019-05-13 | 2021-10-22 | 矩阵元技术(深圳)有限公司 | 一种基于安全多方计算的地理加权平均中心的实现方法 |
CN111008256B (zh) * | 2019-10-29 | 2022-03-15 | 矩阵元技术(深圳)有限公司 | 一种基于安全多方计算的空间数据分布模式分析方法 |
-
2021
- 2021-04-23 CN CN202110443101.6A patent/CN112861166B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112861166A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109040057B (zh) | 一种基于区块链的多密钥分级保护隐私系统及方法 | |
Kolesnikov et al. | Improved garbled circuit building blocks and applications to auctions and computing minima | |
US9401804B2 (en) | Leakage resilient garbled circuit generation using reduced memory hardware token | |
CN111510281B (zh) | 一种同态加密方法及装置 | |
CN113591146B (zh) | 基于合作的高效安全两方计算系统及计算方法 | |
US6772339B1 (en) | Mix and match: a new approach to secure multiparty computation | |
Brandt | How to obtain full privacy in auctions | |
CN113111373B (zh) | Vbft共识机制的随机数生成方法和共识机制系统 | |
US8533487B2 (en) | Secure logical vector clocks | |
CN108712409B (zh) | 一种基于私有区块链的电子账单交易系统 | |
US20090083190A1 (en) | System and Method for Electronic Bidding | |
CN116204912B (zh) | 基于全同态加密的数据处理方法和装置 | |
CN112995221B (zh) | 一种联盟链安全多方计算方法 | |
US10790972B2 (en) | Quantum tokens | |
JP2021515271A (ja) | コンピュータにより実施される投票処理およびシステム | |
US10887092B2 (en) | Anonymous allocation and majority voting in a compromised environment | |
CN112861166B (zh) | 一种高效率安全多方计算方法 | |
Ahmad et al. | A secure network communication protocol based on text to barcode encryption algorithm | |
Shoukat et al. | A survey about latest trends and research issues of cryptographic elements | |
CN114239018A (zh) | 保护隐私数据的共有数据数目确定方法和系统 | |
CN114065242A (zh) | 一种基于区块链技术的隐私数据保护方法 | |
CN112948883A (zh) | 保护隐私数据的多方联合建模的方法、装置和系统 | |
Majumdar et al. | DNA based cloud storage security framework using fuzzy decision making technique | |
CN116032639A (zh) | 基于隐私计算的消息推送方法及装置 | |
Nguyen et al. | Efficient two-party integer comparison with block vectorization mechanism |
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 |