CN113259106B - 一种数据处理方法和系统 - Google Patents

一种数据处理方法和系统 Download PDF

Info

Publication number
CN113259106B
CN113259106B CN202110716406.XA CN202110716406A CN113259106B CN 113259106 B CN113259106 B CN 113259106B CN 202110716406 A CN202110716406 A CN 202110716406A CN 113259106 B CN113259106 B CN 113259106B
Authority
CN
China
Prior art keywords
ciphertext
result
oprf
participant
ciphertext result
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
Application number
CN202110716406.XA
Other languages
English (en)
Other versions
CN113259106A (zh
Inventor
李艺
黄熹之
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huakong Tsingjiao Information Technology Beijing Co Ltd
Original Assignee
Huakong Tsingjiao Information Technology Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huakong Tsingjiao Information Technology Beijing Co Ltd filed Critical Huakong Tsingjiao Information Technology Beijing Co Ltd
Priority to CN202110716406.XA priority Critical patent/CN113259106B/zh
Publication of CN113259106A publication Critical patent/CN113259106A/zh
Application granted granted Critical
Publication of CN113259106B publication Critical patent/CN113259106B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明实施例提供一种数据处理方法和系统,用于对第一参与方的集合Y和第二参与方的集合X基于隐私保护求交集。其中的方法包括:基于OPRF协议,第一参与方确定第一OPRF输出,第二参与方确定第二OPRF输出;第一参与方根据第一OPRF输出以及集合Y中的各元素,计算得到第一密文结果并发送至第三参与方;第二参与方根据第二OPRF输出以及集合X中的各元素,计算得到第二密文结果并发送至第三参与方;第三参与方对接收到的第一密文结果和第二密文结果进行匹配操作,得到集合X和集合Y的交集。本发明可以通过第三参与方获取第一参与方与第二参与方的集合交集,保证第一参与方与第二参与方的数据隐私安全。

Description

一种数据处理方法和系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理方法和系统。
背景技术
两方场景的PSI(Private Set Intersection,隐私保护集合求交集)指基于隐私保护对两个参与方的集合求交集。
例如,基于OPRF(oblivious pseudorandom function, 不经意伪随机函数)协议可以实现两方场景的PSI。OPRF是实现功能函数f(k,x)=(τ,fk(x))的两方协议,其中伪随机函数f的种子为k,输入为x;服务端的输入为k,输出为空τ;客户端的输入为x,输出为fk(x)。经过OPRF协议之后,服务端不能获得有关x的任何信息,同样,客户端也不能获得有关k的任何信息。
客户端和服务端经过协议交互各自获得OPRF输出,服务端将ORPF输出发送给客户端,客户端基于OPRF输出可以得到客户端和服务端的集合交集的明文。然而,目前两方场景的PSI方案,客户端可以获取两方集合交集的明文,导致客户端可以获知服务端中属于交集的数据明文,为数据的隐私安全带来隐患。
发明内容
本发明实施例提供一种数据处理方法和系统,可以通过第三参与方获取第一参与方与第二参与方的集合交集,保证第一参与方与第二参与方的数据隐私安全。
为了解决上述问题,本发明实施例公开了一种数据处理方法,所述方法用于对第一参与方的集合Y和第二参与方的集合X基于隐私保护求交集,集合Y包含n个元素,集合X包含m个元素,所述方法包括:
基于OPRF协议,第一参与方确定第一OPRF输出,第二参与方确定第二OPRF输出,所述第一OPRF输出根据所述集合Y和所述第二OPRF输出所确定;
第一参与方根据所述第一OPRF输出以及所述集合Y中的各元素,计算得到第一密文结果,并将所述第一密文结果发送至第三参与方;
第二参与方根据所述第二OPRF输出以及所述集合X中的各元素,计算得到第二密文结果,并将所述第二密文结果发送至第三参与方;
第三参与方对接收到的第一密文结果和第二密文结果进行匹配操作,得到所述集合X和所述集合Y的交集。
可选地,所述方法还包括:
第一参与方采用布谷鸟哈希算法将所述集合Y中的元素映射到1.2n个第一哈希桶和1个第二哈希桶中,得到所述集合Y对应的布谷鸟哈希表;其中,第一哈希桶的容量为1,第二哈希桶的容量为s;
第二参与方计算所述集合X中每个元素映射到所述布谷鸟哈希表的所有可能的映射位置。
可选地,所述基于OPRF协议,第一参与方确定第一OPRF输出,第二参与方确定第二OPRF输出,包括:
基于OPRF协议,第一参与方调用1.2n+s次OPRF函数,得到所述布谷鸟哈希表中位置i的元素对应的第一OPRF输出F(ki,ri),ri为第一参与方第i次调用OPRF函数的输入值,ri根据所述布谷鸟哈希表中位置i的元素所确定,第二参与方调用1.2n+s次OPRF函数,得到第二OPRF输出ki,i取值为1~1.2n+s。
可选地,所述第一OPRF输出包括所述集合Y中各元素对应的第一OPRF输出,所述第一参与方根据所述第一OPRF输出以及所述集合Y中的各元素,计算得到第一密文结果,包括:
所述第一参与方对所述集合Y中的元素yi利用密钥keyi进行加密,得到元素yi的加密结果;
所述第一参与方将所述集合Y中元素yi对应的第一OPRF输出与所述密钥keyi进行异或操作,得到所述元素yi的第一异或结果;
所述第一参与方将所述元素yi的加密结果和所述元素yi的第一异或结果作为所述元素yi的第一密文结果,i取值为1~n;
所述第二参与方根据所述第二OPRF输出以及所述集合X中的各元素,计算得到第二密文结果,包括:
所述第二参与方对所述集合X中的元素xi,从所述第二OPRF输出中选取3+s个OPRF种子计算得到元素xi的第二密文结果,i取值为1~m。
可选地,所述第三参与方对接收到的第一密文结果和第二密文结果进行匹配操作,得到所述集合X和所述集合Y的交集,包括:
所述第三参与方初始化空的集合T;
对接收到的第一密文结果中元素yi的第一异或结果与接收到的元素xj的第二密文结果分别取指定位进行比对,若二者的指定位相等,则对所述元素yi的第一异或结果与所述元素xj的第二密文结果进行异或操作,得到第二异或结果,i取值为1~n,j取值为1~m;
将所述第二异或结果作为密钥keyi对所述元素yi的加密结果进行解密,得到所述元素yi的明文数据;
将所述元素yi的明文数据加入所述集合T。
可选地,所述集合X和集合Y中的元素包括数据标识的密文,所述数据标识包括用户标识、身份证标识中的至少一种。
另一方面,本发明实施例公开了一种数据处理系统,所述系统用于对第一参与方的集合Y和第二参与方的集合X基于隐私保护求交集,集合Y包含n个元素,集合X包含m个元素,所述系统包括第一参与方、第二参与方和第三参与方;
所述第一参与方,用于基于OPRF协议确定第一OPRF输出;
所述第二参与方,用于基于OPRF协议确定第二OPRF输出;其中,所述第一OPRF输出根据所述集合Y和所述第二OPRF输出所确定;
所述第一参与方,还用于根据所述第一OPRF输出以及所述集合Y中的各元素,计算得到第一密文结果,并将所述第一密文结果发送至第三参与方;
所述第二参与方,还用于根据所述第二OPRF输出以及所述集合X中的各元素,计算得到第二密文结果,并将所述第二密文结果发送至第三参与方;
所述第三参与方,用于对接收到的第一密文结果和第二密文结果进行匹配操作,得到所述集合X和所述集合Y的交集。
可选地,所述第一参与方,还用于采用布谷鸟哈希算法将所述集合Y中的元素映射到1.2n个第一哈希桶和1个第二哈希桶中,得到所述集合Y对应的布谷鸟哈希表;其中,第一哈希桶的容量为1,第二哈希桶的容量为s;
所述第二参与方,还用于计算所述集合X中每个元素映射到所述布谷鸟哈希表的所有可能的映射位置。
可选地,所述第一参与方,具体用于基于OPRF协议,调用1.2n+s次OPRF函数,得到所述布谷鸟哈希表中位置i的元素对应的第一OPRF输出F(ki,ri),ri为第一参与方第i次调用OPRF函数的输入值,ri根据所述布谷鸟哈希表中位置i的元素所确定,i取值为1~1.2n+s;
所述第二参与方,具体用于调用1.2n+s次OPRF函数,得到第二OPRF输出ki,i取值为1~1.2n+s。
可选地,所述第一OPRF输出包括所述集合Y中各元素对应的第一OPRF输出;
所述第一参与方,具体用于对所述集合Y中的元素yi利用密钥keyi进行加密,得到元素yi的加密结果;将所述集合Y中元素yi对应的第一OPRF输出与所述密钥keyi进行异或操作,得到所述元素yi的第一异或结果;将所述元素yi的加密结果和所述元素yi的第一异或结果作为所述元素yi的第一密文结果,i取值为1~n;
所述第二参与方,具体用于对所述集合X中的元素xi,从所述第二OPRF输出中选取3+s个OPRF种子计算得到元素xi的第二密文结果,i取值为1~m。
可选地,所述第三参与方,具体用于初始化空的集合T;对接收到的第一密文结果中元素yi的第一异或结果与接收到的元素xj的第二密文结果分别取指定位进行比对,若二者的指定位相等,则对所述元素yi的第一异或结果与所述元素xj的第二密文结果进行异或操作,得到第二异或结果,i取值为1~n,j取值为1~m;将所述第二异或结果作为密钥keyi对所述元素yi的加密结果进行解密,得到所述元素yi的明文数据;将所述元素yi的明文数据加入所述集合T。
可选地,所述集合X和集合Y中的元素包括数据标识的密文,所述数据标识包括用户标识、身份证标识中的至少一种。
再一方面,本发明实施例公开了一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如前述一个或多个所述的数据处理方法。
本发明实施例包括以下优点:
本发明实施例基于OPRF协议对第一参与方的集合Y和第二参与方的集合X基于隐私保护求交集,为了避免暴露参与方的隐私数据,本发明实施例在求交集的过程中增加了第三参与方。基于OPRF协议,第一参与方确定所述集合Y的第一OPRF输出,第二参与方确定第二OPRF输出。第一参与方根据所述第一OPRF输出以及所述集合Y中的各元素,计算得到第一密文结果,并将所述第一密文结果发送至第三参与方;第二参与方根据所述第二OPRF输出以及所述集合X中的各元素,计算得到第二密文结果,并将所述第二密文结果发送至第三参与方。第三参与方对接收到的第一密文结果和第二密文结果进行匹配操作,得到所述集合X和所述集合Y的交集。在此过程中,第一参与方和第二参与方不能获取对方集合中数据的任何信息,也不能获取交集中数据的任何信息,可以保证隐私保护求交集过程中数据的隐私安全。此外,第一参与方和第二参与方并不直接将各自的OPRF输出发送给第三参与方,而是将处理后得到的第一密文结果和第二密文结果发送给第三参与方。第三参与方对接收到的第一密文结果和第二密文结果进行匹配操作,得到集合Y和集合X的交集。在此过程中,第三参与方除了可以获取交集的数据之外,不能获取集合Y和集合X中交集外其他数据的任何信息,可以进一步保证隐私保护求交集过程中数据的隐私安全。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种数据处理方法实施例的步骤流程图;
图2是本发明的一种数据处理装置实施例的结构框图;
图3是本发明的一些实施例中服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
方法实施例
参照图1,示出了本发明的一种数据处理方法实施例的步骤流程图,所述方法可用于对第一参与方的集合Y和第二参与方的集合X基于隐私保护求交集,集合Y包含n个元素,集合X包含m个元素,所述方法具体可以包括如下步骤:
步骤101、基于OPRF协议,第一参与方确定第一OPRF输出,第二参与方确定第二OPRF输出,所述第一OPRF输出根据所述集合Y和所述第二OPRF输出所确定;
步骤102、第一参与方根据所述第一OPRF输出以及所述集合Y中的各元素,计算得到第一密文结果,并将所述第一密文结果发送至第三参与方;
步骤103、第二参与方根据所述第二OPRF输出以及所述集合X中的各元素,计算得到第二密文结果,并将所述第二密文结果发送至第三参与方;
步骤104、第三参与方对接收到的第一密文结果和第二密文结果进行匹配操作,得到所述集合X和所述集合Y的交集。
本发明实施例提供的数据处理方法可用于对第一参与方的集合Y和第二参与方的集合X基于隐私保护求交集,本发明实施例可应用于大数据共享场景,通过对第一参与方的集合Y和第二参与方的集合X基于隐私保护求交集,可以在避免敏感数据被泄露的基础上,实现多方数据的融合,进而可以对融合的数据进行联合分析或者联合建模等操作,实现大数据共享的价值。
在具体实施中,集合X和集合Y的元素个数可以相等也可以不相等,也即,m=n,或者,m≠n。
进一步地,所述集合X和集合Y中的元素可以包括数据标识的密文,所述数据标识可以包括但不限于用户标识、身份证标识中的至少一种。
在本发明实施例中,第一参与方的集合Y和第二参与方的集合X中的数据可以为密文,本发明实施例在密文基础上对第一参与方的集合Y和第二参与方的集合X求交集,进一步保证数据的隐私安全。本发明实施例对集合X和集合Y中元素的数据类型不做限制。例如,集合X和集合Y中的元素可以包括数据标识的密文。所述数据标识可以包括但不限于用户标识、身份证标识中的至少一种。
在对两个参与方的数据进行融合之前,通常需要对两个参与方的数据进行数据对齐。数据对齐是指对两个参与方的数据集合中具有相同标识的数据进行对齐,其中包含确定两个参与方的数据集合中相同的标识的过程,从而可以确定两个参与方是否拥有同一标识对应的数据。本发明实施例通过对集合X和集合Y基于隐私保护求交集,可以实现对集合X和集合Y进行数据对齐。
在具体实施中,基于OPRF协议,第一参与方利用自身的OPRF输出以及接收的第二参与方的OPRF输出,可以计算出集合Y中是否存在交集的元素。但是这样会向第一参与方暴露第二参与方在交集中的数据。本发明实施例为了避免暴露参与方的隐私数据,在求交集的过程中增加了第三参与方,所述第三参与方可以为可信的中间方。
第一参与方和第二参与方可以基于OPRF协议分别获取各自的OPRF输出,第三参与方可以根据第一参与方和第二参与方的OPRF输出,对第一参与方的集合Y和第二参与方的集合X基于隐私保护求交集。在此过程中,第一参与方和第二参与方不能获取对方集合中数据的任何信息,也不能获取交集中数据的任何信息,可以保证隐私保护求交集过程中数据的隐私安全。此外,在本发明实施例中,第一参与方和第二参与方并不直接将各自的OPRF输出发送给第三参与方,而是经过加密等处理后将得到的第一密文结果和第二密文结果发送给第三参与方。第三参与方对接收到的第一密文结果和第二密文结果进行匹配操作,得到集合Y和集合X的交集。在此过程中,第三参与方除了可以获取交集的数据之外,不能获取集合Y和集合X中交集外其他数据的任何信息,可以进一步保证隐私保护求交集过程中数据的隐私安全。
在OPRF协议中,客户端和服务端分别调用OPRF函数得到各自的OPRF输出。其中,服务端的OPRF输出为OPRF种子,客户端基于服务端输出的OPRF种子得到自身的OPRF输出。在本发明实施例中,第一参与方可以为OPRF协议中的客户端,第二参与方可以为OPRF协议中的服务端。也即,第二参与方确定的第二OPRF输出包含所述集合Y中各元素对应的OPRF种子。第一参与方根据其集合Y和第二参与方输出的OPRF种子确定第一OPRF输出。可以理解的是,在实际应用中,第一参与方也可以是OPRF协议中的服务端,第二参与方也可以是OPRF协议中的客户端。进一步地,所述第一参与方和所述第二参与方可以为数据提供方,为密文计算提供密文数据。可以将数据量较大的一方作为OPRF协议的客户端(也就是得到OPRF结果但不得到OPRF种子的接收方),将数据量较小的一方作为OPRF协议的服务端,以提高OPRF协议的执行效率。
第一参与方和第二参与方获取各自的OPRF输出之后,并不直接将各自的OPRF输出发送给第三参与方。第一参与方获取自身的第一OPRF输出之后,根据所述第一OPRF输出以及所述集合Y中的各元素,计算得到第一密文结果,并将所述第一密文结果发送至第三参与方。第二参与方获取自身的第二OPRF输出之后,根据所述第二OPRF输出以及所述集合X中的各元素,计算得到第二密文结果,并将所述第二密文结果发送至第三参与方。
由于第一密文结果中隐含有第一OPRF输出的信息,而第一OPRF输出是根据集合Y中的各元素以及OPRF种子所确定,第二密文结果是根据集合X中的各元素以及第二OPRF输出(也即OPRF种子)所确定。因此,在集合Y中某元素(如yi)和集合X中某元素(如xj)相等的情况下,相应的第一密文结果和第二密文结果应具有匹配关系。第三参与方通过对接收到的第一密文结果和第二密文结果进行匹配操作,若二者具有匹配关系,则可以确定当前元素yi和xj相等,进而可以确定当前元素yi和xj属于集合Y和集合X的交集。
在第三参与方确定交集的过程中,由于第三参与方不持有OPRF种子,因此,对于第三参与方而言,第一参与方的第一密文结果类似于随机数,第三参与方无法获得第一参与方的集合数据。此外,虽然第一参与方持有OPRF种子,但第一参与方将根据第一OPRF输出得到的第一密文结果发送给第三参与方,由第三参与方确定交集,第一参与方没有获取第二参与方的具体数据,因此,也不会泄露第二参与方的集合数据,可以保护第一参与方和第二参与方双方数据的隐私安全。
在本发明的一种可选实施例中,所述方法还可以包括:
步骤S11、第一参与方采用布谷鸟哈希算法将所述集合Y中的元素映射到1.2n个第一哈希桶和1个第二哈希桶中,得到所述集合Y对应的布谷鸟哈希表;其中,第一哈希桶的容量为1,第二哈希桶的容量为s;
步骤S12、第二参与方计算所述集合X中每个元素映射到所述布谷鸟哈希表的所有可能的映射位置。
通过本发明实施例的数据处理方法进行隐私保护求交集的过程可以包括三个阶段。第一阶段为哈希映射阶段,第一参与方利用布谷鸟哈希算法对其集合中的元素进行映射,得到长度为1.2n+s的布谷鸟哈希表,第一参与方向第二参与方告知该布谷鸟哈希表的长度以及该布谷鸟哈希表的映射方法,第二参与方计算其集合中每个元素映射到该布谷鸟哈希表的所有可能的映射位置。第二阶段为OPRF输出阶段,第一参与方和第二参与方分别调用OPRF函数获得各自的OPRF输出,并根据各自的OPRF输出分别计算向第三参与方发送的密文结果。第三阶段为求交集阶段,第三参与方根据接收到的第一参与方的第一密文结果以及第二参与方的第二密文结果,确定第一参与方的集合Y和第二参与方的集合X的交集。
布谷鸟哈希算法指的是将n个元素通过3个哈希函数hj(x)映射到1.2n个第一哈希桶中,j=1,2或3,且每个元素最多只会被映射到一个第一哈希桶中,一旦某个元素没有被映射到这1.2n个第一哈希桶中,就会被映射到第二哈希桶(将第二哈希桶记为stash)中。第二哈希桶的容量为s。
在第一阶段,第一参与方可以采用布谷鸟哈希算法将所述集合Y中的元素映射到1.2n个第一哈希桶和1个第二哈希桶中,得到长度为1.2n+s的布谷鸟哈希表,其中,每个第一哈希桶中最多包含1个元素,空的第一哈希桶用dummy元素填充,dummy元素可以是假数据,通过填充假数据可以避免让对方知道第一参与方集合中哪些数据不存在;第二哈希桶中最多包含s个元素,s为经验值。例如,s可以根据第一哈希桶的数目确定,第一哈希桶的数目越多,s越小,最小可达到2。相应地,第二参与方可以采用简单哈希算法计算其集合X中的每个元素映射到长度为1.2n+s的布谷鸟哈希表的所有可能的映射位置。本发明实施例对所述简单哈希算法不做限制,如SHA256算法等。
需要说明的是,由于布谷鸟哈希算法通过3个哈希函数hj(x)计算某个元素映射到1.2n个第一哈希桶中的可能的映射位置,j=1,2或3,或者,将某个元素映射到第二哈希桶中s个可能的映射位置中的某一个。因此,对于第二参与方的集合X中的每个元素,分别计算将该元素进行3个哈希函数映射到1.2n范围的3个可能的映射位置,以及映射到第二哈希桶中s个可能的映射位置,因此,第二参与方的集合X中的每个元素映射到长度为1.2n+s的布谷鸟哈希表有3+s个可能的映射位置。也即,第一参与方计算其集合Y中各元素映射到布谷鸟哈希表的映射位置,并且将其集合Y中的各元素映射到布谷鸟哈希表中;而第二参与方仅需计算其集合X中各元素映射到该布谷鸟哈希表中所有可能的映射位置,并不用将其集合X中的元素映射至布谷鸟哈希表中。也即,该长度为1.2n+s的布谷鸟哈希表中保存有集合Y中的n个元素,并且剩余位置填充为dummy元素。
在本发明的一种可选实施例中,所述基于OPRF协议,第一参与方确定第一OPRF输出,第二参与方确定第二OPRF输出,包括:
基于OPRF协议,第一参与方调用1.2n+s次OPRF函数,得到所述布谷鸟哈希表中位置i的元素对应的第一OPRF输出F(ki,ri),ri为第一参与方第i次调用OPRF函数的输入值,ri根据所述布谷鸟哈希表中位置i的元素所确定,第二参与方调用1.2n+s次OPRF函数,得到第二OPRF输出ki,i取值为1~1.2n+s。
在第二阶段,第一参与方和第二参与方分别批量调用OPRF函数,具体地,第一参与方和第二参与方分别调用1.2n+s次OPRF函数。
对于第一参与方,在第i次调用OPRF函数时,根据所述布谷鸟哈希表中位置i的元素,确定第i次调用OPRF函数的输入值ri,并基于所述输入值ri调用OPRF函数,得到所述布谷鸟哈希表中位置i的元素对应的第一OPRF输出,记为F(ki,ri),ki为第一参与方第i次调用OPRF函数使用的OPRF种子,i取值为1~1.2n+s。
一个示例中,第一参与方根据所述布谷鸟哈希表中位置i的元素,确定第i次调用OPRF函数的输入值ri的一种算法描述可以如下:对于i∈[1.2n],if bin≠i为空,then设置ri为dummy值;elify在桶≠i then 设置ri=y‖z(y)。对于i∈[s],ifstash中位置i为y,then设置ri=y;else设置ri为dummy值。其中,y表示所述布谷鸟哈希表中位置i的元素。
第一参与方采用布谷鸟哈希算法将集合Y中的元素映射到1.2n个第一哈希桶和1个第二哈希桶中。布谷鸟哈希表的长度为1.2n+s,对于前1.2n处的每个位置i都对应1个ri,一旦第一参与方的集合Y中存在任意元素y经过布谷鸟哈希算法被映射到这个位置i中,则令ri=y ||z(y)。其中z(y)跟布谷鸟哈希算法中的哈希函数有关(布谷鸟哈希算法会使用3个哈希函数hj(x)将y映射到哈希表中,如果y是被第1个哈希函数映射过去的,则z(y)=1,其他同理,也就是z(y)指的是y是被哪个哈希函数映射到布谷鸟哈希表中,z(y)=1,2或3)。一旦第一参与方的集合Y中没有任何元素通过3个哈希函数映射到位置i中,则令ri为dummy值,dummy值可以为一个随机数。
对于布谷鸟哈希表的后s个位置,每个位置i也对应一个ri,不同的是,一旦集合Y中存在任意元素y被映射到了第二哈希桶stash中的位置i,则令ri=y,否则令ri为dummy值。
第一参与方基于输入值ri执行第i次调用OPRF函数的操作,得到布谷鸟哈希表位置i的元素对应的第一OPRF输出F(ki,ri),在第1.2n+s次调用OPRF函数的操作完成之后,得到所述布谷鸟哈希表各位置的元素对应的第一OPRF输出可以包括:F(k1,r1)、F(k2,r2)、…、F(k1.2n+s,r1.2n+s)。
基于OPRF协议,第二参与方调用1.2n+s次OPRF函数,可以得到第二OPRF输出,记为ki,i取值为1~1.2n+s。也即,第二OPRF输出可以包括:k1、k2、…、k1.2n+s。其中,ki为所述布谷鸟哈希表中位置i的元素对应的OPRF种子。所述布谷鸟哈希表中位置i的元素对应的第一OPRF输出根据所述位置i的元素对应的OPRF种子计算得到。
第一参与方和第二参与方在获取各自的OPRF输出之后,并不直接将各自的OPRF输出发送给第三参与方,而是经过加密等处理后将得到的第一密文结果和第二密文结果发送给第三参与方。
在本发明的一种可选实施例中,所述第一OPRF输出包括所述集合Y中各元素对应的第一OPRF输出,所述第一参与方根据所述第一OPRF输出以及所述集合Y中的各元素,计算得到第一密文结果,包括:
步骤S1、所述第一参与方对所述集合Y中的元素yi利用密钥keyi进行加密,得到元素yi的加密结果;
步骤S2、所述第一参与方将所述集合Y中元素yi对应的第一OPRF输出与所述密钥keyi进行异或操作,得到所述元素yi的第一异或结果;
步骤S3、所述第一参与方将所述元素yi的加密结果和所述元素yi的第一异或结果作为所述元素yi的第一密文结果,i取值为1~n。
第一参与方将集合Y的元素映射到1.2n个第一哈希桶和1个第二哈希桶之后,假设对应第i个哈希桶的元素为yi。第一参与方对集合Y中的元素yi利用密钥keyi进行AES(Advanced Encryption Standard,高级加密标准)加密,得到元素yi的加密结果,记为
Figure 288738DEST_PATH_IMAGE001
。其中,密钥keyi可以与输入值ri一一对应。第一参与方将元素yi对应的第一OPRF输出F(ki,ri)与所述密钥keyi进行异或操作,得到所述元素yi的第一异或结果,记为F(ki,ri)⊕keyi。第一参与方可以将所述集合Y中元素yi的加密结果
Figure 409141DEST_PATH_IMAGE002
和所述元素yi的第一异或结果F(ki,ri)⊕keyi作为所述元素yi的第一密文结果,i取值为1~n,n为所述集合Y的元素个数。第一参与方将所述集合Y中各元素的第一密文结果发送至第三方,也即第一参与方将所述集合Y中元素yi的加密结果
Figure 923299DEST_PATH_IMAGE003
和所述元素yi的第一异或结果F(ki,ri)⊕keyi发送至第三参与方,i取值为1~n。
需要说明的是,第一参与方可以计算得到所述布谷鸟哈希表中各位置的元素对应的第一OPRF输出,也即,第一参与方计算得到1.2n+s个第一OPRF输出。这1.2n+s个第一OPRF输出中包含集合Y的n个元素对应的n个第一OPRF输出,剩余的为dummy元素对应的第一OPRF输出。
第一参与方在这1.2n+s个第一OPRF输出中确定集合Y的n个元素对应的n个第一OPRF输出;并且对其集合Y中的各元素利用对应密钥进行加密,得到各元素的加密结果;第一参与方将集合Y中各元素对应的第一OPRF输出与对应密钥进行异或操作,得到集合Y中各元素对应的第一异或结果,也即,可以得到集合Y中n个元素对应的n个第一异或结果。第一参与方将这n个第一异或结果发送给第三参与方参与求交集。
对于第一参与方第i次调用OPRF函数获取的第一OPRF输出F(ki,ri),第一参与方不直接将F(ki,ri)发送给第三参与方,而是将第一异或结果F(ki,ri)⊕keyi发送给第三参与方。由于F(ki,ri)是伪随机的,因此,即使第三参与方接收到第一异或结果F(ki,ri)⊕keyi,也无法根据第一异或结果获取AES加密的密钥keyi,可以保证AES密钥的安全性。
在本发明的一种可选实施例中,所述第二参与方根据所述第二OPRF输出以及所述集合X中的各元素,计算得到第二密文结果,包括:
所述第二参与方对所述集合X中的元素xi,从所述第二OPRF输出中选取3+s个OPRF种子计算得到元素xi的第二密文结果,i取值为1~m。
第二参与方对所述集合X中的元素xi,利用第二OPRF输出ki计算集合元素Hj和集合元素Sj,将集合元素Hj和集合元素Sj作为元素xi的第二密文结果,记为F(ki,xi)。一个示例中,集合元素Hj和集合元素Sj通过下式计算:
Figure 115246DEST_PATH_IMAGE004
(1)
Figure 86875DEST_PATH_IMAGE005
(2)
第二参与方调用1.2n+s次OPRF函数得到第二OPRF输出ki,i取值为1~1.2n+s,也即得到1.2n+s个OPRF种子。集合元素Hj是针对第二参与方的集合X中每个元素都计算3个OPRF结果,集合元素Sj是针对第二参与方的集合X中每个元素都计算s个OPRF结果。也就是说,第二参与方的集合X中每个元素都要从1.2n+s个种子中,挑选出3+s个种子来计算3+s个OPRF结果。Hj对应布谷鸟哈希表前1.2n个位置计算的OPRF结果,Sj对应布谷鸟哈希表后s个位置计算的OPRF结果。hj(x)为布谷鸟哈希算法使用的3个哈希函数,j=1,2或3。第二参与方的集合X中每个元素映射到长度为1.2n+s的布谷鸟哈希表有3+s个可能的映射位置,因此,对于集合X中的某个元素xi,计算上式(1)可以得到3个第二密文结果,计算上式(2)可以得到s个第二密文结果,也即,对于该元素xi,可以计算得到3+s个第二密文结果。因此,第二参与方可以计算得到(3+s)*m个第二密文结果,m为集合X包含的元素个数。
由于布谷鸟哈希算法的特性,某个元素要么被3个哈希函数映射在前1.2n个位置中,要么被映射在后s个位置中。而第一参与方的集合Y中的每个元素,只可能处于布谷鸟哈希表中的这3+s个位置,因此第二参与方只需要对自身集合X中每个元素也取3+s个种子计算3+s个OPRF结果即可。利用布谷鸟哈希算法的思想,可以将原本每个元素使用O(n)个OPRF协议的种子降低到3+s,可以降低算法复杂度。
在本发明的一种可选实施例中,所述第三参与方对接收到的第一密文结果和第二密文结果进行匹配操作,得到所述集合X和所述集合Y的交集,包括:
步骤S41、所述第三参与方初始化空的集合T;
步骤S42、对接收到的第一密文结果中元素yi的第一异或结果与接收到的元素xj的第二密文结果分别取指定位进行比对,若二者的指定位相等,则对所述元素yi的第一异或结果与所述元素xj的第二密文结果进行异或操作,得到第二异或结果,i取值为1~n,j取值为1~m;
步骤S43、将所述第二异或结果作为密钥keyi对所述元素yi的加密结果进行解密,得到所述元素yi的明文数据;
步骤S44、将所述元素yi的明文数据加入所述集合T。
在本发明实施例中,第三参与方可以接收到第一参与方发送的n个第一密文结果,每个第一密文结果中包含一个第一异或结果F(ki,ri)⊕keyi和一个加密结果
Figure 643759DEST_PATH_IMAGE001
,以及接收到第二参与方发送的(3+s)*m个第二密文结果。
在本发明实施例中,第一密文结果中元素yi的第一异或结果与元素xj的第二密文结果的长度相等,假设均为512比特。该长度可以根据实际需要灵活设置,但是为了保证数据隐私安全,该长度应不少于424比特。对于元素yi的第一异或结果,其中有指定长度为密钥keyi的长度,剩余长度则为第一OPRF输出。一个示例中,假设密钥keyi的长度为128比特,则剩余384比特为第一OPRF输出。对于元素xj的第二密文结果,512比特为第二OPRF输出,元素xj的第二密文结果中有384比特用于与元素yi的第一异或结果中的384比特进行比对,元素xj的第二密文结果中剩余的128比特可用于在元素yi与元素xj相等的情况下,参与元素yi的第一异或结果与元素xj的第二密文结果的异或操作,得到密钥keyi
第三参与方对接收到的第一密文结果中元素yi的第一异或结果与接收到的元素xj的第二密文结果分别取指定位进行比对。其中,元素xj对应有3+s个第二密文结果,元素yi的第一异或结果需要与元素xj的3+s个第二密文结果一一比对。例如,对于第一个元素y1,第三参与方需要将y1的第一异或结果与元素x1的3+s个第二密文结果分别取指定位并进行一一比对,若均不相等,则继续将y1的第一异或结果与元素x2的3+s个第二密文结果分别取指定位并进行一一比对,若均不相等,则继续将y1的第一异或结果与元素x3的3+s个第二密文结果分别取指定位并进行一一比对,直至比对结果相等,得到交集元素;或者,直至y1的第一异或结果与(3+s)*m个第二密文结果全部比对完成,此时说明元素y1不属于集合X和集合Y的交集。同样的方法,判断元素y2是否属于集合X和集合Y的交集。
在本发明实施例中,所述指定位指的是第一密文结果和第二密文结果中的数据位,如第一密文结果中用于表示第一OPRF输出的384位,以及第二密文结果中用于参与比对的384位。将第一密文结果指定的384位与第二密文结果中指定的384位进行比对,若二者相等,说明元素yi与元素xj相等,也即,元素yi与元素xj属于集合X和集合Y的交集。其中,i取值为1~n,j取值为1~m)。此时,可以对所述元素yi的第一异或结果与所述元素xj的第二密文结果进行异或操作,得到第二异或结果。
需要说明的是,本发明实施例对第一异或结果中的指定位与第二密文结果中的指定位进行比对的方法不做限制。例如,可以对n个第一密文结果中每个第一密文结果与(3+s)*m个第二密文结果进行一一比对;或者,可以先对n个第一异或结果以及(3+s)*m个第二密文结果分别取指定位,得到n个第一异或结果中的指定位,以及(3+s)*m个第二密文结果中的指定位。然后利用哈希表映射或排序的方法,对n个第一异或结果中的指定位与(3+s)*m个第二密文结果中的指定位进行比对,相对于一一比对的方式,可以降低比对的复杂度。
如果元素yi和元素xj相等(i取值为1~n,j取值为1~m),元素yi对应的第一OPRF输出和元素xj对应的第二OPRF输出也应相等。因此,在元素yi和元素xj相等的情况下,对元素yi的第一异或结果与元素xj的第二密文结果进行异或操作,得到第二异或结果。由于元素yi的第一异或结果中指定的384位与元素xj的第二密文结果中指定的384位相等,因此,得到的第二异或结果即为元素yi的128位的加密密钥keyi。利用该密钥keyi对元素yi的加密结果进行解密,可以得到元素yi的明文数据,并将元素yi的明文数据加入所述集合T。在对所有的第一密文结果比对完成之后,得到的集合T即为集合X和集合Y的交集。
在本发明实施例中,第三参与方将接收到的第一密文结果中元素yi的第一异或结果与接收到的元素xj的第二密文结果进行异或操作,得到第二异或结果。如果元素yi∈X∩Y,则第二异或结果即为对元素yi进行AES加密的密钥keyi。如果元素yi∉X∩Y,则第二异或结果为伪随机数,从而第三参与方无法获取隐藏在第二异或结果中的密钥keyi,于是用密钥keyi进行AES加密的集合Y中的非交集元素也无法被解密得到。也即,第三参与方无法获取除X∩Y之外的任何数据,可以保护第一参与方和第二参与方集合数据的隐私安全。
综上,本发明实施例基于OPRF协议对第一参与方的集合Y和第二参与方的集合X基于隐私保护求交集,为了避免暴露参与方的隐私数据,本发明实施例在求交集的过程中增加了第三参与方。基于OPRF协议,第一参与方确定所述集合Y的第一OPRF输出,第二参与方确定第二OPRF输出。第一参与方根据所述第一OPRF输出以及所述集合Y中的各元素,计算得到第一密文结果,并将所述第一密文结果发送至第三参与方;第二参与方根据所述第二OPRF输出以及所述集合X中的各元素,计算得到第二密文结果,并将所述第二密文结果发送至第三参与方。第三参与方对接收到的第一密文结果和第二密文结果进行匹配操作,得到所述集合X和所述集合Y的交集。在此过程中,第一参与方和第二参与方不能获取对方集合中数据的任何信息,也不能获取交集中数据的任何信息,可以保证隐私保护求交集过程中数据的隐私安全。此外,第一参与方和第二参与方并不直接将各自的OPRF输出发送给第三参与方,而是将处理后得到的第一密文结果和第二密文结果发送给第三参与方。第三参与方对接收到的第一密文结果和第二密文结果进行匹配操作,得到集合Y和集合X的交集。在此过程中,第三参与方除了可以获取交集的数据之外,不能获取集合Y和集合X中交集外其他数据的任何信息,可以进一步保证隐私保护求交集过程中数据的隐私安全。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
装置实施例
参照图2,示出了本发明的一种数据处理系统实施例的结构框图,所述系统用于对第一参与方的集合Y和第二参与方的集合X基于隐私保护求交集,集合Y包含n个元素,集合X包含m个元素,所述系统包括第一参与方201、第二参与方202和第三参与方203;
所述第一参与方201,用于基于OPRF协议确定第一OPRF输出;
所述第二参与方202,用于基于OPRF协议确定第二OPRF输出;其中,所述第一OPRF输出根据所述集合Y和所述第二OPRF输出所确定;
所述第一参与方201,还用于根据所述第一OPRF输出以及所述集合Y中的各元素,计算得到第一密文结果,并将所述第一密文结果发送至第三参与方;
所述第二参与方202,还用于根据所述第二OPRF输出以及所述集合X中的各元素,计算得到第二密文结果,并将所述第二密文结果发送至第三参与方;
所述第三参与方203,用于对接收到的第一密文结果和第二密文结果进行匹配操作,得到所述集合X和所述集合Y的交集。
可选地,所述第一参与方,还用于采用布谷鸟哈希算法将所述集合Y中的元素映射到1.2n个第一哈希桶和1个第二哈希桶中,得到所述集合Y对应的布谷鸟哈希表;其中,第一哈希桶的容量为1,第二哈希桶的容量为s;
所述第二参与方,还用于计算所述集合X中每个元素映射到所述布谷鸟哈希表的所有可能的映射位置。
可选地,所述第一参与方,具体用于基于OPRF协议,调用1.2n+s次OPRF函数,得到所述布谷鸟哈希表中位置i的元素对应的第一OPRF输出F(ki,ri),ri为第一参与方第i次调用OPRF函数的输入值,ri根据所述布谷鸟哈希表中位置i的元素所确定,i取值为1~1.2n+s;
所述第二参与方,具体用于调用1.2n+s次OPRF函数,得到第二OPRF输出ki,i取值为1~1.2n+s。
可选地,所述第一OPRF输出包括所述集合Y中各元素对应的第一OPRF输出;
所述第一参与方,具体用于对所述集合Y中的元素yi利用密钥keyi进行加密,得到元素yi的加密结果;将所述集合Y中元素yi对应的第一OPRF输出与所述密钥keyi进行异或操作,得到所述元素yi的第一异或结果;将所述元素yi的加密结果和所述元素yi的第一异或结果作为所述元素yi的第一密文结果,i取值为1~n;
所述第二参与方,具体用于对所述集合X中的元素xi,从所述第二OPRF输出中选取3+s个OPRF种子计算得到元素xi的第二密文结果,i取值为1~m。
可选地,所述第三参与方,具体用于初始化空的集合T;对接收到的第一密文结果中元素yi的第一异或结果与接收到的元素xj的第二密文结果分别取指定位进行比对,若二者的指定位相等,则对所述元素yi的第一异或结果与所述元素xj的第二密文结果进行异或操作,得到第二异或结果,i取值为1~n,j取值为1~m;将所述第二异或结果作为密钥keyi对所述元素yi的加密结果进行解密,得到所述元素yi的明文数据;将所述元素yi的明文数据加入所述集合T。
可选地,所述集合X和集合Y中的元素包括数据标识的密文,所述数据标识包括用户标识、身份证标识中的至少一种。
本发明实施例基于OPRF协议对第一参与方的集合Y和第二参与方的集合X基于隐私保护求交集,为了避免暴露参与方的隐私数据,本发明实施例在求交集的过程中增加了第三参与方。基于OPRF协议,第一参与方确定所述集合Y的第一OPRF输出,第二参与方确定第二OPRF输出。第一参与方根据所述第一OPRF输出以及所述集合Y中的各元素,计算得到第一密文结果,并将所述第一密文结果发送至第三参与方;第二参与方根据所述第二OPRF输出以及所述集合X中的各元素,计算得到第二密文结果,并将所述第二密文结果发送至第三参与方。第三参与方对接收到的第一密文结果和第二密文结果进行匹配操作,得到所述集合X和所述集合Y的交集。在此过程中,第一参与方和第二参与方不能获取对方集合中数据的任何信息,也不能获取交集中数据的任何信息,可以保证隐私保护求交集过程中数据的隐私安全。此外,第一参与方和第二参与方并不直接将各自的OPRF输出发送给第三参与方,而是将处理后得到的第一密文结果和第二密文结果发送给第三参与方。第三参与方对接收到的第一密文结果和第二密文结果进行匹配操作,得到集合Y和集合X的交集。在此过程中,第三参与方除了可以获取交集的数据之外,不能获取集合Y和集合X中交集外其他数据的任何信息,可以进一步保证隐私保护求交集过程中数据的隐私安全。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图3是本发明的一些实施例中服务器1900的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行图1所示的数据处理方法。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行一种数据处理方法,所述方法包括:
基于OPRF协议,第一参与方确定第一OPRF输出,第二参与方确定第二OPRF输出,所述第一OPRF输出根据所述集合Y和所述第二OPRF输出所确定;第一参与方根据所述第一OPRF输出以及所述集合Y中的各元素,计算得到第一密文结果,并将所述第一密文结果发送至第三参与方;第二参与方根据所述第二OPRF输出以及所述集合X中的各元素,计算得到第二密文结果,并将所述第二密文结果发送至第三参与方;第三参与方对接收到的第一密文结果和第二密文结果进行匹配操作,得到所述集合X和所述集合Y的交集。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
以上对本发明所提供的一种数据处理方法和系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (11)

