CN113312641B - 多点多方的数据交互方法、系统、电子装置和存储介质 - Google Patents
多点多方的数据交互方法、系统、电子装置和存储介质 Download PDFInfo
- Publication number
- CN113312641B CN113312641B CN202110616283.2A CN202110616283A CN113312641B CN 113312641 B CN113312641 B CN 113312641B CN 202110616283 A CN202110616283 A CN 202110616283A CN 113312641 B CN113312641 B CN 113312641B
- Authority
- CN
- China
- Prior art keywords
- initiator
- matrix
- participant
- party
- verification
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 230000003993 interaction Effects 0.000 title claims abstract description 36
- 238000003860 storage Methods 0.000 title claims abstract description 11
- 239000011159 matrix material Substances 0.000 claims abstract description 378
- 239000003999 initiator Substances 0.000 claims abstract description 360
- 238000012795 verification Methods 0.000 claims abstract description 188
- 238000004364 calculation method Methods 0.000 claims abstract description 57
- 239000013598 vector Substances 0.000 claims description 110
- 238000013507 mapping Methods 0.000 claims description 96
- 230000006870 function Effects 0.000 claims description 58
- 230000005540 biological transmission Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 11
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 31
- 238000005516 engineering process Methods 0.000 abstract description 11
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 235000006629 Prosopis spicigera Nutrition 0.000 description 1
- 240000000037 Prosopis spicigera Species 0.000 description 1
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification 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
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及一种多点多方的数据交互方法、系统、电子装置和存储介质,其中,该多点多方的数据交互方法包括:发起方分别与每个参与方进行隐私交集计算,发起方构造发起方第一验证矩阵;每个参与方得到参与方第一验证矩阵后,通过加密矩阵得到参与方第二验证矩阵,并将与参与方第二验证矩阵发送至发起方;发起方根据多个发起方第一验证矩阵与多个参与方第二验证矩阵,确定发起方和参与方的数据交集。通过本申请,解决了相关技术中基于两两对比形成多方交集,会导致参与方的隐私泄露,数据安全性较低的问题,提高了数据交集计算过程的效率和安全性,使得用户的数据隐私得到保证。
Description
技术领域
本申请涉及联邦学习技术领域,特别是涉及多点多方的数据交互方法、系统、电子装置和存储介质。
背景技术
隐私交集(Private Set Intersection,简称为PSI)是联邦学习计算中应用最为广泛的技术。两方的隐私交集是指两个参与方各自拥有自己的数据集合,在通过联邦计算之后,可以获得双方的交集,但是双方都不知道交集以外对方的数据。进一步地,多方隐私交集是指多个参与方可以分别获得所有参与方的共同交集,但是不揭露任何共同交集之外的额外信息。隐私交集的应用场景非常的广泛,例如黑名单查询,广告推荐,电子水印,匿名指纹,匿名数据挖掘等等。
在相关技术中,多方PSI技术建立于两两比较的基础之上,采用两方的交集结果与第三方的集合进行PSI,这样一些参与方会获得额外信息,导致隐私泄露,数据安全性较低,例如,在有A、B、C三方参与的情况下,A方可以获取到与B方的两方交集,然后A方用两方交集与C方进行比较,得到三方交集,如此A方就获得了三方交集以外的额外信息,即两方交集中不属于三方交集的部分,降低了隐私数据交集计算过程中的安全性。
目前针对相关技术中基于两两对比形成多方交集,会导致参与方的隐私泄露,数据安全性较低的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种多点多方的数据交互方法、系统、电子装置和存储介质,以至少解决相关技术中基于两两对比形成多方交集,会导致参与方的隐私泄露,数据安全性较低的问题。
第一方面,本申请实施例提供了一种多点多方的数据交互方法,包括:
发起方和多个参与方确定安全长度和映射函数,多个参与方获取加密矩阵;
根据发起方数据、参与方数据和所述映射函数,所述发起方分别与每个所述参与方进行两方的隐私交集计算,所述隐私交集计算包括:每个所述参与方随机生成参与方随机矩阵,所述发起方得到多个发起方验证向量;
所述发起方根据每个所述发起方验证向量构造发起方第一验证矩阵,其中,所述发起方第一验证矩阵与所述参与方对应;
每个所述参与方根据与自身对应的参与方数据和所述映射函数在所述参与方随机矩阵中进行查找,得到参与方第一验证矩阵;
每个所述参与方将与自身对应的参与方第二验证矩阵发送至所述发起方,其中,根据所述参与方第一验证矩阵与所述加密矩阵得到所述参与方第二验证矩阵;
所述发起方根据多个所述发起方第一验证矩阵与多个所述参与方第二验证矩阵,确定所述发起方和所述参与方的数据交集。
在其中一些实施例中,所述发起方根据多个所述发起方第一验证矩阵与多个所述参与方第二验证矩阵,确定所述发起方和所述参与方的数据交集包括:
所述发起方根据所有所述发起方第一验证矩阵进行逻辑运算,得到发起方第二验证矩阵;
所述发起方根据所有所述参与方第二验证矩阵进行逻辑运算,得到参与方第三验证矩阵;
所述发起方根据所述发起方第二验证矩阵和所述参与方第三验证矩阵中的行是否相等,判断所述发起方和所述参与方是否具有数据交集。
在其中一些实施例中,所述发起方根据所述发起方第二验证矩阵和所述参与方第三验证矩阵中的行是否相等,判断所述发起方和所述参与方是否具有数据交集包括:
在所述发起方第二验证矩阵和所述参与方第三验证矩阵中的行均不相等的情况下,交换所述参与方第二验证矩阵中的两行,根据交换后的参与方第二验证矩阵对参与方第三验证矩阵进行更新;
将所述发起方第二验证矩阵和更新后的参与方第三验证矩阵中的行进行对比,直到遍历完所述第二验证矩阵中的所有行。
在其中一些实施例中,所述发起方验证向量的获取方法包括:
所述参与方根据所述映射函数对自身的参与方用户数据进行映射,得到参与方映射向量;
所述参与方根据所有所述参与方映射向量中的元素值以及该元素值的位置,在所述参与方随机矩阵中查找参与方映射矩阵中的部分元素值,所述参与方映射矩阵中的其他元素值根据所述参与方随机矩阵中对应位置的元素值取反得到;
所述发起方根据所述安全长度生成发起方随机向量;
所述发起方根据所述发起方随机向量中的元素值以及该元素值的位置,对所述参与方发起不经意传输,通过不经意传输获取所述参与方随机矩阵和所述参与方映射矩阵中的列,生成发起方映射矩阵;
所述发起方根据所述映射函数对发起方用户数据进行映射,得到发起方映射向量;
所述发起方根据所述发起方映射向量中的元素值以及该元素值的位置,在所述发起方映射矩阵中进行查找,生成发起方验证向量。
在其中一些实施例中,每个所述参与方根据与自身对应的参与方数据和所述映射函数在所述参与方随机矩阵中进行查找,得到参与方第一验证矩阵包括:
所述参与方根据每个所述参与方映射向量中的元素值以及该元素值的位置,在所述参与方随机矩阵中进行查找,得到参与方验证向量;
所述参与方根据多个所述参与方验证向量,得到参与方第一验证矩阵。
在其中一些实施例中,所述多个参与方获取加密矩阵包括:
多个所述参与方随机排序,排序中位置相邻的两个参与方确定与所述两个参与方对应的加密矩阵。
在其中一些实施例中,根据所述参与方第一验证矩阵与所述加密矩阵得到所述参与方第二验证矩阵包括:
每个所述参与方根据所述参与方第一验证矩阵、第一加密矩阵和第二加密矩阵得到所述参与方第二验证矩阵,其中,所述第一加密矩阵由所述参与方与所述排序中前一个相邻参与方确定,所述第二加密矩阵由所述参与方与所述排序中后一个相邻参与方确定。
第二方面,本申请实施例提供了一种多点多方的数据交互系统,包括发起方和多个参与方:
发起方和多个参与方确定安全长度和映射函数,多个参与方获取加密矩阵;
根据发起方数据、参与方数据和所述映射函数,所述发起方分别与每个所述参与方进行两方的隐私交集计算,所述隐私交集计算包括:每个所述参与方随机生成参与方随机矩阵,所述发起方得到多个发起方验证向量;
所述发起方根据每个所述发起方验证向量构造发起方第一验证矩阵,其中,所述发起方第一验证矩阵与所述参与方对应;
每个所述参与方根据与自身对应的参与方数据和所述映射函数在所述参与方随机矩阵中进行查找,得到参与方第一验证矩阵;
每个所述参与方将与自身对应的参与方第二验证矩阵发送至所述发起方,其中,根据所述参与方第一验证矩阵与所述加密矩阵得到所述参与方第二验证矩阵;
所述发起方根据多个所述发起方第一验证矩阵与多个所述参与方第二验证矩阵,确定所述发起方和所述参与方的数据交集。
第三方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的多点多方的数据交互方法。
第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的多点多方的数据交互方法的步骤。
相比于相关技术,本申请实施例提供的多点多方的数据交互方法,通过发起方和多个参与方确定安全长度和映射函数,多个参与方获取加密矩阵;根据发起方数据、参与方数据和映射函数,发起方分别与每个参与方进行隐私交集计算,每个参与方随机生成参与方随机矩阵,发起方得到多个发起方验证向量;发起方根据每个发起方验证向量构造发起方第一验证矩阵;每个参与方根据与自身对应的参与方数据和映射函数在得到参与方第一验证矩阵;每个参与方将与自身对应的参与方第二验证矩阵发送至发起方,其中,根据参与方第一验证矩阵与加密矩阵得到参与方第二验证矩阵;发起方根据多个发起方第一验证矩阵与多个参与方第二验证矩阵,确定发起方和参与方的数据交集,解决了相关技术中基于两两对比形成多方交集,会导致参与方的隐私泄露,数据安全性较低的问题,提高了数据交集计算过程的效率和安全性,使得用户的数据隐私得到保证。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的多点多方的数据交互方法的流程图;
图2是根据本申请实施例的发起方确定数据交集的方法的流程图;
图3是根据本申请实施例的发起方验证向量的获取方法的流程图;
图4为本申请实施例的多点多方的数据交互方法的终端的硬件结构框图;
图5是根据本申请实施例的多点多方的数据交互设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本申请提供的多点多方的数据交互方法,可以应用于多个场景中。例如,黑名单查询,A方有一些用户数据,需要在B方的黑名单数据库中查询自己的用户是否为对方的黑名单成员,即A方需要查询的数据与B方的数据库求隐私交集。上述的黑名单查询在银行体系内十分常见,由于查询方和黑名单提供方都不想泄露自己的数据信息,所以需要使用到数据交集的计算过程。
再例如,广告推荐算法为广告商与平台方签订合同,要求平台方投放广告,为了查看投放广告的效果,广告商会查看购买自己产品的用户有多少是平台方的用户且观看到了自己的广告,即广告商将自己的用户与平台方观看了本产品广告的用户求交集,但是为了不泄露双方交集以外的用户信息,需要使用数据交集的计算过程。
最后,本申请提供的多点多方的数据交互方法,还可以应用在电子水印、匿名指纹、匿名数据挖掘等技术领域。
本实施例提供了一种多点多方的数据交互方法,可以用于求解发起方和多个参与方之间的隐私数据交集。图1是根据本申请实施例的多点多方的数据交互方法的流程图,如图1所示,该方法包括如下步骤:
步骤S110,发起方和多个参与方确定安全长度和映射函数,多个参与方获取加密矩阵。
本申请中,多方指参与方的数量为多个,多点指每个参与方拥有的参与方数据为多个,本申请中对发起方的一个数据与多个参与方的多个数据进行隐私交集计算。发起方为多点多方的隐私数据交集计算过程的发起者,参与方为接受发起方邀请或者主动参与隐私数据交集计算的参与者,本实施例中发起方同时参与隐私数据交集的计算,在其他实施例中,发起方也可以不参与隐私数据交集的计算。优选地,本申请中的发起方和参与方可以为与用户对应的终端或者处理器,其中,用户为各个网络平台、企业公司等等。
本实施例中多点多方的数据交互方法基于不经意随机函数(ObliviousPseudorandom Function,简称为OPRF)技术实现,OPRF技术是一种加密算法,由不经意传输(Oblivious Transfer,简称OT)算法和伪随机数生成函数(Pseudo-randomNumber,简称为)构成,OT算法的数据发送方,例如本实施例中的发起方,无法获知数据接收方,例如本实施例中的参与方,获取到的数据是哪一个,同时数据接收方也只能得到自己想要的数据,无法获知数据发送方传输的其他数据。
基于OPRF技术,在获取多方的取隐私数据交集之前,发起方和参与方会先约定一个安全长度,以λ表示,λ越大,则获取隐私数据交集的过程安全性越高,相应的,防碰撞性也越高。
同时,发起方和参与方还需要约定一个映射函数,该映射函数用于分别将发起方数据或者参与方数据映射为随机数,以保护用户数据的隐私性,本实施例中的映射函数为伪随机数生成函数,在其他实施例中,还可以采用密码散列函数实现对发起方数据或者参与方数据的映射。其中,伪随机数是用确定性的算法计算出服从{0,…,l-1}均匀分布的随机数序列,具有类似于随机数的统计特征,如均匀性、独立性等。在计算伪随机数时,若伪随机数生成函数使用的初值与输入值不变,那么伪随机数的数序也不变。在参与方的数量为多个时,本实施例中的伪随机数生成函数由如下公式1表示:
在公式1中,Fk(·)表示伪随机数生成函数,k为伪随机数生成函数的初值,对相同的k和输入值,得到的结果也是一致的,例如,发起方为A方,拥有数据x,参与方为B方,拥有数据y,则有 为所有消息组成的集合,称为消息空间,本实施例中,发起方和各个参与方中的数据即为消息,在数据为身份证号的情况下,为所有可能的身份证号的集合。表示一个长度为λ的向量,该向量中的所有元素都是小于l的整数。Xi为参与方i的数据集合,l表示各个参与方中数据的数量,在各个参与方中数据的数量相同时,l即为该相同的数量,在各个参与方中数据的数量不同时,l取最大值。例如,参与方B具有3个数据,参与方C有3个数据,则l取3,若参与方B有3个数据,参与方C有5个数据,则l取5。
进一步地,本实施例中还需要所有的参与方确定各自的加密矩阵。其中,本实施例中的加密矩阵是用于对参与方数据映射后的值进行加密,进一步保护参与方数据不被泄露。加密矩阵的生成方式有很多种,本实施例中对于位置相邻的两个参与方,加密矩阵可以由其中一个参与方确定,例如,一方随机生成加密矩阵,也可以由两个参与方共同确定,例如,两个参与方都随机生成一个随机数,然后对随机数求平均值得到加密矩阵,进一步地,还可以对随机数进行逻辑运算得到新的加密矩阵。
步骤S120,根据发起方数据、参与方数据和映射函数,发起方分别与每个参与方进行两方的隐私交集计算,隐私交集计算包括:每个参与方随机生成参与方随机矩阵,发起方得到多个发起方验证向量。
本申请中,发起方数据为发起方基于自身平台的用户数据,例如,在发起方为电商平台的情况下,发起方数据可以为顾客的昵称、年龄、性别等等,在发起方为金融平台的情况下,发起方数据可以为顾客的职业、收入、支出等数据,类似的,参与方数据为参与方基于自身平台的用户数据。
在隐私交集计算的过程中,由于具有多个参与方,所以发起方需要分别与每个参与方均进行两方的多点隐私交集计算。两方的多点隐私交集计算过程如下,在发起方A与参与方B进行隐私交集计算的情况下,可以假设发起方A具有数据x,参与方B具有数据y1,y2,…,yl,那么求解A与B的交集转换成判断x是否属于如果参与方B中数据的数量少于l,则以0填充。
具体地,参与方B随机生成一个l×λ的矩阵,记为R0,称为参与方随机矩阵,然后参与方B通过映射函数将自身数据进行映射,基于映射后得到的向量和预先随机生成的R0得到R1。其中,k为R0的行数,λ为R0的列数。同时,发起方A与参与方B之间基于R0和R1进行不经意传输,得到发起方验证向量Qx,其中,不经意传输是指发起方A只获取参与方B中自己需要的数据,而无法获取参与方B的其他数据,参与方B也无法获知发起方A获取的具体是哪些数据。本实施例中发起方根据发起方数据映射后的值、所有参与方数据映射后的值、以及参与方随机矩阵R0进行矩阵映射和查找得到Qx。通过矩阵映射和查找的过程,可以对参与方B的数据进行加密,所以Qx与参与方B中的数据相关,但是发起方A并不会真正获得参与方B的数据。
由于发起方会与每个参与方都进行多点的隐私交集计算,所以在有多个参与方的情况下,发起方会得到多个发起方验证向量。
步骤S130,发起方根据每个发起方验证向量构造发起方第一验证矩阵,其中,发起方第一验证矩阵与参与方对应。
本申请通过矩阵之间的运算来确定发起方和参与方之间的数据交集,因此在计算过程中,发起方需要根据Qx构造矩阵,以完成后续的计算过程。基于Qx构造发起方第一验证矩阵的过程可以为,将Qx复制若干次,形成与R0行数相同的矩阵,也可以对Qx中的值进行计算,得到新的向量,最后将所有的向量组合,得到发起方第一验证矩阵。
由于发起方在与每一个参与方进行两方隐私交集计算时,都会产生一个发起方第一验证矩阵,所以发起方会得到多个发起方第一验证矩阵,且发起方第一验证矩阵与和发起方进行两方隐私交集计算的参与方对应。
步骤S140,每个参与方根据与自身对应的参与方数据和映射函数在参与方随机矩阵中进行查找,得到参与方第一验证矩阵。
对于参与方,每个参与方将自身的多个数据均通过映射函数进行映射。具体地,对于每个发起方,映射函数将每个发起方数据映射为一个向量,根据向量中每个元素的数值及其位置,在参与方随机矩阵中查找对应的元素,对所有的参与方数据均进行上述计算过程,则可以得到参与方第一验证矩阵。
每个参与方都可以得到一个参与方第一验证矩阵,对于多个参与方,则存在说个参与方第一验证矩阵。
需要说明的是,如果对Qx中的值进行计算,得到新的向量,最后将所有的新的向量组合,得到发起方第一验证矩阵,那么在将每个参与方数据映射为一个向量之后,也需要对该向量进行与Qx相同的计算,例如,在对每个Qx加上向量H后最终得到了发起方第一验证矩阵,则基于参与方数据得到的向量也需要加上同样的向量H,才能得到参与方第一验证矩阵。
步骤S150,每个参与方将与自身对应的参与方第二验证矩阵发送至发起方,其中,根据参与方第一验证矩阵与加密矩阵得到参与方第二验证矩阵。
在获取隐私数据交集的过程中,各个参与方并不会直接将参与方第一验证矩阵发送至发起方,而是需要通过与加密矩阵结合,生成一个新的矩阵,即参与方第二验证矩阵。参与方第一验证矩阵与加密矩阵的具体结合方式,可以为同或或者异或等逻辑运算。在有多个参与方的情况下,不同的参与方在计算第二验证矩阵时,需要相互配合,例如,前一个参与方采用加上加密矩阵的方式,后一个参与方需要对应地减去该加密矩阵,以在整体的计算过程中消除加密矩阵,使得加密矩阵对所有的参与方数据不造成影响,但同时由于加密矩阵的存在,发起方又无法获知实际的参与方数据。
每个参与方在得到参与方第二验证矩阵之后,都发送至发起方,所以发起方会得到多个参与方第二加密矩阵。
步骤S160,发起方根据多个发起方第一验证矩阵与多个参与方第二验证矩阵,确定发起方和参与方的数据交集。
在发起方得到多个发起方第一验证矩阵以及多个参与方第二验证矩阵之后,可以通过矩阵之间的运算或者对比,从而确定发起方和参与方之间的数据交集,实现发起方数据与参与方数据之间的加密交互运算。
通过上述步骤S110至步骤S160,各个参与方在得到参与方第一验证矩阵之后,并不直接将该参与方第一验证矩阵发送至发起方,而是通过加密矩阵对第一验证矩阵再次进行加密,将加密后的参与方第二验证矩阵发送至发起方,由于所有的参与方均使用加密矩阵,所以发起方对多个第二验证矩阵进行计算时,加密矩阵的影响会被消除。因此,发起方既可以得到发起方数据与多个参与方数据之间的隐私数据交集,也不会获取到除隐私数据交集之外的数据信息,从而解决了相关技术中基于两两对比形成多方交集,会导致参与方的隐私泄露,数据安全性较低的问题,提高了数据交集计算过程的效率和安全性,使得用户的数据隐私得到保证。
另一方面,相关技术中在获取隐私数据交集的过程中,只能进行单点的数据对比,所以需要采用两轮的OPRF技术才能实现隐私数据交集的获取过程,网络传输效率较低,而本申请中,基于多方安全计算(Secure Multi-PartyComputation,简称为MPC)中的实用安全聚合(Practical Secure Aggregation,简称为PSA)算法来减少OPRF的交互轮数,且通过矩阵从参与方中单点的比较转变为多点的比较,可以一次性实现多点的数据对比,大大降低了网络传输次数和网络传输的消耗,提高了计算效率。其中,PSA是指一个发起方想要获得多个参与方数据的和,但是发起方在协议之后只能知道最后求和的结果,而无法获知参与方手中具体的数据是多少。
在其中一些实施例中,发起方确定数据交集可以通过如下方式实现,先根据多个发起方第一矩阵进行运算,例如,逻辑运算或者加减运算,得到第一运算结果,然后对多个参与方第二矩阵进行运算,例如,逻辑运算或者加减运算,得到第二运算结果,最终发起方对第一运算结果和第二运算结果进行对比,根据第一运算结果中的行或者列是否相等,判断发起方数据和参与方数据是否具有数据交集。另一方面,发起方还可以对第一运算结果和第二运算结果进行剑法运算,根据差值确定是否存在数据交集。
优选地,图2是根据本申请实施例的发起方确定数据交集的方法的流程图,如图2所示,该方法包括:
步骤S210,发起方根据所有发起方第一验证矩阵进行逻辑运算,得到发起方第二验证矩阵。
例如,以Qj表示与第j个参与方对应的发起方第一验证矩阵,其中,j=1~n,n为所有参与方的数量,本实施例中发起方可以通过对多个Qj进行逻辑运算,得到发起方第二验证矩阵,本实施例中的逻辑运算可以为同或运算或者异或运算,在逻辑运算为异或运算的情况下,发起方可以通过得到发起方第二验证矩阵。
步骤S220,发起方根据所有参与方第二验证矩阵进行逻辑运算,得到参与方第三验证矩阵。
类似地,发起方可以对所有的参与方第二验证矩阵进行同或运算或者异或运算,以Rj表示第j个参与方的参与方第一验证矩阵,以Mj表示与第j个参与方对应的加密矩阵,则参与方第二验证矩阵可以通过Rj与Mj之间的异或运算得到,由表示,进一步地,发起方对多个进行逻辑运算,例如异或运算,则可以得到参与方第三验证矩阵。
步骤S230,发起方根据发起方第二验证矩阵和参与方第三验证矩阵中的行是否相等,判断发起方和参与方是否具有数据交集。
发起方在对多个发起方第一验证矩阵进行逻辑运算之后,得到一个发起方第二验证矩阵,发起方在对多个参与方第二验证矩阵进行逻辑运算之后,得到一个参与方第三验证矩阵,然后,发起方可以将发起方第二验证矩阵中的行分别与参与方第三验证矩阵中的行进行对比,根据对比结果判断发起方数据和参与方数据之间是否存在交集。具体地,如果在发起方第二矩阵中,存在某一行与参与方第三矩阵相同,则判定发起方中的发起方数据为数据交集,否则,该发起方数据不属于数据交集。
通过上述步骤S210至步骤S230,本实施例中发起方对多个发起方第一验证矩阵和多个参与方第二验证矩阵进行逻辑运算,根据得到的发起方第二验证矩阵和参与方第三验证矩阵判断发起方数据和参与方数据是否存在交集,通过逻辑运算减少了矩阵的数量,简化了数据对比的过程,提高了隐私数据交集的计算效率。
进一步地,在发起方第二验证矩阵和参与方第三验证矩阵中的行均不相等的情况下,交换参与方第二验证矩阵中的两行,具体地,行交换的过程可以由发起方实现,也可以由参与方在本地实现,参与方在完成交换之后,需要将交换后的参与方第二验证矩阵再次发送至发起方;发起方根据交换后的参与方第二验证矩阵对参与方第三验证矩阵进行更新,具体为将获取到的多个参与方第二矩阵再次进行逻辑运算,得到更新后的参与方第三验证矩阵;然后发起方将发起方第二验证矩阵和更新后的参与方第三验证矩阵中的行进行对比,根据两个矩阵中是否存在相同的行,判断发起方数据是否属于隐私数据交集,如果存在,则结果为是,如果不存在,则再次交换参与方第二验证矩阵中的两行,直到遍历完第二验证矩阵中的所有行为止。如果在遍历之后,两个矩阵中仍然没有相同的行,则判断发起方数据不属于隐私数据交集。本实施例中,通过交换参与方第二矩阵中的行,可以遍历所有的参与方数据,提高隐私数据交集计算过程的准确度。
在其中一些实施例中,假设发起方为A,仅具有数据x,参与方为B,具有数据y1,y2,…,yl,对于发起方和每个参与方进行的两方隐私交集计算,则转换为判断x是否属于在判断过程中,图3是根据本申请实施例的发起方验证向量的获取方法的流程图,如图3所示,该方法包括如下步骤:
步骤S310,参与方根据映射函数对自身的参与方用户数据进行映射,得到参与方映射向量。
具体地,对所有i∈[1,l],计算Fk(yi),即对于每一个yi,都会得到一个向量形式的Fk(yi),其中,yi为参与方B的第i个参与方数据。本实施例中,将每一个Fk(yi)称为参与方映射向量。Fk(yi)的长度为λ。
步骤S320,参与方根据所有参与方映射向量中的元素值以及该元素值的位置,在参与方随机矩阵中查找参与方映射矩阵中的部分元素值,参与方映射矩阵中的其他元素值根据参与方随机矩阵中对应位置的元素值取反得到。
首先需要说明的是,本实施例中参与方映射矩阵以R1表示,R1同样是一个k×λ的矩阵,在根据Fk(yi)和参与方随机矩阵R0确定R1的过程中,遵循如公式2所述的规则:
R1(Fk(yi)a,a)=R0(Fk(yi)a,a) 公式2
在公式2中,R0(Fk(yi)a,a)代表矩阵R0的第a列Fk(yi)a行的元素的元素值,Fk(yi)a代表向量Fk(yi)的第a个元素的元素值。例如,向量Fk(yi)中第2个元素值为1,则表示需要在R0中查找第1行第2列的元素值,同时将R0(1,2)填入R1中,即R1(1,2)=R0(1,2)。
在根据所有参与方数据进行过查找之后,如果矩阵R1还有位置未填入数字,则该位置填入R0对应位置的相反值,例如,如果R0对应位置为1,则R1对应位置填入0,其中,对应位置指R0与R1同行同列。
步骤S330,发起方根据安全长度生成发起方随机向量。
本实施例中,发起方随机向量由s表示,长度为λ,向量s由0和1组成,即发起方随机生成s∈{0,1}λ。
步骤S340,发起方根据发起方随机向量中的元素值以及该元素值的位置,对参与方发起不经意传输,通过不经意传输获取参与方随机矩阵和参与方映射矩阵中的列,生成发起方映射矩阵。
A方根据s对B方发起不经意传输(Oblivious Transfer,简称OT),生成发起方映射矩阵,以Q表示,矩阵Q同样为一个k×λ的矩阵Q。具体地,Q的第i列的取值方式为:如果si=0,则如果si=1,其中,Qi代表矩阵Q的第i列。
步骤S350,发起方根据映射函数对发起方用户数据进行映射,得到发起方映射向量。
与参与方类似,在发起方A具有数据x的情况下,通过映射函数计算得到向量Fk(x),Fk(x)称为发起方映射向量,长度同样为λ。
步骤S360,发起方根据发起方映射向量中的元素值以及该元素值的位置,在发起方映射矩阵中进行查找,生成发起方验证向量。
发起方根据向量Fk(x)在矩阵Q中进行查找,得到发起方验证向量,同样发起方验证向量的长度也为λ,其中,Fk(x)中元素的位置表示矩阵Q中的列,元素值表示矩阵Q的行。例如Fk(x)中第3个元素值为2,则在矩阵Q中查找第2行第3列的元素值,作为发起方验证向量的第3个元素值。依次根据向量Fk(x)中的各个元素值进行查找,得到长度为λ的发起方验证向量。
通过上述步骤S310至步骤S350,本实施例对参与方数据和发起方数据均进行映射,实现对参与方数据和发起方数据的加密,通过基于向量对矩阵中的值进行查找,实现对数据再次加密,提高了数据的安全性。
在其中一些实施例中,得到参与方第一验证矩阵包括:参与方根据每个参与方映射向量中的元素值以及该元素值的位置,在参与方随机矩阵中进行查找,得到参与方验证向量。查找的方式具体为,参与方映射向量Fk(yi)中元素值的位置表示参与方随机矩阵R0中的列,Fk(yi)中元素值本身表示R0中的行,然后根据行列在R0中确定一个元素值,该元素值为参与方验证向量与Fk(yi)中同样位置上的元素值。例如,对于参与方B的值y1,参与方映射向量记为Fk(y1),Fk(y1)中的第5个值为0,如果在矩阵R0中查找到第0行第5列的值为0,那么对应的,参与方验证向量的第5列值为0。需要说明的是,在查找时,矩阵中的行数从0开始计算,例如,矩阵共有3行,则分别以第0行、第1行、第2行表示。在根据一个向量Fk(yi)查找之后,得到一个对应的参与方验证向量,依次根据所有的向量Fk(yi)进行查找,得到多个参与方验证向量,最后参与方根据多个参与方验证向量,得到参与方第一验证矩阵。其中,参与方第一验证矩阵同样为k行λ列。本实施例中,同样基于向量对矩阵中的值进行查找,实现对参与方数据的加密,进一步提高了数据的安全性。
在其中一些实施例中,加密矩阵可以由各个参与方之间互相协议决定,也可以由可信第三方提供。
在其中一些实施例中,在参与方为两个的情况下,仅需两个参与方之间确定一个加密矩阵即可。需要说明的是,本申请中,在一个确定的加密矩阵中,每一行都相同。
在其中一些实施例中,在有多个参与方的情况下,所有的参与方可以共用一个加密矩阵实现数据加密,进一步地,多个参与方可以确定多个加密矩阵实现数据加密,例如,多个参与方随机排序,排序中位置相邻的两个参与方确定与两个参与方对应的加密矩阵。其中,多个参与方的排序一旦形成,则不可更改,具体地,在参与方的排序序号为j,其中,j=1,2,3,…,n的情况下,参与方j与参与方j+1共同确定属于参与方j和参与方j+1的加密矩阵,或者,参与方j与参与方j-1共同确定属于参与方j和参与方j-1的加密矩阵。本实施例中,仅由两个位置相邻的参与方共同确定加密矩阵,生成的加密矩阵仅有相关的参与方可知,能够提高隐私数据交集计算的安全性。
进一步地,发起方得到第二验证矩阵包括:每个参与方根据参与方第一验证矩阵、第一加密矩阵和第二加密矩阵得到参与方第二验证矩阵,其中,第一加密矩阵由参与方与排序中前一个相邻参与方确定,第二加密矩阵由参与方与排序中后一个相邻参与方确定。例如,对于参与方j,第一加密矩阵由参与方j与参与方j-1共同确定,以Mj-1表示,第二加密矩阵由参与方j与参与方j+1共同确定,以Mj+1表示,则参与方j的参与方第二验证矩阵可以通过得到,其中,Rj为参与方j的参与方第一验证矩阵。进一步地,前一个参与方的第二加密矩阵与后一个参与方的第一加密矩阵相同,例如,在参与方j与参与方r相邻且参与方j的位置靠前的情况下,加密矩阵Mj+1与加密矩阵Mr-1相同。本实施例中参与方第二验证矩阵通过与该参与方相关的两个加密矩阵得到,可以进一步提高隐私数据交集计算的安全性。
进一步地,对于排序的首位参与方,由首位参与方与排序中的末位参与方确定第一加密矩阵,例如,对于参与方1,其第一加密矩阵由参与方1与参与方n确定;对于排序的末位参与方,由排序中的首位参与方与末位参与方确定第二加密矩阵,例如,对于参与方n,其第二加密矩阵由参与方n与参与方1确定。本实施例中第一加密矩阵和第二加密矩阵的确定方式使得排序中所有参与方的加密矩阵之间都具有关联性,在计算时,加密矩阵之间可以相互抵消,提高隐私数据交集计算的效率。在其他实施例中,首位和末位的加密矩阵也可以通过如下方法生成,首位的参与方不用与末位参与方协商,只需与第二个参与方协商,末位的参与方只与倒数第二位参与方协商,从而得到各自的加密矩阵。
下面通过优选实施例对本申请实施例进行描述和说明。
在其中一些实施例中,在参与方为两个的情况下,假设发起方A的数据为x,参与方B的数据集为XB={y1,y2,…,yl},参与方C的数据集为XC={z1,z2,…,zl},则具体流程如下:
(1)发起方A、参与方B和参与方C共同确定安全长度λ,参与方B和参与方C共同确定映射函数;
(2)A方首先与B方进行两方多点PSI,协议结束后,A方会得到与B方对应的发起方验证向量,以QBx(Fk(x))表示,然后A方基于QBx(Fk(x))构造发起方第一验证矩阵QB=(QBx(Fk(x)),…,QBx(Fk(x)))T,即矩阵QB中每一行都相同,均为QBx(Fk(x))。B方得到参与方第一验证矩阵RB之后,并不与矩阵QB进行比较,因为如果直接进行比较,A方会获得三方交集之外的信息;
(3)同样的,A方与C方进行两方PSI,协议结束后,A方会得到QCx(Fk(x)),构造矩阵QC=(QCx(Fk(x)),…,QCx(Fk(x)))T,C方得到参与方第一验证矩阵RC;
(4)B方与C方协商一个加密矩阵M,M的每一行都相同,B方向A方发送数据C方给A方发送数据其中,与均为参与方第二验证矩阵;
(5)A方先计算得到发起方第二验证矩阵,然后计算得到参与方第三验证矩阵,最后判断与中是否存在行相等,如果相等,则说明x∈x∩XB∩XC,x属于隐私交集数据,如果不相等,则交换与的行后再次进行比较,如果所有交换可能过后都不相同,则说明x不属于三方交集。其中,交换参与方第二验证矩阵的操作既可以由发起方完成,也可以由各个参与方共同完成。
本实施例中,由于异或运算的性质,中的加密矩阵M会被消除,所以得到发起方第二验证矩阵中的QC和QB分别根据发起方数据的映射值在各自的矩阵Q中查找得到,而矩阵Q根据各自的矩阵R0进行运算得到,另一方面,RC和RB分别根据参与方数据的映射值在各自对应的矩阵R0中查找得到,所以如果存在隐私交集数据,与则存在某一行数据相同。
在其中一些实施例中,在参与方为多方的情况下,假设存在1个发起方A和n个参与方,任意参与方j有自己的数据集合Xj,判断发起方A中的某个元素x是否属于所有集合的交集,具体如下:
(1)发起方和所有的参与方约定安全长度λ和一个伪随机数生成函数这里为所有消息组成的集合,称为消息空间,Xj为参与方j的数据集合。通常情况下,所有参与方的集合大小可能不都相同,所以要求l为所有集合大小的最大值。
(2)发起方A与分别与各个参与方进行两方多点PSI,协议结束后,A方会得到一个发起方验证向量Qx,基于Qx构造发起方第一验证矩阵Qj,Qj共有l个Qx,例如,l=max(|X1|,…,|Xn|)),参与方j对应需要与其比较的随机矩阵为Rj。
(3)参与方j(j=1,2,3,…,n)与参与方j-1协商一个加密矩阵Mj-1,参与方j与参与方j+1协商一个加密矩阵Mj+1,其中Mj-1,Mj+1的每一行都相同,参与方j向发起方发送数据具体地,排序中首位参与方的第一加密矩阵与末位参与方的第二加密矩阵相同,例如,对于排序中的第一个参与方,Mj-1=Mn,对于排序中的最后一个参与方n来说,Mj+1=M1。
(4)A方得到多个Qj之后,计算得到发起方第二验证矩阵,得到多个参与方第二验证矩阵之后,计算得到参与方第三验证矩阵。然后比较与是否存在某行相等,如果相等,则说明如果不相等,则交换行后再次进行比较,如果所有交换可能过后都不相同,则说明x不属于
本实施例中,由于参与方j的第二加密矩阵与参与方j+1的第一加密矩阵相同,所以经过异或运算之后,
以下以实例对本申请中的方案进行说明。
在发起方与参与方进行两方隐私交集计算时,假设发起方A(以下称A方)拥有数据x,参与方B(以下称B方)具有数据y1,y2,y3,则隐私交集计算的过程如下:
(1)A方随机生成长度为λ=5的发起方随机向量s=[1,0,0,1,1];
(2)B方随机生成参与方随机矩阵
(3)B方通过映射函数对参与方数据y1进行计算,得到参与方映射向量Fk(y1)=[0,2,1,2,0],然后根据Fk(y1)中的元素值以及元素值的位置获取参与方映射矩阵R1中的元素值,具体为:对于R0,有第0行、第1行和第2行,第1列、第2列,……,第5列,Fk(y1)=[0,2,1,2,0]中的0,2,1,2,0分别表示行数,元素值的位置顺序表示列数,所以依次获取R0中第0行第1列、第2行第2列、第1行第3列、第2行第4列、第0行第5列中的值,从而得到R1(0,1)=R0(0,1),R1(2,2)=R0(2,2),R1(1,3)=R0(1,3),R1(2,4)=R0(2,4),R1(0,5)=R0(0,5),其中R(a,b)表示矩阵R中第a行第b列的值。在对B方中的y1进行运算之后,得到记录
(4)B方按照上述方式计算,完成对y2,y3的计算,依次得到和此时还有空位没有填满,本实施例中在空位处填入R0对应位置的数字的相反数,例如,与空位R1(1,1)对应的R0(1,1)处的值为1,那么R1(1,1)=0,对所有的空位进行运算之后,得到显而易见的,本申请中的取反,指的是对1取反得到0,对0取反得到1;
(5)A方根据s发起不经意传输来生成发起方映射矩阵,例如,s的第1位为1=1,则选择R1的第1列,s的第2位为0,则选择R0的第2列,s的第3位为0,则选择R0的第3列,选择完所有数字后,A方得到
(6)A方通过映射函数对x进行计算,得到Fk(x)=[1,1,2,0,1],类似的,1,1,2,0,1表示矩阵Q中的行,元素值的位置顺序表示列,通过查Q对应位置的数据,获得发起方验证向量Qx=[0,0,0,1,1];
(7)A方将Qx分别与和进行比较,如果存在相等,则说明x在y1,y2,y3中,则x属于隐私数据交集。
另一方面,在发起方A与参与方B、参与方C进行三方隐私数据交集的计算时,假设A方拥有数据x,B方拥有Y={y1,y2,y3},C方拥有数据Z={z1,z2,z3},则隐私数据交集的计算过程如下:
(1)A方与B方在进行两方PSI之后,A方拥有与B方对应的发起方验证向量Qx=[0,0,0,1,1],根据Qx构造与B方对应的发起方第一验证矩阵可以看出,矩阵QB中的每一行均为Qx,B方拥有参与方第一验证矩阵
(2)A方与C方以同样的方式进行两方PSI之后,A方拥有与C方对应的发起方验证向量Qx=[0,1,0,0,1],根据Qx构造与C方对应的发起方第一验证矩阵C方拥有参与方第一验证矩阵
(3)B方与C方协商一个加密矩阵显而易见的,矩阵M中的每一行均相同,B方发送参与方第二验证矩阵至A方,C方发送参与方第二验证矩阵至A方;
(4)A方对多个发起方第一验证矩阵进行异或计算,得到发起方第二验证矩阵A方接收到多个参与方第二验证矩阵之后,进行异或运算,得到参与方第三验证矩阵A方将与比较之后,发现两个矩阵没有任何一行相等;
(5)则发起方或者参与方交换的第一行与第二行,重复步骤(4),再次进行比较,如果存在某行相等则说明x∈x∩Y∩Z,x为三方的隐私数据交集,如果所有的交换可能性都尝试之后还没有一行相等,则说明相应的,x不是三方的隐私数据交集。
本实施例中,在计算时由于加密矩阵相同,通过异或运算之后,加密矩阵可以被消除,所以
本申请中,A方将Fk(x)在矩阵Q中的查找结果与各个参与方根据Fk(yi)在矩阵R1的查找结果进行对比,如果矩阵中存在某一行相等则说明x为三方的隐私数据交集,否则x不是三方的隐私数据交集,且A方不会获得任何关于参与方数据的额外信息。所以本申请中将对比用户数据转换成为了对比两个随机数,避开了可能出现的数据泄露的情况。通过矩阵的形式,本申请提供的方法可以直接对比各个参与方中的所有数据,如果A方也拥有多个数据,则需要对每个数据都发起多点多方的数据交互过程,便可以完成整个PSI。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。例如,获取发起方随机向量和参与方随机矩阵的过程,可以在所有步骤执行前实现,也可以在需要时再进行获取。
本申请提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。以运行在终端上为例,图4为本申请实施例的多点多方的数据交互方法的终端的硬件结构框图。如图4所示,终端40可以包括一个或多个(图4中仅示出一个)处理器402(处理器402可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器404,可选地,上述终端还可以包括用于通信功能的传输设备406以及输入输出设备408。本领域普通技术人员可以理解,图4所示的结构仅为示意,其并不对上述终端的结构造成限定。例如,终端40还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。
存储器404可用于存储控制程序,例如,应用软件的软件程序以及模块,如本申请实施例中的多点多方的数据交互方法对应的控制程序,处理器402通过运行存储在存储器404内的控制程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器404可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器404可进一步包括相对于处理器402远程设置的存储器,这些远程存储器可以通过网络连接至终端40。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备406用于经由一个网络接收或者发送数据。上述的网络具体实例可包括终端40的通信供应商提供的无线网络。在一个实例中,传输设备406包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备406可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
本实施例还提供了一种多点多方的数据交互系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
多点多方的数据交互系统包括发起方和多个参与方:
发起方和多个参与方确定安全长度和映射函数,多个参与方获取加密矩阵;
根据发起方数据、参与方数据和映射函数,发起方分别与每个参与方进行两方的隐私交集计算,隐私交集计算包括:每个参与方随机生成参与方随机矩阵,发起方得到多个发起方验证向量;
发起方根据每个发起方验证向量构造发起方第一验证矩阵,其中,发起方第一验证矩阵与参与方对应;
每个参与方根据与自身对应的参与方数据和映射函数在参与方随机矩阵中进行查找,得到参与方第一验证矩阵;
每个参与方将与自身对应的参与方第二验证矩阵发送至发起方,其中,根据参与方第一验证矩阵与加密矩阵得到参与方第二验证矩阵;
发起方根据多个发起方第一验证矩阵与多个参与方第二验证矩阵,确定发起方和参与方的数据交集。
通过上述系统,各个参与方在得到参与方第一验证矩阵之后,并不直接将该参与方第一验证矩阵发送至发起方,而是通过加密矩阵对第一验证矩阵再次进行加密,将加密后的参与方第二验证矩阵发送至发起方,由于所有的参与方均使用加密矩阵,所以发起方对多个第二验证矩阵进行计算时,加密矩阵的影响会被消除。因此,发起方既可以得到发起方数据与多个参与方数据之间的隐私数据交集,也不会获取到除隐私数据交集之外的数据信息,从而解决了相关技术中基于两两对比形成多方交集,会导致参与方的隐私泄露,数据安全性较低的问题,提高了数据交集计算过程的效率和安全性,使得用户的数据隐私得到保证。
本申请还提供了一种多点多方的数据交互设备,图5是根据本申请实施例的多点多方的数据交互设备的结构框图,如图5所示,包括确定模51、计算模块52、发起方构造模块53、参与方查找模块54、参与方发送模块55和发起方验证模块56:
确定模块51,发起方和多个参与方确定安全长度和映射函数,多个参与方获取加密矩阵;
计算模块52,根据发起方数据、参与方数据和映射函数,发起方分别与每个参与方进行两方的隐私交集计算,隐私交集计算包括:每个参与方随机生成参与方随机矩阵,发起方得到多个发起方验证向量;
发起方构造模块53,发起方根据每个发起方验证向量构造发起方第一验证矩阵,其中,发起方第一验证矩阵与参与方对应;
参与方查找模块54,每个参与方根据与自身对应的参与方数据和映射函数在参与方随机矩阵中进行查找,得到参与方第一验证矩阵;
参与方发送模块55,每个参与方将与自身对应的参与方第二验证矩阵发送至发起方,其中,根据参与方第一验证矩阵与加密矩阵得到参与方第二验证矩阵;
发起方验证模块56,发起方根据多个发起方第一验证矩阵与多个参与方第二验证矩阵,确定发起方和参与方的数据交集。
通过上述设备,各个参与方在得到参与方第一验证矩阵之后,并不直接将该参与方第一验证矩阵发送至发起方,而是通过参与方发送模块55,基于加密矩阵对第一验证矩阵再次进行加密,将加密后的参与方第二验证矩阵发送至发起方,由于所有的参与方均使用加密矩阵,所以发起方对多个第二验证矩阵进行计算时,加密矩阵的影响会被消除。因此,发起方既可以得到发起方数据与多个参与方数据之间的隐私数据交集,也不会获取到除隐私数据交集之外的数据信息,从而解决了相关技术中基于两两对比形成多方交集,会导致参与方的隐私泄露,数据安全性较低的问题,提高了数据交集计算过程的效率和安全性,使得用户的数据隐私得到保证。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,发起方和多个参与方确定安全长度和映射函数,多个所述参与方获取加密矩阵;
S2,根据发起方数据、参与方数据和所述映射函数,所述发起方分别与每个所述参与方进行两方的隐私交集计算,所述隐私交集计算包括:每个所述参与方随机生成参与方随机矩阵,所述发起方得到多个发起方验证向量;
S3,所述发起方根据每个所述发起方验证向量构造发起方第一验证矩阵,其中,所述发起方第一验证矩阵与所述参与方对应;
S4,每个所述参与方根据与自身对应的参与方数据和所述映射函数在所述参与方随机矩阵中进行查找,得到参与方第一验证矩阵;
S5,每个所述参与方将与自身对应的参与方第二验证矩阵发送至所述发起方,其中,根据所述参与方第一验证矩阵与所述加密矩阵得到所述参与方第二验证矩阵;
S6,所述发起方根据多个所述发起方第一验证矩阵与多个所述参与方第二验证矩阵,确定所述发起方和所述参与方的数据交集。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
另外,结合上述实施例中的多点多方的数据交互方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种多点多方的数据交互方法的步骤。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (6)
1.一种多点多方的数据交互方法,其特征在于,包括:
发起方和多个参与方确定安全长度和映射函数,多个参与方获取加密矩阵;
根据发起方数据、参与方数据和所述映射函数,所述发起方分别与每个所述参与方进行两方的隐私交集计算,所述隐私交集计算包括:每个所述参与方随机生成参与方随机矩阵,所述发起方得到多个发起方验证向量;
所述发起方根据每个所述发起方验证向量构造发起方第一验证矩阵,其中,所述发起方第一验证矩阵与所述参与方对应;
每个所述参与方根据与自身对应的参与方数据和所述映射函数在所述参与方随机矩阵中进行查找,得到参与方第一验证矩阵;
每个所述参与方将与自身对应的参与方第二验证矩阵发送至所述发起方,其中,根据所述参与方第一验证矩阵与所述加密矩阵得到所述参与方第二验证矩阵;
所述发起方根据多个所述发起方第一验证矩阵与多个所述参与方第二验证矩阵,确定所述发起方和所述多个参与方的多方数据交集;
所述多点指每个参与方拥有的参与方数据为多个,所述多方指参与方的数量为多个;
其中,所述发起方根据多个所述发起方第一验证矩阵与多个所述参与方第二验证矩阵,确定所述发起方和所述多个参与方的多方数据交集包括:
所述发起方根据所有所述发起方第一验证矩阵进行逻辑运算,得到发起方第二验证矩阵;
所述发起方根据所有所述参与方第二验证矩阵进行逻辑运算,得到参与方第三验证矩阵;
所述发起方根据所述发起方第二验证矩阵和所述参与方第三验证矩阵中的行是否相等,判断所述发起方和所述多个参与方是否具有多方数据交集;
其中,所述发起方根据所述发起方第二验证矩阵和所述参与方第三验证矩阵中的行是否相等,判断所述发起方和所述多个参与方是否具有多方数据交集包括:
在所述发起方第二验证矩阵和所述参与方第三验证矩阵中的行均不相等的情况下,交换所述参与方第二验证矩阵中的两行,根据交换后的参与方第二验证矩阵对参与方第三验证矩阵进行更新;
将所述发起方第二验证矩阵和更新后的参与方第三验证矩阵中的行进行对比,直到遍历完所述第二验证矩阵中的所有行;
其中,所述发起方验证向量的获取方法包括:
所述参与方根据所述映射函数对自身的参与方用户数据进行映射,得到参与方映射向量;
所述参与方根据所有所述参与方映射向量中的元素值以及该元素值的位置,在所述参与方随机矩阵中查找参与方映射矩阵中的部分元素值,所述参与方映射矩阵中的其他元素值根据所述参与方随机矩阵中对应位置的元素值取反得到;
所述发起方根据所述安全长度生成发起方随机向量;
所述发起方根据所述发起方随机向量中的元素值以及该元素值的位置,对所述参与方发起不经意传输,通过不经意传输获取所述参与方随机矩阵和所述参与方映射矩阵中的列,生成发起方映射矩阵;
所述发起方根据所述映射函数对发起方用户数据进行映射,得到发起方映射向量;
所述发起方根据所述发起方映射向量中的元素值以及该元素值的位置,在所述发起方映射矩阵中进行查找,生成发起方验证向量;
其中,每个所述参与方根据与自身对应的参与方数据和所述映射函数在所述参与方随机矩阵中进行查找,得到参与方第一验证矩阵包括:
所述参与方根据每个所述参与方映射向量中的元素值以及该元素值的位置,在所述参与方随机矩阵中进行查找,得到参与方验证向量;
所述参与方根据多个所述参与方验证向量,得到参与方第一验证矩阵。
2.根据权利要求1所述的多点多方的数据交互方法,其特征在于,所述多个参与方获取加密矩阵包括:
多个所述参与方随机排序,排序中位置相邻的两个参与方确定与所述两个参与方对应的加密矩阵。
3.根据权利要求2所述的多点多方的数据交互方法,其特征在于,根据所述参与方第一验证矩阵与所述加密矩阵得到所述参与方第二验证矩阵包括:
每个所述参与方根据所述参与方第一验证矩阵、第一加密矩阵和第二加密矩阵得到所述参与方第二验证矩阵,其中,所述第一加密矩阵由所述参与方与所述排序中前一个相邻参与方确定,所述第二加密矩阵由所述参与方与所述排序中后一个相邻参与方确定。
4.一种多点多方的数据交互系统,其特征在于,包括发起方和多个参与方:
发起方和多个参与方确定安全长度和映射函数,多个参与方获取加密矩阵;
根据发起方数据、参与方数据和所述映射函数,所述发起方分别与每个所述参与方进行两方的隐私交集计算,所述隐私交集计算包括:每个所述参与方随机生成参与方随机矩阵,所述发起方得到多个发起方验证向量;
所述发起方根据每个所述发起方验证向量构造发起方第一验证矩阵,其中,所述发起方第一验证矩阵与所述参与方对应;
每个所述参与方根据与自身对应的参与方数据和所述映射函数在所述参与方随机矩阵中进行查找,得到参与方第一验证矩阵;
每个所述参与方将与自身对应的参与方第二验证矩阵发送至所述发起方,其中,根据所述参与方第一验证矩阵与所述加密矩阵得到所述参与方第二验证矩阵;
所述发起方根据多个所述发起方第一验证矩阵与多个所述参与方第二验证矩阵,确定所述发起方和所述多个参与方的多方数据交集;
所述多点指每个参与方拥有的参与方数据为多个,所述多方指参与方的数量为多个;
其中,所述发起方根据多个所述发起方第一验证矩阵与多个所述参与方第二验证矩阵,确定所述发起方和所述多个参与方的多方数据交集包括:
所述发起方根据所有所述发起方第一验证矩阵进行逻辑运算,得到发起方第二验证矩阵;
所述发起方根据所有所述参与方第二验证矩阵进行逻辑运算,得到参与方第三验证矩阵;
所述发起方根据所述发起方第二验证矩阵和所述参与方第三验证矩阵中的行是否相等,判断所述发起方和所述多个参与方是否具有多方数据交集;
其中,所述发起方根据所述发起方第二验证矩阵和所述参与方第三验证矩阵中的行是否相等,判断所述发起方和所述多个参与方是否具有多方数据交集包括:
在所述发起方第二验证矩阵和所述参与方第三验证矩阵中的行均不相等的情况下,交换所述参与方第二验证矩阵中的两行,根据交换后的参与方第二验证矩阵对参与方第三验证矩阵进行更新;
将所述发起方第二验证矩阵和更新后的参与方第三验证矩阵中的行进行对比,直到遍历完所述第二验证矩阵中的所有行;
其中,所述发起方验证向量的获取方法包括:
所述参与方根据所述映射函数对自身的参与方用户数据进行映射,得到参与方映射向量;
所述参与方根据所有所述参与方映射向量中的元素值以及该元素值的位置,在所述参与方随机矩阵中查找参与方映射矩阵中的部分元素值,所述参与方映射矩阵中的其他元素值根据所述参与方随机矩阵中对应位置的元素值取反得到;
所述发起方根据所述安全长度生成发起方随机向量;
所述发起方根据所述发起方随机向量中的元素值以及该元素值的位置,对所述参与方发起不经意传输,通过不经意传输获取所述参与方随机矩阵和所述参与方映射矩阵中的列,生成发起方映射矩阵;
所述发起方根据所述映射函数对发起方用户数据进行映射,得到发起方映射向量;
所述发起方根据所述发起方映射向量中的元素值以及该元素值的位置,在所述发起方映射矩阵中进行查找,生成发起方验证向量;
其中,每个所述参与方根据与自身对应的参与方数据和所述映射函数在所述参与方随机矩阵中进行查找,得到参与方第一验证矩阵包括:
所述参与方根据每个所述参与方映射向量中的元素值以及该元素值的位置,在所述参与方随机矩阵中进行查找,得到参与方验证向量;
所述参与方根据多个所述参与方验证向量,得到参与方第一验证矩阵。
5.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至3中任一项所述的多点多方的数据交互方法。
6.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至3中任一项所述的多点多方的数据交互方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110616283.2A CN113312641B (zh) | 2021-06-02 | 2021-06-02 | 多点多方的数据交互方法、系统、电子装置和存储介质 |
PCT/CN2021/141904 WO2022252595A1 (zh) | 2021-06-02 | 2021-12-28 | 多点多方的数据交互方法、系统、电子装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110616283.2A CN113312641B (zh) | 2021-06-02 | 2021-06-02 | 多点多方的数据交互方法、系统、电子装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113312641A CN113312641A (zh) | 2021-08-27 |
CN113312641B true CN113312641B (zh) | 2023-07-18 |
Family
ID=77377279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110616283.2A Active CN113312641B (zh) | 2021-06-02 | 2021-06-02 | 多点多方的数据交互方法、系统、电子装置和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113312641B (zh) |
WO (1) | WO2022252595A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312641B (zh) * | 2021-06-02 | 2023-07-18 | 杭州趣链科技有限公司 | 多点多方的数据交互方法、系统、电子装置和存储介质 |
CN113489583B (zh) * | 2021-09-07 | 2021-11-26 | 华控清交信息科技(北京)有限公司 | 一种多方隐私求交中的数据处理方法、装置及电子设备 |
CN113901425B (zh) * | 2021-09-16 | 2022-12-16 | 医渡云(北京)技术有限公司 | 一种多方安全求交集的方法、装置、存储介质及设备 |
CN114520721B (zh) * | 2022-03-22 | 2024-03-29 | 杭州博盾习言科技有限公司 | 多方安全计算隐私求交方法、装置、设备及存储介质 |
CN114726611A (zh) * | 2022-04-01 | 2022-07-08 | 网银在线(北京)科技有限公司 | 多方隐私集合求交方法、系统和装置 |
CN115037434B (zh) * | 2022-04-29 | 2023-04-21 | 北京龙腾佳讯科技股份公司 | 基于隐私计算的多方数据安全计算方法及系统 |
CN115017458B (zh) * | 2022-04-29 | 2023-06-09 | 北京龙腾佳讯科技股份公司 | 安全多方计算数据中位数的方法及系统 |
CN114697030B (zh) * | 2022-05-31 | 2022-09-20 | 蓝象智联(杭州)科技有限公司 | 多方安全计算参与方的数据验证方法 |
CN114866336B (zh) * | 2022-06-10 | 2024-02-09 | 中国工商银行股份有限公司 | 一种风险人员识别处理方法及装置 |
CN115412364B (zh) * | 2022-10-19 | 2023-03-24 | 北京融数联智科技有限公司 | 一种无需第三方的多方安全求交集的方法、系统和介质 |
CN115994161B (zh) * | 2023-03-21 | 2023-06-06 | 杭州金智塔科技有限公司 | 基于多方安全计算的数据聚合系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111552978A (zh) * | 2020-04-21 | 2020-08-18 | 杭州趣链科技有限公司 | 基于DH加密和Hash表的隐私保护集合求交集方法 |
CN112632608A (zh) * | 2020-12-23 | 2021-04-09 | 上海同态信息科技有限责任公司 | 一种基于数值计算隐私数据协同处理方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060245587A1 (en) * | 2005-04-28 | 2006-11-02 | Binyamin Pinkas | System and method for private information matching |
US8271796B2 (en) * | 2008-05-12 | 2012-09-18 | Telecommunications Research Laboratory | Apparatus for secure computation of string comparators |
US9158925B2 (en) * | 2013-11-27 | 2015-10-13 | Microsoft Technology Licensing, Llc | Server-aided private set intersection (PSI) with data transfer |
CN103826220B (zh) * | 2014-03-12 | 2017-04-19 | 西安电子科技大学 | 基于矩阵变换算法的隐私匹配方法 |
CN109359470B (zh) * | 2018-08-14 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 多方安全计算方法及装置、电子设备 |
CN109886029B (zh) * | 2019-01-28 | 2020-09-22 | 湖北工业大学 | 基于多项式表示的隐私保护集合交集计算方法与系统 |
US11126709B2 (en) * | 2019-01-28 | 2021-09-21 | Nec Corporation Of America | Secure multiparty computation of shuffle, sort, and set operations |
CN111125736A (zh) * | 2019-12-25 | 2020-05-08 | 暨南大学 | 基于隐私保护交集计算协议的致病基因检测方法 |
CN111563261A (zh) * | 2020-05-15 | 2020-08-21 | 支付宝(杭州)信息技术有限公司 | 一种基于可信执行环境的隐私保护多方计算方法和系统 |
CN111753318B (zh) * | 2020-06-04 | 2024-04-26 | 上海蚂蚁创将信息技术有限公司 | 私有数据的多方安全计算方法、装置及系统 |
CN111475854B (zh) * | 2020-06-24 | 2020-10-20 | 支付宝(杭州)信息技术有限公司 | 保护两方数据隐私的协同计算方法及系统 |
CN111885079B (zh) * | 2020-07-31 | 2022-04-12 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的多方联合处理数据的方法及装置 |
CN112699386B (zh) * | 2020-12-22 | 2024-06-11 | 杭州趣链科技有限公司 | 隐私数据交集的获取方法、设备、电子装置和存储介质 |
CN112800478B (zh) * | 2021-04-07 | 2021-07-06 | 支付宝(杭州)信息技术有限公司 | 保护隐私数据的共有数据确定方法、装置和系统 |
CN113312641B (zh) * | 2021-06-02 | 2023-07-18 | 杭州趣链科技有限公司 | 多点多方的数据交互方法、系统、电子装置和存储介质 |
-
2021
- 2021-06-02 CN CN202110616283.2A patent/CN113312641B/zh active Active
- 2021-12-28 WO PCT/CN2021/141904 patent/WO2022252595A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111552978A (zh) * | 2020-04-21 | 2020-08-18 | 杭州趣链科技有限公司 | 基于DH加密和Hash表的隐私保护集合求交集方法 |
CN112632608A (zh) * | 2020-12-23 | 2021-04-09 | 上海同态信息科技有限责任公司 | 一种基于数值计算隐私数据协同处理方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2022252595A1 (zh) | 2022-12-08 |
CN113312641A (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113312641B (zh) | 多点多方的数据交互方法、系统、电子装置和存储介质 | |
CN112699386B (zh) | 隐私数据交集的获取方法、设备、电子装置和存储介质 | |
JP7320092B2 (ja) | ブロックチェーンを使用した安全なデータレコード配信のための方法及びシステム | |
CN112910631B (zh) | 一种基于云服务器辅助的高效隐私集合交集计算方法及系统 | |
Buhrman et al. | Quantum communication complexity advantage implies violation of a Bell inequality | |
US11356241B2 (en) | Verifiable secret shuffle protocol for encrypted data based on homomorphic encryption and secret sharing | |
KR101843340B1 (ko) | 프라이버시―보존 협력 필터링 | |
CN109886029B (zh) | 基于多项式表示的隐私保护集合交集计算方法与系统 | |
US11368296B2 (en) | Communication-efficient secret shuffle protocol for encrypted data based on homomorphic encryption and oblivious transfer | |
CN114584294B (zh) | 不经意分散排列方法及装置 | |
US20210328763A1 (en) | Computation-efficient secret shuffle protocol for encrypted data based on homomorphic encryption | |
CN110009349A (zh) | 区块链中生成和验证可链接环签名的方法及装置 | |
CN114329527A (zh) | 交集数据获取方法、设备和系统 | |
US11368281B2 (en) | Efficient distributed secret shuffle protocol for encrypted database entries using dependent shufflers | |
US11552783B2 (en) | System architecture and method of processing data therein | |
KR20210139344A (ko) | 데이터 기반 활동을 수행하는 방법 및 장치 | |
US7240198B1 (en) | Honesty preserving negotiation and computation | |
CN114175028A (zh) | 密码假名映射方法、计算机系统、计算机程序和计算机可读介质 | |
CN114255037A (zh) | 隐私保护下的多方联合排序方法和数据处理方法 | |
CN114861217A (zh) | 一种多方联合训练中的数据同步方法及装置 | |
US20210336778A1 (en) | Efficient distributed secret shuffle protocol for encrypted database entries using independent shufflers | |
Wüller et al. | Using secure graph algorithms for the privacy-preserving identification of optimal bartering opportunities | |
CN111784337A (zh) | 权限验证方法及系统 | |
CN114996449B (zh) | 一种基于隐私保护的聚类方法及装置 | |
CN114092140B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |