CN115549986A - 数据求交方法、装置和电子设备 - Google Patents

数据求交方法、装置和电子设备 Download PDF

Info

Publication number
CN115549986A
CN115549986A CN202211131384.1A CN202211131384A CN115549986A CN 115549986 A CN115549986 A CN 115549986A CN 202211131384 A CN202211131384 A CN 202211131384A CN 115549986 A CN115549986 A CN 115549986A
Authority
CN
China
Prior art keywords
data
key
intersection
ciphertext
ciphertext data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211131384.1A
Other languages
English (en)
Inventor
钟昊文
黎洪达
覃鹏
冯壮壮
陈宇
唐豪鸿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Construction Bank Corp
CCB Finetech Co Ltd
Original Assignee
China Construction Bank Corp
CCB Finetech 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 China Construction Bank Corp, CCB Finetech Co Ltd filed Critical China Construction Bank Corp
Priority to CN202211131384.1A priority Critical patent/CN115549986A/zh
Publication of CN115549986A publication Critical patent/CN115549986A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提出一种数据求交方法、装置和电子设备,涉及大数据数据处理技术领域,方法包括:获取多条密文数据,保证了数据方提供的原始数据的安全性,进而,生成各个密文数据的第一键值对,针对具有相同第一属性键的第一键值对,将第一属性值不同、且第一属性键相同的至少两条密文数据作为交集密文数据,由于是基于密文数据的第一键值对进行数据求交,无法获知密文数据对应的明文数据,保证了求交过程中原始数据的安全性,同时,求交的结果也是密文数据,使得求交的结果也不会暴露给计算方,充分保证了数据求交过程中数据的安全性。

Description