1.一种数据处理方法,其特征在于,所述方法用于对第一参与方的集合Y和第二参与方的集合X基于隐私保护求交集,集合Y包含n个元素,集合X包含m个元素,所述方法包括:
基于OPRF协议,第一参与方确定第一OPRF输出,第二参与方确定第二OPRF输出,所述第一OPRF输出根据所述集合Y和所述第二OPRF输出所确定;
第一参与方根据所述第一OPRF输出以及所述集合Y中的各元素,计算得到第一密文结果,并将所述第一密文结果发送至第三参与方;
第二参与方根据所述第二OPRF输出以及所述集合X中的各元素,计算得到第二密文结果,并将所述第二密文结果发送至第三参与方;
第三参与方对接收到的第一密文结果和第二密文结果进行匹配操作,得到所述集合X和所述集合Y的交集;
其中,所述第一OPRF输出包括所述集合Y中各元素对应的第一OPRF输出,所述第一参与方根据所述第一OPRF输出以及所述集合Y中的各元素,计算得到第一密文结果,包括:
所述第一参与方对所述集合Y中的元素yi利用密钥keyi进行加密,得到元素yi的加密结果;
所述第一参与方将所述集合Y中元素yi对应的第一OPRF输出与所述密钥keyi进行异或操作,得到所述元素yi的第一异或结果;
所述第一参与方将所述元素yi的加密结果和所述元素yi的第一异或结果作为所述元素yi的第一密文结果,i取值为1~n;
所述第二参与方根据所述第二OPRF输出以及所述集合X中的各元素,计算得到第二密文结果,包括:
所述第二参与方对所述集合X中的元素xi,从所述第二OPRF输出中选取3+s个OPRF种子计算得到元素xi的第二密文结果,i取值为1~m。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
第一参与方采用布谷鸟哈希算法将所述集合Y中的元素映射到1.2n个第一哈希桶和1个第二哈希桶中,得到所述集合Y对应的布谷鸟哈希表;其中,第一哈希桶的容量为1,第二哈希桶的容量为s;
第二参与方计算所述集合X中每个元素映射到所述布谷鸟哈希表的所有可能的映射位置。
3.根据权利要求2所述的方法,其特征在于,所述基于OPRF协议,第一参与方确定第一OPRF输出,第二参与方确定第二OPRF输出,包括:
基于OPRF协议,第一参与方调用1.2n+s次OPRF函数,得到所述布谷鸟哈希表中位置i的元素对应的第一OPRF输出F(ki,ri),ri为第一参与方第i次调用OPRF函数的输入值,ri根据所述布谷鸟哈希表中位置i的元素所确定,第二参与方调用1.2n+s次OPRF函数,得到第二OPRF输出ki,i取值为1~1.2n+s。
4.根据权利要求1所述的方法,其特征在于,所述第三参与方对接收到的第一密文结果和第二密文结果进行匹配操作,得到所述集合X和所述集合Y的交集,包括:
所述第三参与方初始化空的集合T;
对接收到的第一密文结果中元素yi的第一异或结果与接收到的元素xj的第二密文结果分别取指定位进行比对,若二者的指定位相等,则对所述元素yi的第一异或结果与所述元素xj的第二密文结果进行异或操作,得到第二异或结果,i取值为1~n,j取值为1~m;
将所述第二异或结果作为密钥keyi对所述元素yi的加密结果进行解密,得到所述元素yi的明文数据;
将所述元素yi的明文数据加入所述集合T。
5.根据权利要求1至4任一所述的方法,其特征在于,所述集合X和集合Y中的元素包括数据标识的密文,所述数据标识包括用户标识、身份证标识中的至少一种。
6.一种数据处理系统,其特征在于,所述系统用于对第一参与方的集合Y和第二参与方的集合X基于隐私保护求交集,集合Y包含n个元素,集合X包含m个元素,所述系统包括第一参与方、第二参与方和第三参与方;
所述第一参与方,用于基于OPRF协议确定第一OPRF输出;
所述第二参与方,用于基于OPRF协议确定第二OPRF输出;其中,所述第一OPRF输出根据所述集合Y和所述第二OPRF输出所确定;
所述第一参与方,还用于根据所述第一OPRF输出以及所述集合Y中的各元素,计算得到第一密文结果,并将所述第一密文结果发送至第三参与方;
所述第二参与方,还用于根据所述第二OPRF输出以及所述集合X中的各元素,计算得到第二密文结果,并将所述第二密文结果发送至第三参与方;
所述第三参与方,用于对接收到的第一密文结果和第二密文结果进行匹配操作,得到所述集合X和所述集合Y的交集;
其中,所述第一OPRF输出包括所述集合Y中各元素对应的第一OPRF输出;
所述第一参与方,具体用于对所述集合Y中的元素yi利用密钥keyi进行加密,得到元素yi的加密结果;将所述集合Y中元素yi对应的第一OPRF输出与所述密钥keyi进行异或操作,得到所述元素yi的第一异或结果;将所述元素yi的加密结果和所述元素yi的第一异或结果作为所述元素yi的第一密文结果,i取值为1~n;
所述第二参与方,具体用于对所述集合X中的元素xi,从所述第二OPRF输出中选取3+s个OPRF种子计算得到元素xi的第二密文结果,i取值为1~m。
7.根据权利要求6所述的系统,其特征在于,
所述第一参与方,还用于采用布谷鸟哈希算法将所述集合Y中的元素映射到1.2n个第一哈希桶和1个第二哈希桶中,得到所述集合Y对应的布谷鸟哈希表;其中,第一哈希桶的容量为1,第二哈希桶的容量为s;
所述第二参与方,还用于计算所述集合X中每个元素映射到所述布谷鸟哈希表的所有可能的映射位置。
8.根据权利要求7所述的系统,其特征在于,
所述第一参与方,具体用于基于OPRF协议,调用1.2n+s次OPRF函数,得到所述布谷鸟哈希表中位置i的元素对应的第一OPRF输出F(ki,ri),ri为第一参与方第i次调用OPRF函数的输入值,ri根据所述布谷鸟哈希表中位置i的元素所确定,i取值为1~1.2n+s;
所述第二参与方,具体用于调用1.2n+s次OPRF函数,得到第二OPRF输出ki,i取值为1~1.2n+s。
9.根据权利要求6所述的系统,其特征在于,
所述第三参与方,具体用于初始化空的集合T;对接收到的第一密文结果中元素yi的第一异或结果与接收到的元素xj的第二密文结果分别取指定位进行比对,若二者的指定位相等,则对所述元素yi的第一异或结果与所述元素xj的第二密文结果进行异或操作,得到第二异或结果,i取值为1~n,j取值为1~m;将所述第二异或结果作为密钥keyi对所述元素yi的加密结果进行解密,得到所述元素yi的明文数据;将所述元素yi的明文数据加入所述集合T。
10.根据权利要求6至9任一所述的系统,其特征在于,所述集合X和集合Y中的元素包括数据标识的密文,所述数据标识包括用户标识、身份证标识中的至少一种。
11.一种机器可读介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如权利要求1至5任一所述的数据处理方法。
CN202110716406.XA 2021-06-28 2021-06-28 一种数据处理方法和系统 Active CN113259106B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110716406.XA CN113259106B (zh) 2021-06-28 2021-06-28 一种数据处理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110716406.XA CN113259106B (zh) 2021-06-28 2021-06-28 一种数据处理方法和系统

