CN112995221A - 一种联盟链安全多方计算方法 - Google Patents

一种联盟链安全多方计算方法 Download PDF

Info

Publication number
CN112995221A
CN112995221A CN202110499477.9A CN202110499477A CN112995221A CN 112995221 A CN112995221 A CN 112995221A CN 202110499477 A CN202110499477 A CN 202110499477A CN 112995221 A CN112995221 A CN 112995221A
Authority
CN
China
Prior art keywords
address
mapping
data
addresses
physical
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
Application number
CN202110499477.9A
Other languages
English (en)
Other versions
CN112995221B (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.)
Zhejiang Shuqin Technology Co Ltd
Original Assignee
Zhejiang Shuqin Technology Co Ltd
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 Zhejiang Shuqin Technology Co Ltd filed Critical Zhejiang Shuqin Technology Co Ltd
Priority to CN202110499477.9A priority Critical patent/CN112995221B/zh
Publication of CN112995221A publication Critical patent/CN112995221A/zh
Application granted granted Critical
Publication of CN112995221B publication Critical patent/CN112995221B/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/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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及信息安全技术领域,具体涉及一种联盟链安全多方计算方法,包括发起方、若干个参与方和地址映射层,发起方待计算函数转换为布尔电路,而后将布尔电路的门转换为标签表;参与方获取两个映射地址及相应物理地址,将两个映射地址分别与两个布尔值关联后加密,将加密后的数据存入输入数据取反值所关联的映射地址,并将对应的物理地址发送给发起方;发起方分别将布尔值对应的标签加密后存入映射地址;参与方读取加密的标签,获得全部输入数据的标签后根据标签表获得输出标签,当布尔电路的全部门均获得输出标签时,布尔电路将输出结果。本发明的实质性效果是:减少了标签获取过程中加解密的次数,提高了安全多方计算的效率。

Description

