本技术涉及数据处理,尤其涉及一种多方隐私求交方法、装置和电子设备。
背景技术:
1、随着大数据技术的发展,考虑到数据安全的问题,不同实体之间的数据无法共享。在不同实体之间的数据无法共享的情况下,以采用多方隐私求交(multi-party privateset intersection,m-psi)技术对不同实体之间的数据进行隐私求交。
2、所谓多方隐私求交,是指多个参与方各自均拥有一个数据集,多个参与方之间通过交互求得所有数据集的交集,并由其中一个参与方获得,且每一个参与方均无法获知其他参与方的数据集中的数据。
3、因此,在计算多个参与方的隐私求交结果时,如何有效实现隐私求交结果的计算效率和参与方之间的通信效率的平衡,是本领域技术人员需要解决的技术问题。
技术实现思路
1、本技术实施例提供一种多方隐私求交方法、装置和电子设备,在计算多个参与方的隐私求交结果时,可以有效地实现隐私求交结果的计算效率和参与方之间的通信效率的平衡。
2、第一方面,本技术实施例提供一种多方隐私求交方法,应用于目标参与方,多个参与方包括所述目标参与方和其他参与方,所述方法包括:
3、依次接收所述其他参与方发送的多个隐私信息,各所述隐私信息包括所述其他参与方的签名信息和第一哈希表数据片段;
4、基于多个所述隐私信息中的签名信息,对所述其他参与方的身份进行验证;
5、在所述其他参与方的身份验证通过的情况下,基于多个所述第一哈希表数据片段和所述目标参与方的哈希表数据,确定所述其他参与方和所述目标参与方之间的隐私求交结果。
6、根据本技术实施例提供的一种多方隐私求交方法,所述依次接收所述其他参与方发送的多个隐私信息,包括:
7、确定目标哈希函数和传输次数,所述目标哈希函数用于确定所述多个第一哈希表数据片段的传输顺序,所述传输次数用于指示多个第一哈希表数据片段的数量;
8、基于所述目标哈希函数和所述传输次数,依次接收多个所述隐私信息。
9、根据本技术实施例提供的一种多方隐私求交方法,针对各所述隐私信息,所述隐私信息中的签名信息中包括第一参变量和第二参变量,所述第一参变量是所述其他参与方基于所述隐私信息中的第一哈希表数据片段、所述其他参与方的匿名身份和所述目标参与方的匿名身份确定的;所述基于多个所述隐私信息中的签名信息,对所述其他参与方的身份进行验证,包括:
10、基于所述隐私信息中的第一哈希表数据片段、所述其他参与方的匿名身份和所述目标参与方的匿名身份,确定第三参变量;
11、在所述第一参变量和所述第三参变量相等的情况下,基于第一公共参数和所述其他参与方的匿名身份,确定第四参变量;并基于所述第二参变量、第二公共参数、所述其他参与方的匿名身份和所述第一公共参数,确定第五参变量;
12、在所述第四参变量和所述第五参变量相等的情况下,确定所述其他参与方的身份验证通过。
13、根据本技术实施例提供的一种多方隐私求交方法,所述方法还包括:
14、向可信第三方发送所述目标参与方的身份标识和所述目标参与方生成的第一公钥;
15、接收所述可信第三方发送的第二公钥,所述第二公钥为所述可信第三方基于第一哈希函数对所述目标参与方的身份标识进行计算得到的,所述目标参与方的匿名身份包括所述第一公钥和所述第二公钥。
16、根据本技术实施例提供的一种多方隐私求交方法,所述方法还包括:
17、在预设范围内随机确定所述目标参与方的第一私钥;
18、基于所述第一私钥和所述第二公共参数,生成所述第一公钥。
19、根据本技术实施例提供的一种多方隐私求交方法,所述目标参与方的哈希表数据包括多个第二哈希表数据片段,多个所述第一哈希表数据片段与多个所述第二哈希表数据片段一一对应,所述基于多个所述第一哈希表数据片段和所述目标参与方的哈希表数据,确定所述其他参与方和所述目标参与方之间的隐私求交结果,包括:
20、针对各互相对应的第一哈希表数据片段和第二哈希表数据片段构成的哈希表数据片段对,对所述第一哈希表数据片段和所述第二哈希表数据片段进行隐私求交,得到所述哈希表数据片段对的隐私交集数据;
21、将各所述哈希表数据片段对的隐私交集数据的并集,确定为所述隐私求交结果。
22、根据本技术实施例提供的一种多方隐私求交方法,所述基于多个所述第一哈希表数据片段和所述目标参与方的哈希表数据,确定所述其他参与方和所述目标参与方之间的隐私求交结果,包括:
23、基于多个所述第一哈希表数据片段,确定所述其他参与方的哈希表数据;
24、对所述其他参与方的哈希表数据和所述目标参与方的哈希表数据进行隐私求交,得到所述隐私求交结果。
25、本技术实施例还提供一种多方隐私求交装置,应用于目标参与方,多个参与方包括所述目标参与方和其他参与方,所述装置包括:
26、第一接收单元,用于依次接收所述其他参与方发送的多个隐私信息,各所述隐私信息包括所述其他参与方的签名信息和第一哈希表数据片段;
27、验证单元,用于基于多个所述隐私信息中的签名信息,对所述其他参与方的身份进行验证;
28、第一处理单元,用于在所述其他参与方的身份验证通过的情况下,基于多个所述第一哈希表数据片段和所述目标参与方的哈希表数据,确定所述其他参与方和所述目标参与方之间的隐私求交结果。
29、根据本技术实施例提供的一种多方隐私求交装置,所述第一接收单元,具体用于:
30、确定目标哈希函数和传输次数,所述目标哈希函数用于确定所述多个第一哈希表数据片段的传输顺序,所述传输次数用于指示多个第一哈希表数据片段的数量;基于所述目标哈希函数和所述传输次数,依次接收多个所述隐私信息。
31、根据本技术实施例提供的一种多方隐私求交装置,针对各所述隐私信息,所述隐私信息中的签名信息中包括第一参变量和第二参变量,所述第一参变量是所述其他参与方基于所述隐私信息中的第一哈希表数据片段、所述其他参与方的匿名身份和所述目标参与方的匿名身份确定的;所述验证单元,具体用于:
32、基于所述隐私信息中的第一哈希表数据片段、所述其他参与方的匿名身份和所述目标参与方的匿名身份,确定第三参变量;
33、在所述第一参变量和所述第三参变量相等的情况下,基于第一公共参数和所述其他参与方的匿名身份,确定第四参变量;并基于所述第二参变量、第二公共参数、所述其他参与方的匿名身份和所述第一公共参数,确定第五参变量;
34、在所述第四参变量和所述第五参变量相等的情况下,确定所述其他参与方的身份验证通过。
35、根据本技术实施例提供的一种多方隐私求交装置,所述装置还包括发送单元和第二接收单元;
36、所述发送单元,用于向可信第三方发送所述目标参与方的身份标识和所述目标参与方生成的第一公钥;
37、所述第二接收单元,用于接收所述可信第三方发送的第二公钥,所述第二公钥为所述可信第三方基于第一哈希函数对所述目标参与方的身份标识进行计算得到的,所述目标参与方的匿名身份包括所述第一公钥和所述第二公钥。
38、根据本技术实施例提供的一种多方隐私求交装置,所述装置还包括第二处理单元;
39、所述第二处理单元,用于在预设范围内随机确定所述目标参与方的第一私钥;并基于所述第一私钥和所述第二公共参数,生成所述第一公钥。
40、根据本技术实施例提供的一种多方隐私求交装置,所述目标参与方的哈希表数据包括多个第二哈希表数据片段,多个所述第一哈希表数据片段与多个所述第二哈希表数据片段一一对应,所述第一处理单元,具体用于:
41、针对各互相对应的第一哈希表数据片段和第二哈希表数据片段构成的哈希表数据片段对,对所述第一哈希表数据片段和所述第二哈希表数据片段进行隐私求交,得到所述哈希表数据片段对的隐私交集数据;
42、将各所述哈希表数据片段对的隐私交集数据的并集,确定为所述隐私求交结果。
43、根据本技术实施例提供的一种多方隐私求交装置,所述第一处理单元,具体用于:
44、基于多个所述第一哈希表数据片段,确定所述其他参与方的哈希表数据;
45、对所述其他参与方的哈希表数据和所述目标参与方的哈希表数据进行隐私求交,得到所述隐私求交结果。
46、第三方面,本技术实施例还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面任一项所述的多方隐私求交方法。
47、第四方面,本技术实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面任一项所述的多方隐私求交方法。
48、本技术实施例提供的多方隐私求交方法、装置和电子设备,在确定目标参与方和其他参与方的隐私求交结果时,目标参与方可以依次接收其他参与方发送的多个隐私信息,各隐私信息包括其他参与方的签名信息和第一哈希表数据片段;基于多个隐私信息中的签名信息,并对其他参与方的身份进行验证;在其他参与方的身份验证通过的情况下,基于多个第一哈希表数据片段和目标参与方的哈希表数据,确定其他参与方和目标参与方之间的隐私求交结果。这样在计算多个参与方的隐私求交结果时,通过签名信息的方式对其他参与方的身份进行验证,并在身份验证通过的情况下,基于多次传输的第一哈希表数据片段确定其他参与方和目标参与方之间的隐私求交结果,可以有效地实现隐私求交结果的计算效率和参与方之间的通信效率的平衡。