CN117494150A - 一种数据处理方法、装置、电子设备及存储介质 - Google Patents
一种数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117494150A CN117494150A CN202310604964.6A CN202310604964A CN117494150A CN 117494150 A CN117494150 A CN 117494150A CN 202310604964 A CN202310604964 A CN 202310604964A CN 117494150 A CN117494150 A CN 117494150A
- Authority
- CN
- China
- Prior art keywords
- data
- ciphertext
- participant
- intersection
- participants
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 49
- 238000003860 storage Methods 0.000 title claims abstract description 12
- 239000003999 initiator Substances 0.000 claims abstract description 101
- 238000000034 method Methods 0.000 claims abstract description 96
- 230000008569 process Effects 0.000 claims description 39
- 238000013507 mapping Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 17
- 238000004364 calculation method Methods 0.000 description 38
- 239000003795 chemical substances by application Substances 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000012423 maintenance Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 101100065246 Mus musculus Enc1 gene Proteins 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 101150040334 KLHL25 gene Proteins 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012432 intermediate storage Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
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
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例公开了一种数据处理方法、装置、电子设备及存储介质,能够在保障各方数据隐私的前提下,安全、高效的在多个参与方中得到满足设定条件的交集数据。所述方法应用于发起方,包括:获取每个参与方基于自身的私有加密参数,对自身持有的原始数据集合进行加密运算后发送的第一密文数据集合,参与方的原始数据与参与方随机生成的匿名ID一一对应;在每个参与方的第一密文数据集合,经过除对应的参与方之外的所有其他参与方基于各自的私有加密参数进行加密运算后,获取对应的目标密文数据集合;根据各参与方的目标密文数据集合,确定满足设定门限阈值的数据交集,并将数据交集中每个密文交集数据及对应的匿名ID同步给相关联的参与方。
Description
技术领域
本申请涉及数据安全技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
随着移动互联网的迅猛发展以及大数据时代的到来,隐私信息成为了大数据重要的组成部分,同时,用户也因此享受到了不同应用所提供的个性化服务,为生活带来了极大的便利。而大数据所采集的信息包括了身份、兴趣爱好、地理位置、收入等个人敏感信息,这些隐私信息一旦泄露将带来极大的安全隐患,因此隐私计算的出现为数据安全提供了解决方案。安全多方计算(Secure Multi-party Computation)是一种隐私计算的常用路径,即在参与方不共享各自数据且没有可信第三方的情况下,仍可以进行协同计算,最终产生有价值的分析内容。
隐私集合求交(Private Set Intersection,PSI)是安全多方计算中的一个重要分支,隐私集合求交使得持有数据的参与方通过计算得到交集数据,而不泄露任何交集以外的数据信息,具有广泛的应用场景。如何在保障各方数据隐私的前提下,安全、高效的在多个参与方中得到满足设定条件的交集数据,是目前安全多方计算领域亟待解决的技术问题之一。
发明内容
本申请实施例的目的是提供一种数据处理方法、装置、电子设备及计算机可读存储介质,用以在保障各方数据隐私的前提下,安全、高效的在隐私集合求交的多个参与方中得到满足设定条件的交集数据,并使相关联的参与方获取准确的交集结果。
为了实现上述目的,本申请实施例采用下述技术方案:
第一方面,提供一种数据处理方法,应用于隐私集合求交的发起方,包括:
获取每个参与方基于自身的私有加密参数,对自身持有的原始数据集合进行加密运算后发送的第一密文数据集合;其中,所述发起方为隐私集合求交的多个参与方中任一参与方,所述每个参与方自身持有的原始数据集合中包括至少一个原始数据,所述至少一个原始数据与所述参与方随机生成的匿名标识ID一一对应,所述第一密文数据集合中的每个第一密文数据与对应原始数据的匿名ID绑定;
在所述每个参与方的第一密文数据集合,经过除对应的参与方之外的所有其他参与方基于各自的私有加密参数进行加密运算后,获取对应的目标密文数据集合;其中,所述目标密文数据集合中的每个目标密文数据与对应原始数据的匿名ID绑定;
根据各参与方的目标密文数据集合,确定满足设定门限阈值的数据交集,并将所述数据交集中每个密文交集数据及对应的匿名ID同步给相关联的参与方,以使所述相关联的参与方基于所述匿名ID映射得到与所述密文交集数据相对应的原始数据;其中,所述门限阈值用于表征所需满足的最小交集参与方数量,所述密文交集数据为各目标密文数据集合中满足所述门限阈值的目标密文数据。
第二方面,提供一种数据处理方法,应用于隐私集合求交的参与方,包括:
生成加密运算过程中的私有加密参数;
基于自身的私有加密参数,对自身持有的原始数据集合进行加密运算得到第一密文数据集合,并发送给发起方,以使所述发起方在所述第一密文数据集合,经过除对应的参与方之外的所有其他参与方基于各自的私有加密参数进行加密运算后,获取对应的目标密文数据集合;其中,所述参与方的原始数据集合中包括至少一个原始数据,所述至少一个原始数据与所述参与方随机生成的匿名ID一一对应,所述第一密文数据集合中的每个第一密文数据与对应原始数据的匿名ID绑定,所述目标密文数据集合中的每个目标密文数据与对应原始数据的匿名ID绑定,所述发起方为隐私集合求交的多个参与方中任一参与方;
在接收到所述发起方发送的第一密文交集数据及对应的匿名ID的情况下,基于所述匿名ID映射得到与所述第一密文交集数据相对应的原始数据;其中,所述第一密文交集数据是数据交集中与所述参与方相关联的密文交集数据,所述数据交集是所述发起方根据各参与方的目标密文数据集合确定的满足设定门限阈值的集合,所述门限阈值用于表征所需满足的最小交集参与方数量,所述密文交集数据为各目标密文数据集合中满足所述门限阈值的目标密文数据。第三方面,提供一种数据处理方法装置,设置于隐私集合求交的发起方,包括:
接收模块,用于获取每个参与方基于自身的私有加密参数,对自身持有的原始数据集合进行加密运算后发送的第一密文数据集合;其中,所述发起方为隐私集合求交的多个参与方中任一参与方,所述每个参与方自身持有的原始数据集合中包括至少一个原始数据,所述至少一个原始数据与所述参与方随机生成的匿名ID一一对应,所述第一密文数据集合中的每个第一密文数据与对应原始数据的匿名ID绑定;
分发模块,用于在所述每个参与方的第一密文数据集合,经过除对应的参与方之外的所有其他参与方基于各自的私有加密参数进行加密运算后,获取对应的目标密文数据集合;其中,所述目标密文数据集合中的每个目标密文数据与对应原始数据的匿名ID绑定;
求交模块,用于根据各参与方的目标密文数据集合,确定满足设定门限阈值的数据交集;其中,所述门限阈值用于表征所需满足的最小交集参与方数量;
同步模块,用于将所述数据交集中每个密文交集数据及对应的匿名ID同步给相关联的参与方,以使所述相关联的参与方基于所述匿名ID映射得到与所述密文交集数据相对应的原始数据;其中,所述密文交集数据为各目标密文数据集合中满足所述门限阈值的目标密文数据。
第四方面,提供一种数据处理方法装置,设置于隐私集合求交的参与方,包括:
私钥生成模块,用于生成加密运算过程中的私有加密参数;
加密模块,用于基于自身的私有加密参数,对自身持有的原始数据集合进行加密运算得到第一密文数据集合,并发送给发起方,以使所述发起方在所述第一密文数据集合,经过除对应的参与方之外的所有其他参与方基于各自的私有加密参数进行加密运算后,获取对应的目标密文数据集合;其中,所述参与方的原始数据集合中包括至少一个原始数据,所述至少一个原始数据与所述参与方随机生成的匿名ID一一对应,所述第一密文数据集合中的每个第一密文数据与对应原始数据的匿名ID绑定,所述目标密文数据集合中的每个目标密文数据与对应原始数据的匿名ID绑定,所述发起方为隐私集合求交的多个参与方中任一参与方;
映射模块,用于在接收到所述发起方发送的第一密文交集数据及对应的匿名ID的情况下,基于所述匿名ID映射得到与所述第一密文交集数据相对应的原始数据;其中,所述第一密文交集数据是数据交集中与所述参与方相关联的密文交集数据,所述数据交集是所述发起方根据各参与方的目标密文数据集合确定的满足设定门限阈值的集合,所述门限阈值用于表征所需满足的最小交集参与方数量,所述密文交集数据为各目标密文数据集合中满足所述门限阈值的目标密文数据。
第五方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如第一方面、或者第二方面所述的方法。
第六方面,提供一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面、或者第二方面所述的方法。
本申请实施例提供的多方数据处理方案,每个参与方自身持有的原始数据集合中包括至少一个原始数据,并且参与方在加密运算之前为每个原始数据随机生成一一对应的匿名ID,每个参与方基于自身的私有加密参数,对自身持有的原始数据集合进行加密运算后发送给发起方,由于每个参与方发送给发起方的数据,均使用了自身的私钥对原始数据进行加密运算,因此能够保证各个参与方的原始数据安全不泄露;发起方在每个参与方的第一密文数据集合,经过除对应的参与方之外的所有其他参与方基于各自的私有加密参数进行加密运算后,获取对应的目标密文数据集合,再根据各参与方的目标密文数据集合,确定满足设定门限阈值的数据交集,由于每个参与方的原始数据均经过了所有参与方的私钥进行加密处理,即使超过半数的参与方进行合谋,也无法解密出参与方自身持有的原始数据,从而保证了计算过程中间数据的安全性;本方案无需第三方可信节点的参与,通过发起方根据各个参与方的目标密文数据集合能够安全的计算出交集参与方数量满足阈值条件的数据交集,由于目标密文数据集合中每个目标密文数据与对应原始数据的匿名ID是绑定的,所以可以将数据交集中每个密文交集数据及对应的匿名ID发送给相关联的参与方,相关联的参与方可以基于接收到的密文交集数据对应的匿名ID、以及原始数据与匿名ID的一一对应关系,映射回与密文交集数据相对应的原始数据,其他参与方即使获取交集结果,也无法逆推出参与方自身持有的原始数据,故而保证了各参与方的原始数据安全不泄露;本方案无需通过排列组合进行多次计算任务,能够在一次计算任务中实现基于门限的隐私集合求交,不受参与方数量的影响,从而大幅降低计算的复杂度,提升计算效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请的一个实施例提供的一种应用于发起方的数据处理方法的流程示意图;
图2为本申请的一个实施例提供的一种应用于参与方的数据处理方法的流程图;
图3为本申请的一个实施例提供的一种打击恶意代理维权/恶意投诉的应用场景涉及的数据处理方法流程图;
图4为本申请的一个实施例提供的一种设置于发起方的数据处理装置的结构示意图;
图5为本申请的一个实施例提供的一种设置于参与方的数据处理装置的结构示意图;
图6为本申请的一个实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
如前所述,隐私计算的出现为数据安全提供了解决方案。在隐私计算的概念被正式提出时,其被定义为:面向隐私信息全生命周期保护的计算理论和方法,是隐私信息的所有权、管理权和使用权分离时隐私度量、隐私泄漏代价、隐私保护与隐私分析复杂性的可计算模型与公理化系统。简单来说,隐私计算在保证数据本身不对外泄露的前提下,实现“数据可用不可见”的目的,以及数据价值的转化和释放。
目前,业界通常将隐私计算技术分为以下三种路径:安全多方计算、联邦学习、可信执行环境。其中,安全多方计算即在参与方不共享各自数据且没有可信第三方的情况下,仍可以进行协同计算,最终产生有价值的分析内容。安全多方计算要确保输入数据的独立性、传递数据的准确性以及计算过程的正确性,同时不能泄露各输入数据给参与计算的其他参与方,即确保参与方获取正确计算结果的同时,无法获取计算结果之外的任何信息。在整个计算过程中,参与方对其所持有的数据始终拥有绝对的控制权。
在安全多方计算框架中,隐私集合求交(Private Set Intersect,PSI)是多方数据融合的前提,在各个机构开展数据融合前,需要通过隐私集合求交进行用户对齐,然后基于交集数据,开展后续的合作:如联合建模、安全统计等。
隐私集合求交具有广泛的应用场景,以金融行业为例进行说明。随着科技的发展,信用贷款等方式相比传统的信用卡模式越来越遍及,科技悄然改变着人们的日常生活。由于受众广,并且过程中存在一些漏洞,一些恶意机构或者个人,打着代理维权的旗号,名义上是保护消费者权益,其实是利用漏洞规则骗取收益。这些恶意机构或者个人不止对一家金融机构进行上述行为,通过对多家金融机构均进行恶意代理维权/恶意投诉,造成金融机构的名誉和商业损失。如何在保障各方数据隐私的前提下,安全的在多家金融机构持有的原始名单中,发现满足设定条件的恶意机构或者个人,例如找出对设定数量的金融机构进行过恶意代理维权/恶意投诉的恶意机构或个人,即打击恶意代理维权/恶意投诉成为目前亟待解决的问题。
本发明人基于多方安全计算的研究,认为上述问题可以通过隐私集合求交解决。首先简单介绍隐私集合求交的算法原理,假设有两个参与方P1、P2,分别拥有两个集合X、Y,需要在两个参与方不透露彼此的各自拥有的集合信息的前提下,即P1不知晓Y的任何额外信息,P2也不知晓X的任何额外信息,求得X与Y的交集。推广到多方隐私集合求交,则需要在所有参与方中都满足。目前多方隐私集合求交已被广泛研究,且学术界提出了很多算法实现,并且证明了其安全性。
本发明人在发明过程中发现,在打击恶意代理维权/恶意投诉的应用场景中,需要基于一个给定的门限阈值(t),门限阈值(t)用于表征所需满足的最小交集参与方数量,在满足该门限阈值(t)规定的最小交集参与方数量的情况下,恶意机构或个人危害的金融机构越多越好,因为危害的金融机构越多,越有利于证据的收集,也能够更有效的打击恶意机构或个人。本申请实施例中将其定义为一种基于门限的隐私集合求交,其算法原理为:在设定的门限阈值(t)下,在m(通常m大于等于3)个参与方中,确定一批交集数据,这些交集数据,满足以下条件:
1、交集数据至少在t个参与方中存在;
2、在满足t的阈值条件下,交集数据需要存在于尽可能多的参与方;
3、需要保护各个参与方非交集部分的数据不被泄露。
可以利用现有的隐私集合求交算法,通过排列组合,实现基于门限的隐私集合求交。在设定的阈值条件下,通过排列组合的方式,进行多次多方隐私集合求交,最终在所有任务完成后,再对交集结果进行合并,得到最终满足门限阈值t的交集数据。
本发明人在发明过程中发现,按照现有的多方隐私集合求交的定义,该协议只能求出属于所有参与方的交集结果;而对于基于门限的隐私集合求交,该协议只需满足设定门限阈值的最小交集参与方数量即可,无需在所有参与方中都满足。因此,只能通过排列组合的方式,实现基于门限的隐私集合求交。假设目前设定的门限阈值为t,参与方数量为m,则需要进行多方隐私集合求交的总计算次数T可以通过如下公式[1]确定:
可以看到,总计算次数T随着参与方数量越来越多,其计算复杂度将越来越高,导致整个计算效率大幅降低。
有鉴于此,本申请实施例提出了一种改进的门限隐私集合求交算法,基于该算法原理实施的多方数据处理方案,能够在保障各方数据隐私的前提下,安全、高效的在隐私集合求交的多个参与方中得到满足设定条件的交集数据,并使相关联的参与方获取准确的交集结果。
应理解,本申请实施例提供的数据处理方法可以由电子设备执行或安装在电子设备中的软件执行,具体可以由终端设备或服务端设备执行。该方法的执行主体包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备。其中,所述服务器可以是单个网络服务器或多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云。需要说明的是,针对隐私集合求交的多个参与方,需要在每个参与方均设置安全、独立的电子设备,以便每个参与方实施上述数据处理方法。
以下结合附图,详细说明本申请各实施例提供的技术方案。
本申请实施例提供的数据处理方法,基于改进的门限隐私集合求交算法实施,不同于现有的采用排列组合方式实现的门限隐私集合求交算法,无需进行多次计算任务,不受参与方数量的影响,从而大幅降低计算的复杂度,提升计算效率,同时能够保证各参与方数据的安全性和隐私性。本申请实施例中,涉及隐私集合求交的参与方数量至少包括两个,通常为三个或以上,尤其适用于参与方数量较大的应用场景。
请参考图1,为本申请的一个实施例提供的一种数据处理方法的流程示意图,应用于隐私集合求交的发起方,该方法可以包括:
S101、获取每个参与方基于自身的私有加密参数,对自身持有的原始数据集合进行加密运算后发送的第一密文数据集合。
参与方是指参与本次隐私集合求交的成员,所述隐私集合求交的参与方数量至少包括两个,通常为三个或以上。发起方是指发起本次隐私集合求交的成员,通常包含在所有参与方之内,也就是说,发起方可以为隐私集合求交的多个参与方中任一参与方,所述多个参与方是指参与方数量包括至少两个,可选的,参与方数量包括三个或以上。需要说明的是,发起方同时也是参与方,在执行发起方的相关操作过程中,还需要执行其作为参与方的相关操作。
参与方所持有的原始数据集合中通常包括至少一个原始数据,所述参与方的至少一个原始数据与所述参与方随机生成的匿名ID一一对应。示例性的,参与方持有的一个用户手机号可以作为一个原始数据,参与方持有的所有用户手机号可以组成该参与方的原始数据集合;每个用户手机号均会对应一个参与方随机生成的匿名ID,不同的用户手机号对应的匿名ID不同,匿名ID是一个无任何意义的字符串,例如随机数、UUID(通用唯一标识符)等。例如用户手机号“13800000000”对应一个随机生成的匿名ID“123”,用户手机号“18900000000”对应一个随机生成的匿名ID“456”,用户手机号“13400000000”对应一个随机生成的匿名ID“abc”等等,参与方在进行加密运算之前,会为自身持有的原始数据集合中所有原始数据分别随机生成一个相对应的匿名ID,不同的原始数据对应的匿名ID不同。
每个参与方基于自身的私有加密参数,对自身持有的原始数据集合进行加密运算后得到的第一密文数据集合,都会发送给发起方。每个参与方自身的私有加密参数通常是参与方自身生成的,可以看作参与方自身的私钥。本申请实施例中,为了便于区分,将参与方基于自身的私有加密参数,对自身持有的原始数据集合进行加密运算后得到的密文数据集合,称为参与方的第一密文数据集合,相应的,第一密文数据集合中的密文数据称为第一密文数据。所述第一密文数据集合中的每个第一密文数据与对应原始数据的匿名ID需要绑定。由于原始数据与匿名ID具有一一对应关系,而第一密文数据是由参与方所持有的原始数据集合中的原始数据经过参与方自身进行加密运算后得到的,因此,第一密文数据与匿名ID也具有一一对应关系。具体实施中,所述参与方的第一密文数据集合中可以包括至少一个由第一密文数据与对应的匿名ID组合得到的数据元素。
在一种可选的实现方式中,所述改进的门限隐私集合求交算法可以是一种基于离散对数问题的门限隐私集合求交算法。为了便于理解,首先对离散对数问题进行简单介绍。如果对于一个整数b、和质数p的一个原根a,可以找到一个唯一的指数i,使得b=ai(mod p)成立,其中,0≤i≤p-1,那么指数i称为b的以a为基数的模p的离散对数。当已知一个大质数p和p的一个原根a,如果给定一个b,要计算指数i的值是相当困难的。
基于离散对数的思想,所述参与方自身的私有加密参数可以为私有加密指数,即在加密运算过程中,将私有加密参数作为指数进行指数运算,相应的,本申请实施例中,在步骤S101之前,需要包括如下步骤:
S100、发起方生成加密运算过程中所需的模指数,并发送给所有参与方,以使每个参与方基于模指数生成自身的私有加密指数。
所述模指数为指定数值范围内的质数,模指数可以用p表示。各参与方使用相同的模指数,主要用于在加密运算过程中,防止用私有加密指数进行指数运算后的结果超出范围,因此对所有指数运算后的结果都采用统一的模指数p进行模运算,保证最终的计算结果收敛在一个阿贝尔群内。
为了便于理解,对阿贝尔群的概念进行简要介绍。群是指一个拥有满足封闭性、满足结合律、有单位元、有逆元的二元运算的代数结构。对于群G中任意二元a、b,一般地,ab≠ba,若群G的运算满足交换律,即对任意的a、b∈G都有ab=ba,则称群G为阿贝尔群。
具体实施中,发起方生成的模指数p通常是一个指定数值范围内的大质数,其中,key的长度大于或等于1024比特。key的长度就是模指数p的最大bit位数,key的长度越大,加密的强度就越大,越难以破解。
模指数p的一种可选的生成逻辑包括:
在指定数值范围区间中,寻找一个质数q,然后计算p=2*q+1,如果得到的p是一个质数,则计算完成,否则,循环计算指定质数,直到满足条件后终止,其中,keysize表示key的长度。
相应的,各个参与方可以基于接收到的模指数p,在模指数p的数值范围内生成自身的私有加密指数及其逆元,具体的,私有加密指数可以在模指数p的数值范围内随机生成,也可以利用数学公式推导得到,私有加密指数通常是一个大指数。假设某个参与方的私有加密指数用d表示,则私有加密指数d的逆元可以记为d-1,满足d*d-1=1。各个参与方生成的私有加密指数可以看作是各个参与方的私钥,各个参与方生成的私有加密指数是不同的,仅参与方自身持有。
参与方可以基于自身的私有加密指数(假设该参与方的私有加密指数为d)、以及模指数p对每个原始数据进行加密运算,可以通过如下公式[2]实现:
Enc1(ui)=H(ui)d%p{0≤i<n} [2]
其中,ui表示参与方的原始数据集合中的原始数据,n为参与方的原始数据集合中原始数据的数量,H(x)为哈希函数,%表示模p运算,Enc1(ui)表示参与方的第一密文数据集合中的第一密文数据。参与方在进行加密运算之前,为每个原始数据随机生成一个匿名ID,i对应的匿名ID可以表示为IDi。
将参与方持有的原始数据集合经参与方自身进行加密运算后,得到的第一密文数据集合可以通过如下公式[3]表示:
U={([u0],ID0),([u1],ID1),([ui],IDi),([un],IDn)}{0≤i<n} [3]
其中,[ui]表示原始数据ui经参与方自身进行加密运算后得到的第一密文数据,IDi表示第一密文数据[ui]对应的匿名ID,可以理解,原始数据ui、以及第一密文数据[ui]对应同一匿名ID,即IDi。([ui],IDi)表示由第一密文数据[ui]与对应的匿名ID即IDi组合得到的数据元素。
由于每个参与方发送给发起方的数据,均使用了自身的私有加密指数对原始数据进行加密运算,基于离散对数的思想,在不知道原始数据和私有加密指数的情况下,想要根据密文数据推理出原始数据,非常困难,因此能够更有效地抵御半诚实攻击模型和恶意攻击模型,提升各个参与方的数据隐私性。
S102、在每个参与方的第一密文数据集合,经过除对应的参与方之外的所有其他参与方基于各自的私有加密参数进行加密运算后,获取对应的目标密文数据集合。
发起方接收到各参与方的第一密文数据集合后,会遍历所有参与方(包括发起方自身),将每个参与方的第一密文数据集合发送给除对应的参与方(即原始数据持有方)之外的所有其他参与方进行加密运算,直到所有的第一密文数据集合都经过所有其他参与方进行加密运算后结束。需要说明的是,针对某个参与方来说,发起方将该参与方的第一密文数据集合发送给所有其他参与方进行加密运算,目的是使用所有其他参与方的私钥对该参与方的数据进行加密,由于该参与方已经对自身持有的数据进行过加密运算,无需重复加密,因此需要将参与方自身排除。
本申请实施例中,为了便于区分,将参与方的第一密文数据集合经过除对应的参与方之外的所有其他参与方基于各自的私有加密参数进行加密运算后得到的密文数据集合,称为参与方的目标密文数据集合,相应的,目标密文数据集合中的密文数据称为目标密文数据。可以理解,参与方的目标密文数据集合也是将参与方持有的原始数据集合经过所有参与方进行加密运算后得到的最终加密结果。
在一种可选的实现方式中,发起方可以遍历所有参与方,针对任一当前的参与方执行如下操作:将当前的参与方的第一密文数据集合发送给除所述当前的参与方之外的一个其他参与方,以获取其进行加密运算后返回的第二密文数据集合,并将该返回的第二密文数据集合发送给下一其他参与方进行加密运算,直至所述第一密文数据集合经过所有其他参与方进行加密运算后结束,得到所述当前的参与方的目标密文数据集合;其中,所述当前的参与方的目标密文数据集合中包括至少一个由目标密文数据与对应的匿名ID组合得到的数据元素,所述目标密文数据由当前的参与方所持有的原始数据集合中的原始数据经过所有参与方进行加密运算后得到。
可以理解,在发起方将某一参与方的第一密文数据集合经过所有其他参与方进行加密运算的过程中,每经过一个其他参与方的加密运算处理,第一密文数据集合会相应发生变化,本申请实施例中可以依次称为第二密文数据集合、第三密文数据集合、第四密文数据集合…第m密文数据集合(m表示参与方数量),表示原始数据集合经过几个参与方进行了加密运算,第m密文数据集合为最终加密结果,也就是目标密文数据集合。本申请实施例中,第一密文数据集合、第二密文数据集合、第三密文数据集合、第四密文数据集合等,均可以统称为密文数据集合。
示例性的,假设隐私集合求交的多个参与方分别为参与方0、参与方1、参与方2和参与方3,参与方0为发起方,各参与方0、1、2、3的私有加密指数分别为a、b、c、d,模指数为p,每个参与方使用自身的私有加密指数、以及模指数p对自身持有的原始数据集合进行加密运算后得到每个参与方的第一密文数据集合,并发送给发起方/参与方0。发起方/参与方0会将参与方1的第一密文数据集合(已经过私钥b加密)发送给参与方0进行加密运算,再将参与方0返回的第二密文数据集合(已经过私钥b、a加密)发送给参与方2进行加密运算,再将参与方2返回的第三密文数据集合(已经过私钥b、a、c加密)发送给参与方3进行加密运算,由于参与方3返回的第四密文数据集合(已经过私钥b、a、c、d加密)经过了所有参与方进行加密运算,因此可以作为参与方1的原始数据集合、以及第一密文数据集合对应的最终加密结果,本申请实施例中称为目标密文数据集合。同理,发起方/参与方0会将参与方0、参与方2、参与方3的第一密文数据集合均经过所有其他参与方进行加密运算,得到对应的目标密文数据集合。需要说明的是,各其他参与方进行加密运算的顺序不作限定。
以发起方/参与方0的原始数据为例,每个参与方的私有加密指数分别用a、b、c、d表示,则参与方0的原始数据集合经过所有参与方进行加密运算的方法可以通过如下公式[4]实现:
Enc2(ui)=(((H(ui)a%p)b%p)c%p)d%p=H(ui)abcd%p [4]
其中,ui表示参与方0的原始数据集合中的原始数据,n为参与方0的原始数据集合中原始数据的数量,H(x)为哈希函数,%表示模p运算,Enc2(ui)表示参与方0的目标密文数据集合中的目标密文数据。
将参与方持有的原始数据集合经所有参与方进行加密运算后,得到的目标密文数据集合可以通过如下公式[5]表示:
U={([u0]′,ID0),([u1]′,ID1),([ui]′,IDi),([un]′,IDn)}{0≤i<n} [5]
其中,[ui]′表示原始数据ui经所有参与方进行加密运算后得到的目标密文数据,IDi表示目标密文数据[ui]′对应的匿名ID,可以理解,原始数据ui、第一密文数据[ui]、以及目标密文数据[ui]′对应同一匿名ID,即IDi。([ui]′,IDi)表示由目标密文数据[ui]′与对应的匿名ID即IDi组合得到的数据元素。
在整个计算过程中,匿名ID与密文数据一直是绑定的,其他参与方只对密文数据进行加密,不会修改对应的匿名ID以及对应关系。而整个计算过程中,参与方持有的原始数据(例如手机号、身份证号)等都使用了私钥进行加密,其他参与方无法进行解密,也就保护了原始数据的安全不泄露,匿名ID是随机生成的字符串,不包含任何信息,所以即使其他参与方知道,也不能推断出任何信息。
S103、根据各参与方的目标密文数据集合,确定满足设定门限阈值的数据交集,并将所述数据交集中每个密文交集数据及对应的匿名ID同步给相关联的参与方,以使所述相关联的参与方基于所述匿名ID映射得到与所述密文交集数据相对应的原始数据。
其中,所述门限阈值用于表征所需满足的最小交集参与方数量,所述密文交集数据为各目标密文数据集合中满足所述门限阈值的目标密文数据。
在一种可选的实现方式中,根据各参与方的目标密文数据集合,确定满足设定门限阈值的数据交集,可以通过如下步骤实现:
步骤1、根据各参与方的目标密文数据集合,确定每个目标密文数据对应的至少一个参与方。
具体实施中,每个目标密文数据对应的至少一个参与方可以采用哈希表的形式存储,所述哈希表中键为目标密文数据,所述哈希表中键对应的值为所述目标密文数据对应的匿名ID数组,所述匿名ID数组中包括所述目标密文数据对应的至少一个匿名ID,所述至少一个匿名ID与所述目标密文数据对应的至少一个参与方一一对应,可以理解,对于目标密文数据对应的任一参与方来说,匿名ID数组中会包括该参与方为相应原始数据随机生成的一个匿名ID,目标密文数据对应几个参与方,匿名ID数组中就会相应包括几个匿名ID。
示例性的,假设有4个参与方,使用Ei(i={0,1,2,3})表示各参与方0、1、2、3的原始数据集合经过所有参与方进行加密运算后得到的目标密文数据集合,具体请参见公式[6]。
E0={[u0]′,[u1]′,[u2]′,[u3]′},E1={[u0]′,[u2]′,[u3]′},
E2={[u0]′,[u3]′,[u4]′,[u5]′},E3={[u1]′,[u2]′,[u3]′,[u4]′}
需要说明的是,此处仅示意性的列出了各目标密文数据集合中包括的目标密文数据,与目标密文数据相对应的匿名ID并未列出;为了便于理解数据交集的确定过程,相同原始数据对应的目标密文数据在不同参与方中采用相同的符号表示。虽然各参与方各自采用的私钥不同(例如分别为a、b、c、d),对属于不同参与方的相同原始数据进行加密运算的顺序也不同,但是原始数据经过所有参与方的私钥共同进行加密运算后,由于满足交换律,相当于采用了相同的私钥(均为abcd),如果原始数据相同,则对应的目标密文数据也相同,因此可以根据各参与方的目标密文数据集合求交。
可以理解,只要满足交换律,那么原始数据经所有秘钥进行加密运算后的最终加密结果就与秘钥的顺序无关,则相同的原始数据对应的目标密文数据就是相同的,因此,本申请实施例中采用的加密运算的方式仅是以公式[2]、[4]进行示例性说明,并不限于公式[2]、[4]所示的加密运算的方式。
在确定各参与方的数据交集的过程中,使用哈希表作为中间存储表,并遍历每个参与方的每个目标密文数据,将目标密文数据作为键(key),存储到哈希表中,哈希表的键对应的值为一个数组,数组中保存目标密文数据对应的至少一个匿名ID,至少一个匿名ID与目标密文数据对应的至少一个参与方一一对应,遍历完所有参与方的目标密文数据后,得到的哈希表如公式[7]所示:
M={[u0]′:[E0,E1,E2],
[u1]′:[E0,E3],
[u2]′:[E0,E1,E3],
[u3]′:[E0,E1,E2,E3],
[u4]′:[E2,E3],
[u5]′:[E2]}
哈希表中键为所有目标密文数据集合中各个不同的目标密文数据,对应的值为每个目标密文数据对应的至少一个参与方的匿名ID,为了便于理解,本示例中各参与方的匿名ID以参与方标识E0、E1等进行示意性表示,例如目标密文数据[u0]′对应的数组中的E0可以理解为参与方0为原始数据u0随机生成的匿名ID,E1可以理解为参与方1为原始数据u0随机生成的匿名ID,这些匿名ID都是不同的,与参与方具有一一对应关系。
步骤2、根据每个目标密文数据对应的参与方数量,将参与方数量大于或等于门限阈值的目标密文数据确定为密文交集数据,并将包括所有密文交集数据的集合作为满足设定门限阈值的数据交集。
基于目标密文数据与参与方之间的对应关系,可以确定对应的参与方数量大于或等于门限阈值的目标密文数据作为密文交集数据,将包括所有密文交集数据的集合作为满足设定门限阈值的数据交集。示例性的,如果设定的门限阈值为2,则满足条件的数据交集为:[[u0]′,[u1]′,[u2]′,[u3]′,[u4]′];如果设定的门限阈值为3,则满足条件的数据交集为:[[u0]′,[u2]′,[u3]′];如果设定的门限阈值为4,则满足条件的数据交集为:[[u3]′]。
在确定出满足门限阈值的数据交集后,需要将交集结果同步给相关联的参与方,此时,针对每个密文交集数据来说,需要将该密文交集数据、与该密文交集数据对应的至少一个参与方各自的匿名ID,分别发送给相对应的参与方,也可以将与该密文交集数据相对应的所有参与方同步给各对应的参与方;某个参与方在接收到密文交集数据及对应的匿名ID的情况下,可以根据属于自身的匿名ID,映射回与该匿名ID对应的原始数据。
示例性的,将密文交集数据[u0]′同步给相关联的参与方0、1、2的时候,需要将([u0]′,ID0)一起发送给参与方0,此处ID0表示参与方0为自身持有的原始数据u0随机生成的匿名ID,参与方0根据ID0可以映射得到原始数据u0;类似的,将[u0]′同步给参与方1的时候,需要将([u0]′,ID1)一起发送给参与方1,此处ID1表示参与方1为自身持有的原始数据u0随机生成的匿名ID,参与方1根据ID1可以映射得到原始数据u0,将[u0]′同步给参与方2的时候,需要将([u0]′,ID2)一起发送给参与方2,此处I22表示参与方2为自身持有的原始数据u0随机生成的匿名ID,参与方2根据ID2可以映射得到原始数据u0。同时,也可以将与该密文交集数据[u0]′相对应的所有参与方为参与方0、1和2,分别同步给参与方0、参与方1、以及参与方2。由于ID2、ID1、ID2是由参与方0、参与方1、参与方2分别随机生成的一个字符串,无任何实际意义,任何其他参与方或者攻击者即使获取该匿名ID,也无法推断出原始数据。
与上述应用于发起方的数据处理方法相应地,本申请实施例还提供一种数据处理方法,应用于隐私集合求交的参与方,可以理解,本实施例提供的数据处理方法适用于隐私集合求交的所有参与方,包括发起方,本实施例中仅以一个参与方执行的操作为例进行说明。请参考图2,该方法可以包括如下步骤:
S201、生成加密运算过程中的私有加密参数。
具体实施中,基于离散对数的思想,所述私有加密参数可以为私有加密指数,则步骤S201具体可以包括:
接收发起方生成的加密运算过程中所需的模指数,基于所述模指数生成自身的私有加密指数;所述模指数为指定数值范围内的质数,参与方可以基于接收到的模指数p,在模指数的数值范围内生成自身的私有加密指数及其逆元,具体的,私有加密指数可以在模指数p的数值范围内随机生成,也可以利用数学公式推导得到。
S202、基于自身的私有加密参数,对自身持有的原始数据集合进行加密运算得到第一密文数据集合,并发送给所述发起方。
参与方持有的原始数据集合中通常包括至少一个原始数据,所述至少一个原始数据与参与方随机生成的匿名ID一一对应,所述第一密文数据集合中的每个第一密文数据与对应原始数据的匿名ID绑定。
在一种可选的实现方式中,参与方可以为自身持有的原始数据集合中每个原始数据随机生成一个匿名ID,并建立原始数据与匿名ID之间的一一对应关系,不同的原始数据对应的匿名ID不同;基于自身的私有加密参数,对每个原始数据进行加密运算,得到对应的第一密文数据;将每个第一密文数据与对应的匿名ID组合为数据元素,将包括所有数据元素的集合作为所述第一密文数据集合。
具体实施中,参与方可以基于自身的私有加密指数(例如为d)、以及模指数p对自身持有的原始数据集合中每个原始数据进行加密运算,得到对应的第一密文数据,可以通过如下公式Enc1(ui)=H(ui)d%p{0≤i<n}实现;将每个第一密文数据与对应的匿名ID组合为数据元素,将包括所有数据元素的集合作为第一密文数据集合,参与方的第一密文数据集合可以表示为如下形式U={([u0],ID0),([u1],ID1),([ui],IDi),([un],IDn)}{0≤i<n}。
相应的,发起方接收到参与方的第一密文数据集合后,会在参与方的第一密文数据集合,经过除对应的参与方之外的所有其他参与方基于各自的私有加密参数进行加密运算后,获取对应的目标密文数据集合,所述目标密文数据集合中的每个目标密文数据与对应原始数据的匿名ID绑定。在整个计算过程中,参与方会接收到发起方发送的其他参与方的密文数据集合,所述密文数据集合为所述其他参与方的除目标密文数据集合之外的任一密文数据集合。示例性的,接收到的密文数据集合可以为某一其他参与方的第一密文数据集合、第二密文数据集合..第m-1密文数据集合中任意一个,m表示参与方数量。可以理解,参与方会接收到发起方发送的所有的其他参与方各自的一个密文数据集合。
相应的,所述方法还包括:
在接收到所述发起方发送的其他参与方的密文数据集合的情况下,基于自身的私有加密参数,对所述密文数据集合中每个待处理密文数据进行加密运算后返回给所述发起方。
需要说明的是,如果参与方接收到的是某一其他参与方的第一密文数据集合,则进行加密运算后返回给发起方相应的第二密文数据集合;如果参与方接收到的是某一其他参与方的第二密文数据集合,则进行加密运算后返回给发起方相应的第三密文数据集合;以此类推,如果参与方接收到的是某一其他参与方的第m-1密文数据集合,则进行加密运算后返回给发起方相应的第m密文数据集合即目标密文数据集合。
S203、在接收到所述发起方发送的第一密文交集数据及对应的匿名ID的情况下,基于所述匿名ID映射得到与所述第一密文交集数据相对应的原始数据。
所述第一密文交集数据是数据交集中与所述参与方相关联的密文交集数据,所述数据交集是所述发起方根据各参与方的目标密文数据集合确定的满足设定门限阈值的集合,所述门限阈值用于表征所需满足的最小交集参与方数量,所述密文交集数据为各目标密文数据集合中满足所述门限阈值的目标密文数据。
由于参与方建立了原始数据与匿名ID(参与方自身为原始数据随机生成的一个字符串)之间的一一对应关系,参与方在接收到第一密文交集数据及对应的匿名ID的情况下,可以根据属于自身的匿名ID,映射回与该匿名ID对应的原始数据。示例性的,假设参与方建立了匿名ID(例如123)与原始数据(例如用户手机号13800000000)之间的对应关系,如果接收到某个密文交集数据,其对应的匿名ID是123,则参与方可以映射得到与该密文交集数据相对应的原始数据即为用户手机号13800000000。
本申请实施例提供的数据处理方法,每个参与方自身持有的原始数据集合中包括至少一个原始数据,并且参与方在加密运算之前为每个原始数据随机生成一一对应的匿名ID,每个参与方基于自身的私有加密参数,对自身持有的原始数据集合进行加密运算后发送给发起方,由于每个参与方发送给发起方的数据,均使用了自身的私钥对原始数据进行加密运算,因此能够保证各个参与方的原始数据安全不泄露;发起方在每个参与方的第一密文数据集合,经过除对应的参与方之外的所有其他参与方基于各自的私有加密参数进行加密运算后,获取对应的目标密文数据集合,再根据各参与方的目标密文数据集合,确定满足设定门限阈值的数据交集,由于每个参与方的原始数据均经过了所有参与方的私钥进行加密处理,即使超过半数的参与方进行合谋,也无法解密出参与方自身持有的原始数据,从而保证了计算过程中间数据的安全性;本方案无需第三方可信节点的参与,通过发起方根据各个参与方的目标密文数据集合能够安全的计算出交集参与方数量满足阈值条件的数据交集,由于目标密文数据集合中每个目标密文数据与对应原始数据的匿名ID是绑定的,所有可以将数据交集中每个密文交集数据及对应的匿名ID发送给相关联的参与方,相关联的参与方可以基于接收到的密文交集数据对应的匿名ID、以及原始数据与匿名ID的一一对应关系,映射回与密文交集数据相对应的原始数据,其他参与方即使获取交集结果,也无法逆推出参与方自身持有的原始数据,故而保证了各参与方的原始数据安全不泄露;本方案无需通过排列组合进行多次计算任务,能够在一次计算任务中实现基于门限的隐私集合求交,不受参与方数量的影响,从而大幅降低计算的复杂度,提升计算效率。
下面以金融领域打击恶意代理维权/恶意投诉的应用场景为例,对本申请实施例提供的数据处理方法进行示例性说明,采用基于离散对数问题的门限隐私集合求交算法实现。由多家金融机构参与的打击金融领域黑产(AIF)联盟旨在通过AIF数据共享平台的建设,实现联盟内黑产成员的发掘和打击,需要在联盟成员内,找出对多家金融机构进行过恶意代理维权/恶意投诉的恶意机构或者个人,多家金融机构(联盟成员)相当于多个参与方,找出的满足设定条件的恶意机构或者个人形成一张恶意名单,恶意名单相当于数据交集。每个联盟成员自身持有一张原始名单,原始名单中记录对本金融机构进行过恶意代理维权/恶意投诉的恶意机构或者个人,具体的可以通过手机号、身份证号等唯一性标识来指代相应的恶意机构或者个人,一个恶意机构或者个人的手机号、身份证号等唯一性标识可以称为一个原始身份ID,联盟成员持有的原始名单相当于原始数据集合,原始名单中一个原始身份ID相当于一个原始数据。其中,对于满足设定条件的恶意名单,需要尽最大可能的找出该恶意名单危害的联盟成员,同时在计算过程中,也要保证所有联盟成员的其他正常名单数据不被泄露。
请参考图3,为本申请的一个实施例提供的一种打击恶意代理维权/恶意投诉的应用场景下数据处理方法的流程示意图,该方法可以包括秘钥生成、数据加密、交集计算三个阶段,具体包括如下步骤:
步骤1、由隐私集合求交的发起方,生成加密运算过程中所需的模指数p,并将该模指数p发送给所有参与方;
示例性的,本次隐私集合求交包括四个参与方,分别为参与方0、1、2、3,其中参与方0为发起方。可以理解,在当前应用场景下,上述参与方均为联盟成员,每个参与方自身持有的原始名单中每个原始身份ID即为一个原始数据,参与方持有的原始名单即为原始数据集合,原始名单中包括参与方自身持有的所有原始身份ID。
步骤2、各个参与方接收发起方发送的模指数p,基于发起方生成的模指数p,在模指数p的数值范围内生成自身的私有加密指数及其逆元。
示例性的,发起方/参与方0生成的私有加密指数为a,参与方1生成的私有加密指数为b,参与方2生成的私有加密指数为c,参与方3生成的私有加密指数为d。
步骤3、各个参与方使用自身的私有加密指数、以及模指数p,对自身持有的原始名单中每个原始身份ID进行加密运算得到对应的第一密文名单,并发送给发起方。
示例性的,参与方3为每个原始身份ID随机生成一个匿名ID,参与方3可以通过公式Enc1(ui)=H(ui)d%p{0≤i<n}进行加密运算,其中,ui表示参与方3持有的身份ID,n为参与方3持有的原始名单中原始身份ID的数量,H(x)为哈希函数。并且,参与方3分别将每个原始身份ID进行加密运算后得到的第一密文身份ID与对应的匿名ID组合为一个数据元素,将所有数据元素组合得到参与方3的第一密文名单,然后参与方3将第一密文名单发送给发起方/参与方0。参与方3对应的第一密文名单中的数据元素可以如公式所示。
参与方0、参与方1、参与方2对自身持有的原始名单进行加密运算的方法请参考参与方3,只是使用的私有加密指数不同,具体不再赘述。类似的,参与方0对应的第一密文名单中的数据元素可以如公式 所示,参与方1对应的第一密文名单中的数据元素可以如公式/>所示,参与方2对应的第一密文名单中的数据元素可以如公式/>所示。为了便于区分,不同参与方自身持有的原始名单中各原始身份ID采用不同的参数表示。
步骤4、发起方/参与方0接收到所有参与方的第一密文名单后,遍历所有参与方(包括参与方0自身),在每个参与方的第一密文名单,经过除对应的参与方之外的所有其他参与方进行加密运算后,即所有的第一密文名单均经过所有的其他参与方依次进行加密运算后结束,得到每个参与方的目标密文名单,目标密文名单中每个目标密文身份ID与对应原始身份ID的匿名ID绑定。相应的,每个参与方使用自身的私有加密指数,加密发起方发送的其他参与方的密文名单并返回给发起方,密文名单包括其他参与方的第一密文名单、第二密文名单、第三密文名单之一。
示例性的,以发起方/参与方0的数据为例,其中各个参与方的私有加密指数分别为a、b、c、d,参与方0的数据经过本轮加密运算后的数据可以通过公式Enc2(xi)=(((H(xi)a%p)b%p)c%p)d%p=H(xi)abcd%p表示。
步骤5、发起方/参与方0根据各参与方的目标密文名单,确定每个目标密文身份ID对应的至少一个参与方,可以理解,针对任一目标密文身份ID来说,其对应的至少一个参与方会分别对应有一个匿名ID,该匿名ID正是该参与方为该目标密文身份ID对应的原始身份ID随机生成的那个匿名ID;计算过程就是求各个参与方的所有目标密文身份ID的交集,可以使用哈希表作为中间存储表。
步骤6、根据设定的门限阈值,确定满足阈值条件的恶意名单;基于目标密文身份ID和参与方之间的对应关系,可以将参与方数量大于或等于设定门限阈值的目标密文身份ID确定为密文交集身份ID,将包括所有密文交集身份ID的集合作为恶意名单。
步骤7、在确定出满足门限阈值的恶意名单(满足设定条件的目标密文身份ID的交集结果)后,需要将交集结果同步给相关联的参与方,此时,需要将恶意名单中每个密文交集身份ID、与每个密文交集身份ID对应的各个参与方的匿名ID,分别发送给相对应的参与方;某个参与方在接收到密文交集身份ID及对应的匿名ID的情况下,可以根据属于自身的匿名ID,映射回与该匿名ID对应的原始身份ID(恶意机构或者个人的手机号、身份证号等)。
在实际应用中,隐私集合求交存在着半诚实模型和恶意模型两种攻击模型。半诚实模型是指所有参与方都是半诚实或诚实的,半诚实成员完全遵守协议,但会收集协议执行过程中的所有记录,并试图推断其他成员的输入,半诚实模型中的攻击者是被动的。恶意模型是指有恶意参与方的模型,恶意参与方完全按照攻击者的意愿执行协议的各个步骤,不但将自身的所有输入、输出以及中间数据泄露给攻击者,还可以根据攻击者的意图改变改变输入数据、伪造中间数据及输出数据,甚至终止协议,恶意模型中的攻击者是主动的。
通过上述数据处理方法,可以得到所有参与方中满足门限阈值的交集结果,不满足阈值条件的数据是严格保密的,各个参与方在无需第三方可信节点的参与下,能够安全的计算出交集参与方数量满足阈值条件的集合;每个参与方的数据在发出时,都使用了自身的私有加密指数(大指数)进行加密处理,基于离散对数的思想,在不知道原始数据和私有加密指数的情况下,想要推理出原始数据,非常困难;计算过程中由于原始数据经过了所有参与方的加密,即使超过半数的参与方进行合谋,也无法解密出原始数据,从而保证了中间数据的安全性,因此能够抵御半诚实模型和恶意模型的攻击,在上述两种攻击模型下均能保证各个参与方的数据隐私;本方案相对于使用排列组合方式的隐私集合求交,计算效率大幅的提升,并且不受参与方数量的影响。
上述打击恶意代理维权/恶意投诉的应用场景仅是本申请实施例所提供方法的应用场景示例性说明,本申请实施例提供的数据处理方法还可以应用于其他基于门限的隐私集合求交的应用场景。
此外,与上述图1所示的数据处理方法相对应地,本申请实施例还提供一种数据处理方法装置,设置于隐私集合求交的发起方。图4是本申请实施例提供的一种数据处理方法装置400的结构示意图,包括:
接收模块401,用于获取每个参与方基于自身的私有加密参数,对自身持有的原始数据集合进行加密运算后发送的第一密文数据集合;其中,所述发起方为隐私集合求交的多个参与方中任一参与方,所述每个参与方自身持有的原始数据集合中包括至少一个原始数据,所述至少一个原始数据与所述参与方随机生成的匿名ID一一对应,所述第一密文数据集合中的每个第一密文数据与对应原始数据的匿名ID绑定;
分发模块402,用于在所述每个参与方的第一密文数据集合,经过除对应的参与方之外的所有其他参与方基于各自的私有加密参数进行加密运算后,获取对应的目标密文数据集合;其中,所述目标密文数据集合中的每个目标密文数据与对应原始数据的匿名ID绑定;
求交模块403,用于根据各参与方的目标密文数据集合,确定满足设定门限阈值的数据交集;其中,所述门限阈值用于表征所需满足的最小交集参与方数量;
同步模块404,用于将所述数据交集中每个密文交集数据及对应的匿名ID同步给相关联的参与方,以使所述相关联的参与方基于所述匿名ID映射得到与所述密文交集数据相对应的原始数据;其中,所述密文交集数据为各目标密文数据集合中满足所述门限阈值的目标密文数据。
在一种可选的实现方式中,所述每个参与方的第一密文数据集合中包括至少一个由第一密文数据与对应的匿名ID组合得到的数据元素,所述第一密文数据由所述参与方所持有的原始数据集合中的原始数据经过所述参与方自身进行加密运算后得到。
在一种可选的实现方式中,所述分发模块402,具体用于遍历所有参与方,针对任一当前的参与方执行如下操作:将当前的参与方的第一密文数据集合发送给除所述当前的参与方之外的一个其他参与方,以获取其进行加密运算后返回的第二密文数据集合,并将该返回的第二密文数据集合发送给下一其他参与方进行加密运算,直至所述第一密文数据集合经过所有其他参与方进行加密运算后结束,得到所述当前的参与方的目标密文数据集合;其中,所述当前的参与方的目标密文数据集合中包括至少一个由目标密文数据与对应的匿名ID组合得到的数据元素,所述目标密文数据由当前的参与方所持有的原始数据集合中的原始数据经过所有参与方进行加密运算后得到。
在一种可选的实现方式中,所述求交模块403可以包括:
第一求交子模块,用于根据各参与方的目标密文数据集合,确定每个目标密文数据对应的至少一个参与方;
第二求交子模块,用于根据每个目标密文数据对应的参与方数量,将参与方数量大于或等于所述门限阈值的目标密文数据确定为密文交集数据,将包括所有密文交集数据的集合作为满足设定门限阈值的数据交集。
具体实施中,所述每个目标密文数据对应的至少一个参与方以哈希表的形式存储,所述哈希表中键为目标密文数据,所述哈希表中键对应的值为所述目标密文数据对应的匿名ID数组,所述匿名ID数组中包括所述目标密文数据对应的至少一个匿名ID,所述至少一个匿名ID与所述目标密文数据对应的至少一个参与方一一对应。可以理解,与某个参与方对应的匿名ID是在加密运算之前,该参与方为所述目标密文数据对应的原始数据随机生成的那个匿名ID。
在一种可选的实现方式中,所述同步模块404,具体用于针对所述数据交集中每个密文交集数据,将所述密文交集数据分别发送给相对应的至少一个参与方,并针对每个相对应的参与方同时发送其为所述密文交集数据对应的原始数据随机生成的匿名ID。
在一种可选的实现方式中,所述私有加密参数包括私有加密指数;所述装置400还可包括:
模指数生成模块405,用于生成加密运算过程中所需的模指数,并发送给所有参与方,以使每个参与方基于所述模指数生成自身的私有加密指数,所述模指数为指定数值范围内的质数,所述私有加密指数在所述模指数的数值范围内生成。
显然,本申请实施例的数据处理方法装置400可以作为上述图1所示的数据处理方法的执行主体,因此能够实现数据处理方法在图1所实现的功能。由于原理相同,在此不再赘述。
此外,与上述图2所示的数据处理方法相对应地,本申请实施例还提供一种数据处理方法装置,设置于隐私集合求交的参与方。图5是本申请实施例提供的一种数据处理方法装置500的结构示意图,包括:
私钥生成模块501,用于生成加密运算过程中的私有加密参数;
加密模块502,用于基于自身的私有加密参数,对自身持有的原始数据集合进行加密运算得到第一密文数据集合,并发送给发起方,以使所述发起方在所述第一密文数据集合,经过除对应的参与方之外的所有其他参与方基于各自的私有加密参数进行加密运算后,获取对应的目标密文数据集合;其中,所述参与方的原始数据集合中包括至少一个原始数据,所述至少一个原始数据与所述参与方随机生成的匿名ID一一对应,所述第一密文数据集合中的每个第一密文数据与对应原始数据的匿名ID绑定,所述目标密文数据集合中的每个目标密文数据与对应原始数据的匿名ID绑定,所述发起方为隐私集合求交的多个参与方中任一参与方;
映射模块503,用于在接收到所述发起方发送的第一密文交集数据及对应的匿名ID的情况下,基于所述匿名ID映射得到与所述第一密文交集数据相对应的原始数据;其中,所述第一密文交集数据是数据交集中与所述参与方相关联的密文交集数据,所述数据交集是所述发起方根据各参与方的目标密文数据集合确定的满足设定门限阈值的集合,所述门限阈值用于表征所需满足的最小交集参与方数量,所述密文交集数据为各目标密文数据集合中满足所述门限阈值的目标密文数据。
在一种可选的实现方式中,所述加密模块502,可以包括:
映射建立子模块,用于为自身持有的原始数据集合中每个原始数据随机生成一个匿名ID,并建立原始数据与匿名ID之间的一一对应关系;
加密子模块,用于基于自身的私有加密参数,对所述原始数据集合中每个原始数据进行加密运算,得到对应的第一密文数据;将每个第一密文数据与对应的匿名ID组合为数据元素,将包括所有数据元素的集合作为所述第一密文数据集合,并发送给所述发起方。
在一种可选的实现方式中,所述加密子模块,还用于在接收到所述发起方发送的其他参与方的密文数据集合的情况下,基于自身的私有加密参数,对所述密文数据集合中每个密文数据进行加密运算后返回给所述发起方,所述密文数据集合为所述其他参与方的除目标密文数据集合之外的任一密文数据集合。
在一种可选的实现方式中,所述私有加密参数包括私有加密指数;
所述私钥生成模块501,具体用于接收发起方生成的加密运算过程中所需的模指数,基于所述模指数生成自身的私有加密指数,所述模指数为指定数值范围内的质数,所述私有加密指数在所述模指数的数值范围内生成;
所述加密子模块,具体用于将待处理数据集合中每个待处理数据经哈希函数进行哈希运算处理后,先通过所述参与方自身的私有加密指数进行指数运算处理,再通过所述模指数进行模运算处理;其中,所述待处理数据集合包括所述参与方所持有的原始数据集合、或者所述发起方向所述参与方发送的密文数据集合。
显然,本申请实施例的数据处理方法装置500可以作为上述图2所示的数据处理方法的执行主体,因此能够实现数据处理方法在图2所实现的功能。由于原理相同,在此不再赘述。
本申请实施例提供的数据处理方法装置,无需通过排列组合进行多次计算任务,能够在一次计算任务中实现基于门限的隐私集合求交,不受参与方数量的影响,能够大幅降低计算的复杂度,提升计算效率;在计算过程中,每个参与方的原始数据都使用了自身的一个私有加密参数进行加密运算,其他参与方即使获取交集结果,也无法逆推出参与方自身持有的原始数据,故而保证了各参与方的原始数据安全不泄露;仅计算满足设定门限阈值的密文交集数据,且仅将密文交集数据发送给相关联的参与方,保证了数据的隐私性。
图6是本申请的一个实施例电子设备的结构示意图。请参考图6,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成数据处理方法装置。处理器,执行存储器所存放的程序,并具体用于执行实现上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
上述如本申请实施例揭示的数据处理方法装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该程序或指令被处理器执行时实现上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
Claims (15)
1.一种数据处理方法,其特征在于,应用于隐私集合求交的发起方,包括:
获取每个参与方基于自身的私有加密参数,对自身持有的原始数据集合进行加密运算后发送的第一密文数据集合;其中,所述发起方为隐私集合求交的多个参与方中任一参与方,所述每个参与方自身持有的原始数据集合中包括至少一个原始数据,所述至少一个原始数据与所述参与方随机生成的匿名标识ID一一对应,所述第一密文数据集合中的每个第一密文数据与对应原始数据的匿名ID绑定;
在所述每个参与方的第一密文数据集合,经过除对应的参与方之外的所有其他参与方基于各自的私有加密参数进行加密运算后,获取对应的目标密文数据集合;其中,所述目标密文数据集合中的每个目标密文数据与对应原始数据的匿名ID绑定;
根据各参与方的目标密文数据集合,确定满足设定门限阈值的数据交集,并将所述数据交集中每个密文交集数据及对应的匿名ID同步给相关联的参与方,以使所述相关联的参与方基于所述匿名ID映射得到与所述密文交集数据相对应的原始数据;其中,所述门限阈值用于表征所需满足的最小交集参与方数量,所述密文交集数据为各目标密文数据集合中满足所述门限阈值的目标密文数据。
2.根据权利要求1所述的方法,其特征在于,所述每个参与方的第一密文数据集合中包括至少一个由第一密文数据与对应的匿名ID组合得到的数据元素,所述第一密文数据由所述参与方所持有的原始数据集合中的原始数据经过所述参与方自身进行加密运算后得到。
3.根据权利要求2所述的方法,其特征在于,所述在所述每个参与方的第一密文数据集合,经过除对应的参与方之外的所有其他参与方基于各自的私有加密参数进行加密运算后,获取对应的目标密文数据集合,包括:
遍历所有参与方,针对任一当前的参与方执行如下操作:将当前的参与方的第一密文数据集合发送给除所述当前的参与方之外的一个其他参与方,以获取其进行加密运算后返回的第二密文数据集合,并将所述返回的第二密文数据集合发送给下一其他参与方进行加密运算,直至所述第一密文数据集合经过所有其他参与方进行加密运算后结束,得到所述当前的参与方的目标密文数据集合;
其中,所述当前的参与方的目标密文数据集合中包括至少一个由目标密文数据与对应的匿名ID组合得到的数据元素,所述目标密文数据由当前的参与方所持有的原始数据集合中的原始数据经过所有参与方进行加密运算后得到。
4.根据权利要求1所述的方法,其特征在于,所述根据各参与方的目标密文数据集合,确定满足设定门限阈值的数据交集,包括:
根据各参与方的目标密文数据集合,确定每个目标密文数据对应的至少一个参与方;
根据每个目标密文数据对应的参与方数量,将参与方数量大于或等于所述门限阈值的目标密文数据确定为密文交集数据,并将包括所有密文交集数据的集合作为满足设定门限阈值的数据交集。
5.根据权利要求4所述的方法,其特征在于,所述每个目标密文数据对应的至少一个参与方以哈希表的形式存储,所述哈希表中键为目标密文数据,所述哈希表中键对应的值为所述目标密文数据对应的匿名ID数组,所述匿名ID数组中包括所述目标密文数据对应的至少一个匿名ID,所述至少一个匿名ID与所述目标密文数据对应的至少一个参与方一一对应。
6.根据权利要求5所述的方法,其特征在于,所述将数据交集中每个密文交集数据及对应的匿名ID同步给相关联的参与方,包括:
针对所述数据交集中每个密文交集数据,将所述密文交集数据分别发送给相对应的至少一个参与方,并针对每个相对应的参与方同时发送其为所述密文交集数据对应的原始数据随机生成的匿名ID。
7.根据权利要求1所述的方法,其特征在于,所述私有加密参数包括私有加密指数;所述方法还包括:
生成加密运算过程中所需的模指数,并发送给所有参与方,以使每个参与方基于所述模指数生成自身的私有加密指数,所述模指数为指定数值范围内的质数,所述私有加密指数在所述模指数的数值范围内生成。
8.一种数据处理方法,其特征在于,应用于隐私集合求交的参与方,包括:
生成加密运算过程中的私有加密参数;
基于自身的私有加密参数,对自身持有的原始数据集合进行加密运算得到第一密文数据集合,并发送给发起方,以使所述发起方在所述第一密文数据集合,经过除对应的参与方之外的所有其他参与方基于各自的私有加密参数进行加密运算后,获取对应的目标密文数据集合;其中,所述参与方的原始数据集合中包括至少一个原始数据,所述至少一个原始数据与所述参与方随机生成的匿名ID一一对应,所述第一密文数据集合中的每个第一密文数据与对应原始数据的匿名ID绑定,所述目标密文数据集合中的每个目标密文数据与对应原始数据的匿名ID绑定,所述发起方为隐私集合求交的多个参与方中任一参与方;
在接收到所述发起方发送的第一密文交集数据及对应的匿名ID的情况下,基于所述匿名ID映射得到与所述第一密文交集数据相对应的原始数据;其中,所述第一密文交集数据是数据交集中与所述参与方相关联的密文交集数据,所述数据交集是所述发起方根据各参与方的目标密文数据集合确定的满足设定门限阈值的集合,所述门限阈值用于表征所需满足的最小交集参与方数量,所述密文交集数据为各目标密文数据集合中满足所述门限阈值的目标密文数据。
9.根据权利要求8所述的方法,其特征在于,所述基于自身的私有加密参数,对自身持有的原始数据集合进行加密运算得到第一密文数据集合,包括:
为自身持有的原始数据集合中每个原始数据随机生成一个匿名ID,并建立原始数据与匿名ID之间的一一对应关系;
基于自身的私有加密参数,对所述原始数据集合中每个原始数据进行加密运算,得到对应的第一密文数据;
将每个第一密文数据与对应的匿名ID组合为数据元素,将包括所有数据元素的集合作为所述第一密文数据集合。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在接收到所述发起方发送的其他参与方的密文数据集合的情况下,基于自身的私有加密参数,对所述密文数据集合中每个密文数据进行加密运算后返回给所述发起方,所述密文数据集合为所述其他参与方的除目标密文数据集合之外的任一密文数据集合。
11.根据权利要求8所述的方法,其特征在于,所述私有加密参数包括私有加密指数;所述生成加密运算过程中所述参与方自身的私有加密参数,包括:
接收发起方生成的加密运算过程中所需的模指数,基于所述模指数生成自身的私有加密指数,所述模指数为指定数值范围内的质数,所述私有加密指数在所述模指数的数值范围内生成;
所述参与方基于自身的私有加密参数进行加密运算的方法,包括:
将待处理数据集合中每个待处理数据经哈希函数进行哈希运算处理后,先通过所述参与方自身的私有加密指数进行指数运算处理,再通过所述模指数进行模运算处理;其中,所述待处理数据集合包括所述参与方所持有的原始数据集合、或者所述发起方向所述参与方发送的密文数据集合。
12.一种数据处理方法装置,其特征在于,设置于隐私集合求交的发起方,包括:
接收模块,用于获取每个参与方基于自身的私有加密参数,对自身持有的原始数据集合进行加密运算后发送的第一密文数据集合;其中,所述发起方为隐私集合求交的多个参与方中任一参与方,所述每个参与方自身持有的原始数据集合中包括至少一个原始数据,所述至少一个原始数据与所述参与方随机生成的匿名ID一一对应,所述第一密文数据集合中的每个第一密文数据与对应原始数据的匿名ID绑定;
分发模块,用于在所述每个参与方的第一密文数据集合,经过除对应的参与方之外的所有其他参与方基于各自的私有加密参数进行加密运算后,获取对应的目标密文数据集合;其中,所述目标密文数据集合中的每个目标密文数据与对应原始数据的匿名ID绑定;
求交模块,用于根据各参与方的目标密文数据集合,确定满足设定门限阈值的数据交集;其中,所述门限阈值用于表征所需满足的最小交集参与方数量;
同步模块,用于将所述数据交集中每个密文交集数据及对应的匿名ID同步给相关联的参与方,以使所述相关联的参与方基于所述匿名ID映射得到与所述密文交集数据相对应的原始数据;其中,所述密文交集数据为各目标密文数据集合中满足所述门限阈值的目标密文数据。
13.一种数据处理方法装置,其特征在于,设置于隐私集合求交的参与方,包括:
私钥生成模块,用于生成加密运算过程中的私有加密参数;
加密模块,用于基于自身的私有加密参数,对自身持有的原始数据集合进行加密运算得到第一密文数据集合,并发送给发起方,以使所述发起方在所述第一密文数据集合,经过除对应的参与方之外的所有其他参与方基于各自的私有加密参数进行加密运算后,获取对应的目标密文数据集合;其中,所述参与方的原始数据集合中包括至少一个原始数据,所述至少一个原始数据与所述参与方随机生成的匿名ID一一对应,所述第一密文数据集合中的每个第一密文数据与对应原始数据的匿名ID绑定,所述目标密文数据集合中的每个目标密文数据与对应原始数据的匿名ID绑定,所述发起方为隐私集合求交的多个参与方中任一参与方;
映射模块,用于在接收到所述发起方发送的第一密文交集数据及对应的匿名ID的情况下,基于所述匿名ID映射得到与所述第一密文交集数据相对应的原始数据;其中,所述第一密文交集数据是数据交集中与所述参与方相关联的密文交集数据,所述数据交集是所述发起方根据各参与方的目标密文数据集合确定的满足设定门限阈值的集合,所述门限阈值用于表征所需满足的最小交集参与方数量,所述密文交集数据为各目标密文数据集合中满足所述门限阈值的目标密文数据。
14.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的数据处理方法,或者,以实现如权利要求8至11中任一项所述的数据处理方法。
15.一种计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至7中任一项所述的数据处理方法,或者,使得电子设备能够执行如权利要求8至11中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310604964.6A CN117494150A (zh) | 2023-05-25 | 2023-05-25 | 一种数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310604964.6A CN117494150A (zh) | 2023-05-25 | 2023-05-25 | 一种数据处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117494150A true CN117494150A (zh) | 2024-02-02 |
Family
ID=89678846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310604964.6A Pending CN117494150A (zh) | 2023-05-25 | 2023-05-25 | 一种数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117494150A (zh) |
-
2023
- 2023-05-25 CN CN202310604964.6A patent/CN117494150A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI706279B (zh) | 多方安全計算方法及裝置、電子設備 | |
Zhao et al. | Secure multi-party computation: theory, practice and applications | |
TWI840358B (zh) | 用以使用區塊鏈來執行基元式互換之電腦實施系統及方法 | |
WO2020034751A1 (zh) | 多方安全计算方法及装置、电子设备 | |
CN110138802B (zh) | 用户特征信息获取方法、装置,区块链节点、网络,及存储介质 | |
Tsai et al. | Novel anonymous authentication scheme using smart cards | |
CN111476572B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
CN112508722B (zh) | 一种基于零知识证明的保单信息验证方法和装置 | |
TW201923618A (zh) | 資料統計方法和裝置 | |
US20230308287A1 (en) | Threshold signatures | |
CN114329527A (zh) | 交集数据获取方法、设备和系统 | |
CN109981576B (zh) | 密钥迁移方法和装置 | |
CN112073196B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
Li et al. | SPFM: Scalable and privacy-preserving friend matching in mobile cloud | |
US8923519B2 (en) | Method of efficient secure function evaluation using resettable tamper-resistant hardware tokens | |
CN113434906B (zh) | 数据查询方法、装置、计算机设备及存储介质 | |
Costantino et al. | Investigating the privacy versus forwarding accuracy tradeoff in opportunisticinterest-casting | |
CN112597542A (zh) | 目标资产数据的聚合方法及装置、存储介质、电子装置 | |
CN116743376A (zh) | 基于高效密文混淆技术的多方秘密分享数据隐私比较方法 | |
CN117478303B (zh) | 区块链隐蔽通信方法、系统和计算机设备 | |
CN117036005A (zh) | 基于隐私求交的贷款风险评估方法及装置、电子设备 | |
CN117033012A (zh) | 接口调用黑名单的查询方法及装置、电子设备及存储介质 | |
CN111371785A (zh) | 一种区块链隐私交易方法、装置和电子设备 | |
CN110807211A (zh) | 安全获取用户交集的方法、系统、可读介质及电子设备 | |
CN116561791A (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 |