一种联盟链安全多方计算方法
技术领域
本发明涉及信息安全技术领域,具体涉及一种联盟链安全多方计算方法。
背景技术
安全多方计算是针对无可信第三方的情况下,如何安全地计算一个约定函数的问题。安全多方计算中,各个参与方无需向对方或第三方透露其原数据,即可完成需要多个参与方原数据才能完成的约定函数的计算。联盟链是只针对某个特定群体的成员和有限的第三方,其内部指定多个预选节点为记账人,每个块的生成由所有的预选节点共同决定。其他接入节点可以参与交易,但不过问记账过程。第三方可以通过该区块链开放的API进行限定查询。联盟链使用的主要群体是银行、保险、证券、商业协会、集团企业及上下游企业。这些行业中的企业或机构,相互之间既有较强的合作需求,同时又对敏感数据的保密有着严格的要求。因而常采用安全多方计算解决诸如不记名投票、门限签名、销售额统计等问题。但目前联盟链使用的安全多方计算方案需要为每个布尔电路的门生成至少两对非对称加密秘钥,对于较为复杂的计算而言,生成的布尔电路也较复杂,会导致联盟链节点在安全多方计算过程中产生大量的公私秘钥对,还需要相应的完成加解密操作,耗费较多的计算时间,影响了多方安全计算的效率。
如中国专利CN111737011B,公开日2021年1月29日,一种安全多方计算的实现方法,应用在安全多方计算参与方的代表节点上,包括:确定本参与方符合安全多方计算协议的密态计算任务;将密态计算任务拆分为至少两个子任务,并将子任务分发给至少两个辅助节点进行计算;接收辅助节点返回的子任务的执行结果,根据子任务的执行结果生成符合安全多方计算协议的密态计算任务的计算结果。其采用同态加密的技术,仍然会导致安全多方计算的效率低下的技术问题。
发明内容
本发明要解决的技术问题是:目前联盟链内进行多方安全计算效率较低的技术问题。提出了一种联盟链安全多方计算方法,本方法通过构建映射地址层提高了安全多方计算的效率。
为解决上述技术问题,本发明所采取的技术方案为:一种联盟链安全多方计算方法,包括发起方、若干个参与方和地址映射层,所述地址映射层建立映射地址和物理地址的映射,所述映射地址使用后即删除,向所述地址映射层提交的物理地址仅用于读取数据;执行以下步骤:所述发起方将待计算函数转换为布尔电路,所述发起方将布尔电路的门转换为标签表,将标签表发送给对应参与方,所述标签表记录输入标签组合与输出标签的映射关系;所述参与方从所述地址映射层获取两个映射地址及相应物理地址,将两个映射地址分别与两个布尔值关联后使用所述发起方的公钥加密,将加密后的数据存入输入数据取反值所关联的映射地址,并将对应的物理地址发送给所述发起方;所述发起方根据两个布尔值关联的映射地址,分别将布尔值对应的标签使用所述参与方的公钥加密后存入布尔值关联的映射地址后通知所述参与方;所述参与方从两个物理地址读取数据,其中一个物理地址为加密的标签,使用私钥解密即可获得标签,获得全部输入数据的标签后根据所述标签表获得输出标签,将输出标签发送给其他参与方作为所述布尔电路其他门的输入标签;当所述布尔电路的全部门均获得输出标签时,所述布尔电路将输出结果标签,所述发起方将所述结果标签转换为布尔值即为多方计算结果。标签获取过程中,仅使用了各个节点本身具有的公钥,并不需要产生新的公司秘钥对,相应的也没有多次的加解密过程,从而提高了安全多方计算的效率。
作为优选,所述映射地址使用后即删除的实现方法为:所述地址映射层周期性建立若干组映射地址和物理地址的地址条目,所述地址映射层将所述地址条目压入堆栈中,当需要使用映射地址时,从所述堆栈中弹出一个条目。使用堆栈能够天然的实现映射地址被使用一次后即失效的技术效果。
作为优选,所述地址映射层开辟两块存储区域,在所开辟的存储区域中分割若干个存储块,记录所述存储块的物理地址,为每个物理地址关联一个随机码,所述随机码即为映射地址,两块所述存储区域交替存储数据,所述存储区域在存储数据前清除已存储数据,并重新产生并关联映射地址。当安全多方计算的得出结果后,所使用的物理地址内存储的数据即可销毁,通过周期性开辟新的专用区域产生映射地址和物理地址对,并周期性将旧的专用区域释放,可以提高存储空间的使用率。
作为优选,所述地址映射层建立的映射地址和物理地址的映射中,每个映射地址均对应若干个不相邻的物理地址,若干个所述物理地址指向的存储空间为预设值,使用所述映射地址存入数据时,将数据拆分成子数据,每个子数据均关联第一个物理地址的标识,按次序将每个子数据存入一个物理地址对应的存储空间,用于读取数据的所述物理地址为映射地址对应的第一个物理地址,使用所述物理地址读取数据时,读取出第一个物理地址对应的子数据后,按预设值依次向下读取数据并验证关联是否为第一个物理地址的标识,找到全部关联有第一个物理地址标识的子数据后拼接复原数据。不相邻的物理地址实现了分块加密存储,提高了数据的安全性。
作为优选,所述映射地址对应的若干个不相邻的物理地址的间距具有若干种预设的模式,使用所述物理地址读取数据时,读取出若干个子数据后,与若干种预设的模式对比,获得物理地址的间距模式后,按所述的模式直接寻找到下一个物理地址并读取数据。通过预设模式能够加快分块存储的数据的读取效率,降低分块存储对安全多方计算效率的影响。
作为优选,所述发起方将布尔电路的门转换为标签表的方法包括:将布尔电路的门排序并编号,列举门的输入输出的可取值,将每个可取值使用预设长度的随机码代替;穷举门的输入组合,获得每个所述输入组合对应的输出,将所述输入组合及输出用相应的随机码表示,将表示输入组合的随机码组合以及表示输出的随机码分别作为标签表的第一列和第二列。
作为优选,所述标签表还具有混淆输入组合,所述混淆输入组合为无实际意义的随机码组合,所述混淆输入组合对应的输出为任意实际输出的标签。
作为优选,所述地址映射层的实现方法包括:每个联盟链节点均通过外部共识协议的方式运行地址映射协议,所述地址映射协议包括映射地址产生协议、数据写入协议和数据读取协议;所述映射地址产生协议周期性开辟存储区域,将存储区域划分为若干个预设长度的存储块,记录每个存储块的物理地址,产生若干个映射地址,所述映射地址为随机码,为每个映射地址关联预设数量的物理地址,被关联的物理地址为不相邻的物理地址,将映射地址及其关联的物理地址作为一个映射地址条目存储,当参与方请求映射地址时,向除发起方以外的联盟链节点请求映射地址,所述联盟链节点将映射地址和映射地址所关联的第一个物理地址发送给所述参与方,并将被发送的映射地址条目标记为已使用,所述参与方将所述的映射地址对应的物理地址发送给所述发起方时同时发送所述联盟链节点的标识;所述数据写入协议将待存入数据拆分成预设数量的数据块,将每个数据块均关联第一个物理地址的标识,将若干个数据块分别存入映射地址关联的若干个物理地址,而后所述数据写入协议将使用的映射地址条目从本地删除;所述数据读取协议收到读取数据请求时,首先按收到的物理地址读取第一个数据块,而后按照存储块的长度依次向下读取,并验证是否关联有收到的物理地址的标识,若有则读取数据,直到凑够预设数量的数据块后,将数据块拼接复原出数据,将复原出的数据发送给读取数据请求方。通过外部共识协议构建由多个联盟链节点组成的分布式映射地址层,使得映射地址层具有足够的处理效率和通信带宽,同时避免了中心节点的出现,提高了安全多方计算的效率和安全性,每个映射地址关联的物理地址不连续,相当于再次对数据进行了加密,提高了数据的安全性,确保了安全多方计算过程中数据的隐私性得以保护。
本发明的实质性效果是:1)安全多方计算的发起方将待计算函数转换为布尔电路后,将布尔电路的每个门的输入和输出转换为标签表,实现参与方隐私数据的保护;2)减少了标签获取过程中加解密的次数,提高了安全多方计算的效率;3)构建分布式地址映射层避免了中心化节点的出现,提高了安全多方计算的效率和稳定性。
附图说明
图1为实施例一联盟链安全多方计算方法流程框图。
图2为实施例一布尔电路转换为标签表的方法流程框图。
图3为实施例一映射地址产生方法流程框图。
图4为实施例二分块存储方法流程框图。
图5为实施例二分块存储的数据读取方法流程框图。
图6为实施例三分布式映射地址层产生映射地址方法流程框图。
具体实施方式
下面通过具体实施例,并结合附图,对本发明的具体实施方式作进一步具体说明。
实施例一:
一种联盟链安全多方计算方法,包括发起方P、若干个参与方R和地址映射层,地址映射层预先建立映射地址和物理地址的映射。请参阅附图1,本方法包括以下步骤:S1)发起方P将待计算函数转换为布尔电路,发起方P将布尔电路的门转换为标签表,将标签表发送给对应参与方R,标签表记录输入标签组合与输出标签的映射关系。安全多方计算的发起方P将待计算函数转换为布尔电路后,将布尔电路的每个门的输入和输出转换为标签表,实现布尔电路的加密,而后参与方R和发起方P之间通过映射地址层完成标签的交换,交换过程中参与方R仅能够获得其输入数据所对应的标签,发起方P也无法确定参与方R获得的是哪个标签,实现参与方R隐私数据的保护。
S2)参与方R从地址映射层获取两个映射地址MA及相应物理地址PA,将两个映射地址分别与两个布尔值关联后使用发起方P的公钥加密。
S3)将加密后的数据存入输入数据取反值所关联的映射地址,并将对应的物理地址发送给发起方P。
S4)发起方P根据两个布尔值关联的映射地址,分别将布尔值对应的标签使用参与方R的公钥加密后存入布尔值关联的映射地址后通知参与方R。
S5)参与方R从两个物理地址读取数据,其中一个物理地址为加密的标签,使用私钥解密即可获得标签,获得全部输入数据的标签后根据标签表获得输出标签,将输出标签发送给其他参与方R作为布尔电路其他门的输入标签。
S6)当布尔电路的全部门均获得输出标签时,布尔电路将输出结果标签,发起方P将结果标签转换为布尔值即为多方计算结果。
映射地址使用后即删除,向地址映射层提交的物理地址仅用于读取数据。映射地址使用后即删除的实现方法为:地址映射层周期性建立若干组映射地址和物理地址的地址条目,地址映射层将地址条目压入堆栈中,当需要使用映射地址时,从堆栈中弹出一个条目。
请参阅附图2,发起方P将布尔电路的门转换为标签表的方法包括:将布尔电路的门排序并编号,列举门的输入输出的可取值,将每个可取值使用预设长度的随机码代替;穷举门的输入组合,获得每个输入组合对应的输出,将输入组合及输出用相应的随机码表示,将表示输入组合的随机码组合以及表示输出的随机码分别作为标签表的第一列和第二列。附图2表示了布尔电路中的5个门,3个与门以及2个异或门。布尔电路中的每个门的输入及输出均分别用一组标签表示,其中门的输入是另一个门的输出,则共用一组标签。每组标签包含两个分别表示0/1的标签。其中A组标签属于发起方P的输入数据,B、C、D三组标签分别属于3个参与方R的输入数据,布尔电路输出结果为布尔值。附图2记载的布尔电路含义为,A、B两组标签对应联盟链中的两个高权限节点,即属于联盟链委员会的节点,C、D两组标签对应两个低权限节点,即联盟链普通节点,表决逻辑为:高权限节点投票权重为1票,低权限节点投票权重为0.5票,事件需要获得至少2票为表决通过。
当某个事件需要这4个节点投票表决时,表决逻辑具体为:
若两个高权限节点均同意,A、B两组标签即均输入1,则事件表决通过,布尔电路输出1;
若两个高权限节点均反对,A、B两组标签即均输入0,则事件表决不通过,布尔电路输出0;
若两个高权限节点意见不一,A、B两组标签中即一个输入1另一个输入0,若此时两个低权限节点均同意,C、D两组标签均输入1,则事件仍然表决通过,布尔电路输出1,反之,则事件表决不通过,布尔电路输出0 。
将5个布尔电路的门的输入组合穷举,写出相应的输出,构成真值表,将真值表发送给参与方R,即布尔电路转换为5张真值表。为每个真值表的每个输入设置一组标签,输出设置一组标签,即将真值表转换为标签表。标签为随机生成值,如表1所示,标签A0:10010,A1:11001,标签B0:01100,B1:01010,标签E0:11101,E1:00111,且每组标签中相同真值也分配有不同的标签,从而实现了真值表的加密。
表1 第一个与门的真值表转换得到的标签表
真值表 标签表 标签表取值
0 0 | 0 A0 B0 | E0 A0:10010 B0:01100 | E0:11101
0 1 | 0 A0 B1 | E0 A0:10010 B1:01010 | E0:11101
1 0 | 0 A1 B0 | E0 A1:11001 B0:01100 | E0:11101
1 1 | 1 A1 B1 | E1 A1:11001 B1:01010 | E1:00111
参与方R根据自己的输入,即是否同意事件,与发起方P通信,获得对应的标签,而后查标签表即可获得门的输出。对应A标签组联盟链节点即为发起方P,发起方P也为参与方R之一,将其输入,1,代入标签表,将标签表转换为部分解密标签表,如表2所示,将该部分解密标签表发送给B标签组对应的联盟链节点,即参与方R,其输入数据为0。参与方R通过通信获得输入为0对应的标签B0值为01100,查表2所示标签表,可得相应输出为11101,将11101发送给负责运算最后一个异或门的参与方R。当5个门的输出逐步依次被获得时,布尔电路即能够输出结果,完成安全多方计算。
表2发起方P代入其输入数据后的部分解密标签表
A 01100 11101
A 01010 00111
标签表还具有混淆输入组合,混淆输入组合为无实际意义的随机码组合,混淆输入组合对应的输出为任意实际输出的标签,如表3所示。带有混淆标签的标签表,能够避免参与方R通过排除法获得其输入意外的真值的标签。混淆标签不会被用到,其无实际的意义,无需严格推导混淆标签组合对应的输出标签。
表3带有混淆的标签表
A0:10010 B0:01100 E0:11101
A0:10010 B1:01010 E0:11101
A1:11001 B0:01100 E0:11101
A1:11001 B1:01010 E1:00111
A-:00001 B-:11100 E0:11101
A--:10001 B--:11011 E1:00111
请参阅附图3,映射地址的产生方法包括:S01)地址映射层开辟两块存储区域,在所开辟的存储区域中分割若干个存储块;S02)记录存储块的物理地址,为每个物理地址关联一个随机码,随机码即为映射地址,本实施例开辟的物理地址及分配的映射地址如表4所示;S03)两块存储区域交替存储数据,存储区域在存储数据前清除已存储数据,并重新产生并关联映射地址。
表4 实施例一产生的物理地址及所分配的映射地址
映射地址@区域一 物理地址@区域一 映射地址@区域二 物理地址@区域二
sidu8ejhu (12,3,42) ruei39w1e (36,17,23)
w89iej31d (12,3,43) u7e8j3uds (36,17,24)
dr56tghtr (12,3,44) tiuejhyd1 (36,17,25)
理论上任意函数均可表示成布尔电路,采用布尔电路的方式能够完成复杂的多方计算,给出需要的结果,且能够保障各个参与方R隐私数据不外泄。通过地址映射层传递标签值,通过完全不知情第三方专递标签值,不知情第三方传递时又会隐藏部分重要的信息,使得安全多方计算的参与方R更加难以获得有效敏感数据。降低了安全多方计算对加密强度的要求,能够提高标签传递的效率,从而提高安全多方计算的效率。
实施例二:
一种联盟链安全多方计算方法,本实施例对映射地址做出了进一步的改进,请参阅附图4及表5,包括:S31)地址映射层建立的映射地址和物理地址的映射中,每个映射地址均对应若干个不相邻的物理地址,若干个物理地址指向的存储空间为预设值;S32)使用映射地址存入数据时,将数据拆分成子数据,每个子数据均关联第一个物理地址的标识;S33)按次序将每个子数据存入一个物理地址对应的存储空间,用于读取数据的物理地址为映射地址对应的第一个物理地址。
表5 地址映射层建立的映射地址和物理地址的映射
映射地址 真实地址
sidu8ejhu (12,3,42)、(12,3,44)、(12,3,48)、(12,3,52)
w89iej31d (12,3,43)、(12,3,45)、(12,3,47)、(12,3,49)
dr56tghtr (14,6,12)、(14,6,14)、(14,6,17)、(14,6,21)
表6 按映射地址存入数据后的存储内容
真实地址 存入数据
(12,3,42) d1
(12,3,43) dx
(12,3,44) d2-(12,3,42)
(12,3,48) d3-(12,3,42)
(12,3,52) d4-(12,3,42)
请参阅附图5及表6,使用物理地址读取数据时,包括:S34)读取出第一个物理地址对应的子数据后;S35)按预设值依次向下读取数据并验证关联是否为第一个物理地址的标识;S36)找到全部关联有第一个物理地址标识的子数据后拼接复原数据。如表6所示,查询关联有(12,3,42)的存储单元,可查询得到d1至d4,从而拼接出完整的数据。不相邻的物理地址实现了分块加密存储,提高了数据的安全性。
映射地址对应的若干个不相邻的物理地址的间距具有若干种预设的模式,使用物理地址读取数据时,读取出若干个子数据后,与若干种预设的模式对比,获得物理地址的间距模式后,按的模式直接寻找到下一个物理地址并读取数据。通过预设模式能够加快分块存储的数据的读取效率,降低分块存储对安全多方计算效率的影响。
本实施例的其余步骤同实施例一。相对于实施例一,本实施例提高了映射地址对隐私数据的隐藏程度,提高了隐私数据的安全性。
实施例三:
一种联盟链安全多方计算方法,本实施例提供了分布式地址映射层的建立方法,请参阅附图6,每个联盟链节点均通过外部共识协议的方式运行地址映射协议,地址映射协议包括映射地址产生协议、数据写入协议和数据读取协议。具体包括:W01)映射地址产生协议周期性开辟存储区域,将存储区域划分为若干个预设长度的存储块,记录每个存储块的物理地址;W02)产生若干个映射地址,映射地址为随机码,为每个映射地址关联预设数量的物理地址,被关联的物理地址为不相邻的物理地址;W03)将映射地址及其关联的物理地址作为一个映射地址条目存储;W04)当参与方R请求映射地址时,向除发起方P以外的联盟链节点请求映射地址;W05)联盟链节点将映射地址和映射地址所关联的第一个物理地址发送给参与方R,并将被发送的映射地址条目标记为已使用。参与方R将的映射地址对应的物理地址发送给发起方P时同时发送联盟链节点的标识。
数据存储和读取基本与实施例二相同,在此仅做简要描述。数据写入协议将待存入数据拆分成预设数量的数据块,将每个数据块均关联第一个物理地址的标识,将若干个数据块分别存入映射地址关联的若干个物理地址,而后数据写入协议将使用的映射地址条目从本地删除;数据读取协议收到读取数据请求时,首先按收到的物理地址读取第一个数据块,而后按照存储块的长度依次向下读取,并验证是否关联有收到的物理地址的标识,若有则读取数据,直到凑够预设数量的数据块后,将数据块拼接复原出数据,将复原出的数据发送给读取数据请求方。
本实施例的其余步骤同实施例一,相对于实施例一,本实施例通过外部共识协议构建由多个联盟链节点组成的分布式映射地址层,使得映射地址层具有足够的处理效率和通信带宽,同时避免了中心节点的出现,提高了安全多方计算的效率和安全性,每个映射地址关联的物理地址不连续,相当于再次对数据进行了加密,提高了数据的安全性,确保了安全多方计算过程中数据的隐私性得以保护。
以上的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。

