CN114978493A - 基于区块链的去中心化隐私求交方法及装置、电子设备 - Google Patents

基于区块链的去中心化隐私求交方法及装置、电子设备 Download PDF

Info

Publication number
CN114978493A
CN114978493A CN202210513811.6A CN202210513811A CN114978493A CN 114978493 A CN114978493 A CN 114978493A CN 202210513811 A CN202210513811 A CN 202210513811A CN 114978493 A CN114978493 A CN 114978493A
Authority
CN
China
Prior art keywords
sample
participant
participants
function
secret sharing
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.)
Pending
Application number
CN202210513811.6A
Other languages
English (en)
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 University ZJU
Original Assignee
Zhejiang University ZJU
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 University ZJU filed Critical Zhejiang University ZJU
Priority to CN202210513811.6A priority Critical patent/CN114978493A/zh
Publication of CN114978493A publication Critical patent/CN114978493A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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
    • H04L9/3221Cryptographic 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 interactive zero-knowledge proofs
    • 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/3236Cryptographic 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 cryptographic hash functions
    • 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/08Randomization, e.g. dummy operations or using noise
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于区块链的去中心化隐私求交方法及装置、电子设备,包括:每一参与方对本参与方持有的样本集合生成承诺列表并上链,用于参与方通过承诺验证其他参与方是否真实拥有样本集合;对本参与方持有的每个样本集合中的每个值随机生成一组秘密分享值;每个参与方对所有参与方,生成由样本集合和秘密分享构成的点集;根据点集,每个参与方对所有参与方分别生成OPPRF函数;每个参与方两两之间运行OPPRF函数,在接收方对所述承诺列表进行验证后,计算得到所有发送方的针对接收方样本集合中的每一样本的秘密分享集合;每个参与方针对本参与方的样本集合和秘密分享集合,生成一个新的点集;根据新的点集,生成新的OPPRF函数并调用智能合约上链;调用智能合约,向区块链请求发起结果计算,得到隐私求交的结果。

Description

基于区块链的去中心化隐私求交方法及装置、电子设备
技术领域
本申请涉及区块链与安全计算领域,尤其涉及一种基于区块链的去中心化隐私求交方法及装置、电子设备。
背景技术
传统的隐私求交方法是中心化的,需要一个参与方作为最终的数据统计者来聚合隐私求交的结果,再发给其他参与方,如果统计者作恶则无法保证结果的安全性。并且无法避免参与方数据恶意扩大的可能性。
发明内容
本申请实施例的目的是提供一种基于区块链的去中心化隐私求交方法及装置、电子设备,以解决相关技术中存在的统计者可能作恶、参与方可能恶意扩大数据的技术问题。
根据本申请实施例的第一方面,提供一种基于区块链的去中心化隐私求交方法,各参与方同步执行所述方法,该方法包括:
每一参与方对本参与方持有的样本集合生成承诺列表并上链,用于参与方通过承诺验证其他参与方是否真实拥有样本集合;
对本参与方持有的每个样本集合中的每个值随机生成一组秘密分享值;
每个参与方对所有参与方,生成由样本集合和秘密分享构成的点集;
根据点集,每个参与方对所有参与方分别生成OPPRF函数;
每个参与方两两之间运行OPPRF函数,在接收方对所述承诺列表进行验证后,计算得到所有发送方的针对接收方样本集合中的每一样本的秘密分享集合;
每个参与方针对本参与方的样本集合和秘密分享集合,生成一个新的点集;
根据新的点集,生成新的OPPRF函数并调用智能合约上链;
调用智能合约向区块链请求发起结果计算,得到隐私求交的结果。
进一步地,每一参与方对本参与方持有的样本集合生成承诺列表,包括:
(1.1)由参与隐私求交的所有参与方中的任意一方Pi,向区块链发起请求,并发布智能合约到区块链;
(1.2)接收区块链通知所有方开始执行隐私求交的通知;
(1.3)所有参与方Pi生成承诺列表cmListi
进一步地,所有参与方Pi生成承诺列表cmListi,包括:
(1.3.1)Pi对本参与方持有的样本集合Xi中的每个样本
Figure BDA0003638805990000021
和基于该样本数据随机生成的盲化因子r,生成一份承诺
Figure BDA0003638805990000022
(1.3.2)将样本集合Xi中的所有
Figure BDA0003638805990000023
组合形成一个承诺列表cmListi
(1.3.3)调用智能合约的相关函数,将cmListi作为公开的信息上链存储,之后所有参与方都能调用智能合约,从链上获取cmListi
进一步地,每个参与方两两之间运行OPPRF函数,在接收方对所述承诺列表进行验证后,计算得到所有发送方的针对接收方样本集合中的每一样本的秘密分享集合,包括:
(2.3.1)接收方Pj向其他所有参与方Pi获取OPPRF函数Fi,j,并调用智能合约,从链上获取Pi的承诺列表cmListi
(2.3.2)Pj通过零知识证明π,在不公开Pi的样本数据和盲化因子r的情况下,证明Pi拥有这些数据,能够经过
Figure BDA0003638805990000024
函数得到cm;
(2.3.3)将每个样本
Figure BDA0003638805990000025
输入到Fi,j中,获取n-1个发送方Pi的秘密分享值
Figure BDA0003638805990000026
或随机数;
(2.3.4)将所述函数Fi,j的输出与接收方秘密分享值
Figure BDA0003638805990000027
(共n个数据)进行异或操作,得到接收方的基于样本
Figure BDA0003638805990000031
的秘密分享值
Figure BDA0003638805990000032
进一步地,向区块链请求发起结果计算,得到隐私求交的结果,包括:
(3.4.1)由任意想要发起结果计算的参与方Pi向区块链发起请求,并发布智能合约到区块链;
(3.4.2)调用智能合约,从链上获取其他n-1个参与方Pj的Fj
(3.4.3)通过智能合约的相关函数,将本参与方的每个样本
Figure BDA0003638805990000033
输入到Fj中,得到对应参与方的秘密分享值
Figure BDA0003638805990000034
或随机数;
(3.4.4)将函数的输出与本参与方的秘密分享值
Figure BDA0003638805990000035
异或,如果结果等于0,则样本
Figure BDA0003638805990000036
是隐私求交的结果,否则不是;
(3.4.5)循环执行(3.4.3)到(3.4.4),直到样本集合Xi中的每个样本数据都计算完成,得到最后的隐私求交结果集合。
根据本申请实施例的第二方面,提供一种基于区块链的去中心化隐私求交装置,包括:
第一生成模块,用于每一参与方对本参与方持有的样本集合生成承诺列表并上链,用于参与方通过承诺验证其他参与方是否真实拥有样本集合;
第二生成模块,用于对本参与方持有的每个样本集合中的每个值随机生成一组秘密分享值;
第三生成模块,用于每个参与方对所有参与方,生成由样本集合和秘密分享构成的点集;
第四生成模块,用于根据点集,每个参与方对所有参与方分别生成OPPRF函数;
验证计算模块,用于每个参与方两两之间运行OPPRF函数,在接收方对所述承诺列表进行验证后,计算得到所有发送方的针对接收方样本集合中的每一样本的秘密分享集合;
第五生成模块,用于每个参与方针对本参与方的样本集合和秘密分享集合,生成一个新的点集;
第六生成模块,用于根据新的点集,生成新的OPPRF函数并调用智能合约上链;
计算模块,用于调用智能合约,向区块链请求发起结果计算,得到隐私求交的结果。
根据本申请实施例的第三方面,提供一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的方法。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:
由上述实施例可知,本申请采用了区块链、承诺和零知识证明的技术手段,解决了传统的中心化隐私求交方法中,统计者可能作恶、参与方可能恶意扩大数据的问题。即保证了所有参与方无法构造虚假的数据参与多方隐私计算,并且所有参与方都可以进行隐私求交结果验算。本发明可以解决传统中心化隐私求交方法的弊端,实现基于区块链的去中心化的隐私求交方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种基于区块链的去中心化隐私求交方法的流程图。
图2是根据一示例性实施例示出的一种基于区块链的去中心化隐私求交装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1是根据一示例性实施例示出的一种基于区块链的去中心化隐私求交方法的流程图,如图1所示,各参与方同步执行所述方法,该方法包括:
步骤S11,每一参与方对本参与方持有的样本集合生成承诺列表并上链,用于参与方通过承诺验证其他参与方是否真实拥有样本集合;
步骤S12,对本参与方持有的每个样本集合中的每个值随机生成一组秘密分享值;
步骤S13,每个参与方对所有参与方,生成由样本集合和秘密分享构成的点集;
步骤S14,根据点集,每个参与方对所有参与方分别生成OPPRF函数;
步骤S15,每个参与方两两之间运行OPPRF函数,在接收方对所述承诺列表进行验证后,计算得到所有发送方的针对接收方样本集合中的每一样本的秘密分享集合;
步骤S16,每个参与方针对本参与方的样本集合和秘密分享集合,生成一个新的点集;
步骤S17,根据新的点集,生成新的OPPRF函数并调用智能合约上链;
步骤S18,调用智能合约,向区块链请求发起结果计算,得到隐私求交的结果。
由上述实施例可知,本申请采用了区块链、承诺和零知识证明的技术手段,解决了传统的中心化隐私求交方法中,统计者可能作恶、参与方可能恶意扩大数据的问题。本发明可以解决传统中心化隐私求交方法的弊端,保证了所有参与方无法构造虚假的数据参与多方隐私计算,并且所有参与方都可以进行隐私求交结果验算。
在步骤S11的具体实施中,每一参与方对本参与方持有的样本集合生成承诺列表并上链,用于参与方通过承诺验证其他参与方是否真实拥有样本集合;该步骤可以包括以下子步骤:
步骤S111,由参与隐私求交的所有参与方中的任意一方Pi,向区块链发起请求,并发布智能合约到区块链到区块链;
具体地,由区块链作为控制方,任意想参与隐私求交的参与方在计算开始之前必须调用智能合约,提交发起计算的请求到区块链,使得所述智能合约触发事件通知所有监听该事件的参与方,以达到通知其他所有参与方开始隐私求交计算的目的。
步骤S112,接收区块链通知所有方开始执行隐私求交的通知;
具体地,由区块链通知各参与方开始隐私计算,且之后计算过程中的每一步都在区块链上记录,保证整个多方隐私求交过程是安全可审计的,防止抵赖。
步骤S113,所有参与方Pi生成承诺列表cmListi。具体地,该步骤可以包括以下子步骤:
步骤S1131,Pi对本参与方持有的样本集合Xi中的每个样本
Figure BDA0003638805990000071
和基于该样本数据随机生成的盲化因子r,生成一份承诺
Figure BDA0003638805990000072
具体地,Pi作为承诺方,将本参与方持有的样本集合Xi中的每个样本
Figure BDA0003638805990000073
作为消息m,选择随机数r作为盲因子,针对每个样本生成一份承诺
Figure BDA0003638805990000074
Figure BDA0003638805990000075
承诺方案具有隐藏性和绑定性,承诺值不会泄露任何关于消息m的信息,并且任意恶意的承诺方都不能将承诺打开为非m的消息且验证通过,即接收方可以确信m是和该承诺对应的消息。通过承诺技术,Pi可以向其他参与方声明本参与方真实拥有消息m这条数据。此处承诺技术可以用Pedersen承诺实现,但不限于只能通过此技术实现。
步骤S1132,将样本集合Xi中的所有
Figure BDA0003638805990000076
组合形成一个承诺列表cmListi
具体地,该步骤将样本集合中的所有承诺组合形成列表,便于后续其他参与方打开承诺,并对该承诺列表所属的参与方的整个样本集合数据进行验证。
步骤S1133,调用智能合约的相关函数,将cmListi作为公开的信息上链存储,之后所有参与方都能调用智能合约,从链上获取cmListi
具体地,通过调用智能合约的存储函数,将承诺列表存储到智能合约的合约状态中,后续计算步骤中其他参与方可以直接调用智能合约的获取函数得到该承诺列表。用区块链智能合约存储该信息,也便于在隐私求交计算结束后进行审计。
在步骤S12的具体实施中,对本参与方持有的每个样本集合中的每个值随机生成一组秘密分享值;
具体地,每个参与方使用秘密分享技术拆分样本集合中的每个样本值,这些秘密分享值的异或结果为零。在该步骤中使用该技术可以避免在计算过程中暴露本参与方真实的样本数据,并且使用这些异或值为零的秘密分享值来参与后续的隐私求交计算,是进行多方隐私求交的交集结果计算的前提。
在步骤S13的具体实施中,每个参与方对所有参与方,生成由样本集合和秘密分享构成的点集;
具体地,点集
Figure BDA0003638805990000081
使用该点集可以构造步骤S14中的OPPRF函数。
在步骤S14的具体实施中,根据点集,每个参与方对所有参与方分别生成OPPRF函数;
具体地,设定F={G(x1)=y1,G(x2)=y2,...,G(xk)=yk,G(else)=random}是定义在点集Z={(x1,y1),(x2,y2),...,(xk,yk)}上的可编程的不经意伪随机函数OPPRF,该函数可以实现这样的功能:对Z中的每一组点(xk,yk)建立映射关系G(xk)=yk,对不在Z中的其他数据建立映射关系G(else)=random。对于任意的输入数据集X={x1,x2,...,xj},F会对X中的每一个输入返回对应的OPPRF结果。该函数可以通过布谷鸟哈希、混淆电路等方式构造。
在步骤S15的具体实施中,每个参与方两两之间运行OPPRF函数,在接收方对所述承诺列表进行验证后,计算得到所有发送方的针对接收方样本集合中的每一样本的秘密分享集合;该步骤可以包括以下子步骤:
步骤S151,接收方Pj向其他所有参与方Pi获取OPPRF函数Fi,j,并调用智能合约,从链上获取Pi的承诺列表cmListi
具体地,接收方Pj获取其他所有参与方的OPPRF函数和承诺列表,因为在后续步骤S152、S153、S154计算中需要用到该函数与承诺列表。
步骤S152,Pj通过零知识证明π,在不公开Pi的样本数据和盲化因子r的情况下,证明Pi拥有这些数据,能够经过
Figure BDA0003638805990000082
函数得到cm。通过承诺,各参与方可以确认其他参与隐私求交计算的参与方的数据是真实存在的,而没有恶意扩大数据;
具体地,该零知识证明π证明如下命题:在不公开消息m和盲化因子r的情况下,证明该参与方拥有这条数据的id和r,使得cm:=COMMr(m)。通过零知识证明加承诺的机制,各参与方可以在不暴露其他参与方数据的前提下,确认其他参与隐私求交计算的参与方的数据是真实存在的,而没有恶意扩大数据。
步骤S153,将每个样本
Figure BDA0003638805990000091
输入到Fi,j中,获取n-1个发送方Pi的秘密分享值
Figure BDA0003638805990000092
或随机数;
具体地,接收方Pj将接收方的样本集合Xj中的每一个样本
Figure BDA0003638805990000093
作为输入值,输入由发送方Pi为接收方Pj构造的OPPRF函数Fi,j中,如果发送方Pi拥有这条输入数据,则得到的输出即为发送方Pi的秘密分享值
Figure BDA0003638805990000094
否则为随机值。通过这样的操作,可以达到这样的效果:接收方不知道接收方得到的是真实的秘密分享值还是随机值,发送方也不知道接收方是否拥有这条样本,函数的输出将由接收方在步骤S154中进行计算使用。
步骤S154,将函数的输出与接收方的秘密分享值
Figure BDA0003638805990000095
(共n个数据)进行异或操作,得到接收方的基于样本
Figure BDA0003638805990000096
的秘密分享值
Figure BDA0003638805990000097
具体地,该基于样本
Figure BDA0003638805990000098
的秘密分享值
Figure BDA0003638805990000099
将在步骤S16中作为集合的一个元素。
在步骤S16的具体实施中,每个参与方针对本参与方的样本集合和秘密分享集合,生成一个新的点集Zj
具体地,每个参与方Pj针对本参与方的样本集合
Figure BDA00036388059900000910
和秘密分享集合
Figure BDA00036388059900000911
生成一个新点集
Figure BDA00036388059900000912
步骤S17中,需要使用该点集Zj生成新的OPPRF函数。
在步骤S17的具体实施中,根据新的点集Zj,生成新的OPPRF函数Fj并调用智能合约上链;
具体地,新的OPPRF函数Fj的生成过程与步骤S14类似,此处不再赘述。在调用智能合约上链过程中,需要调用智能合约的OPPRF上链存储函数,将OPPRF作为参数传入智能合约,即将函数Fj上链存储。
在步骤S18的具体实施中,调用智能合约,向区块链请求发起结果计算,得到隐私求交的结果;该步骤可以包括以下子步骤:
步骤S181,由任意想要发起结果计算的参与方Pi调用智能合约向区块链发起请求;
具体地,任意参与方都可以调用智能合约向区块链发送请求,通过调用智能合约,从链上获取数据计算隐私求交的结果。传统的中心化隐私求交方法需要统计者计算隐私求交的结果,再将结果发送给其他参与方,相比于传统的方法,本专利提出的隐私求交方法实现了去中心化,任意参与方都可以向区块链发起请求并计算结果。同时,想要计算结果的参与方必须先向区块链发起请求,由区块链作为控制方记录这一操作,便于后续审计。
步骤S182,调用智能合约,从链上获取其他n-1个参与方Pj的Fj
具体地,参与方Pi调用智能合约,获取其他n-1个参与方Pj的Fj,用于步骤S183计算。
步骤S183,通过智能合约的相关函数,将本参与方的每个样本
Figure BDA0003638805990000101
输入到Fj中,得到对应参与方的秘密分享值
Figure BDA0003638805990000102
或随机数;
具体地,参与方Pi通过调用智能合约中的n-1个执行OPPRF函数Fj的相关函数,将本参与方的每个样本
Figure BDA0003638805990000103
作为参数输入该函数,得到结果。
步骤S184,将函数的输出与本参与方的秘密分享值
Figure BDA0003638805990000104
异或,如果结果等于0,则样本
Figure BDA0003638805990000105
是隐私求交的结果,否则不是;
具体地,针对本参与方的每个样本
Figure BDA0003638805990000106
将n-1个函数的输出与本参与方的秘密分享值
Figure BDA0003638805990000107
异或,如果所有参与方都拥有该样本,由于每个样本拆分为秘密分享值时的秘密分享值之间异或值为0,异或的结果必然为0,所以样本
Figure BDA0003638805990000108
是隐私求交的结果,否则不是。
步骤S185,循环执行步骤S183到步骤S184,直到样本集合Xi中的每个样本数据都计算完成,得到最后的隐私求交结果集合。
具体地,为样本集合Xi中的每个样本数据重复进行步骤S183到步骤S184的计算,得到该样本是否为隐私求交的结果,将所有结果组成结果集合,就可以得到隐私求交的最终结果。
与前述的基于区块链的去中心化隐私求交方法的实施例相对应,本申请还提供了基于区块链的去中心化隐私求交装置的实施例。
图2是根据一示例性实施例示出的一种基于区块链的去中心化隐私求交装置框图。参照图2,该装置包括:
第一生成模块11,用于每一参与方对本参与方持有的样本集合生成承诺列表并上链,用于参与方通过承诺验证其他参与方是否真实拥有样本集合;
第二生成模块12,用于对本参与方持有的每个样本集合中的每个值随机生成一组秘密分享值;
第三生成模块13,用于每个参与方对所有参与方,生成由样本集合和秘密分享构成的点集;
第四生成模块14,用于根据点集,每个参与方对所有参与方分别生成OPPRF函数;
验证计算模块15,用于每个参与方两两之间运行OPPRF函数,在接收方对所述承诺列表进行验证后,计算得到所有发送方的针对接收方样本集合中的每一样本的秘密分享集合;
第五生成模块16,用于每个参与方针对本参与方的样本集合和秘密分享集合,生成一个新的点集;
第六生成模块17,用于根据新的点集,生成新的OPPRF函数并调用智能合约上链;
计算模块18,用于调用智能合约,向区块链请求发起结果计算,得到隐私求交的结果。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,本申请还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的基于区块链的去中心化隐私求交方法。
相应的,本申请还提供一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如上述的基于区块链的去中心化隐私求交方法。
本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (10)

