CN116961894A - 一种数据隐私集合求交方法、装置以及介质 - Google Patents
一种数据隐私集合求交方法、装置以及介质 Download PDFInfo
- Publication number
- CN116961894A CN116961894A CN202310686018.0A CN202310686018A CN116961894A CN 116961894 A CN116961894 A CN 116961894A CN 202310686018 A CN202310686018 A CN 202310686018A CN 116961894 A CN116961894 A CN 116961894A
- Authority
- CN
- China
- Prior art keywords
- intersection
- hash table
- data privacy
- participants
- elements
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 57
- 230000006870 function Effects 0.000 claims description 30
- 238000013507 mapping Methods 0.000 claims description 19
- 230000015654 memory Effects 0.000 claims description 13
- 241000544061 Cuculus canorus Species 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 10
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000012966 insertion method Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000013497 data interchange Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数据处理技术领域,公开了一种数据隐私集合求交方法、装置以及介质,相对于当前技术中,在求取多方参与的大数据集合的交集时,存在计算量过大的问题,采用本技术方案,将集合元素文件按照预设分配量拆分为小文件,再通过读取小文件获取元素,能够有效减少计算量。在获取元素集合后,目标参与方将对应的元素映射至第一哈希表,其他参与方映射至第二哈希表,目标参与方通过调用预设函数,根据加密异或结果确认自身是否存在交集元素,直至完成全部小文件的数据求交以实现目标参与方的数据隐私求交,能够有效防止元素泄露,并且能够保证元素在不遗漏的情况下减少计算量。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据隐私集合求交方法、装置以及介质。
背景技术
隐私集合交集(Private Set Intersection,PSI)是安全多方计算的一个方面,其允许各自持有私密集合的参与方在不泄露自身集合元素的同时求出交集。目前对PSI技术的研究主要集中在两方的情况,由于参与方的增多,数据量会急剧增多,工业界使用受限,因此目前针对多方的PSI方案较少。
由此可见,如何在求取多方参与的大数据隐私集合的交集时,保证元素不遗漏的情况下减少计算量是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种数据隐私集合求交方法、装置以及介质,以在求取多方参与的大数据隐私集合的交集时,保证元素不遗漏的情况下减少计算量是本领域技术人员亟待解决的问题。
为解决上述技术问题,本申请提供一种数据隐私集合求交方法,包括:
获取各参与方输入的集合元素文件;
将所述集合元素文件按照预设分配量拆分为小文件;
读取各所述小文件以获取各参与方的元素集合;
目标参与方将对应的元素集合映射至第一哈希表,其他参与方将对应的元素集合映射至第二哈希表;
各参与方间共享密钥,并通过密钥对各小文件中包含的元素进行加密异或;
目标参与方通过调用预设函数,根据加密异或结果确认是否存在交集元素,直至完成全部小文件的数据求交以实现目标参与方的数据隐私求交。
优选的,所述读取各所述小文件以获取各参与方的元素集合为:
逐行读取各所述小文件以获取各参与方的元素集合。
优选的,所述第一哈希表为布谷鸟哈希表,所述第二哈希表为朴素哈希表。
优选的,所述将所述集合元素文件按照预设分配量拆分为小文件包括:
根据各参与方中集合数量的最大值,将所述集合元素文件按照预设分配量拆分为小文件。
优选的,将布谷鸟哈希表中未映射的行填充随机数;将朴素哈希表中各行中未填充的元素填充随机数。
优选的,还包括:将读取各所述小文件以获取各参与方的元素通过哈希函数运算后写入对应的小文件;
进一步的,写入方式为采用追加插入的方式进行写入。
优选的,还包括:
所述预设函数为OPPRF函数。
为解决上述技术问题,本申请还提供一种数据隐私集合求交装置,包括:
获取模块,用于获取各参与方输入的集合元素文件;
拆分模块,用于将所述集合元素文件按照预设分配量拆分为小文件;
读取模块,用于读取各所述小文件以获取各参与方的元素集合;
映射模块,用于目标参与方将对应的元素集合映射至第一哈希表,其他参与方将对应的元素集合映射至第二哈希表;
处理模块,用于各参与方间共享密钥,并通过密钥对各小文件中包含的元素进行加密异或;
确认模块,用于目标参与方通过调用预设函数,根据加密异或结果确认是否存在交集元素,直至完成全部小文件的数据求交以实现目标参与方的数据隐私求交。
为解决上述技术问题,本申请还提供另一种数据隐私集合求交装置,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述的数据隐私集合求交方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的数据隐私集合求交方法的步骤。
本申请所提供的数据隐私集合求交方法,获取各参与方输入的集合元素文件;将集合元素文件按照预设分配量拆分为小文件;读取各小文件以获取各参与方的元素集合;目标参与方将对应的元素集合映射至第一哈希表,其他参与方将对应的元素集合映射至第二哈希表;各参与方间共享密钥,并通过密钥对各小文件中包含的元素进行加密异或;目标参与方通过调用预设函数,根据加密异或结果确认是否存在交集元素,直至完成全部小文件的数据求交以实现目标参与方的数据隐私求交。
相对于当前技术中,在求取多方参与的大数据隐私集合的交集时,存在计算量过大的问题,采用本技术方案,将集合元素文件按照预设分配量拆分为小文件,再通过读取小文件获取元素,能够有效减少计算量。在获取元素集合后,目标参与方将对应的元素映射至第一哈希表,其他参与方将对应的元素映射至第二哈希表,目标参与方通过调用预设函数,根据加密异或结果确认自身是否存在交集元素,直至完成全部小文件的数据求交以实现目标参与方的数据隐私求交。本技术方案通过将各参与方输入的大文件,按照预设的分配量拆分为小文件,每个小文件中的元素个数是确定的,从而在进行数据运算时,可以在各小文件间进行运算,避免了数据过多导致重复计算等额外工作量,有效较少了数据计算量。并且采用映射至哈希表以及分发密钥的方式,在求取多方参与的数据集合交集时,能够有效防止元素泄露,并且能够保证元素在不遗漏的情况下减少计算量。
此外,本申请所提供的数据隐私集合求交装置以及介质,与上述数据隐私集合求交方法相对应,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据隐私集合求交方法的流程图;
图2为本申请实施例提供的一种密钥共享机制的示意图;
图3为本申请实施例提供的一种OPPRF函数的示意图;
图4为本申请实施例提供的一种数据隐私集合求交装置的结构图;
图5为本申请实施例提供的另一种数据隐私集合求交装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种数据隐私集合求交方法、装置以及介质,以在求取多方参与的大数据隐私集合的交集时,保证元素不遗漏的情况下减少计算量是本领域技术人员亟待解决的问题。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
图1为本申请实施例提供的一种数据隐私集合求交方法的流程图,如图1所示,该方法包括:
S10:获取各参与方输入的集合元素文件;
S11:将集合元素文件按照预设分配量拆分为小文件;
S12:读取各小文件以获取各参与方的元素集合;
S13:目标参与方将对应的元素集合映射至第一哈希表,其他参与方将对应的元素集合映射至第二哈希表;
S14:各参与方间共享密钥,并通过密钥对各小文件中包含的元素进行加密异或;
S15:目标参与方通过调用预设函数,根据加密异或结果确认是否存在交集元素,直至完成全部小文件的数据求交以实现目标参与方的数据隐私求交。
首先需要说明的是,本申请提供的数据隐私集合求交方法可以应用于数据隐私集合求交装置,该装置可以是处理器的形式,也可以是云平台的形式。本实施例中通过数据隐私集合求交装置对多个参与方的数据进行交集运算。
本实施例中的小文件是针对各参与方原始输入的文件进行说明的,即各参与方最初输入的文件为大文件,拆分后的文件为小文件。
隐私集合求交(Private Set Intersection,PSI)是指允许各自持有私密集合的两个参与方在不泄露自身集合元素的同时求出集合的交集。如,参与方A有集合{1,2,3},参与方B有集合{3,4,5},那么通过PSI双方可以得到交集集合{3},而A无法知道B有元素4和5,同时B无法知道A还有1和2。
多方隐私集合交集是指其允许各自持有私密集合的多个参与方在不泄露自身集合元素的同时求出集合的交集。
本申请的目的是在多方参与的情况下,求出数据交集,并降低计算量。
在具体实施中,在多方参与的大数据隐私集合的交集计算中,每个参与方都有一个很大的隐私集合数据(一亿、十亿、百亿等),如果以两方集合求交为主,直接扩展成多方则存在安全隐患,同时,若直接用于计算亿级大数据交集,对硬件要求过高,一亿隐私数据求交程序可能会占用上千G内存。
在本申请中,在获取到各参与方输入的集合元素文件后,将其按照预设分配量拆分为小文件,通过读取小文件以获取各参与方的元素集合。为了更好的理解文件拆分的方法,本申请以具体的实施例进行说明,在具体实施中,假设参与方P1输入集合元素文件X.csv,文件夹中存储了集合X={x1,x2,...,xn};参与方P2输入集合元素文件Y.csv,其中存储了集合Y={y1,y2,...,yn}。
本申请将参与方P1的集合元素文件X.csv拆分为多个小文件,包括X_0.csv,X_1.csv,……
将参与方P2的集合元素文件Y.csv拆分为多个小文件,包括Y_0.csv,Y_1.csv,……
其中,具体将集合元素文件拆分为多少个小文件可以由用户设置,比如,用户可以根据计算机的算力、或者想要的每个文件中的元素个数进行拆分。
具体的,将集合元素文件按照预设分配量拆分为小文件包括:根据各参与方中集合数量的最大值,将集合元素文件按照预设分配量拆分为小文件。
例如,在本实施例中,单批元素参考数量为b,即一个文件中的元素个数最多为b个。参与方P1和P2计算BinNum=n/b,其中,n为元素个数,BinNum即为该参与方拆分出的小文件的个数
在具体实施中,若参与方集合元素数量不一致,n则取各参与方集合数量的最大值,即n=max(X.size,Y.size)。
在读取元素时,为了保证数据不被遗漏,可以采用逐行读取的方式从各小文件中读取元素,为了保证数据的隐私性和进一步防止遗漏,将读取各小文件以获取各参与方的元素通过哈希函数运算后写入对应的小文件;进一步的,写入方式为采用追加插入的方式进行写入。
具体的,例如,index=HASH(xi)mod BinNum,其中HASH()表示某一均匀分布的哈希函数,mod表示模运算。将集合元素xi追加插入到对应的小文件X_{index}.csv中。对于其他参与方同样做此拆分处理。
上述方法中读取方法选用逐行读取,写入方法选用追加插入,无需大内存设备即可完成对大数据量的拆分操作。并且,由于哈希函数的均匀映射性质,HASH(xi)mod BinNum的计算结果将均匀的从{0,1,...,BinNum-1}中选取,这一性质保证了x中的元素将均为的映射到文件X_0.csv,X_1.csv,...中,单个文件中的元素数量接近于b。当x=y时,HASH(x)mod BinNum必然与HASH(y)mod BinNum相等,即若x被映射到文件X_k.csv中,那么y必然被映射到Y_k.csv中。
在将大文件拆分为小文件后,即可进行后续的数据求交运算。具体的,目标参与方将对应的元素集合映射至第一哈希表,其他参与方将对应的元素集合映射至第二哈希表;此处的元素是指参与方拆分出的全部小文件中的元素。通过元素映射,有利于在求交时减少计算量,并且,保证了数据不被遗漏。
进一步的,为了保证数据的隐私性,保障各参与方的权益,在进行数据求交时,各参与方间需要共享密钥,并通过密钥对各小文件中包含的元素进行加密异或;目标参与方通过调用预设函数,根据加密异或结果确认自身是否存在交集元素,直至完成全部小文件的数据求交以实现目标参与方的数据隐私求交。
本申请所提供的数据隐私集合求交方法,获取各参与方输入的集合元素文件;将集合元素文件按照预设分配量拆分为小文件;读取各小文件以获取各参与方的元素集合;目标参与方将对应的元素集合映射至第一哈希表,其他参与方将对应的元素集合映射至第二哈希表;各参与方间共享密钥,并通过密钥对各小文件中包含的元素进行加密异或;目标参与方通过调用预设函数,根据加密异或结果确认是否存在交集元素,直至完成全部小文件的数据求交以实现目标参与方的数据隐私求交。
相对于当前技术中,在求取多方参与的大数据隐私集合的交集时,存在计算量过大的问题,采用本技术方案,将集合元素文件按照预设分配量拆分为小文件,再通过读取小文件获取元素,能够有效减少计算量。在获取元素集合后,目标参与方将对应的元素映射至第一哈希表,其他参与方将对应的元素映射至第二哈希表,目标参与方通过调用预设函数,根据加密异或结果确认自身是否存在交集元素,直至完成全部小文件的数据求交以实现目标参与方的数据隐私求交。本技术方案通过将各参与方输入的大文件,按照预设的分配量拆分为小文件,每个小文件中的元素个数是确定的,从而在进行数据运算时,可以在各小文件间进行运算,避免了数据过多导致重复计算等额外工作量,有效较少了数据计算量。并且采用映射至哈希表以及分发密钥的方式,在求取多方参与的数据集合交集时,能够有效防止元素泄露,并且能够保证元素在不遗漏的情况下减少计算量。
Cuckoo哈希表和朴素哈希表是PSI领域中常用的哈希映射优化方法,布谷鸟哈希技术(Cuckoo Hash)被广泛的用于PSI协议的构造,经过Cuckoo哈希和朴素哈希的映射之后,双方可以行对行执行PSI协议,使其元素对比次数与元素数量呈线性关系。
因此,在本实施例中,第一哈希表为布谷鸟哈希表,第二哈希表为朴素哈希表。
在将元素映射至哈希表中时,例如映射某一元素x到长度为n的Cuckoo哈希表,其执行步骤为:选取k个哈希函数H_1,…,H_k;计算随机选取第i个哈希函数计算H_i(x);将元素放入Cuckoo哈希表H_i(x)mod n的位置,若已有元素y存在于该位置,则取出元素y,以元素y重复执行计算随机选取第i个哈希函数计算H_i(x)的步骤。Cuckoo哈希通常配合朴素哈希表使用,将元素x映射至朴素哈希表步骤如下:选取相同的k个哈希函数H_1,…,H_k。计算元素x的k个哈希值H_1(x),…,H_k(x)。将元素x存入位置为H_i(x)mod n的k个位置。
此外,将布谷鸟哈希表中未映射的行填充随机数;将朴素哈希表中各行中未填充的元素填充随机数。在具体实施中,例如有多个参与方Pi,i∈{1,2,...,n},每个参与方又包含对应的元素集合,目标参与方Pn将集合Xn中的元素映射至Cuckoo哈希表得到长度为β的C[β],未被映射的行填充随机数。其中,集合Xn是包括参与方Pn的全部元素,即各小文件的元素总和。
其他参与方Pi,i∈{1,2,...,n-1}将集合元素Xi映射至朴素哈希表得到长度为β的Si[β],Si[b][j]表示Si[β]中第b行的第j个元素,在朴素哈希表中每行最多L个元素,不足的行填充随机数。
在本实施例中,目标参与方Pn为多个参与方Pi中的任意一个参与方,其他参与方Pi为除了目标参与方外的参与方。
通过上述实施例可以理解的是,通过将元素映射至布谷鸟哈希表和朴素哈希表,能够实现数据的比对,有便于求交运算。而为了隐私性,各参与方在进行求交时还需要通过密钥加密的方式,并结合密码学协议进行交互,以避免自身的数据被其他参与方所知晓。
具体的,参与方间可以通过AES进行通信。AES是高级加密标准,在密码学中又称Rijndael加密法,被广泛使用。
应用于上述实施例中所提到的示例,参与方Pi,i∈{1,2,...,n-1}生成AES密钥{keyi,i+1,keyi,i+2,...,keyi,n},将keyi,i+1发送给Pi+1,将keyi,i+2发送给Pi+2以此类推。最终Pi将拥有生成的密钥集合{keyi,i+1,keyi,i+2,...,keyi,n}和收到的密钥集合{key1,i,key2,i,...,keyi-1,i}。
图2为本申请实施例提供的一种密钥共享机制的示意图,以参与方包括四个参与方为例进行说明,如图2所示,在本实施例中,P0发送密钥F(key01,x)、F(key02,x)、F(key03,x)至对应的参与方P1、P2、P3。为了便于理解,本申请还提供具体使用场景,例如:
对于第b行数据,参与方P3该行中有集合元素x,参与方P1在该行中有集合{x,y},参与方P2在该行中有集合{x,z}。AES加密函数F(key,plaintext)。
参与方Pi,i∈{0,1,2}生成AES密钥{keyi,i+1,keyi,i+2,...,keyi,n},将keyi,i+1发送给Pi+1,将keyi,i+2发送给Pi+2,以此类推。基于上述规则,最终P1将拥有生成的密钥集合{key12,key13},收到{key01}密钥集合。P2将拥有生成的密钥集合{key23},收到密钥集合{key02,key12}。P3生成的空的密钥集合,收到密钥集合{key03,key13,key23}。
在进行数据求交时,为了进一步保证数据的隐私性,各参与方的数据求交可以采用OPPRF函数进行处理。目标参与方通过调用OPPRF函数,根据其他参与方的异或结果确认是否存在交集元素,直至完成全部小文件的数据求交。图3为本申请实施例提供的一种OPPRF函数的示意图,在OPPRF的使用场景中,B输入一个私密的键值对集合{(key1,value1),(key2,value2),...,(keyn,valuen)},A输入一个用于查询的私密key’值,若key’∈{key1,key2,...,keyn},则A可获得对应的value值,若key’∈{key1,key2,...,keyn},则A获得的结果为一个任意可能的随机字符串。举例来说,若A输入的key’=key2,则获得的value’=value2,若key′∈{key1,key2,...,keyn},则value’=R,一个随机字符串。上述过程中,除计算结果外,双方私密输入均未暴露。
应用于上述示例中,对于Cuckoo哈希表的第b行的x,P0对应的键值P1对应的键值/> P2对应的键值/> P3对应的键值/>
对于各参与方,如果都有x,则由此,实现了数据求交。
参与方通过上述方法完成了文件中某一行元素的求交,在具体实施中,需要重复执行上述步骤,直至完成对全部的小文件的数据求交,从而完成个参与方的数据求交。
在上述实施例中,对于数据隐私集合求交方法进行了详细描述,本申请还提供数据隐私集合求交装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
图4为本申请实施例提供的一种数据隐私集合求交装置的结构图,如图4所示,该装置包括:
获取模块10,用于获取各参与方输入的集合元素文件;
拆分模块11,用于将集合元素文件按照预设分配量拆分为小文件;
读取模块12,用于读取各小文件以获取各参与方的元素集合;
映射模块13,用于目标参与方将对应的元素集合映射至第一哈希表,其他参与方将对应的元素集合映射至第二哈希表;
处理模块14,用于各参与方间共享密钥,并通过密钥对各小文件中包含的元素进行加密异或;
确认模块15,用于目标参与方通过调用预设函数,根据加密异或结果确认是否存在交集元素,直至完成全部小文件的数据求交以实现目标参与方的数据隐私求交。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请所提供的数据隐私集合求交装置,相对于当前技术中,在求取多方参与的大数据隐私集合的交集时,存在计算量过大的问题,采用本技术方案,将集合元素文件按照预设分配量拆分为小文件,再通过读取小文件获取元素,能够有效减少计算量。在获取元素集合后,目标参与方将对应的元素映射至第一哈希表,其他参与方将对应的元素映射至第二哈希表,目标参与方通过调用预设函数,根据加密异或结果确认自身是否存在交集元素,直至完成全部小文件的数据求交以实现目标参与方的数据隐私求交。本技术方案通过将各参与方输入的大文件,按照预设的分配量拆分为小文件,每个小文件中的元素个数是确定的,从而在进行数据运算时,可以在各小文件间进行运算,避免了数据过多导致重复计算等额外工作量,有效较少了数据计算量。并且采用映射至哈希表以及分发密钥的方式,在求取多方参与的数据集合交集时,能够有效防止元素泄露,并且能够保证元素在不遗漏的情况下减少计算量。
图5为本申请实施例提供的另一种数据隐私集合求交装置的结构图,如图5所示,该装置包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例记载的数据隐私集合求交方法的步骤。
本实施例提供的数据隐私集合求交装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可以包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的数据隐私集合求交方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于哈希值等。
在一些实施例中,数据隐私集合求交装置还可以包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图5中示出的结构并不构成对数据隐私集合求交装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的数据隐私集合求交装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:数据隐私集合求交方法。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的数据隐私集合求交方法、装置以及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种数据隐私集合求交方法,其特征在于,包括:
获取各参与方输入的集合元素文件;
将所述集合元素文件按照预设分配量拆分为小文件;
读取各所述小文件以获取各参与方的元素集合;
目标参与方将对应的元素集合映射至第一哈希表,其他参与方将对应的元素集合映射至第二哈希表;
各参与方间共享密钥,并通过密钥对各小文件中包含的元素进行加密异或;
目标参与方通过调用预设函数,根据加密异或结果确认是否存在交集元素,直至完成全部小文件的数据求交以实现目标参与方的数据隐私求交。
2.根据权利要求1所述的数据隐私集合求交方法,其特征在于,所述读取各所述小文件以获取各参与方的元素集合为:
逐行读取各所述小文件以获取各参与方的元素集合。
3.根据权利要求1所述的数据隐私集合求交方法,其特征在于,所述第一哈希表为布谷鸟哈希表,所述第二哈希表为朴素哈希表。
4.根据权利要求1所述的数据隐私集合求交方法,其特征在于,所述将所述集合元素文件按照预设分配量拆分为小文件包括:
根据各参与方中集合数量的最大值,将所述集合元素文件按照预设分配量拆分为小文件。
5.根据权利要求1所述的数据隐私集合求交方法,其特征在于,将布谷鸟哈希表中未映射的行填充随机数;将朴素哈希表中各行中未填充的元素填充随机数。
6.根据权利要求2所述的数据隐私集合求交方法,其特征在于,还包括:将读取各所述小文件以获取各参与方的元素通过哈希函数运算后写入对应的小文件;
进一步的,写入方式为采用追加插入的方式进行写入。
7.根据权利要求1所述的数据隐私集合求交方法,其特征在于,还包括:
所述预设函数为OPPRF函数。
8.一种数据隐私集合求交装置,其特征在于,包括:
获取模块,用于获取各参与方输入的集合元素文件;
拆分模块,用于将所述集合元素文件按照预设分配量拆分为小文件;
读取模块,用于读取各所述小文件以获取各参与方的元素集合;
映射模块,用于目标参与方将对应的元素集合映射至第一哈希表,其他参与方将对应的元素集合映射至第二哈希表;
处理模块,用于各参与方间共享密钥,并通过密钥对各小文件中包含的元素进行加密异或;
确认模块,用于目标参与方通过调用预设函数,根据加密异或结果确认是否存在交集元素,直至完成全部小文件的数据求交以实现目标参与方的数据隐私求交。
9.一种数据隐私集合求交装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任意一项所述的数据隐私集合求交方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述的数据隐私集合求交方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310686018.0A CN116961894A (zh) | 2023-06-09 | 2023-06-09 | 一种数据隐私集合求交方法、装置以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310686018.0A CN116961894A (zh) | 2023-06-09 | 2023-06-09 | 一种数据隐私集合求交方法、装置以及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116961894A true CN116961894A (zh) | 2023-10-27 |
Family
ID=88446910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310686018.0A Pending CN116961894A (zh) | 2023-06-09 | 2023-06-09 | 一种数据隐私集合求交方法、装置以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116961894A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117574412A (zh) * | 2024-01-16 | 2024-02-20 | 国家计算机网络与信息安全管理中心天津分中心 | 多方隐私求交方法、装置和电子设备 |
-
2023
- 2023-06-09 CN CN202310686018.0A patent/CN116961894A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117574412A (zh) * | 2024-01-16 | 2024-02-20 | 国家计算机网络与信息安全管理中心天津分中心 | 多方隐私求交方法、装置和电子设备 |
CN117574412B (zh) * | 2024-01-16 | 2024-04-02 | 国家计算机网络与信息安全管理中心天津分中心 | 多方隐私求交方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ohrimenko et al. | The Melbourne shuffle: Improving oblivious storage in the cloud | |
CN102693398B (zh) | 一种数据加密方法及系统 | |
AU2012387663B2 (en) | Encrypted data store for records | |
US9258112B2 (en) | Configurable key-based data shuffling and encryption | |
CN109493054B (zh) | 多链信息管理方法、装置、存储介质和区块链身份解析器 | |
CN116961894A (zh) | 一种数据隐私集合求交方法、装置以及介质 | |
CN103457932A (zh) | 一种云计算环境数据安全存储方法和系统 | |
WO2016115959A1 (zh) | 云端数据储存方法及装置和云端数据还原方法 | |
CN110213050B (zh) | 密钥生成方法、装置及存储介质 | |
CN109981551A (zh) | 一种基于区块链的数据传输系统、方法及相关设备 | |
CN112202555B (zh) | 基于信息的属性生成随机数的信息处理方法、装置及设备 | |
CN117134906A (zh) | 多方隐私求交方法及相关装置 | |
CN108829725B (zh) | 区块链上用户通信方法、装置、终端设备及存储介质 | |
CN116707784A (zh) | 一种基于秘密分享的多方安全计算方法和系统 | |
CN112788021B (zh) | 一种身份验证方法基于云数据的数字化城市管理数据共享系统 | |
CN113515769B (zh) | 一种基于隐藏数据的大数据再发现方法与装置 | |
CN111368316B (zh) | 文件加解密的方法及装置 | |
JP4486851B2 (ja) | 機密情報管理システム、機密情報管理方法、および機密情報管理プログラム、並びに機密情報管理システム用端末プログラム | |
CN112084536A (zh) | 基于区块链的密钥存储方法及装置 | |
CN109446758B (zh) | 一种数据处理方法、终端及计算机可读介质 | |
CN116484443B (zh) | 一种基于鸿蒙系统的可信安全存储方法及装置 | |
WO2023007633A1 (ja) | 制御方法、制御プログラム、ノード、およびシステム | |
KR102134847B1 (ko) | 분할 데이터 셔플 및 역변환 방법 | |
CN118118155B (zh) | 数据的同态加密方法、系统、装置、设备、介质及产品 | |
KR102134848B1 (ko) | 개별 암호키를 이용한 데이터 암호화 방법 |
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 |