Claims (8)

1.一种联盟链安全多方计算方法,其特征在于,
包括发起方、若干个参与方和地址映射层,所述地址映射层建立映射地址和物理地址的映射,所述映射地址使用后即删除,向所述地址映射层提交的物理地址仅用于读取数据;
执行以下步骤:
所述发起方将待计算函数转换为布尔电路,所述发起方将布尔电路的门转换为标签表,将标签表发送给对应参与方,所述标签表记录输入标签组合与输出标签的映射关系;
所述参与方从所述地址映射层获取两个映射地址及相应物理地址,将两个映射地址分别与两个布尔值关联后使用所述发起方的公钥加密,将加密后的数据存入输入数据取反值所关联的映射地址,并将对应的物理地址发送给所述发起方;
所述发起方根据两个布尔值关联的映射地址,分别将布尔值对应的标签使用所述参与方的公钥加密后存入布尔值关联的映射地址后通知所述参与方;
所述参与方从两个物理地址读取数据,其中一个物理地址为加密的标签,使用私钥解密即可获得标签,获得全部输入数据的标签后根据所述标签表获得输出标签,将输出标签发送给其他参与方作为所述布尔电路其他门的输入标签;
当所述布尔电路的全部门均获得输出标签时,所述布尔电路将输出结果标签,所述发起方将所述结果标签转换为布尔值即为多方计算结果。
2.根据权利要求1所述的一种联盟链安全多方计算方法,其特征在于,
所述映射地址使用后即删除的实现方法为:所述地址映射层周期性建立若干组映射地址和物理地址的地址条目,所述地址映射层将所述地址条目压入堆栈中,当需要使用映射地址时,从所述堆栈中弹出一个条目。
3.根据权利要求1或2所述的一种联盟链安全多方计算方法,其特征在于,
所述地址映射层开辟两块存储区域,在所开辟的存储区域中分割若干个存储块,记录所述存储块的物理地址,为每个物理地址关联一个随机码,所述随机码即为映射地址,两块所述存储区域交替存储数据,所述存储区域在存储数据前清除已存储数据,并重新产生并关联映射地址。
4.根据权利要求1或2所述的一种联盟链安全多方计算方法,其特征在于,
所述地址映射层建立的映射地址和物理地址的映射中,每个映射地址均对应若干个不相邻的物理地址,若干个所述物理地址指向的存储空间为预设值,使用所述映射地址存入数据时,将数据拆分成子数据,每个子数据均关联第一个物理地址的标识,按次序将每个子数据存入一个物理地址对应的存储空间,用于读取数据的所述物理地址为映射地址对应的第一个物理地址,使用所述物理地址读取数据时,读取出第一个物理地址对应的子数据后,按预设值依次向下读取数据并验证关联是否为第一个物理地址的标识,找到全部关联有第一个物理地址标识的子数据后拼接复原数据。
5.根据权利要求4所述的一种联盟链安全多方计算方法,其特征在于,
所述映射地址对应的若干个不相邻的物理地址的间距具有若干种预设的模式,使用所述物理地址读取数据时,读取出若干个子数据后,与若干种预设的模式对比,获得物理地址的间距模式后,按所述的模式直接寻找到下一个物理地址并读取数据。
6.根据权利要求1或2所述的一种联盟链安全多方计算方法,其特征在于,
所述发起方将布尔电路的门转换为标签表的方法包括:
将布尔电路的门排序并编号,列举门的输入输出的可取值,将每个可取值使用预设长度的随机码代替;
穷举门的输入组合,获得每个所述输入组合对应的输出,将所述输入组合及输出用相应的随机码表示,将表示输入组合的随机码组合以及表示输出的随机码分别作为标签表的第一列和第二列。
7.根据权利要求1或2所述的一种联盟链安全多方计算方法,其特征在于,
所述标签表还具有混淆输入组合,所述混淆输入组合为无实际意义的随机码组合,所述混淆输入组合对应的输出为任意实际输出的标签。
8.根据权利要求1或2所述的一种联盟链安全多方计算方法,其特征在于,
所述地址映射层的实现方法包括:
每个联盟链节点均通过外部共识协议的方式运行地址映射协议,所述地址映射协议包括映射地址产生协议、数据写入协议和数据读取协议;
所述映射地址产生协议周期性开辟存储区域,将存储区域划分为若干个预设长度的存储块,记录每个存储块的物理地址,产生若干个映射地址,所述映射地址为随机码,为每个映射地址关联预设数量的物理地址,被关联的物理地址为不相邻的物理地址,将映射地址及其关联的物理地址作为一个映射地址条目存储,当参与方请求映射地址时,向除发起方以外的联盟链节点请求映射地址,所述联盟链节点将映射地址和映射地址所关联的第一个物理地址发送给所述参与方,并将被发送的映射地址条目标记为已使用,所述参与方将所述的映射地址对应的物理地址发送给所述发起方时同时发送所述联盟链节点的标识;
所述数据写入协议将待存入数据拆分成预设数量的数据块,将每个数据块均关联第一个物理地址的标识,将若干个数据块分别存入映射地址关联的若干个物理地址,而后所述数据写入协议将使用的映射地址条目从本地删除;
所述数据读取协议收到读取数据请求时,首先按收到的物理地址读取第一个数据块,而后按照存储块的长度依次向下读取,并验证是否关联有收到的物理地址的标识,若有则读取数据,直到凑够预设数量的数据块后,将数据块拼接复原出数据,将复原出的数据发送给读取数据请求方。
CN202110499477.9A 2021-05-08 2021-05-08 一种联盟链安全多方计算方法 Active CN112995221B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110499477.9A CN112995221B (zh) 2021-05-08 2021-05-08 一种联盟链安全多方计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110499477.9A CN112995221B (zh) 2021-05-08 2021-05-08 一种联盟链安全多方计算方法