1.一种基于区块链的去中心化隐私求交方法,其特征在于,各参与方同步执行所述方法,该方法包括:
每一参与方对本参与方持有的样本集合生成承诺列表并上链,用于其他参与方通过承诺验证其他参与方是否真实拥有样本集合;
对本参与方持有的每个样本集合中的每个值随机生成一组秘密分享值;
每个参与方对所有参与方,生成由样本集合和秘密分享构成的点集;
根据点集,每个参与方对所有参与方分别生成OPPRF函数;
每个参与方两两之间运行OPPRF函数,在接收方对所述承诺列表进行验证后,计算得到所有发送方的针对接收方样本集合中的每一样本的秘密分享集合;
每个参与方针对本参与方的样本集合和秘密分享集合,生成一个新的点集;
根据新的点集,生成新的OPPRF函数并调用智能合约上链;
调用智能合约,向区块链请求发起结果计算,得到隐私求交的结果。
2.根据权利要求1所述的一种基于区块链的去中心化隐私求交方法,其特征在于,每一参与方对本参与方持有的样本集合生成承诺列表,包括:
(1.1)由参与隐私求交的所有参与方中的任意一方Pi,向区块链发起请求,并发布智能合约到区块链;
(1.2)接收区块链通知所有方开始执行隐私求交的通知;
(1.3)所有参与方Pi生成承诺列表cmListi
3.根据权利要求2所述的方法,其特征在于,所有参与方Pi生成承诺列表cmListi,包括:
(1.3.1)Pi对本参与方持有的样本集合Xi中的每个样本
Figure FDA0003638805980000011
和基于该样本数据随机生成的盲化因子r,生成一份承诺
Figure FDA0003638805980000012
(1.3.2)将样本集合Xi中的所有
Figure FDA0003638805980000013
组合形成一个承诺列表cmListi
(1.3.3)调用智能合约的相关函数,将cmListi作为公开的信息上链存储,之后所有参与方都能调用智能合约,从链上获取cmListi
4.根据权利要求1所述的方法,其特征在于,每个参与方两两之间运行OPPRF函数,在接收方对所述承诺列表进行验证后,计算得到所有发送方的针对接收方样本集合中的每一样本的秘密分享集合,包括:
(2.3.1)接收方Pj向其他所有参与方Pi获取OPPRF函数Fi,j,并调用智能合约,从链上获取Pi的承诺列表cmListi
(2.3.2)Pj通过零知识证明π,在不公开Pi的样本数据和盲化因子r的情况下,证明Pi拥有这些数据,能够经过
Figure FDA0003638805980000021
函数得到cm;
(2.3.3)接收方将每个样本
Figure FDA0003638805980000022
输入到Fi,j中,获取n-1个发送方Pi的秘密分享值
Figure FDA0003638805980000023
或随机数;
(2.3.4)接收方将函数的输出与接收方的秘密分享值
Figure FDA0003638805980000024
(共n个数据)进行异或操作,得到接收方Pj的基于样本
Figure FDA0003638805980000025
的秘密分享值
Figure FDA0003638805980000026
5.根据权利要求1所述的一种基于区块链的去中心化隐私求交方法,其特征在于,向区块链请求发起结果计算,得到隐私求交的结果,包括:
(3.4.1)由任意想要发起结果计算的参与方Pi向区块链发起请求;
(3.4.2)调用智能合约,从链上获取其他n-1个参与方Pj的Fj
(3.4.3)通过智能合约的相关函数,将本参与方的每个样本
Figure FDA0003638805980000027
输入到Fj中,得到对应参与方的秘密分享值
Figure FDA0003638805980000028
或随机数;
(3.4.4)将函数的输出与本参与方的秘密分享值
Figure FDA0003638805980000029
异或,如果结果等于0,则样本
Figure FDA00036388059800000210
是隐私求交的结果,否则不是;
(3.4.5)循环执行(3.4.3)到(3.4.4),直到样本集合Xi中的每个样本数据都计算完成,得到最后的隐私求交结果集合。
6.一种基于区块链的去中心化隐私求交装置,其特征在于,包括:
第一生成模块,用于每一参与方对本参与方持有的样本集合生成承诺列表并上链,用于参与方通过承诺验证其他参与方是否真实拥有样本集合;
第二生成模块,用于对本参与方持有的每个样本集合中的每个值随机生成一组秘密分享值;
第三生成模块,用于每个参与方对所有参与方,生成由样本集合和秘密分享构成的点集;
第四生成模块,用于根据点集,每个参与方对所有参与方分别生成OPPRF函数;
验证计算模块,用于每个参与方两两之间运行OPPRF函数,在接收方对所述承诺列表进行验证后,计算得到所有发送方的针对接收方样本集合中的每一样本的秘密分享集合;
第五生成模块,用于每个参与方针对本参与方的样本集合和秘密分享集合,生成一个新的点集;
第六生成模块,用于根据新的点集,生成新的OPPRF函数并调用智能合约上链;
计算模块,用于调用智能合约,向区块链请求发起结果计算,得到隐私求交的结果。
7.根据权利要求6所述的装置,其特征在于,每个参与方两两之间运行OPPRF函数,在接收方对所述承诺列表进行验证后,计算得到所有发送方的针对接收方样本集合中的每一样本的秘密分享集合,包括:
(2.3.1)接收方Pj向其他所有参与方Pi获取OPPRF函数Fi,j,并调用智能合约,从链上获取Pi的承诺列表cmListi
(2.3.2)Pj通过零知识证明π,在不公开Pi的样本数据和盲化因子r的情况下,证明Pi拥有这些数据,能够经过
Figure FDA0003638805980000031
函数得到cm;
(2.3.3)将每个样本
Figure FDA0003638805980000032
输入到Fi,j中,获取n-1个发送方Pi的秘密分享值
Figure FDA0003638805980000033
或随机数;
(2.3.4)将函数的输出与接收方的秘密分享值
Figure FDA0003638805980000034
(共n个数据)进行异或操作,得到接收方的基于样本
Figure FDA0003638805980000041
的秘密分享值
Figure FDA0003638805980000042
8.根据权利要求6所述的装置,其特征在于,向区块链请求发起结果计算,得到隐私求交的结果,包括:
(3.4.1)由任意想要发起结果计算的参与方Pi向区块链发起请求;
(3.4.2)调用智能合约,从链上获取其他n-1个参与方Pj的Fj
(3.4.3)通过智能合约的相关函数,将本参与方的每个样本
Figure FDA0003638805980000043
输入到Fj中,得到对应参与方的秘密分享值
Figure FDA0003638805980000044
或随机数;
(3.4.4)将函数的输出与本参与方的秘密分享值
Figure FDA0003638805980000045
异或,如果结果等于0,则样本
Figure FDA0003638805980000046
是隐私求交的结果,否则不是;
(3.4.5)循环执行(3.4.3)到(3.4.4),直到样本集合Xi中的每个样本数据都计算完成,得到最后的隐私求交结果集合。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1-5中任一项所述方法的步骤。
CN202210513811.6A 2022-05-11 2022-05-11 基于区块链的去中心化隐私求交方法及装置、电子设备 Pending CN114978493A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210513811.6A CN114978493A (zh) 2022-05-11 2022-05-11 基于区块链的去中心化隐私求交方法及装置、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210513811.6A CN114978493A (zh) 2022-05-11 2022-05-11 基于区块链的去中心化隐私求交方法及装置、电子设备