数据求交方法、装置和电子设备
技术领域
本申请涉及大数据数据处理技术领域,尤其涉及一种数据求交方法、装置和电子设备。
背景技术
不同的机构和平台拥有大量数据,例如政务平台拥有涵盖个人、企业的社保类、资质类等数据,银行、运营商、互联网等机构拥有用户金融、消费、通信、社交相关数据。通过对不同机构和平台间的数据进行求交可以挖掘出更多的数据价值。
相关技术中,在对多方数据进行求交时,多方数据的原始数据和数据求交的结果均被暴露,无法保证数据安全,因此,如何保障多方数据求交过程中数据的安全性是亟需解决的技术问题。
发明内容
本申请提出一种数据求交方法、装置和电子设备,以保障多方数据求交过程中数据的安全性。
本申请一方面实施例提出了一种数据求交方法,包括以下步骤:
获取多条密文数据;
生成各条所述密文数据的第一键值对,其中,所述第一键值对包括第一属性键和第一属性值,所述第一属性键用于指示对应密文数据,所述第一属性值用于指示对应密文数据的数据提供方;
针对具有相同第一属性键的第一键值对,将所述第一属性值不同、且所述第一属性键相同的至少两条密文数据作为交集密文数据。
本申请另一方面实施例提出了一种数据求交方法,由多个数据提供方中的第一数据提供方执行,包括以下步骤:
读取待处理的至少一条明文数据;
对所述至少一条明文数据进行加密,以得到各所述明文数据对应的密文数据,并存储明文数据与密文数据之间的对应关系;
向数据处理方发送至少一条所述密文数据,以使所述数据处理方采用前述一方面所述的方法进行数据求交得到的交集密文数据;
根据所述交集密文数据和所述对应关系,得到所述交集密文数据对应的交集明文数据。本申请另一方面实施例提出了一种数据求交装置,包括:
获取模块,用于获取多条密文数据;
生成模块,用于生成各条所述密文数据的第一键值对,其中,所述第一键值对包括第一属性键和第一属性值,所述第一属性键用于指示对应密文数据,所述第一属性值用于指示对应密文数据的数据提供方;
处理模块,用于针对具有相同第一属性键的第一键值对,将所述第一属性值不同、且所述第一属性键相同的至少两条密文数据作为交集密文数据。
本申请另一方面实施例提出了一种数据求交装置,由多个数据提供方中的第一数据提供方执行,包括:
读取模块,用于读取待处理的至少一条明文数据;
加密模块,用于对所述至少一条明文数据进行加密,以得到各所述明文数据对应的密文数据,并存储明文数据与密文数据之间的对应关系;
发送模块,用于向数据处理方发送至少一条所述密文数据,以使所述数据处理方采用如前述一方面所述的方法进行数据求交得到的交集密文数据;
处理模块,用于根据所述交集密文数据和所述对应关系,得到所述交集密文数据对应的交集明文数据。
本申请另一方面实施例提出了电子设备,包括:处理器,用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如一方面所述的数据求交方法,或者,实现如另一方面所述的数据求交方法。
本申请另一方面实施例提出了一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述一方面所述的数据求交方法,或者,执行前述另一方面所述的数据求交方法。
本申请另一方面实施例提出了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如前述一方面所述的数据求交方法,或者,实现如前述另一方面所述的数据求交方法。
本申请提出的数据求交方法、装置、电子设备和存储介质,获取多条密文数据,保证了数据方提供的原始数据的安全性,进而,生成各个密文数据的第一键值对,针对具有相同第一属性键的第一键值对,将第一属性值不同、且第一属性键相同的至少两条密文数据作为交集密文数据,由于是基于密文数据的第一键值对进行数据求交,无法获知密文数据对应的明文数据,保证了求交过程中原始数据的安全性,同时,求交的结果也是密文数据,使得求交的结果也不会暴露给计算方,充分保证了数据求交过程中数据的安全性。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本申请第一实施例所示出的数据求交方法的流程示意图;
图2是本申请第二实施例所示出的数据求交方法的流程示意图;
图3是本申请第三实施例所示出的数据求交方法的流程示意图;
图4是本申请第四实施例所示出的数据求交方法的流程示意图;
图5是本申请第五实施例所示出的数据求交方法的流程示意图;
图6是本申请第六实施例所示出的密文数据加密过程的示意图;
图7是本申请第七实施例所示出的交集密文数据的解密过程的示意图;
图8是本申请第八实施例所示出的数据求交装置的结构示意图;
图9是本申请第九实施例所示出的数据求交装置的结构示意图;
图10为本申请一示例性实施例提供的一种电子设备的框图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的数据求交方法、装置和电子设备。
相关技术中,在对各数据提供方提供的数据进行求交时,只在数据传输过程中对数据进行加密,数据传输成功后便对数据进行解密,然后数据求交计算方将各数据提供方提供的数据以明文的形式进行数据的求交,同时,数据求交的计算结果也以明文的形式存在于数据求交计算方。此类方法会令各数据提供方的原始数据,数据求交的计算结果暴露给数据求交计算方,当数据属于隐私数据或保密数据时,数据安全得不到保证,也不符合要求。作为一种示例,在一种场景下,某银行想要验证客户开户的身份证和预留号码是否伪造,则需要分别从相关部门和电信运营商获取身份二要素和手机三要素信息,也就是说存在数据求交的需求,而在求交此过程中,需要放置用户隐私泄露。
因此,本申请提出一种数据求交方法,实现数据求交计算方对各数据提供方提供的数据在加密的,非透明的状态下进行数据求交,保证获取到的用于数据求交的原始数据和数据求交计算过程,数据的安全性。
图1是本申请第一实施例所示出的数据求交方法的流程示意图。
如图1所示,该方法包括以下步骤:
步骤101,获取多条密文数据。
本申请实施例的执行主体为数据处理方,其中,数据处理方也可以作为数据提供方,用于提供密文数据,以和其它数据提供方提供的密文数据进行数据求交,其中,数据求交,即对多个数据提供方提供的数据求取数据交集。
其中,数据提供方,可以是机构或平台,其中,机构包含银行、运营商、互联网等。平台,包含政务平台等。例如,数据提供方为银行,则提供的数据包含消费数据;数据提供方为运营商,提供的数据包含通信数据;数据提供方为政务平台,提供的数据包含社保类数据、资质类数据等。
本申请的技术方案中,所涉及的密文数据的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
本申请实施例中,获取的多条密文数据可以是由一个数据提供方提供,或者是多个数据方提供,各个数据提供方提供的密文数据可以是一个或多个,各个数据提供方提供的至少一个密文数据均是对对应的明文数据进行至少一次加密得到的,保证了各数据提供方提供的密文数据的安全性,其中,加密算法采用下列中的至少一个加密算法:
第一加密算法,用于将待加密数据与re之间的乘积除以N,得到的余数作为加密后的密文数据,r为随机数,e和N为设定公钥参数;
第二加密算法,用于将待加密数据的d次幂除以N’,得到的余数作为加密后的密文数据,d和N’为设定私钥参数;
第三加密算法,用于将待加密数据与r的模倒数之间的乘积除以N,得到的余数作为加密后的密文数据,r为随机数,N为设定公钥参数。
作为一种示例,数据提供方A的密文数据是对对应的明文数据,采用第二加密算法加密得到的,其中,第二加密算法中的d和N’为符合非对称加密算法RSA的设定私钥参数。具体地,将数据提供方A提供的明文数据的d次幂除以N’,得到的余数作为加密后的密文数据。
需要说明的是,采用第一加密算法、第二加密算法和第三加密算法中的至少一个加密算法生成密文数据的其他方案,本实施例中不一一列举。
步骤102,生成各条密文数据的第一键值对。
其中,第一键值对包括第一属性键和第一属性值,第一属性键用于指示对应密文数据,第一属性值用于指示对应密文数据的数据提供方。
本申请实施例中,针对各条密文数据,将该密文数据的数据标识作为第一属性键,将该密文数据的数据来源,即所属的数据提供方作为第一属性值,根据该密文数据的第一属性键和第一属性值,生成该条密文数据的第一键值对。同理,可生成其它各条密文数据的第一键值对。
步骤103,针对具有相同第一属性键的第一键值对,将第一属性值不同、且第一属性键相同的至少两条密文数据作为交集密文数据。
本申请实施例中,将各条密文数据的第一键值对推送至分布式集群中的处理节点,以使具有相同第一属性键的第一键值对推送至相同处理节点,对推送至同一处理节点的第一键值对,将第一属性值不同、且第一属性键相同的至少两条密文数据作为交集密文数据。其中,处理节点,用于对多个键值对进行遍历,以确定第一属性值不同、且第一属性键相同的至少两个第一键值对。
具体地,对推送至同一处理节点的第一键值对,比较各个第一键值对的第一属性键,以及各个第一键值对的第一属性值,以确定第一属性值不同、且第一属性键相同的至少两个第一键值对,将确定的至少两个第一键值对对应的密文数据作为交集密文数据,也就是说交集密文数据中包含至少两条密文数据,至少两条密文数据间存在交集,而交集密文数据中的密文数据的第一属性值不同,但是第一属性键相同,实现了对多个密文数据进行求交,得到交集密文数据,确保了密文数据的安全性。
本实施例的数据求交方法中,获取多条密文数据,保证了数据方提供的原始数据的安全性,进而,生成各个密文数据的第一键值对,针对具有相同第一属性键的第一键值对,将第一属性值不同、且第一属性键相同的至少两条密文数据作为交集密文数据,由于是基于密文数据的第一键值对进行数据求交,无法获知密文数据对应的明文数据,保证了求交过程中原始数据的安全性,同时,求交的结果也是密文数据,使得求交的结果也不会暴露给计算方,充分保证了数据求交过程中数据的安全性。
基于上一实施例,图2是本申请第二实施例所示出的数据求交方法的流程示意图。
如图2所示,该方法可以包括以下步骤:
步骤201,获取多条密文数据。
本申请实施例中,数据处理方从分布式文件系统中获取多个数据提供方提供的多条密文数据,为提高获取到的多条密文数据传输过程中的安全性,作为一种实现方式,将多条密文数据在从分布式文件系统中传输至数据处理方的过程中,采用HTTPS协议实现数据的传输,采用高级加密标准(Advanced Encryption Standard,AES)算法对传输的多条密文数据进行加密,具体来说,针对每一个数据提供方,该数据提供方生成AES秘钥,并保存AES秘钥,然后用AES秘钥对请求传输的密文数据进行加密,用非对称加密算法RSA公钥对 AES秘钥加密,最后将加密了的AES秘钥和加密的密文数据一并发送至数据处理方。数据处理方收到AES秘钥和密文数据后,先使用RSA私钥对AES秘钥进行解密,然后用解密了的AES秘钥对加密的密文数据进行解密,最后向该数据提供方发出数据获取成功的响应。同理,可从其它数据提供方获取多条密文数据。
作为一种实现方式,数据处理方中设置有数据计算模块,数据计算模块基于Hadoop 框架的Hive实现,数据计算模块在map阶段获取各个数据提供方提供的密文数据。
步骤202,生成各条密文数据的第一键值对。
本申请的一种实现方式中,数据计算模块在map阶段,对获取的各个数据提供方提供的密文数据,生成各条密文数据的第一键值对。
其中,第一键值对包括第一属性键和第一属性值,第一属性键用于指示对应密文数据,第一属性值用于指示对应密文数据的数据提供方。
作为一种示例,表1中展示了各个数据提供方提供的各条密文数据的标识。
数据提供方 密文数据标识
A aaaaa
A bbbbb
A ccccc
B bbbbb
B ccccc
B ddddd
表1
进而,针对每一个数据提供方提供的各条密文数据,将该密文数据的标识作为第一属性键,所属的提供方作为第一属性值,以生成该条密文数据对应的键值对,具体如表2所示。
表2
Figure BDA0003850429810000061
Figure BDA0003850429810000071
步骤203,对多条密文数据的第一键值对进行排序。
本申请实施例的一种实现方式中,在map阶段,根据多条密文数据的第一键值对中的第一属性键进行排序,例如,基于第一属性键包含的字符数量按照从小到大或从大到小的顺序进行排序,或者是,按照第一属性键包含的字符中首字符的先后进行排序,得到多条密文数据的第一键值对的排序结果,使得相同的第一属性键汇聚在一起。
步骤204,依据排序,对多条密文数据的第一键值对进行第一属性键的哈希计算,以得到各条密文数据的第一属性键的哈希值。
步骤205,根据哈希值,将各条密文数据的第一键值对推送至分布式集群中与哈希值对应的一个处理节点。
其中,分布式集群指的就是同时取集群和分布式的优点,既实现了业务的分离,也提高了服务器的处理能力,分布式集群中包含多个处理节点,多个处理节点相互配合实现业务数据的处理。
本申请实施例的一种实现方式中,数据计算模块还包括shuffle阶段,在shuffle阶段,依据排序,对多条密文数据的第一键值对进行第一属性键的哈希计算,以得到各条密文数据的第一属性键的哈希值,其中,哈希值指示了分布式集群中的一个处理节点,从而,根据哈希值,将各条密文数据的第一键值对推送至分布式集群中与哈希值对应的一个处理节点,使得具有相同第一属性键的第一键值对推送至相同处理节点。
作为一种示例,基于表2中的键值对,具有相同第一属性键的第一键值对推送至相同处理节点,可得到推送至两个处理节点的键值对,称为第一处理节点和第二处理节点。其中,第一处理节点包含的键值对如表3所示:
表3
第一属性键Key 第一属性值Value
aaaaa A
bbbbb A
bbbbb B
第二处理节点包含的键值对如表4所示:
表4
第一属性键Key 第一属性值Value
ccccc A
ccccc B
ddddd B
步骤206,对推送至同一处理节点的第一键值对,将第一属性值不同、且所述第一属性键相同的至少两条密文数据作为交集密文数据。
本申请实施例中,对推送至同一处理节点的第一键值对,比较第一属性键和第一属性值,以将第一属性值不同、且第一属性键相同的至少两条密文数据作为交集密文数据。
作为一种示例,每一个处理节点可执行reduce阶段,在reduce阶段,对推送至同一处理节点的第一键值对,比较第一键值对之间的第一属性键,以及第一键值对之间的第一属性值,以将第一属性值不同、且第一属性键相同的至少两条密文数据作为交集密文数据。
作为一种示例,根据表3中的键值对,将第一属性值不同、且第一属性键相同的至少两条密文数据作为交集密文数据,可以确定键值对[bbbbb,A]和[bbbbb,B]之间存在交集,则将密文数据bbbbb作为交集密文数据。根据表4中的键值对,将第一属性值不同、且第一属性键相同的至少两条密文数据作为交集密文数据,可以确定键值对[ccccc,A]和[ccccc, B]之间存在交集,则将密文数据ccccc作为交集密文数据。
本申请实施例的数据求交方法,获取多条密文数据,保证了数据方提供的原始数据的安全性,进而,生成各个密文数据的第一键值对,针对具有相同第一属性键的第一键值对,将第一属性值不同、且第一属性键相同的至少两条密文数据作为交集密文数据,由于是基于密文数据的第一键值对进行数据求交,无法获知密文数据对应的明文数据,保证了求交过程中原始数据的安全性,同时,求交的结果也是密文数据,使得求交的结果也不会暴露给计算方,充分保证了数据求交过程中数据的安全性。
基于上一实施例,图3是本申请第三实施例所示出的数据求交方法的流程示意图。
如图3所示,该方法可以包括以下步骤:
步骤301,获取多条密文数据。
步骤302,生成各条密文数据的第一键值对。
步骤303,对多条密文数据的第一键值对进行排序。
步骤304,依据排序,对多条密文数据的第一键值对进行第一属性键的哈希计算,以得到各条密文数据的第一属性键的哈希值。
步骤305,根据哈希值,将各条密文数据的第一键值对推送至分布式集群中与哈希值对应的一个处理节点。
步骤306,对推送至同一处理节点的第一键值对,将第一属性值不同、且第一属性键相同的至少两条密文数据作为交集密文数据。
其中,步骤301-步骤306可参照前述实施例中的解释说明,原理相同,此处不再赘述。
步骤307,根据交集密文数据的第一属性值,确定交集密文数据所属的数据提供方。
作为一种示例,基于表3,确定交集密文数据为键值对[bbbbb,A]对应的密文数据1和[bbbbb,B]对应的密文数据2,根据密文数据1的第一属性值A,确定密文数据1所属的数据提供方为A,和根据密文数据1的第一属性值B,确定密文数据2所属的数据提供方为B,也就是说交集密文数据所属的数据提供方包含A和B。
步骤308,向交集密文数据所属的数据提供方,发送交集密文数据。
进而,向数据提供方A和B发送交集密文数据。作为一种实现方式,在向交集密文数据所属的数据提供方,发送交集密文数据时,为保证传输过程的安全性,可对交集密文数据进行AES加密,以进一步提高传输过程中的可靠性。具体加密方式可参照前述步骤中的解释说明,原理相同,此处不再赘述。
本申请实施例的数据求交方法,获取多条密文数据,保证了多个数据方提供的原始数据的安全性,进而,生成各个密文数据的第一键值对,根据每条密文数据的第一键值对,将具有相同第一属性键的第一键值对推送至相同处理节点,对同一处理节点的第一键值对,比较各个第一键值对的第一属性键,以及比较各个第一键值对的第一属性值,以将第一属性值不同、且第一属性键相同的至少两条密文数据作为交集密文数据,由于是基于密文数据的第一键值对进行数据求交,保证了求交过程中原始数据的安全性,同时,保证了求交的结果也不会暴露给计算方,充分保证了数据求交过程中数据的安全性。
基于上一实施例,图4是本申请第四实施例所示出的数据求交方法的流程示意图。
如图4所示,该方法包含以下步骤:
步骤401,读取待处理的至少一条明文数据。
本申请实施例的执行主体为多个数据提供方中的第一数据提供方,第一数据提供方用于提供待处理的多条文明数据。
其中,明文数据即为未加密的待处理数据。
本申请实施例的一种实现方式中,待处理的至少一条明文数据可以预先存储在设定存储单元中,设定存储单元的存储机制可以是根据Hadoop框架的HDFS实现。其中,HDFS会将待处理的每一条明文数据切割为若干个数据块,每个数据块都会保存多个备份,例如,为3份,保存在HDFS的数据节点中。存储各个数据块的数据节点位置及各个数据块间的映射关系,将保存在HDFS的元数据节点中。当从分布式文件系统获取待处理的该明文数据时,将通过HDFS的元数据节点获取待处理的该明文数据存储各个数据块的数据节点位置及其映射关系,然后合并每个数据块从而还原得到未加密的待处理的该明文数据。
步骤402,对至少一条明文数据进行加密,以得到各明文数据对应的密文数据,并存储各条明文数据与对应的密文数据之间的对应关系。
本申请实施例种,对各明文数据进行至少一次加密得到各条密文数据,其中,至少一次加密采用下列中的至少一个加密算法:
第一加密算法,用于将待加密数据与re之间的乘积除以N,得到的余数作为加密后的密文数据,r为随机数,e和N为设定公钥参数;
第二加密算法,用于将待加密数据的d次幂除以N’,得到的余数作为加密后的密文数据,d和N’为设定私钥参数;
第三加密算法,用于将待加密数据与r的模倒数之间的乘积除以N,得到的余数作为加密后的密文数据,r为随机数,N为设定公钥参数。
步骤403,向数据处理方发送至少一条密文数据。
本申请实施例的一种实现方式中,为了进一步保障多条密文数据的安全性,至少一条密文数据可以进行再次加密后,再通过传输模块向数据处理方发送,作为一种实现方式,可通过AES加密算法进行加密,以确保传输过程中的安全性,具体的,可参照步骤201中的解释说明,原理相同,此处不再赘述。
其中,至少一条密文数据,用于数据处理方采用前述方法实施例所述的数据求交方法进行数据求交得到交集密文数据。
其中,交集密文数据的确定方法,可参照图1-3对应方法实施例所述的数据求交方法,原理相同,此处不再赘述。
步骤404,根据交集密文数据和对应关系,得到交集密文数据对应的交集明文数据。
本申请实施例的一种实现方式中,根据交集密文数据,以及密文数据与对应的文明数据之间的对应关系,可确定交集密文数据对应的交集明文数据,使得第一数据提供方根据获取到的交集密文数据,以及自身存储的密文数据和明文数据间的对应关系,确定对应的交集明文数据,确保了明文数据在所属的第一数据提供方以外的各方,均不被泄露,确保了第一数据提供方提供的明文数据的安全性。
作为一种示例,交集密文数据包含密文数据A,根据密文数据与对应的文明数据之间的对应关系,可查找得到密文数据A对应的明文数据A’,从而,可确定交集密文数据中包含的密文数据A对应的密文明文数据为明文数据A’。
本申请实施例的另一种实现方式中,根据交集密文数据和设定字符,生成第二键值对,其中,第二键值对中的属性键为交集密文数据,第二键值对中的属性值为设定字符;根据对应关系,生成第三键值对,其中,第三键值对中的属性键为密文数据,第三键值对中的属性值为具有对应关系的明文数据;针对具有相同属性键的第二键值对和第三键值对,根据第三键值对中作为属性值的明文数据,确定第二键值对中作为属性键的交集密文数据所对应的交集明文数据。
本申请实施例的数据求交方法中,对待处理的至少一条明文数据进行加密,以得到各条明文数据对应的密文数据,并存储各条明文数据与对应的密文数据之间的对应关系,向数据处理方发送至少一条密文数据,通过对明文数据进行加密,确保了数据处理方不会获取到明文数据,保证了明文数据的安全性,进一步,获取数据处理方采用前述方法实施例所述的数据求交方法进行数据求交得到的交集密文数据,根据交集密文数据和对应关系,得到交集密文数据对应的交集明文数据,实现了从数据处理方获取数据求交得到的交集密文数据,在第一数据提供方确定交集明文数据,确保了数据求交过程中待处理的明文数据的安全性,以及数据求交结果即交集密文数据只有第一数据提供方可以解密,而数据处理方无法解密,不会造成信息泄露,确保了数据提供方信息的安全性。
基于上一实施例,图5是本申请第五实施例所示出的数据求交方法的流程示意图。
如图5所示,该方法包含以下步骤:
步骤501,读取待处理的至少一条明文数据。
本申请实施例的执行主体为多个数据提供方中的第一数据提供方,第一数据提供方用于提供待处理的至少一条文明数据。
其中,明文数据即为未加密的待处理数据。
其中,步骤501可参照步骤中的解释说明,原理相同,此处不再赘述。
步骤502,对至少一条明文数据进行加密,以得到各条明文数据对应的密文数据,并存储各条明文数据与对应的密文数据之间的对应关系。
本申请实施例中,第一数据提供方可以采用第一加密算法、第二加密算法和第三加密算法中的至少一个加密算法加密得到,作为一种示例,可以是根据第一数据提供方拥有的是RSA的私钥还是公钥确定采用的加密方式,通过不同的加密方式,提高加密的灵活性。
在第一种场景下,第一数据提供方拥有的是RSA的私钥,则采用主加密方式,即第二加密算法进行加密,具体来说:获取RSA的设定私钥参数d和N’,将明文数据的d次幂除以N’,得到的余数作为加密后的密文数据。
即密文数据=明文数据dmodN‘。
在第二种场景下,第一数据提供方拥有的是RSA公钥,则采用从加密方式,即第一加密算法、第二加密算法和第三加密算法一起进行加密,具体来说:
针对第一数据提供方的任意的一条明文数据,采用第一加密算法进行加密,以得到第一中间密文,向多个数据提供方中的第二数据提供方发送第一中间密文,以使采用第二加密算法对第一中间密文进行加密,以得到第二中间密文,采用第三加密算法对第二中间密文进行加密,以得到密文数据。
作为一种示例,如图6所示,第一数据提供方B拥有RSA公钥,即设定公钥参数,图 6展示了第一数据提供方B采用从加密的方式进行加密的过程,具体来说,第一数据提供方B针对任意的一条明文数据,根据udf函数,即基于Java中的MessageDigest类实现对输入的该条明文数据的混淆,例如,混淆算法为sha-256,进而,采用第一加密算法,即udaf 函数基于Java中的BigInteger类,根据RSA的设定公钥参数e和N,以及随机数r,将待加密数据与re之间的乘积除以N,得到的余数作为加密后的第一中间密文。
即第一中间密文=(待加密数据*re)modN。
进而,第一数据提供方B向多个数据提供方中的第二数据提供方A发送第一中间密文,第二数据提供方A拥有RSA私钥,即设定私钥参数,以使第二数据提供方A采用第二加密算法对第一中间密文进行加密,以得到第二中间密文,具体地,获取RSA的设定私钥参数d和N’,将第一中间密文的d次幂除以N’,得到的余数作为加密后的第二中间密文。
即第二中间密文=第一中间密文dmodN‘。
最后,第一数据提供方B采用第三加密算法对第二中间密文进行加密,以得到密文数据,具体地,基于Java中的BigInteger类实现udaf函数对输入的第二中间密文进行加密,即获取随机数r和设定公钥参数N,将第二中间密文与r的模倒数之间的乘积除以N,得到的余数作为加密后的密文数据。
即密文数据=(第二中间密文×r-1modN)modN。
步骤503,向数据处理方发送至少一条密文数据。
本申请实施例中,为了进一步保障多条密文数据的安全性,至少一条密文数据可以进行再次加密后,再向数据处理方发送,作为一种实现方式,可通过AES加密算法进行加密,以确保传输过程中的安全性,具体的,可参照步骤201中的解释说明,原理相同,此处不再赘述。
本申请实施例的一种实现方式中,第一数据提供方中设置有解密模块,解密模块基于 Hadoop框架的Hive实现,解密模块在map阶段获取数据处理方提供的交集密文数据。
具体地,前述实施例中的解释说明,也适用于本实施例,此处不再赘述。
步骤504,根据交集密文数据和设定字符,生成第二键值对。
其中,第二键值对中的属性键为交集密文数据,第二键值对中的属性值为设定字符。
其中,设定字符,可以为设定的任意字符,例如为字符null。
本申请实施例的一种实现方式中,解密模块在map阶段根据交集密文数据中包含求交确定的密文数据的标识,将交集密文数据中包含的密文数据的标识作为第二键值对中的属性键,设定字符为属性值。
作为一种示例,如图7所示,第一数据提供方获取到的交集密文数据包含两个,分别为bbbbb和ccccc,从而交集密文数据bbbbb生成的第二键值对为[bbbbb,null],其中,bbbbb 为属性键,null为属性值;交集密文数据ccccc生成的第二键值对为[ccccc,null],其中, ccccc为属性键,null为属性值。
步骤505,根据对应关系,生成第三键值对,其中,第三键值对中的属性键为密文数据,第三键值对中的属性值为具有对应关系的明文数据。
本申请实施例中,解密模块在map阶段根据对应关系,生成第三键值对,其中,表5中为第一数据提供方包含的对应关系,以密文数据的标识来指示密文数据,表5中展示了各个密文数据和明文数据间的对应关系。
表5
密文数据的标识 明文数据
bbbbb B
ccccc C
ddddd D
根据密文数据和明文数据间的对应关系,生成第三键值对,其中,第三键值对中的属性键为密文数据,第三键值对中的属性值为具有对应关系的明文数据,具体见如图7中第三键值对。
步骤506,将第二键值对和第三键值对,推送至分布式集群中的存储节点,以使具有相同属性键的第二键值对和第三键值对推送至相同存储节点。
本申请实施例的一种实现方式中,解密模块包含shuffle阶段,在shuffle阶段针对每个第二键值对,对该第二键值对的属性键进行哈希计算,以得到该第二键值对的属性键的哈希值,其中,哈希值指示了分布式集群中的一个存储节点,从而,根据第二键值对的属性键的哈希值,将该第二键值对推送至分布式集群中与哈希值对应的一个存储节点。同理,将各个第三键值对推送至分布式集群中的一个存储节点,其中,具有相同属性键的第二键值对和第三键值对推送至相同存储节点。
需要说明的是,本申请实施例中的存储节点中配置了reduce,也就是说reduce阶段在该存储节点中执行。
作为一种示例,如图7所示,第二键值对中属性键为bbbbb的第二键值对和第三键值对中属性键为bbbbb的第三键值对推送至同一个存储节点M1;而第二键值对中属性键为ccccc的第二键值对、第三键值对中属性键为ccccc的第三键值对和属性键为ddddd的第三键值对,推送至同一个存储节点M2。
步骤507,对推送至同一存储节点的第二键值对和第三键值对,根据目标第三键值对中作为属性值的明文数据,确定目标第二键值对中作为属性键的交集密文数据所对应的交集明文数据。
本申请实施例中,对推送至同一存储节点的第二键值对和第三键值对,比较属性键,得到具有相同属性键的目标第二键值对和目标第三键值对。
作为一种示例,执行reduce阶段,对推送至同一存储节点的第二键值对和第三键值对,比较属性键,得到具有相同属性键的目标第二键值对和目标第三键值对。作为一种示例如图7所示,对存储节点M2中的三个键值对,分别为一个第二键值对和两个第三键值对,通过比较属性键,得到属性键相同的目标第二键值对X2和目标第三键值对L2。
进一步,如图7所示,针对存储节点M2中的目标第二键值对X2和目标第三键值对L2,根据目标第三键值对中作为属性值的明文数据C,确定目标第二键值对中作为属性键的交集密文数据所对应的交集明文数据C。
本申请实施例的数据求交方法,对待处理的至少一条明文数据进行加密,以得到各条明文数据对应的密文数据,并存储各条明文数据与对应的密文数据之间的对应关系,向数据处理方发送至少一条密文数据,通过对明文数据进行加密,确保了数据处理方不会获取到明文数据,保证了明文数据的安全性,进一步,获取数据处理方采用前述方法实施例所述的数据求交方法对多个数据提供方发送的密文数据进行数据求交得到的交集密文数据,根据交集密文数据和对应关系,得到交集密文数据对应的交集明文数据,实现了从数据处理方获取数据求交得到的交集密文数据,在第一数据提供方确定交集明文数据,确保了数据求交过程中待处理的明文数据的安全性,以及数据求交结果即交集密文数据只有第一数据提供方可以解密,而数据处理方无法解密,不会造成信息泄露,确保了信息的安全性。
为了实现上述实施例,本申请还提出一种数据求交装置。
图8是本申请第八实施例所示出的数据求交装置的结构示意图。
如图8所示,该装置包括:
获取模块81,用于获取多条密文数据。
生成模块82,用于生成各条所述密文数据的第一键值对,其中,所述第一键值对包括第一属性键和第一属性值,所述第一属性键用于指示对应密文数据,所述第一属性值用于指示对应密文数据的数据提供方。
处理模块83,用于针对具有相同第一属性键的第一键值对,将所述第一属性值不同、且所述第一属性键相同的至少两条密文数据作为交集密文数据。
进一步地,在本申请实施例的一种可能的实现方式中,装置还包括:
确定模块,用于根据所述交集密文数据的第一属性值,确定所述交集密文数据所属的数据提供方;
发送模块,用于向所述交集密文数据所属的数据提供方,发送所述交集密文数据。
在本申请实施例的一种可能的实现方式中,处理模块83,具体用于:
将各条所述密文数据的第一键值对推送至分布式集群中的处理节点,以使具有相同第一属性键的第一键值对推送至相同处理节点;
对推送至同一处理节点的第一键值对,将所述第一属性值不同、且所述第一属性键相同的至少两条密文数据作为交集密文数据。
在本申请实施例的一种可能的实现方式中,处理模块83,具体用于:
对所述多条密文数据的第一键值对进行排序;
依据所述排序,对所述多条密文数据的第一键值对进行所述第一属性值的哈希计算,以得到各条所述密文数据的所述第一属性值的哈希值;
根据所述哈希值,将各条所述密文数据的第一键值对推送至分布式集群中与所述哈希值对应的一个处理节点。
在本申请实施例的一种可能的实现方式中,各条所述密文数据是对明文数据进行至少一次加密得到,所述至少一次加密采用下列中的至少一个加密算法:
第一加密算法,用于将待加密数据与re之间的乘积除以N,得到的余数作为加密后的密文数据,r为随机数,e和N为设定公钥参数;
第二加密算法,用于将待加密数据的d次幂除以N’,得到的余数作为加密后的密文数据,d和N’为设定私钥参数;
第三加密算法,用于将待加密数据与r的模倒数之间的乘积除以N,得到的余数作为加密后的密文数据,r为随机数,N为设定公钥参数。
需要说明的是,前述对方法实施例的解释说明也适用于该实施例的装置,此处不再赘述。
本实施例的数据求交装置中,获取多条密文数据,保证了数据方提供的原始数据的安全性,进而,生成各个密文数据的第一键值对,针对具有相同第一属性键的第一键值对,将第一属性值不同、且第一属性键相同的至少两条密文数据作为交集密文数据,由于是基于密文数据的第一键值对进行数据求交,无法获知密文数据对应的明文数据,保证了求交过程中原始数据的安全性,同时,求交的结果也是密文数据,使得求交的结果也不会暴露给计算方,充分保证了数据求交过程中数据的安全性。
为了实现上述实施例,本申请还提出一种数据求交装置,设置在多个数据提供方中的第一数据提供方。
图9是本申请第九实施例所示出的数据求交装置的结构示意图。
如图9所示,该装置包括:
读取模块91,用于读取待处理的至少一条明文数据。
加密模块92,用于对所述至少一条明文数据进行加密,以得到各条所述明文数据对应的密文数据,并存储明文数据与密文数据之间的对应关系。
发送模块93,用于向数据处理方发送至少一条密文数据,以使数据处理方采用前述方法实施例的方法进行数据求交得到的交集密文数据。
处理模块94,用于根据交集密文数据和对应关系,得到交集密文数据对应的交集明文数据。
进一步,本申请实施例的一种实现方式中,处理模块94,具体用于:
根据所述交集密文数据和设定字符,生成第二键值对,其中,所述第二键值对中的属性键为所述交集密文数据,所述第二键值对中的属性值为所述设定字符;
根据所述对应关系,生成第三键值对,其中,所述第三键值对中的属性键为所述密文数据,所述第三键值对中的属性值为具有所述对应关系的明文数据;
针对具有相同属性键的第二键值对和第三键值对,根据所述第三键值对中作为属性值的明文数据,确定所述第二键值对中作为属性键的交集密文数据所对应的交集明文数据。
本申请实施例的一种实现方式中,处理模块94,具体用于:
将第二键值对和第三键值对推送至分布式集群中的存储节点,以使相同属性键的第二键值对和所述第三键值对推送至相同存储节点;
对推送至同一存储节点的第二键值对和所述第三键值对,根据所述目标第三键值对中作为属性值的明文数据,确定所述目标第二键值对中作为属性键的交集密文数据所对应的交集明文数据。
本申请实施例的一种实现方式中,各条所述密文数据是对所述明文数据进行至少一次加密得到,所述至少一次加密采用下列中的至少一个加密算法:
第一加密算法,用于将待加密数据与re之间的乘积除以N,得到的余数作为加密后的密文数据,r为随机数,e和N为设定公钥参数;
第二加密算法,用于将待加密数据的d次幂除以N’,得到的余数作为加密后的密文数据,d和N’为设定私钥参数;
第三加密算法,用于将待加密数据与r的模倒数之间的乘积除以N,得到的余数作为加密后的密文数据,r为随机数,N为设定公钥参数。
本申请实施例的一种实现方式中,加密模块92,具体用于:
针对任意的一条明文数据,采用所述第一加密算法进行加密,以得到第一中间密文;
向所述多个数据提供方中的第二数据提供方发送所述第一中间密文,以使所述第二数据提供方采用所述第二加密算法对所述第一中间密文进行加密,以得到第二中间密文;
采用第三加密算法对所述第二中间密文进行加密,以得到所述密文数据。
需要说明的是,前述对方法实施例的解释说明也适用于该实施例的装置,此处不再赘述。
本申请实施例的数据求交装置中,对待处理的至少一条明文数据进行加密,以得到各条明文数据对应的密文数据,并存储各条明文数据与对应的密文数据之间的对应关系,向数据处理方发送至少一条密文数据,通过对明文数据进行加密,确保了数据处理方不会获取到明文数据,保证了明文数据的安全性,进一步,获取数据处理方采用前述方法实施例所述的数据求交方法,对多个数据提供方发送的密文数据进行数据求交得到的交集密文数据,根据交集密文数据和对应关系,得到交集密文数据对应的交集明文数据,实现了从数据处理方获取数据求交得到的交集密文数据,在第一数据提供方确定交集明文数据,确保了数据求交过程中待处理的明文数据的安全性,以及数据求交结果即交集密文数据只有第一数据提供方可以解密,而数据处理方无法解密,不会造成信息泄露,确保了数据提供方信息的安全性。
为了实现上述实施例,本申请还提出一种电子设备,包括:处理器,用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现前述的数据求交方法。
为了实现上述实施例,本申请还提出一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述的数据求交方法。
为了实现上述实施例,本申请还提出一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如前述的数据求交方法。
图10为本申请一示例性实施例提供的一种电子设备的框图。该电子设备包括处理器 1001,以及用于存储处理器1001可执行指令的存储器1002。其中,处理器1001被配置为执行所述指令,以实现本申请前述方法实施例中的方法。在实际应用中,该电子设备还可以包括网络接口1003、I/O控制器1004、大容量存储设备1005,以及用于连接它们的总线1006。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器1002,上述指令可由电子设备的处理器1001执行以实现前述方法实施例中的方法。可选地,存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (23)