Publications (2)

Publication Number Publication Date
CN112995221A true CN112995221A (zh) 2021-06-18
CN112995221B CN112995221B (zh) 2021-07-23

Family

ID=76337276

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110499477.9A Active CN112995221B (zh) 2021-05-08 2021-05-08 一种联盟链安全多方计算方法

Country Status (1)

Country Link
CN (1) CN112995221B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821826A (zh) * 2021-09-30 2021-12-21 支付宝(杭州)信息技术有限公司 实现异或分片输入输出的布尔电路、方法和系统
CN114531243A (zh) * 2022-01-04 2022-05-24 北京理工大学 基于标签加密与零知识证明的联盟链交易隐私保护方法
CN115687368A (zh) * 2023-01-04 2023-02-03 上海亿铸智能科技有限公司 一种数据存储方法、装置、系统及存储介质
CN116450537A (zh) * 2023-06-19 2023-07-18 联和存储科技(江苏)有限公司 Nand闪存固件烧录方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108809623A (zh) * 2018-07-10 2018-11-13 矩阵元技术(深圳)有限公司 安全多方计算方法、装置及系统
US20200090552A1 (en) * 2018-09-18 2020-03-19 Baidu Online Network Technology (Beijing) Co., Ltd. Secure multi-party computation method, device, apparatus and computer-readable storage medium
US10797866B1 (en) * 2020-03-30 2020-10-06 Bar-Ilan University System and method for enforcement of correctness of inputs of multi-party computations
CN112329072A (zh) * 2020-12-31 2021-02-05 支付宝(杭州)信息技术有限公司 一种基于安全多方计算的模型联合训练方法
CN112597526A (zh) * 2021-03-05 2021-04-02 浙江数秦科技有限公司 一种用于联盟链的安全数据存取方法
CN112751665A (zh) * 2019-10-30 2021-05-04 阿里巴巴集团控股有限公司 一种安全多方计算方法、设备、系统及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108809623A (zh) * 2018-07-10 2018-11-13 矩阵元技术(深圳)有限公司 安全多方计算方法、装置及系统
US20200090552A1 (en) * 2018-09-18 2020-03-19 Baidu Online Network Technology (Beijing) Co., Ltd. Secure multi-party computation method, device, apparatus and computer-readable storage medium
CN112751665A (zh) * 2019-10-30 2021-05-04 阿里巴巴集团控股有限公司 一种安全多方计算方法、设备、系统及存储介质
US10797866B1 (en) * 2020-03-30 2020-10-06 Bar-Ilan University System and method for enforcement of correctness of inputs of multi-party computations
CN112329072A (zh) * 2020-12-31 2021-02-05 支付宝(杭州)信息技术有限公司 一种基于安全多方计算的模型联合训练方法
CN112597526A (zh) * 2021-03-05 2021-04-02 浙江数秦科技有限公司 一种用于联盟链的安全数据存取方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
苏冠通等: "安全多方计算技术与应用综述", 《信息通信技术与政策》 *
黄益盛等: "大数据环境下密码技术的研究", 《通信技术》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821826A (zh) * 2021-09-30 2021-12-21 支付宝(杭州)信息技术有限公司 实现异或分片输入输出的布尔电路、方法和系统
CN114531243A (zh) * 2022-01-04 2022-05-24 北京理工大学 基于标签加密与零知识证明的联盟链交易隐私保护方法
CN114531243B (zh) * 2022-01-04 2024-02-09 北京理工大学 基于标签加密与零知识证明的联盟链交易隐私保护方法
CN115687368A (zh) * 2023-01-04 2023-02-03 上海亿铸智能科技有限公司 一种数据存储方法、装置、系统及存储介质
CN115687368B (zh) * 2023-01-04 2023-03-17 上海亿铸智能科技有限公司 一种数据存储方法、装置、系统及存储介质
CN116450537A (zh) * 2023-06-19 2023-07-18 联和存储科技(江苏)有限公司 Nand闪存固件烧录方法
CN116450537B (zh) * 2023-06-19 2023-08-29 联和存储科技(江苏)有限公司 Nand闪存固件烧录方法

