掌桥专利:专业的专利平台
掌桥专利
首页

一种高效率安全多方计算方法

文献发布时间:2023-06-19 11:08:20


一种高效率安全多方计算方法

技术领域

本发明涉及信息安全技术领域,具体涉及一种高效率安全多方计算方法。

背景技术

安全多方计算是针对无可信第三方的情况下,如何安全地计算一个约定函数的问题。安全多方计算中,各个参与方无需向对方或第三方透露其原数据,即可完成需要多个参与方原数据才能完成的约定函数的计算。使得安全多方计算具有输入隐私性、计算正确性以及去中心化特征,能使数据既保持隐私又能被使用,从而释放隐私数据分享,隐私数据分析,隐私数据挖掘的巨大价值。安全多方计算是电子选举、门限签名以及电子拍卖等诸多应用得以实施的密码学基础。数据公开共享是区块链采用的分布式账本技术的特征之一,使得数据隐私在区块链上面临考验。结合安全多方计算,使得区块链领域能够即保证数据的隐私性,又能够保证计算的正确可信。因而在隐私智能合约、密钥管理、随机数生成等技术中发挥着重要作用。但目前的安全多方计算方法存在效率较低的技术问题。

如中国专利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,本实施例包括以下步骤:

步骤A)发起方将待计算函数

理论上,任何函数都可以转换为布尔电路,即布尔电路能够实现复杂函数的计算。 比如将电子选举的规则函数,即待计算函数,转换为布尔电路

步骤B)发起方生成布尔电路

步骤C)每个参与方

表1 本实施例中真值表T21

若参与方

表2 本实施例中真值表T21的标签值含义

若参与方

步骤D)当布尔电路

将布尔电路

发起方生成布尔电路

参与方

使用标示随机数

表3 获得输入标签过程中参与方执行及传递的内容

使用复原隐码

实施例二:

一种高效率安全多方计算方法,本实施例相对于实施例一,进行了进一步的改进, 实施例一中,需要对参与方

表4 对隐码b加密过程参与方执行的操作和具体变量的值

同时本实施例对步骤A)中,将布尔电路

以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。

相关技术
  • 一种高效率安全多方计算方法
  • 一种多方安全计算方法、装置及电子设备
技术分类

06120112810472