1.一种数据求交方法,其特征在于,包括以下步骤:
获取多条密文数据;
生成各条所述密文数据的第一键值对,其中,所述第一键值对包括第一属性键和第一属性值,所述第一属性键用于指示对应密文数据,所述第一属性值用于指示对应密文数据的数据提供方;
针对具有相同第一属性键的第一键值对,将所述第一属性值不同、且所述第一属性键相同的至少两条密文数据作为交集密文数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述交集密文数据的第一属性值,确定所述交集密文数据所属的数据提供方;
向所述交集密文数据所属的数据提供方,发送所述交集密文数据。
3.根据权利要求1或2所述的方法,其特征在于,所述针对具有相同第一属性键的第一键值对,将所述第一属性值不同、且所述第一属性键相同的至少两条密文数据作为交集密文数据,包括:
将各条所述密文数据的第一键值对推送至分布式集群中的处理节点,以使具有相同第一属性键的第一键值对推送至相同处理节点;
对推送至同一处理节点的第一键值对,将所述第一属性值不同、且所述第一属性键相同的至少两条密文数据作为交集密文数据。
4.根据权利要求3所述的方法,其特征在于,所述将各条所述密文数据的第一键值对推送至分布式集群中的处理节点,以使具有相同第一属性键的第一键值对推送至相同处理节点,包括:
对所述多条密文数据的第一键值对进行排序;
依据所述排序,对所述多条密文数据的第一键值对进行所述第一属性键的哈希计算,以得到各条所述密文数据的所述第一属性键的哈希值;
根据所述哈希值,将各条所述密文数据的第一键值对推送至分布式集群中与所述哈希值对应的一个处理节点。
5.根据权利要求1或2所述的方法,其特征在于,各条所述密文数据是对明文数据进行至少一次加密得到,所述至少一次加密采用下列中的至少一个加密算法:
第一加密算法,用于将待加密数据与re之间的乘积除以N,得到的余数作为加密后的密文数据,r为随机数,e和N为设定公钥参数;
第二加密算法,用于将待加密数据的d次幂除以N’,得到的余数作为加密后的密文数据,d和N’为设定私钥参数;
第三加密算法,用于将待加密数据与r的模倒数之间的乘积除以N,得到的余数作为加密后的密文数据,r为随机数,N为设定公钥参数。
6.一种数据求交方法,其特征在于,由多个数据提供方中的第一数据提供方执行,包括以下步骤:
读取待处理的至少一条明文数据;
对所述至少一条明文数据进行加密,以得到各所述明文数据对应的密文数据,并存储明文数据与密文数据之间的对应关系;
向数据处理方发送至少一条所述密文数据,以使所述数据处理方采用如权利要求1-5任一项所述的方法进行数据求交得到的交集密文数据;
根据所述交集密文数据和所述对应关系,得到所述交集密文数据对应的交集明文数据。
7.根据权利要求6所述的方法,其特征在于,所述根据所述交集密文数据和所述对应关系,得到所述交集密文数据对应的交集明文数据,包括:
根据所述交集密文数据和设定字符,生成第二键值对,其中,所述第二键值对中的属性键为所述交集密文数据,所述第二键值对中的属性值为所述设定字符;
根据所述对应关系,生成第三键值对,其中,所述第三键值对中的属性键为所述密文数据,所述第三键值对中的属性值为具有所述对应关系的明文数据;
针对具有相同属性键的第二键值对和第三键值对,根据所述第三键值对中作为属性值的明文数据,确定所述第二键值对中作为属性键的交集密文数据所对应的交集明文数据。
8.根据权利要求7所述的方法,其特征在于,所述针对具有相同属性键的第二键值对和第三键值对,根据所述第三键值对中作为属性值的明文数据,确定所述第二键值对中作为属性键的交集密文数据所对应的交集明文数据,包括:
将所述第二键值对和所述第三键值对推送至分布式集群中的存储节点,以使具有相同属性键的第二键值对和所述第三键值对推送至相同存储节点;
对推送至同一存储节点的第二键值对和所述第三键值对,根据所述目标第三键值对中作为属性值的明文数据,确定所述目标第二键值对中作为属性键的交集密文数据所对应的交集明文数据。
9.根据权利要求6-8任一项所述的方法,其特征在于,各条所述密文数据是对所述明文数据进行至少一次加密得到,所述至少一次加密采用下列中的至少一个加密算法:
第一加密算法,用于将待加密数据与re之间的乘积除以N,得到的余数作为加密后的密文数据,r为随机数,e和N为设定公钥参数;
第二加密算法,用于将待加密数据的d次幂除以N’,得到的余数作为加密后的密文数据,d和N’为设定私钥参数;
第三加密算法,用于将待加密数据与r的模倒数之间的乘积除以N,得到的余数作为加密后的密文数据,r为随机数,N为设定公钥参数。
10.根据权利要求9所述的方法,其特征在于,所述对所述多条明文数据进行加密,以得到各条所述明文数据对应的密文数据,包括:
针对任意的一条明文数据,采用所述第一加密算法进行加密,以得到第一中间密文;
向所述多个数据提供方中的第二数据提供方发送所述第一中间密文,以使所述第二数据提供方采用所述第二加密算法对所述第一中间密文进行加密,以得到第二中间密文;
采用第三加密算法对所述第二中间密文进行加密,以得到所述密文数据。
11.一种数据求交装置,其特征在于,包括:
获取模块,用于获取多条密文数据;
生成模块,用于生成各条所述密文数据的第一键值对,其中,所述第一键值对包括第一属性键和第一属性值,所述第一属性键用于指示对应密文数据,所述第一属性值用于指示对应密文数据的数据提供方;
处理模块,用于针对具有相同第一属性键的第一键值对,将所述第一属性值不同、且所述第一属性键相同的至少两条密文数据作为交集密文数据。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
确定模块,用于根据所述交集密文数据的第一属性值,确定所述交集密文数据所属的数据提供方;
发送模块,用于向所述交集密文数据所属的数据提供方,发送所述交集密文数据。
13.根据权利要求11或12所述的装置,其特征在于,所述处理模块,具体用于:
将各条所述密文数据的第一键值对推送至分布式集群中的处理节点,以使具有相同第一属性键的第一键值对推送至相同处理节点;
对推送至同一处理节点的第一键值对,将所述第一属性值不同、且所述第一属性键相同的至少两条密文数据作为交集密文数据。
14.根据权利要求11或12所述的装置,其特征在于,所述处理模块,具体用于:
对所述多条密文数据的第一键值对进行排序;
依据所述排序,对所述多条密文数据的第一键值对进行所述第一属性键的哈希计算,以得到各条所述密文数据的所述第一属性键的哈希值;
根据所述哈希值,将各条所述密文数据的第一键值对推送至分布式集群中与所述哈希值对应的一个处理节点。
15.根据权利要求11或12所述的装置,其特征在于,各条所述密文数据是对明文数据进行至少一次加密得到,所述至少一次加密采用下列中的至少一个加密算法:
第一加密算法,用于将待加密数据与re之间的乘积除以N,得到的余数作为加密后的密文数据,r为随机数,e和N为设定公钥参数;
第二加密算法,用于将待加密数据的d次幂除以N’,得到的余数作为加密后的密文数据,d和N’为设定私钥参数;
第三加密算法,用于将待加密数据与r的模倒数之间的乘积除以N,得到的余数作为加密后的密文数据,r为随机数,N为设定公钥参数。
16.一种数据求交装置,其特征在于,由多个数据提供方中的第一数据提供方执行,包括:
读取模块,用于读取待处理的至少一条明文数据;
加密模块,用于对所述至少一条明文数据进行加密,以得到各所述明文数据对应的密文数据,并存储明文数据与密文数据之间的对应关系;
发送模块,用于向数据处理方发送至少一条所述密文数据,以使所述数据处理方采用如权利要求1至5任一项所述的方法进行数据求交得到的交集密文数据;
处理模块,用于根据所述交集密文数据和所述对应关系,得到所述交集密文数据对应的交集明文数据。
17.根据权利要求16所述的装置,其特征在于,所述处理模块,具体用于:
根据所述交集密文数据和设定字符,生成第二键值对,其中,所述第二键值对中的属性键为所述交集密文数据,所述第二键值对中的属性值为所述设定字符;
根据所述对应关系,生成第三键值对,其中,所述第三键值对中的属性键为所述密文数据,所述第三键值对中的属性值为具有所述对应关系的明文数据;
针对具有相同属性键的第二键值对和第三键值对,根据所述第三键值对中作为属性值的明文数据,确定所述第二键值对中作为属性键的交集密文数据所对应的交集明文数据。
18.根据权利要求17所述的装置,其特征在于,所述处理模块,具体还用于:
将所述第二键值对和所述第三键值对推送至分布式集群中的存储节点,以使具有相同属性键的第二键值对和所述第三键值对推送至相同存储节点;
对推送至同一存储节点的第二键值对和所述第三键值对,根据所述目标第三键值对中作为属性值的明文数据,确定所述目标第二键值对中作为属性键的交集密文数据所对应的交集明文数据。
19.根据权利要求16-18任一所述的装置,其特征在于,各条所述密文数据是对所述明文数据进行至少一次加密得到,所述至少一次加密采用下列中的至少一个加密算法:
第一加密算法,用于将待加密数据与re之间的乘积除以N,得到的余数作为加密后的密文数据,r为随机数,e和N为设定公钥参数;
第二加密算法,用于将待加密数据的d次幂除以N’,得到的余数作为加密后的密文数据,d和N’为设定私钥参数;
第三加密算法,用于将待加密数据与r的模倒数之间的乘积除以N,得到的余数作为加密后的密文数据,r为随机数,N为设定公钥参数。
20.根据权利要求19所述的装置,其特征在于,所述加密模块,具体用于:
针对任意的一条明文数据,采用所述第一加密算法进行加密,以得到第一中间密文;
向所述多个数据提供方中的第二数据提供方发送所述第一中间密文,以使所述第二数据提供方采用所述第二加密算法对所述第一中间密文进行加密,以得到第二中间密文;
采用第三加密算法对所述第二中间密文进行加密,以得到所述密文数据。
21.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至5中任一项所述的数据求交方法,或者,实现如权利要求6至10中任一项所述的数据求交方法。
22.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至5中任一项所述的数据求交方法,或者,执行如权利要求6至10中任一项所述的数据求交方法。
23.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至5中任一项所述的数据求交方法,或者,实现如权利要求6至10中任一项所述的数据求交方法。
CN202211131384.1A 2022-09-16 2022-09-16 数据求交方法、装置和电子设备 Pending CN115549986A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211131384.1A CN115549986A (zh) 2022-09-16 2022-09-16 数据求交方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211131384.1A CN115549986A (zh) 2022-09-16 2022-09-16 数据求交方法、装置和电子设备