Publications (2)

Publication Number Publication Date
CN113259106A CN113259106A (zh) 2021-08-13
CN113259106B true CN113259106B (zh) 2021-09-24

Family

ID=77189830

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110716406.XA Active CN113259106B (zh) 2021-06-28 2021-06-28 一种数据处理方法和系统

Country Status (1)

Country Link
CN (1) CN113259106B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113761570B (zh) * 2021-08-16 2024-01-30 高语澈 一种面向隐私求交的数据交互方法
CN113489583B (zh) * 2021-09-07 2021-11-26 华控清交信息科技(北京)有限公司 一种多方隐私求交中的数据处理方法、装置及电子设备
CN114172746B (zh) * 2022-02-09 2022-04-26 神州融安科技(北京)有限公司 三方交集数据的安全获取方法和装置
CN115967491B (zh) * 2023-03-07 2023-05-23 华控清交信息科技(北京)有限公司 一种隐私求交方法、系统和可读存储介质
CN116401693B (zh) * 2023-06-09 2023-07-28 北京融数联智科技有限公司 一种具有隐私保护的数据库的一对多等值连接方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156671A (zh) * 2013-05-13 2014-11-19 清华大学 一种保护隐私的无中心点积计算方法
CN111984984A (zh) * 2020-08-28 2020-11-24 山东大学 基于集合运算的保密统计数据共享方法及系统
CN112699386A (zh) * 2020-12-22 2021-04-23 杭州趣链科技有限公司 隐私数据交集的获取方法、设备、电子装置和存储介质
CN112953974A (zh) * 2021-04-16 2021-06-11 平安科技(深圳)有限公司 数据碰撞方法、装置、设备及计算机可读存储介质
CN112966283A (zh) * 2021-03-19 2021-06-15 西安电子科技大学 基于多方集合求交集的垂直分区数据pparm方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10885203B2 (en) * 2019-08-01 2021-01-05 Advanced New Technologies Co., Ltd. Encrypted data exchange

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156671A (zh) * 2013-05-13 2014-11-19 清华大学 一种保护隐私的无中心点积计算方法
CN111984984A (zh) * 2020-08-28 2020-11-24 山东大学 基于集合运算的保密统计数据共享方法及系统
CN112699386A (zh) * 2020-12-22 2021-04-23 杭州趣链科技有限公司 隐私数据交集的获取方法、设备、电子装置和存储介质
CN112966283A (zh) * 2021-03-19 2021-06-15 西安电子科技大学 基于多方集合求交集的垂直分区数据pparm方法
CN112953974A (zh) * 2021-04-16 2021-06-11 平安科技(深圳)有限公司 数据碰撞方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN113259106A (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
CN113259106B (zh) 一种数据处理方法和系统
US20210377010A1 (en) Key management method and related device
CN112910631B (zh) 一种基于云服务器辅助的高效隐私集合交集计算方法及系统
WO2020024995A1 (zh) 一种隐私交易方法、系统及设备
WO2021068444A1 (zh) 数据处理方法、装置、计算机设备和存储介质
US11165558B2 (en) Secured computing
CN110166446B (zh) 一种基于安全多方计算的地理加权平均中心的实现方法
US20140233727A1 (en) Method for secure substring search
US9635053B2 (en) Computing system with protocol protection mechanism and method of operation thereof
CN116049626A (zh) 一种数据统计方法、装置、设备以及存储介质
US10505722B2 (en) Shared secret communication system with use of cloaking elements
CN111368336B (zh) 基于秘密共享的训练方法、装置、电子设备及存储介质
CN108055128B (zh) Rsa密钥的生成方法、装置、存储介质及计算机设备
CN115694777A (zh) 基于同态加密的隐私集合求交方法、装置、设备及介质
GB2603495A (en) Generating shared keys
US9509511B2 (en) Identity based encryption
CN111917533A (zh) 具有减少泄漏的区间统计量的隐私保护基准分析
CN106161224A (zh) 数据交换方法、装置及设备
WO2022116175A1 (zh) 数字签名的生成方法、装置和服务器
US20210158444A1 (en) Method and Apparatus for a Blockchain-Agnostic Safe Multi-Signature Digital Asset Management
CN115982747B (zh) 基于参与方与可信第三方通信的安全多方乘法运算方法
CN116821961A (zh) 保护隐私数据的布尔算术分享转换方法和装置
CN116743376A (zh) 基于高效密文混淆技术的多方秘密分享数据隐私比较方法
US20220261507A1 (en) Secure computation server, trail management method, and program
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
GR01 Patent grant
GR01 Patent grant