Publications (1)

Publication Number Publication Date
CN114978493A true CN114978493A (zh) 2022-08-30

Family

ID=82981883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210513811.6A Pending CN114978493A (zh) 2022-05-11 2022-05-11 基于区块链的去中心化隐私求交方法及装置、电子设备

Country Status (1)

Country Link
CN (1) CN114978493A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115865426A (zh) * 2022-11-14 2023-03-28 中国联合网络通信集团有限公司 隐私求交方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115865426A (zh) * 2022-11-14 2023-03-28 中国联合网络通信集团有限公司 隐私求交方法和装置
CN115865426B (zh) * 2022-11-14 2024-03-26 中国联合网络通信集团有限公司 隐私求交方法和装置

Similar Documents

Publication Publication Date Title
JP7029468B2 (ja) ブロックチェーンを使用した安全なデータレコード配信のための方法及びシステム
US11270303B2 (en) Cryptocurrency-based event participation verification
TWI720720B (zh) 防止安全多方計算中錯誤表示輸入資料的方法和系統
US11488144B2 (en) System and method of multi-round token distribution using a blockchain network
CN112437049B (zh) 一种基于bft的区块链共识方法及装置
CN112000744A (zh) 一种签名方法及相关设备
CN111464633B (zh) 用于区块链的交易信息的共识方法及系统
CN115688185B (zh) 多方隐私求和方法、装置、电子设备和存储介质
CN113691361A (zh) 基于同态加密和零知识证明的联盟链隐私保护方法及系统
WO2021081866A1 (zh) 基于账户模型的交易方法、装置、系统和存储介质
CN114978493A (zh) 基于区块链的去中心化隐私求交方法及装置、电子设备
CN112527244A (zh) 基于可验证延迟函数的分布式抽签系统和方法
CN113438237B (zh) 数据安全协同计算方法及系统
CN112685750A (zh) 数据处理方法及装置
CN116992480A (zh) 一种提供公开可验证的外包计算服务的方法
CN115865426A (zh) 隐私求交方法和装置
CN113630411B (zh) 一种对联盟区块链上多方隐私保护数据审计的方法及装置
CN112560115A (zh) 一种基于区块链的多方联合研发方法及系统
CN105827657B (zh) 一种签名权可仲裁的指定验证者签名方法
CN117614684A (zh) 一种基于复制秘密分享的流动式安全多方计算方法及系统
CN117318940A (zh) 基于认证秘密分享的多方协同签名方法及系统
CN116614225A (zh) 基于区块链技术的密钥分布式验证方法和系统
CN118332611A (zh) 业务隐私数据验证方法、装置、设备及存储介质
CN117574412A (zh) 多方隐私求交方法、装置和电子设备
CN116032492A (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