Publications (1)

Publication Number Publication Date
CN115549986A true CN115549986A (zh) 2022-12-30

Family

ID=84728333

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211131384.1A Pending CN115549986A (zh) 2022-09-16 2022-09-16 数据求交方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN115549986A (zh)

Similar Documents

Publication Publication Date Title
US10402571B2 (en) Community-based de-duplication for encrypted data
Barsoum et al. Enabling dynamic data and indirect mutual trust for cloud computing storage systems
US9619667B2 (en) Methods, systems and computer program product for providing encryption on a plurality of devices
US20140281520A1 (en) Secure cloud data sharing
CN110086817B (zh) 可靠的用户服务系统和方法
CN111294203B (zh) 信息传输方法
Mukundan et al. Efficient integrity verification of replicated data in cloud using homomorphic encryption
US11075753B2 (en) System and method for cryptographic key fragments management
Wen et al. BDO-SD: An efficient scheme for big data outsourcing with secure deduplication
US11295028B2 (en) Multi-key encrypted data deduplication
CN117371010A (zh) 数据匿踪查询方法、电子设备和可读存储介质
CN110392035B (zh) 用于安全数据处理的系统和方法
CN115549986A (zh) 数据求交方法、装置和电子设备
WO2022184591A1 (en) Multi-key secure deduplication using locked fingerprints
Murthy Cryptographic secure cloud storage model with anonymous authentication and automatic file recovery
WO2022199796A1 (en) Method and computer-based system for key management
Rajendran et al. Integrity verification using Identity based Provable Data Possession in multi storage cloud
Karani et al. Secure File Storage Using Hybrid Cryptography
KR102382314B1 (ko) 안전한 분산 집합정보물 결합 방법
Sirsat et al. Deduplication in cloud storage on the basis of proof of ownership
Vanitha et al. Secured data destruction in cloud based multi-tenant database architecture
Sang et al. Efficient identity-based multiple copy integrity auditing scheme for cloud-based IoT
CN116743488A (zh) 数据安全交换方法、装置、设备、存储介质及程序产品
EI Secure Multiple Group Data Deduplication in Cloud Data Storage
رشا روكان اسماعيل Improving Security, Management, Sharing In Cloud Computing

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