CN114978658B - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN114978658B CN114978658B CN202210535802.7A CN202210535802A CN114978658B CN 114978658 B CN114978658 B CN 114978658B CN 202210535802 A CN202210535802 A CN 202210535802A CN 114978658 B CN114978658 B CN 114978658B
- Authority
- CN
- China
- Prior art keywords
- data
- encryption
- encrypted
- target
- parameters
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 49
- 238000012545 processing Methods 0.000 claims abstract description 20
- 238000012795 verification Methods 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 137
- 238000003860 storage Methods 0.000 claims description 74
- 238000013500 data storage Methods 0.000 claims description 51
- 238000000034 method Methods 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 19
- 241000544061 Cuculus canorus Species 0.000 description 13
- 238000004590 computer program Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012966 insertion method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Abstract
本说明书实施例提供数据处理方法及装置,其中,所述数据处理方法应用于数据接收端,包括接收数据发送端发送的至少两种类型的初始加密参数,并确定每种类型的初始加密参数对应的目标加密参数;将所述目标加密参数与对应的初始加密参数进行匹配,在匹配成功的情况下,将与所述初始加密参数相匹配的所述目标加密参数,确定为匹配加密参数;确定所述匹配加密参数对应的待加密数据,并从所述数据加密端中获取所述待加密数据对应的加密参数信息;基于所述加密参数信息对所述至少两种类型的初始加密参数进行验证,并在验证通过的情况下,将所述匹配加密参数发送至所述数据发送端。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种数据处理方法。
背景技术
数据的合规和隐私安全日益受到重视。新兴的隐私计算技术为数据隐私安全和可用不可识提供了关键支撑。其中,隐私集合求交(PSI)是目前隐私计算中非常重要的一类算法,并且已经在实际生产环境大规模使用。
然而,目前的隐私集合求交协议大多假设在半诚实设定下,在实际生产环境中,非常可能遭受到恶意敌手的攻击,从而造成数据泄露的问题。
发明内容
有鉴于此,本说明书实施例提供了一种数据处理方法。本说明书一个或者多个实施例同时涉及一种数据处理装置,一种计算设备,一种计算机可读存储介质,一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种数据处理方法,应用于数据接收端,包括:
接收数据发送端发送的至少两种类型的初始加密参数,并确定每种类型的初始加密参数对应的目标加密参数,其中,所述至少两种类型的初始加密参数基于数据加密端中的至少两种类型的加密函数确定;
将所述目标加密参数与对应的初始加密参数进行匹配,在匹配成功的情况下,将与所述初始加密参数相匹配的所述目标加密参数,确定为匹配加密参数;
确定所述匹配加密参数对应的待加密数据,并从所述数据加密端中获取所述待加密数据对应的加密参数信息;
基于所述加密参数信息对所述至少两种类型的初始加密参数进行验证,并在验证通过的情况下,将所述匹配加密参数发送至所述数据发送端。
根据本说明书实施例的第二方面,提供了一种数据处理装置,应用于数据接收端,包括:
接收模块,被配置为接收数据发送端发送的至少两种类型的初始加密参数,并确定每种类型的初始加密参数对应的目标加密参数,其中,所述至少两种类型的初始加密参数基于数据加密端中的至少两种类型的加密函数确定;
匹配模块,被配置为将所述目标加密参数与对应的初始加密参数进行匹配,在匹配成功的情况下,将与所述初始加密参数相匹配的所述目标加密参数,确定为匹配加密参数;
获取模块,被配置为确定所述匹配加密参数对应的待加密数据,并从所述数据加密端中获取所述待加密数据对应的加密参数信息;
验证模块,被配置为基于所述加密参数信息对所述至少两种类型的初始加密参数进行验证,并在验证通过的情况下,将所述匹配加密参数发送至所述数据发送端。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现所述数据处理方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现所述数据处理方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行所述数据处理方法的步骤。
本说明书提供的数据处理方法,应用于数据接收端,包括:
接收数据发送端发送的至少两种类型的初始加密参数,并确定每种类型的初始加密参数对应的目标加密参数,其中,所述至少两种类型的初始加密参数基于数据加密端中的至少两种类型的加密函数确定;将所述目标加密参数与对应的初始加密参数进行匹配,在匹配成功的情况下,将与所述初始加密参数相匹配的所述目标加密参数,确定为匹配加密参数;确定所述匹配加密参数对应的待加密数据,并从所述数据加密端中获取所述待加密数据对应的加密参数信息;基于所述加密参数信息对所述至少两种类型的初始加密参数进行验证,并在验证通过的情况下,将所述匹配加密参数发送至所述数据发送端。
具体地,该方法在确定目标加密参数与对应的初始加密参数匹配成功的情况下,从数据加密端中获取用于对初始加密参数进行验证的加密参数信息,并基于该加密参数信息对至少两种类型的初始加密参数进行验证,且在验证通过的情况下,将目标加密参数中与该初始加密参数相匹配的匹配加密参数,发送至数据发送端;从而实现了隐私集合求交的过程中,数据接收方能够对攻击进行预防,避免遭受到恶意敌手的攻击,进一步避免了数据泄露的问题。
附图说明
图1是本说明书一个实施例提供的一种数据处理方法的应用场景示意图;
图2是本说明书一个实施例提供的一种数据处理方法的流程图;
图3是本说明书一个实施例提供的一种数据处理装置的结构示意图;
图4是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
隐私集合求交:简称PSI,假设银行A拥有一批用户的ID,金融机构B拥有一批用户的 ID,利用隐私集合求教可以在保护数据隐私前提下,找出两个机构用户ID的交集,除了交集以外的结果不会泄露任何其他信息。
不经意传输:简称OT,存在两个参与方,其中发送方拥有2个值{x_1,x_2},接收方拥有选择比特:s,通过OT协议,接收方能够获得x_s,且不会向发送方泄漏他具体获取到是哪一个值。
不经意传输扩展协议:简称OTE,OT协议的优化性能。
KKRT:一种具体的PSI算法,基于不经意传输扩展协议构造。
布谷鸟哈希:CuckooHash,一种数据分桶算法,可以用在KKRT中,有效提高PSI的效率。
哈希函数:英文简称为H,是一种函数,可以将任意长度的字符串映射到固定长度。
随着网络安全法,个人信息保护法等法律法规的出台和完善,数据的合规和隐私安全日益受到重视。新兴的隐私计算技术为数据隐私安全和可用不可识提供了关键支撑。隐私集合求交(PSI)是目前隐私计算中非常重要的一类算法,并且已经在实际生产环境大规模使用。然而,目前的隐私集合求交协议大多假设在半诚实设定下,在实际生产环境中,非常可能遭受到恶意敌手的攻击。
基于此,本说明书提供了一种数据处理方法,该方法应用于数据接收端,首先数据接收端在接收数据发送端发送的至少两种类型的初始加密参数的情况下,确定每种类型的初始加密参数对应的目标加密参数,其中,该至少两种类型的初始加密参数基于数据加密端中的至少两种类型的加密函数确定;
其次,将该目标加密参数与对应的初始加密参数进行匹配,在匹配成功的情况下,将与该初始加密参数相匹配的目标加密参数确定为匹配加密参数;并从自身持有的待加密数据中,确定匹配加密参数对应的待加密数据,且从数据加密端中获取待加密数据对应的加密参数信息;
最后,基于该加密参数信息对至少两种类型的初始加密参数进行验证,并在验证通过的情况下,将匹配加密参数发送至数据发送端。从而实现了隐私集合求交的过程中,数据接收方能够对攻击进行预防,避免遭受到恶意敌手的攻击,进一步避免了数据泄露的问题。
基于此可知,本说明书提供的数据处理方法,提出了一种简单有效的针对隐私集合求交隐私增强方法,可以通过较低的代价完成恶意敌手的抵抗和识别。
具体地,在本说明书中,提供了一种数据处理方法,本说明书同时涉及一种数据处理装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,在下面的实施例中逐一进行详细说明。
图1示出了根据本说明书一个实施例提供的一种数据处理方法的应用场景示意图,该数据处理方法能够应用于数据接收端104,具体地,该数据接收端104能够接收数据发送端102发送的至少两种类型的初始加密参数,之后,该数据接收端104确定每种类型的初始加密参数对应的目标加密参数,需要说明的是,所述至少两种类型的初始加密参数基于数据加密端106中的至少两种类型的加密函数确定;
其次,数据接收端104将该目标加密参数与对应的初始加密参数进行匹配,在匹配成功的情况下,将与该初始加密参数相匹配的目标加密参数确定为匹配加密参数;并从自身持有的待加密数据中,确定匹配加密参数对应的待加密数据,且从数据加密端106中获取待加密数据对应的加密参数信息;
最后,数据接收端104基于该加密参数信息对至少两种类型的初始加密参数进行验证,并在验证通过的情况下,将匹配加密参数发送至数据发送端102。从而实现了隐私集合求交的过程中,数据接收端104能够对攻击进行预防,避免遭受到恶意敌手的攻击,进一步避免了数据泄露的问题。
其中,该数据接收端104可以理解为接收到的由数据发送端102发送的初始加密参数,确定交集数据,并在对初始加密参数验证通过后,将该交集数据发送至数据发送端102的服务端,例如,该数据接收端104可以理解为隐私集合求交协议中的接收方、不经意传输扩展协议中的接收方、不经意传输协议中的接收方等等,本说明书对此不做具体限定。在实际应用中,数据接收端104具体可以为实现上述接收方功能的服务器、终端、硬件设备等。
该数据发送端102可以理解为将基于加密函数获得的初始加密数据发送至数据接收端 104,从而获取数据接收端104中与该初始加密数据为交集的数据的服务端。例如,该数据发送端102可以理解为隐私集合求交协议中的发送方、不经意传输扩展协议中的发送方、不经意传输协议中的发送方等等,本说明书对此不做具体限定。在实际应用中,数据发送端102 具体可以为实现上述发送方功能的服务器、终端、硬件设备等。
数据加密端106可以理解为提供数据加密服务的服务端;该数据加密端106中具有至少两种类型的加密函数,该数据接收端104以及数据发送端102能够基于该数据加密端106提供的加密函数,对自身持有的数据进行加密。在实际应用中,该加密函数在对待加密数据进行加密时,会记录下待加密数据对应的加密参数信息。
该待加密数据可以理解为数据接收端104或数据发送端102中需要进行加密处理的数据。该待加密数据可以为任意一种类型的需要进行加密的数据,本说明书对此不做具体说明。例如,该待加密数据可以为手机号、用户身份信息、多媒体数据等等,本说明书对此不做具体限制。
该初始加密参数可以理解为数据发送端102通过至少两种加密函数对自身持有的待加密数据进行加密后获得参数。对应的,该至少两种类型的初始加密参数可以理解为使用不同类型的加密函数进行加密后的获得的加密参数。例如,使用加密函数A加密后获得的初始加密参数的类型为A。使用加密函数B加密后获得的初始加密参数的类型为B。
该加密函数可以理解为任意一种能够对待加密数据进行加密的函数,例如,哈希函数。
目标加密参数可以理解为数据接收端104通过至少两种加密函数对自身持有的待加密数据进行加密后获得参数。
匹配加密函数可以理解为目标加密参数中与该初始加密参数一致的目标加密参数,也即是,该目标加密参数与初始加密参数的交集。在本说明书提供的数据处理方法中,数据接收端104和数据发送端102,通过加密后的加密参数进行求交集的操作,从而保证了数据的安全性,避免了数据泄露的问题。
该加密参数信息可以理解为用于表征一个待加密数据是否被加密函数进行加密的信息。在加密函数在对待加密数据进行加密时,会记录下待加密数据对应的加密参数信息。该加密参数信息可以为待加密数据本身、对待加密数据进行加密后获得的加密数据、或者该待加密数据的数据信息等等,本说明书对此不做具体限制。其中,该数据信息包括但不限于该待加密数据的数据标识等等,本说明书对此不做具体限制。
在本说明书提供的数据处理方法,在应用于隐私求交集合场景的情况下,存在一种对 KKRT协议进行攻击的方法,具体为:
S、R共同选择3个哈希函数:h1,h2,h3,该S为发送方,R为接收方。
设置:攻击方为KKRTSender(KKRT协议的发送方);
其攻击流程如下:
KKRTSender在发送cuckoohash(布谷鸟哈希)的时候,每个样本(待加密数据)只计算一个cuckoohash值(初始加密函数),比如仅计算h1、h2或者h3,也即是仅通过h1、h2 或者h3对待加密数据进行加密,未完全使用约定的3种哈希函数对待加密数据进行加密;并且通过未使用的哈希函数对假数据进行加密,获得假加密数据。
KKRTSender将code(初始加密函数和假加密数据)发送给Reciever(接收方),Receiver 通过PSI最后比对出的结果,将结果(交集)发送回给Sender;这时候,Sender可以知道Receiver 对应的X(交集数据)是放在h1计算出的bin(桶)中,还是h2、或h3计算出的桶中,其中,该桶中存储有接收方通过哈希函数计算出的加密数据,当Sender在进行分析之后,若 Receiver对应的X是h2或者h3计算出的hash,则说明h1对应的bin处有碰撞;Sender可以通过遍历碰撞的item(即与X计算处理的哈希值、存在哈希碰撞的数据)来推断出Sender 的样本,其中,该Sender的样本可以理解为Sender的私有数据。
也即是说,按照发送方与接收方的约定,发送方会把所有的数据都分别放在去H1、H2、 H3进行加密,并将加密后的加密数据发送的接收方,而接收方会将自身持有的加密数据,与发送方发送的加密数据进行求交。其求交过程可以为:
接收方会确定接收到的加密数据A对应的加密函数,并确定自身的加密函数B对应的加密函数,并将属于同一加密函数的加密函数A和加密函数B进行因素集合求交。
之后,接收方将交集数据返回给发送方,从而实现隐私集合求交。其中,接收方自身持有的加密数据为该接收方基于双方约定的3种哈希函数中,不会产生哈希碰撞的哈希函数,对自身持有的未加密数据进行加密后获得的数据;其中,该不会产生哈希碰撞的哈希函数可以理解为,接收方通过该哈希函数对自身数据进行加密后获得的哈希数据(即加密数据),不会与历史加密后获得的哈希数据产生冲突。此外,在不会产生哈希碰撞的哈希函数为多个的情况下,接收方会选择任意一个哈希函数。
但是,在发送方进行攻击时,发送方数据或者正确的数据放在h2中进行加密,然后将假数据放在h1、h3中进行加密,并把加密后的h1加密数据、h2加密数据、h3加密数据,发送至接收方进行隐私集合求交,而接收方不知道接收到的三个加密数据中包含假数据,因此,接收方在求交集过程中,同样会在自身的H1集合、H2集合、H3集合中进行搜索。其中,该H1集合存储有通过h1哈希函数加密后的加密数据、H2集合存储有通过h2哈希函数加密后的加密数据、H3集合存储有通过h3哈希函数加密后的加密数据。
但由于h1加密数据、h3加密数据为假数据,接收方必然无法在自身的H1集合、H3集合搜索到对应的交集数据,仅可以在H2集合中,搜索到对应的交集数据(也即是交集元素),如果有相同的数据,该接收方会将该交集数据返回给发送方。
发送方在接收到交集数据之后,知道该交集元素只可能来源于H2集合,因此,该发送方通过分析得出,该接收方在对该交集数据进行加密的过程中,可能在H1集合、H3集合中发送了哈希碰撞,该h1或者h3对于接收方来说,可能是会产生哈希碰撞的哈希函数。
比如,发送方通过对交集数据进行分析得知,1、2、3、4、5、6这6个交集数据,都是来自于h2这个集合,并推断接收方在计算该交集数据对应的哈希数据(加密数据)时,首先通过h1哈希函数,计算出哈希数据,并将该哈希数据存储至H1集合中对应的位置(该位置可以为一个桶),但是,该对应的位置已经存储有历史哈希函数,基于此,接收方确定发生了哈希碰撞,转而使用h2哈希函数进行计算,从而计算后获得的哈希函数存储在H2集合中对应的位置,即H2集合中对应的桶中。
基于此,该发送方推断出上述信息之后,会重组其他的推断数据,该推断数据均为通过 h1函数计算出的哈希值,与1、2、3、4、5、6这6个交集数据通过h1函数计算出的哈希值,能够产生哈希碰撞的数据。然后基于该猜测数据,会猜测出接收方的h1集合的桶中存储的其他数据,从而导致接收方的数据出现泄露。
针对上述攻击方式,接收方为了避免遭受该攻击,会在基于KKRT进行PSI(隐私集合求交)过程中,对发送方发送的code进行验证。具体过程为:
在非攻击的情况下,sender的数据集Y={y1,y2,…,ym}中的每一个数据yi,都应该通过三个哈希函数:h1,h2,h3得到在对应的集合H1,H2,H3对应的一个bin_idx。
其中,该yi可以为上述待加密数据、该h可以理解为哈希函数,该bin_idx可以理解为加密参数信息,具体地,该bin_idx可以存储在一个文件中。H为使用同一个哈希函数进行加密的加密数据所构成的集合。
也就是说对于交集中的数据yi,正常情况下应该会同时出现在:H1,H2,H3中,上述攻击就是让这个数据只出现在某一个Hi(其中i=1,2,3)中。
因此,对于Receiver来说,在求得交集数据:Intersections={v1,v2,…,vn}后,检查发送方发送的加密数据,是否同时出现在H1,H2,H3即可。如果同时出现,则说明Sender是诚实的执行了协议,如果没有同时出现,则说明Sender进行了攻击。则Receiver可以识别Sender 是否是诚实的执行了协议,从而避免将当前的交集数据发送给Sender。
本说明书提供的数据处理方法,通过提供一种简单高效的办法,对隐私集合求交的安全性进行隐私增强,可以对恶意敌手进行有效的识别和抵抗。
图2示出了根据本说明书一个实施例提供的一种数据处理方法的流程图,应用于数据接收方具体包括以下步骤。
步骤202:接收数据发送端发送的至少两种类型的初始加密参数,并确定每种类型的初始加密参数对应的目标加密参数,其中,所述至少两种类型的初始加密参数基于数据加密端中的至少两种类型的加密函数确定。
具体地,数据接收方在接收到数据发送方发送的至少两种类型的初始加密参数之后,能够基于每个初始加密参数对应的参数类型,从自身持有的目标加密参数中确定与该参数类型对应的目标加密参数,并将与该参数类型对应的目标加密参数确定为该初始加密参数对应的目标加密参数。
其中,该参数类型可以理解为表征该初始加密参数的类型的数据,例如,该参数类型可以为该初始数据对应的加密参数的类型。
沿用上例,接收方与发送方预先约定3种哈希函数,基于此,接收方在接收到发送方发送的通过哈希数据A之后,从自身持有的哈希数据B中,确定与该哈希数据A属于同一哈希函数加密获得的哈希数据B,后续将两者进行匹配。
进一步的,本说明书提供的数据处理方法中,在数据接收方将目标加密参数与接收到的至少两种类型的初始加密参数进行加密的过程之前,该数据接收方需要创建目标加密参数,从而后续通过加密后的目标加密参数与初始加密进行匹配,实现数据接收方与数据发送方之间进行隐私集合求交的过程,具体地,所述接收数据发送端发送的至少两种类型的初始加密参数之前,包括步骤一至步骤三:
步骤一:从数据存储单元中获取待加密数据。
其中,该数据存储单元可以理解为数据接收方用于存储待加密数据的单元,例如,该数据存储单元可以理解为桶。
例如,该接收方在对自身持有的待加密数据进行加密的过程中,首先需要从桶中获取待加密数据。
进一步地,在本说明书提供的数据处理方法中,能够通过预设数据存储协议将待加密数据存储至数据存储单元中,从而解决哈希冲突的问题。具体地,所述从数据存储单元中获取待加密数据之前,还包括:
确定待加密数据对应的数据存储单元,并确定所述待加密数据对应的预设数据存储协议;
基于所述预设数据存储协议,将所述待加密数据存储至对应的数据存储单元。
其中,该预设数据存储协议可以理解为能够将待加密数据存储至数据存储单元中,且避免哈希冲突问题的协议,例如布谷鸟哈希协议。
例如,该接收方从桶中获取待加密数据(即Y={y1,y2,…,yn}),之前,会确定 Y={y1,y2,…,yn}对应的桶,并基于布谷鸟哈希协议,将Y={y1,y2,…,yn}存储至桶中,便于后续基于3种哈希函数对Y={y1,y2,…,yn}进行加密。
在实际应用中,为了便于对本说明书提供的布谷鸟哈希进行理解,本说明书提供的一实施例中,以将N条数据映射b个桶中为例,对布谷鸟哈希协议做具体说明,具体实现方式为:
1、接收方与发送方共同选择3个哈希函数:h1,h2,h3:{0,1}*→[b]。
其中,上述公式中,H1,H2,H3就是表示三个哈希函数;{0,1}^*表示任意长度的数据;该公式的含义为:哈希函数将其映射到某一个桶里,桶的总数为b。
2、确定b个数据桶:B[1,2,…,b],其中,每一个桶插入1个数据;确定一个大小为s的储藏桶,这个桶插入s个数据。
3、对于任意数据x(即任意待加密数据,依次查看:B[h1(x)],B[h2(x)],B[h3(x)]是否为空,如果其中有一个为空,则将数据插入该桶即可,即完成当前数据的插入。
其中,该B[h1(x)]为布谷鸟哈希协议为通过哈希函数h1,对待加密数据进行加密后获得加密数据分配的桶。B[h2(x)],B[h3(x)]同理。
4、如果三个桶都不为空,则随机选择一个桶:B[hi(x)],i=1,2,3,并踢出该桶中原有数据:old_x,插入当前的数据:B[hi(x)]=x。
5、尝试将踢出的数据:old_x,插入到一个新的桶里;
同时,插入方法递归执行步骤3-步骤5,直到一定次数后,仍有数据无法插入到一个空的桶里面,则将这个数据插入到储藏桶。
按照上述插入方法就可把n条数据插入到:b+1个桶里。
基于上述布谷鸟哈希协议的内容,本说明书提供的数据处理方法,在隐私集合求交过程中,使用布谷鸟哈希协议的具体方式为:
接收方有数据集:Y={y1,y2,…,yn},即待加密数据。基于此,在使用布谷鸟哈希协议将该待加密数据存储至桶中的方式为:
1、接收方与发送方共同选择3个哈希函数:h1,h2,h3。
2、接收方对于自己的数据:Y={y1,y2,…,yn},使用布谷鸟哈希协议(CuckooHash)放入1.2n+s个桶中。其中,n是数据总量,1.2n是数据桶的总量,s可以为储藏桶的数量,也可以为一个储藏桶的容量。因为,只有n个数据,但是一共有1.2n+s的容量,所以在完成n 个数据的放置后,剩余空闲的位置将被填充假数据,假数据是随机产生的。
3、最后接收方R会得到一个大小为1.2n+s的数据集,用于后续OTE(不经意传输扩展协议)的计算。
进一步地,本说明书提供的实施例中,所述数据存储单元包括第一类型存储单元、第二类型存储单元;
相应地,所述基于所述预设数据存储协议,将所述待加密数据存储至对应的数据存储单元,包括:
从所述第一类型存储单元中,为所述待加密数据确定对应的目标存储单元;
在确定所述目标存储单元中存在历史数据的情况下,获取所述历史数据,并将所述待加密数据存储至目标存储单元;
从所述第一类型存储单元或所述第二类型存储单元中,为所述历史数据确定对应的历史数据存储单元,并将所述历史数据存储至所述历史数据存储单元。
其中,第一类型存储单元可以理解为上述1.2n个数据桶,该第二类型存储单元可以理解为上述储藏桶。
目标存储单元可以理解为待加密数据yi对应的桶。历史数据可以理解为该桶中预先存储的数据。该历史数据存储单元可以理解为在接收方将目标存储单元中的历史数据重新分配的桶。
沿用上例,接收方基于布谷鸟哈希协议为待加密数据yi确定一个对应的桶A,在确定该桶A中存储有数据的情况下,取出该桶A中存在的数据,并将待加密数据yi放进该桶中。
然后,接收方从1.2n个数据桶或者储藏桶中,为刚刚取出的数据确定一个新的桶B,并将该数据存储至桶B中。
进一步地,所述从所述第一类型存储单元或所述第二类型存储单元中,为所述历史数据确定对应的历史数据存储单元,包括:
判断所述第一类型存储单元中是否存在空闲存储单元;
若是,则将所述空闲存储单元确定为所述历史数据对应的历史数据存储单元;
若否,则将所述第二类型存储单元中的空闲存储单元,确定为所述历史数据对应的历史数据存储单元。
沿用上例,接收方确定1.2n个数据桶是否有空闲的桶,若是,则将从桶A中获得数据存储在该空闲桶中,若否,则从s个储藏桶中确定空闲的桶,并将从桶A中获得数据存储在该空闲桶中。
在实际应用中,当s为1的情况下,所述将所述第二类型存储单元中的空闲存储单元,确定为所述历史数据对应的历史数据存储单元,可以为基于第二类型存储单元,为历史数据确定对应的历史数据存储单元。也即是说,在只存在一个储藏桶的情况下,将该储藏桶作为存储该历史数据的历史数据存储单元,并将从桶A中获得数据存储在该储藏桶中。
步骤二:为所述待加密数据确定对应的目标随机加密数据。
其中,该目标随机加密数据可以理解为用于对待处理数据进行加密的随机种子,该随机种子可以理解为一个随机数。
进一步地,所述为所述待加密数据确定对应的目标随机加密数据,包括:
确定数据发送端提供的至少两个随机加密数据;
基于所述待加密数据的数据信息,从所述至少两个随机加密信息中,确定所述待加密数据对应的目标随机加密数据。
其中,该数据信息为待加密数据的数据长度和/或待加密数据中比特位等等。
具体地,数据接收方能够接收到数据发送端提供的至少两个随机加密数据,之后能够基于该待加密数据的数据信息,从至少两个随机加密信息中确定待加密数据对应的目标随机加密数据。
在实际应用中,该随机种子能够基于不经意传输扩展协议确定,而该不经意传输扩展协议在看KKRT协议中生成随机种子的方式如下:
其中,假设不经意传输协议中的2个参与方,其中,发送方为:S,接收方:R
S的输入:m组数据:(xj,0,…,xj,n-1),1≤j≤m,每一组数据有n个,每一个数据的长度为l-bit。
R的输入:m个选择整数:r=(r1,…,rm),o≤rj<n,1≤j≤m;由于是从n中选1,因此每一个选择比特就变成了选择整数。
其中,公共输入为:k,安全性参数k≥n。
Walsh-Hadamard编码为:
ORACLE(一个随机预言机):H:[m]×{0,1}k→{0,1}l。
密码学原语为:一个理想的
基于此,
1、S初始化一个长度为k的随机0-1向量:s∈{0,1}k,si是第i个比特。
2、R初始化2个随机0-1矩阵:T0,T1=m×k。
其中,两个矩阵的对应的行要满足:注意这里不再等于rj,而是等于它编码后的值。/>分别表示两个矩阵的第i列。该tj,0为就是T0这个矩阵的第j行;tj,1就是T1这个矩阵的第j行;符号/>为异或运算;/>为/>的计算结果,可以是一行数据;rj就是R的一个输入数据,第j个输入数据。
具体地,R随机生成矩阵T,然后该R的发送数据是这里有两列,后续S将所有列拼起来就对应2个矩阵,从行的角度看:任意两行异或一定等于/>%
3、R和S通过进行交互,具体如下:
a.S充当接收者,拥有输入:si,i∈[k]。
b.R充当发送者,拥有输入:
c.S接收到输出:qi,i∈[k]。
d.总共k次交互,S把收到的k列组合成一个矩阵Q,
从行的角度:可以简化的写成:/>
4.S作为发送者,R作为接收者。对于1≤j≤m,0≤r<n,S发送yj,r给R。
其中,此处
5.对于:1≤j≤m,R输出:
基于上述不经意传输扩展协议,发送方生成随机种子,并将该随机种子提供给数据接收方用作数据加密。具体地方式如下:
S基于上述不经意传输扩展协议,生成1.2n+s个随机种子ki,i∈{1,2,…,1.2n+s},用作 1.2n+s次的OPRF的种子。而该步骤就是矩阵Q的生成,这里的1.2n+s个随机种子,就是矩阵Q的每一行。
步骤三:基于所述数据加密端的至少两种类型的加密函数、以及所述目标随机加密数据,对所述待加密数据进行加密处理,获得目标加密参数。
进一步地,在本说明书提供的实施例中,在接收方将Y={y1,y2,…,ym}存储至1.2n个数据桶,以及储藏桶之后,能够为不同桶中的数据进行OPRF(不经意伪随机函数)具体地,所述从数据存储单元中获取待加密数据,包括:
从所述第一类型存储单元中获取第一待加密数据,并从所述第二类型存储单元中获取第二待加密数据;
相应地,所述基于所述数据加密端的至少两种类型的加密函数、以及所述目标随机加密数据,对所述待加密数据进行加密处理,获得目标加密参数,包括:
基于所述数据加密端的至少两种类型的加密函数、以及所述目标随机加密数据,对所述第一待加密数据进行加密处理,获得第一目标加密参数;
基于所述数据加密端的至少两种类型的加密函数、以及所述目标随机加密数据,对所述第二待加密数据进行加密处理,获得第二目标加密参数。
其中,该第一待加密数据可以理解为1.2n个数据桶中存储的数据;第二待加密数据为s 个储藏桶中存储的数据。对应的,第一目标加密参数可以理解为通过哈希函数对第一待加密数据进行加密处理获得的加密参数;第二目标加密参数可以理解为通过哈希函数对第二待加密数据进行加密处理获得的加密参数。
具体地,接收方从第一类型存储单元中获取第一待加密数据,并从第二类型存储单元中获取第二待加密数据。
之后,该接收方将第一待加密数据以及对应的目标随机加密数据,输入至数据加密端提供的至少两种类型的加密函数中进行加密,获得第一目标加密参数,以及
接收方将第二待加密数据以及对应的目标随机加密数据,输入至数据加密端提供的至少两种类型的加密函数中进行加密,获得第二目标加密参数。
沿用上例,R作为接收方,为每一个输入数据yki计算OPRF。如果y在第i个数据桶:F(ki,y)=ky;如果y在储藏桶的第j个位置:F(k1.2n+j,y)=ky。
进一步地,在本说明书提供的实施例中,所述基于所述数据加密端的至少两种类型的加密函数、以及所述目标随机加密数据,对所述待加密数据进行加密处理,获得目标加密参数,包括:
确定所述数据加密端提供的至少两种类型的加密函数,并从所述至少两种类型的加密函数中,为所述待加密数据选择对应的目标加密函数;
将所述目标随机加密数据以及所述待加密数据输入至所述目标加密函数,获得候选加密参数;
将所述候选加密参数与历史加密参数进行一致性比对,在不一致的情况下,将所述候选加密参数确定为目标加密参数。
沿用上例,接收方从实现约定的3个哈希函数中随机选择一个哈希函数,并将该待加密数据输入至哈希函数进行加密处理,获得哈希数据。
之后,该接收方确定历史加密的哈希数据中,是否有与该哈希数据为一致的历史哈希数据,在不一致的情况下,确定不存在哈希碰撞,将该哈希数据确定为最终的目标哈希数据。
但是,在存在哈希碰撞的情况下,该接收方则需要重新选择一个新的哈希函数,对该待加密数据进行加密,从而避免哈希碰撞的问题。具体地,所述将所述目标随机加密数据以及所述待加密数据输入至所述目标加密函数,获得候选加密参数之后,还包括:
将所述候选加密参数与历史加密参数进行一致性比对;
在一致的情况下,从至少两种类型的加密函数中,为所述待加密数据选择对应的更新加密函数,其中,所述更新加密函数从至少两种类型的加密函数中,除目标加密函数之外的其他加密函数中确定;
将所述目标随机加密数据以及所述待加密数据输入至所述更新加密函数,获得候选加密参数;
继续执行将所述候选加密参数与历史加密参数进行一致性比对的操作,直至所述候选加密参数与历史加密参数不一致。
沿用上例,接收方确定历史加密处理的哈希数据中,是否有与该哈希数据为一致的历史哈希数据,在一致的情况下,确定存在哈希碰撞,接收方则需要重新选择一个新的哈希函数,对该待加密数据进行加密,并将重新加密获得的哈希数据继续与历史加密的哈希数据进行比对,直至该哈希数据与历史加密的哈希数据不一致。
进一步的,在本说明书提供的实施例中,所述接收数据发送端发送的至少两种类型的初始加密参数,并确定每种类型的初始加密参数对应的目标加密参数,包括:
接收数据发送端发送的至少两个初始加密参数集合,并确定每个初始加密参数集合的类型信息,其中,每个初始加密参数集合中存储有至少两种类型的初始加密参数;
根据所述类型信息,从第一目标加密参数以及第二目标加密参数中,为所述每个初始加密参数集合确定对应的目标加密参数。
其中,该初始加密参数集合包含至少两种类型的初始加密参数的集合,在实际应用中,由于接收端通过两种类型的桶对待处理数据进行存储,基于此,该发送方需要为每种类型的桶创建对应的初始加密参数集合,之后在接收方在接收到两个集合之后,能够将不同类型的桶的加密数据,与对应的集合中的加密数据进行一致性比对。具体发送方创建初始加密参数集合的方式如下。
1、发送方S有数据集X={x1,x2,…,xn}
2、S对自己的输入数据进行OPRF的计算:F(ki,xi)。
其中,这里的具体计算,S需要计算2个大的集合,分别对应1.2n个数据桶和储藏桶,对于数据桶,每一个元素又要做3个不同的哈希函数,所以数据桶这个集合里又有3个小集合,具体计算方式参见公式:
需要注意的是,Hi是发送方针对1.2n个数据桶计算出的集合,该Hi={H1,H2,H3}本质包含3个小集合,Stash是发送方针对储藏桶计算出的集合,这些计算完成后,将2个大集合发送给R。
此外需要注意的是:
1、Khi(x),本质就是:Q矩阵的第:hi(x)行,hi表示哈希函数,i=1,2,3。
2、F函数的计算,本质上在计算:其中的r′就是数据x。
3、S把计算出来的元素顺序打乱后发送给R。
步骤204:将所述目标加密参数与对应的初始加密参数进行匹配,在匹配成功的情况下,将与所述初始加密参数相匹配的所述目标加密参数,确定为匹配加密参数。
其中,目标加密参数与对应的初始加密参数进行匹配,可以理解为将目标加密参数与对应的初始加密参数进行一致性比较,在两者为一致的情况下,确定匹配成功。
具体地,该接收方在将目标加密参数与对应的初始加密参数进行匹配,在确定匹配成功的情况下,将目标加密参数中与初始加密参数相匹配的目标加密参数,确定为匹配加密参数
沿用上例,R收到自己来自S的数据(HI={H1,H2,H3},STASH)后,开始和自己的数据比对求交集。
具体实现方式为:
1、如果yi属于数据桶,那么就在Hi中查找。
进一步地,可以根据数据对应的bin_idx决定在哪个Hi中查找。
2、如果yi属于储藏桶,那么就在中Stash查找。
需要注意的是:
1、对于数据y,它是被哪一个哈希函数映射hi(y)到哪个桶里面,这里的哈希函数的是通过hash_index记录下来的,这样在求交集的时候,在Hi中就可以直接在对于哈希函数对于的小集合里查找即可。
2、查找直接使用的是哈希表的特点,很快就能查找到对于的数据。
步骤206:确定所述匹配加密参数对应的待加密数据,并从所述数据加密端中获取所述待加密数据对应的加密参数信息。
具体地,所述从所述数据加密端中获取所述待加密数据对应的加密参数信息,包括:
将所述待加密数据发送至所述数据加密端;
接收所述数据加密端返回的、与所述待加密数据对应的加密参数信息,其中,所述加密参数信息为所述数据加密端从至少两种类型的加密参数信息集合中获得,其中,所述至少两种类型的加密参数信息集合中存储所述至少两种类型的加密函数,对所述每种类型的初始加密参数进行加密处理所获取的加密参数信息。
沿用上例,接收端将交集数据对应的待加密数据发送至数据加密端,该数据加密端确定是确定3种哈希函数对应的bin_idx,并将该bin_idx发送至接收方。
步骤208:基于所述加密参数信息对所述至少两种类型的初始加密参数进行验证,并在验证通过的情况下,将所述匹配加密参数发送至所述数据发送端。
沿用上例,该接收方将发送方的加密数据,与自身从数据加密端获取的bin_idx进行匹配,在确定该发送方的加密数据均存在于该bin_idx中的情况下,则说明Sender是诚实的执行了 KKRT协议,进而该接收方将交集发送给发送方。
此外,在本说明书提供的一实施例中,如果加密数据没有同时出现在bin_idx,则说明 Sender进行了攻击。则Receiver则终止与Sender的隐私集合求交步骤。
具体地,本说明书提供的数据处理方法,在确定目标加密参数与对应的初始加密参数匹配成功的情况下,从数据加密端中获取用于对初始加密参数进行验证的加密参数信息,并基于该加密参数信息对至少两种类型的初始加密参数进行验证,且在验证通过的情况下,将目标加密参数中与该初始加密参数相匹配的匹配加密参数,发送至数据发送端;从而实现了隐私集合求交的过程中,数据接收方能够对攻击进行预防,避免遭受到恶意敌手的攻击,进一步避免了数据泄露的问题。
与上述方法实施例相对应,本说明书还提供了数据处理装置实施例,图3示出了本说明书一个实施例提供的一种数据处理装置的结构示意图。如图3所示,该装置应用于数据接收端,包括:
接收模块302,被配置为接收数据发送端发送的至少两种类型的初始加密参数,并确定每种类型的初始加密参数对应的目标加密参数,其中,所述至少两种类型的初始加密参数基于数据加密端中的至少两种类型的加密函数确定;
匹配模块304,被配置为将所述目标加密参数与对应的初始加密参数进行匹配,在匹配成功的情况下,将与所述初始加密参数相匹配的所述目标加密参数,确定为匹配加密参数;
获取模块306,被配置为确定所述匹配加密参数对应的待加密数据,并从所述数据加密端中获取所述待加密数据对应的加密参数信息;
验证模块308,被配置为基于所述加密参数信息对所述至少两种类型的初始加密参数进行验证,并在验证通过的情况下,将所述匹配加密参数发送至所述数据发送端。
可选地,所述数据处理装置还包括数据加密模块,被配置为:
从数据存储单元中获取待加密数据;
为所述待加密数据确定对应的目标随机加密数据;
基于所述数据加密端的至少两种类型的加密函数、以及所述目标随机加密数据,对所述待加密数据进行加密处理,获得目标加密参数。
可选地,所述数据加密模块,还被配置为:
确定待加密数据对应的数据存储单元,并确定所述待加密数据对应的预设数据存储协议;
基于所述预设数据存储协议,将所述待加密数据存储至对应的数据存储单元。
可选地,所述数据加密模块,还被配置为:
相应地,所述基于所述预设数据存储协议,将所述待加密数据存储至对应的数据存储单元,包括:
从所述第一类型存储单元中,为所述待加密数据确定对应的目标存储单元;
在确定所述目标存储单元中存在历史数据的情况下,获取所述历史数据,并将所述待加密数据存储至目标存储单元;
从所述第一类型存储单元或所述第二类型存储单元中,为所述历史数据确定对应的历史数据存储单元,并将所述历史数据存储至所述历史数据存储单元。
可选地,所述数据加密模块,还被配置为:
判断所述第一类型存储单元中是否存在空闲存储单元;
若是,则将所述空闲存储单元确定为所述历史数据对应的历史数据存储单元;
若否,则将所述第二类型存储单元中的空闲存储单元,确定为所述历史数据对应的历史数据存储单元。
可选地,所述数据加密模块,还被配置为:
确定数据发送端提供的至少两个随机加密数据;
基于所述待加密数据的数据信息,从所述至少两个随机加密信息中,确定所述待加密数据对应的目标随机加密数据。
可选地,所述数据加密模块,还被配置为:
从所述第一类型存储单元中获取第一待加密数据,并从所述第二类型存储单元中获取第二待加密数据;
相应地,所述基于所述数据加密端的至少两种类型的加密函数、以及所述目标随机加密数据,对所述待加密数据进行加密处理,获得目标加密参数,包括:
基于所述数据加密端的至少两种类型的加密函数、以及所述目标随机加密数据,对所述第一待加密数据进行加密处理,获得第一目标加密参数;
基于所述数据加密端的至少两种类型的加密函数、以及所述目标随机加密数据,对所述第二待加密数据进行加密处理,获得第二目标加密参数。
可选地,所述数据加密模块,还被配置为:
确定所述数据加密端提供的至少两种类型的加密函数,并从所述至少两种类型的加密函数中,为所述待加密数据选择对应的目标加密函数;
将所述目标随机加密数据以及所述待加密数据输入至所述目标加密函数,获得候选加密参数;
将所述候选加密参数与历史加密参数进行一致性比对,在不一致的情况下,将所述候选加密参数确定为目标加密参数。
可选地,所述数据加密模块,还被配置为:
将所述候选加密参数与历史加密参数进行一致性比对;
在一致的情况下,从至少两种类型的加密函数中,为所述待加密数据选择对应的更新加密函数,其中,所述更新加密函数从至少两种类型的加密函数中,除目标加密函数之外的其他加密函数中确定;
将所述目标随机加密数据以及所述待加密数据输入至所述更新加密函数,获得候选加密参数;
继续执行将所述候选加密参数与历史加密参数进行一致性比对的操作,直至所述候选加密参数与历史加密参数不一致。
可选地,所述接收模块302,还被配置为:
接收数据发送端发送的至少两个初始加密参数集合,并确定每个初始加密参数集合的类型信息,其中,每个初始加密参数集合中存储有至少两种类型的初始加密参数;
根据所述类型信息,从第一目标加密参数以及第二目标加密参数中,为所述每个初始加密参数集合确定对应的目标加密参数。
可选地,所述获取模块306,还被配置为:
将所述待加密数据发送至所述数据加密端;
接收所述数据加密端返回的、与所述待加密数据对应的加密参数信息,其中,所述加密参数信息为所述数据加密端从至少两种类型的加密参数信息集合中获得,其中,所述至少两种类型的加密参数信息集合中存储所述至少两种类型的加密函数,对所述每种类型的初始加密参数进行加密处理所获取的加密参数信息。
本说明书提供的应用于数据接收方的数据处理装置,在确定目标加密参数与对应的初始加密参数匹配成功的情况下,从数据加密端中获取用于对初始加密参数进行验证的加密参数信息,并基于该加密参数信息对至少两种类型的初始加密参数进行验证,且在验证通过的情况下,将目标加密参数中与该初始加密参数相匹配的匹配加密参数,发送至数据发送端;从而实现了隐私集合求交的过程中,数据接收方能够对攻击进行预防,避免遭受到恶意敌手的攻击,进一步避免了数据泄露的问题。
上述为本实施例的一种数据处理装置的示意性方案。需要说明的是,该数据处理装置的技术方案与上述的数据处理方法的技术方案属于同一构思,数据处理装置的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
图4示出了根据本说明书一个实施例提供的一种计算设备400的结构框图。该计算设备 400的部件包括但不限于存储器410和处理器420。处理器420与存储器410通过总线430相连接,数据库450用于保存数据。
计算设备400还包括接入设备440,接入设备440使得计算设备400能够经由一个或多个网络460通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备440可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11 无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备400的上述部件以及图4中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图4所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备400可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备 (例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备400还可以是移动式或静止式的服务器。
其中,处理器420用于执行如下计算机可执行指令,该计算机可执行指令被处理器420 执行时实现上述数据处理方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据处理方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的数据处理方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (14)
1.一种数据处理方法,应用于数据接收端,包括:
接收数据发送端发送的至少两种类型的初始加密参数,并确定每种类型的初始加密参数对应的目标加密参数,其中,所述至少两种类型的初始加密参数基于数据加密端中的至少两种类型的加密函数确定;
将所述目标加密参数与对应的初始加密参数进行匹配,在匹配成功的情况下,将与所述初始加密参数相匹配的所述目标加密参数,确定为匹配加密参数;
确定所述匹配加密参数对应的待加密数据,并从所述数据加密端中获取所述待加密数据对应的加密参数信息;
基于所述加密参数信息对所述至少两种类型的初始加密参数进行验证,并在验证通过的情况下,将所述匹配加密参数发送至所述数据发送端。
2.根据权利要求1所述的数据处理方法,所述接收数据发送端发送的至少两种类型的初始加密参数之前,包括:
从数据存储单元中获取待加密数据;
为所述待加密数据确定对应的目标随机加密数据;
基于所述数据加密端的至少两种类型的加密函数、以及所述目标随机加密数据,对所述待加密数据进行加密处理,获得目标加密参数。
3.根据权利要求2所述的数据处理方法,所述从数据存储单元中获取待加密数据之前,还包括:
确定待加密数据对应的数据存储单元,并确定所述待加密数据对应的预设数据存储协议;
基于所述预设数据存储协议,将所述待加密数据存储至对应的数据存储单元。
4.根据权利要求3所述的数据处理方法,所述数据存储单元包括第一类型存储单元、第二类型存储单元;
相应地,所述基于所述预设数据存储协议,将所述待加密数据存储至对应的数据存储单元,包括:
从所述第一类型存储单元中,为所述待加密数据确定对应的目标存储单元;
在确定所述目标存储单元中存在历史数据的情况下,获取所述历史数据,并将所述待加密数据存储至目标存储单元;
从所述第一类型存储单元或所述第二类型存储单元中,为所述历史数据确定对应的历史数据存储单元,并将所述历史数据存储至所述历史数据存储单元。
5.根据权利要求4所述的数据处理方法,所述从所述第一类型存储单元或所述第二类型存储单元中,为所述历史数据确定对应的历史数据存储单元,包括:
判断所述第一类型存储单元中是否存在空闲存储单元;
若是,则将所述空闲存储单元确定为所述历史数据对应的历史数据存储单元;
若否,则将所述第二类型存储单元中的空闲存储单元,确定为所述历史数据对应的历史数据存储单元。
6.根据权利要求2所述的数据处理方法,所述为所述待加密数据确定对应的目标随机加密数据,包括:
确定数据发送端提供的至少两个随机加密数据;
基于所述待加密数据的数据信息,从所述至少两个随机加密信息中,确定所述待加密数据对应的目标随机加密数据。
7.根据权利要求4所述的数据处理方法,所述从数据存储单元中获取待加密数据,包括:
从所述第一类型存储单元中获取第一待加密数据,并从所述第二类型存储单元中获取第二待加密数据;
相应地,所述基于所述数据加密端的至少两种类型的加密函数、以及所述目标随机加密数据,对所述待加密数据进行加密处理,获得目标加密参数,包括:
基于所述数据加密端的至少两种类型的加密函数、以及所述目标随机加密数据,对所述第一待加密数据进行加密处理,获得第一目标加密参数;
基于所述数据加密端的至少两种类型的加密函数、以及所述目标随机加密数据,对所述第二待加密数据进行加密处理,获得第二目标加密参数。
8.根据权利要求2所述的数据处理方法,所述基于所述数据加密端的至少两种类型的加密函数、以及所述目标随机加密数据,对所述待加密数据进行加密处理,获得目标加密参数,包括:
确定所述数据加密端提供的至少两种类型的加密函数,并从所述至少两种类型的加密函数中,为所述待加密数据选择对应的目标加密函数;
将所述目标随机加密数据以及所述待加密数据输入至所述目标加密函数,获得候选加密参数;
将所述候选加密参数与历史加密参数进行一致性比对,在不一致的情况下,将所述候选加密参数确定为目标加密参数。
9.根据权利要求8所述的数据处理方法,所述将所述目标随机加密数据以及所述待加密数据输入至所述目标加密函数,获得候选加密参数之后,还包括:
将所述候选加密参数与历史加密参数进行一致性比对;
在一致的情况下,从至少两种类型的加密函数中,为所述待加密数据选择对应的更新加密函数,其中,所述更新加密函数从至少两种类型的加密函数中,除目标加密函数之外的其他加密函数中确定;
将所述目标随机加密数据以及所述待加密数据输入至所述更新加密函数,获得候选加密参数;
继续执行将所述候选加密参数与历史加密参数进行一致性比对的操作,直至所述候选加密参数与历史加密参数不一致。
10.根据权利要求1所述的数据处理方法,所述接收数据发送端发送的至少两种类型的初始加密参数,并确定每种类型的初始加密参数对应的目标加密参数,包括:
接收数据发送端发送的至少两个初始加密参数集合,并确定每个初始加密参数集合的类型信息,其中,每个初始加密参数集合中存储有至少两种类型的初始加密参数;
根据所述类型信息,从第一目标加密参数以及第二目标加密参数中,为所述每个初始加密参数集合确定对应的目标加密参数。
11.根据权利要求1所述的数据处理方法,所述从所述数据加密端中获取所述待加密数据对应的加密参数信息,包括:
将所述待加密数据发送至所述数据加密端;
接收所述数据加密端返回的、与所述待加密数据对应的加密参数信息,其中,所述加密参数信息为所述数据加密端从至少两种类型的加密参数信息集合中获得,其中,所述至少两种类型的加密参数信息集合中存储所述至少两种类型的加密函数,对所述每种类型的初始加密参数进行加密处理所获取的加密参数信息。
12.一种数据处理装置,应用于数据接收端,包括:
接收模块,被配置为接收数据发送端发送的至少两种类型的初始加密参数,并确定每种类型的初始加密参数对应的目标加密参数,其中,所述至少两种类型的初始加密参数基于数据加密端中的至少两种类型的加密函数确定;
匹配模块,被配置为将所述目标加密参数与对应的初始加密参数进行匹配,在匹配成功的情况下,将与所述初始加密参数相匹配的所述目标加密参数,确定为匹配加密参数;
获取模块,被配置为确定所述匹配加密参数对应的待加密数据,并从所述数据加密端中获取所述待加密数据对应的加密参数信息;
验证模块,被配置为基于所述加密参数信息对所述至少两种类型的初始加密参数进行验证,并在验证通过的情况下,将所述匹配加密参数发送至所述数据发送端。
13.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至11任意一项所述数据处理方法的步骤。
14.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至11任意一项所述数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210535802.7A CN114978658B (zh) | 2022-05-17 | 2022-05-17 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210535802.7A CN114978658B (zh) | 2022-05-17 | 2022-05-17 | 数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114978658A CN114978658A (zh) | 2022-08-30 |
CN114978658B true CN114978658B (zh) | 2023-10-27 |
Family
ID=82983425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210535802.7A Active CN114978658B (zh) | 2022-05-17 | 2022-05-17 | 数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114978658B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124268A (zh) * | 2017-04-01 | 2017-09-01 | 中国人民武装警察部队工程大学 | 一种可抵抗恶意攻击的隐私集合交集计算方法 |
CN109462481A (zh) * | 2018-11-23 | 2019-03-12 | 上海扈民区块链科技有限公司 | 一种基于非对称双线性对的匿签密方法 |
CN109657489A (zh) * | 2018-08-03 | 2019-04-19 | 湖北工业大学 | 一种隐私保护的集合交集两方安全计算方法及系统 |
CN110719159A (zh) * | 2019-09-24 | 2020-01-21 | 河南师范大学 | 抗恶意敌手的多方隐私集合交集方法 |
CN111125736A (zh) * | 2019-12-25 | 2020-05-08 | 暨南大学 | 基于隐私保护交集计算协议的致病基因检测方法 |
CN114268501A (zh) * | 2021-12-24 | 2022-04-01 | 深信服科技股份有限公司 | 数据处理方法、防火墙生成方法、计算设备及存储介质 |
WO2022076038A1 (en) * | 2020-10-08 | 2022-04-14 | Visa International Service Association | Updatable private set intersection |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8990570B2 (en) * | 2012-07-31 | 2015-03-24 | Alcatel Lucent | Secure function evaluation for a covert client and a semi-honest server using string selection oblivious transfer |
US10904225B2 (en) * | 2018-05-07 | 2021-01-26 | Microsoft Technology Licensing, Llc | Computing a private set intersection |
US11784803B2 (en) * | 2020-05-26 | 2023-10-10 | Visa International Service Association | Round-efficient fully secure solitary multi-party computation with honest majority |
-
2022
- 2022-05-17 CN CN202210535802.7A patent/CN114978658B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124268A (zh) * | 2017-04-01 | 2017-09-01 | 中国人民武装警察部队工程大学 | 一种可抵抗恶意攻击的隐私集合交集计算方法 |
CN109657489A (zh) * | 2018-08-03 | 2019-04-19 | 湖北工业大学 | 一种隐私保护的集合交集两方安全计算方法及系统 |
CN109462481A (zh) * | 2018-11-23 | 2019-03-12 | 上海扈民区块链科技有限公司 | 一种基于非对称双线性对的匿签密方法 |
CN110719159A (zh) * | 2019-09-24 | 2020-01-21 | 河南师范大学 | 抗恶意敌手的多方隐私集合交集方法 |
CN111125736A (zh) * | 2019-12-25 | 2020-05-08 | 暨南大学 | 基于隐私保护交集计算协议的致病基因检测方法 |
WO2022076038A1 (en) * | 2020-10-08 | 2022-04-14 | Visa International Service Association | Updatable private set intersection |
CN114268501A (zh) * | 2021-12-24 | 2022-04-01 | 深信服科技股份有限公司 | 数据处理方法、防火墙生成方法、计算设备及存储介质 |
Non-Patent Citations (7)
Title |
---|
Differentially Private Two-Party Set Operations;Bailey Kacsmar;2020 IEEE European Symposium on Security and Privacy (EuroS&P)/Differentially Private Two-Party Set Operations;全文 * |
一个高效可完全模拟的n取1茫然传输协议;魏晓超;蒋瀚;赵川;;计算机研究与发展(第11期);全文 * |
基于区块链的隐私保护交集算法;熊璐;通信技术;全文 * |
安全多方计算之隐私保护集合交集;yuxinqingge;CSDN;全文 * |
适用于社交网络的隐私保护兴趣度匹配方案;罗小双;杨晓元;王绪安;;计算机应用(第12期);全文 * |
隐私集合求交(PSI)-两方;PamShao;博客园/隐私集合求交(PSI)-两方;全文 * |
面向集合计算的隐私保护统计协议;宋祥福;盖敏;赵圣楠;蒋瀚;;计算机研究与发展(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114978658A (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8904171B2 (en) | Secure search and retrieval | |
US11296879B2 (en) | Encrypted search | |
KR20050073573A (ko) | 보안 통신 | |
US20090138698A1 (en) | Method of searching encrypted data using inner product operation and terminal and server therefor | |
CN114036565A (zh) | 隐私信息检索系统及隐私信息检索方法 | |
CN114860735A (zh) | 匿踪查询方法及装置 | |
CN114840867B (zh) | 基于可交换加密数据混淆的数据查询方法、装置和系统 | |
US20210234709A1 (en) | Integrated circuit performing authentication using challenge-response protocol and method of using the integrated circuit | |
CN116502254B (zh) | 可查得统计的匿踪查询方法及装置 | |
US10929402B1 (en) | Secure join protocol in encrypted databases | |
CN115544579B (zh) | 一种双随机数据混淆查询方法、装置和系统 | |
CN114840866B (zh) | 基于盲签名数据混淆的数据查询方法、装置和系统 | |
CN116502276B (zh) | 匿踪查询方法及装置 | |
CN113434555B (zh) | 一种基于可搜索加密技术的数据查询方法和装置 | |
EP4000216A1 (en) | Cryptographic pseudonym mapping method, computer system, computer program and computer-readable medium | |
CN115412356A (zh) | 数据查询设备法、装置、计算机设备以及存储介质 | |
CN108282328A (zh) | 一种基于同态加密的密文统计方法 | |
CN117077209B (zh) | 大规模数据匿踪查询方法 | |
WO2022099893A1 (zh) | 数据查询方法、装置、系统以及数据集处理方法 | |
CN114978658B (zh) | 数据处理方法及装置 | |
CN104868994B (zh) | 一种协同密钥管理的方法、装置及系统 | |
CN116681141A (zh) | 隐私保护的联邦学习方法、终端及存储介质 | |
WO2022110716A1 (zh) | 冷启动推荐方法、装置、计算机设备及存储介质 | |
CN115757535A (zh) | 数据查询方法、数据存储方法、装置及电子设备 | |
CN112836239A (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 |