Also Published As

Publication number Publication date
CN112995221B (zh) 2021-07-23

Similar Documents

Publication Publication Date Title
CN112995221B (zh) 一种联盟链安全多方计算方法
CN108009917B (zh) 数字货币的交易验证和登记方法及系统
US9514330B2 (en) Meta-complete data storage
US5214700A (en) Method for obtaining a securitized cleartext attestation in a distributed data processing system environment
US11151559B2 (en) Blockchain-based remittance method and apparatus
US20150149763A1 (en) Server-Aided Private Set Intersection (PSI) with Data Transfer
Bay et al. Practical multi-party private set intersection protocols
US8533487B2 (en) Secure logical vector clocks
CN114175028B (zh) 密码假名映射方法、计算机系统、计算机程序和计算机可读介质
CN102222188A (zh) 一种信息系统用户密码的生成方法
Gao et al. Quantum election protocol based on quantum public key cryptosystem
WO2023207735A1 (zh) 一种用硬件芯片实现安全多方计算的方法及系统
CN114514550A (zh) 将请求分区成区块链的交易
US7436966B2 (en) Secure approach to send data from one system to another
CN111415155A (zh) 一种落链交易数据的加密方法、装置、设备及存储介质
CN114866289B (zh) 一种基于联盟链的隐私信用数据安全保护方法
CN112989428B (zh) 一种联盟链数据快速加密存储方法
US6823070B1 (en) Method for key escrow in a communication system and apparatus therefor
CN114629663A (zh) 基于区块链的数字商品交易方法及装置
CN114169888A (zh) 一种通用型支持多重签名的加密货币保管方法
US20040003254A1 (en) Network system, server and information terminal for list matching
Tamura Anonymous Security Systems and Applications: Requirements and Solutions: Requirements and Solutions
CN112836239A (zh) 保护隐私的双方协同确定目标对象数据的方法及装置
Kukade et al. A two-way encryption for privacy preservation of outsourced transaction database for association rule mining
US20210250337A1 (en) Method and device for matching evaluation of structured data sets protected by encryption

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