掌桥专利:专业的专利平台
掌桥专利
首页

基于单向不经意哈希函数的数据集隐私求交方法和系统

文献发布时间:2024-04-18 19:58:26


基于单向不经意哈希函数的数据集隐私求交方法和系统

技术领域

本发明涉及数据集隐私求交技术领域,更具体的说是涉及基于单向不经意哈希函数的数据集隐私求交方法和系统。

背景技术

数据集合隐私求交是一种隐私保护技术,用于在不暴露参与方私有数据的情况下,对两个或多个数据集进行比较和交互操作。它的主要目标是在保护数据隐私的前提下,实现集合操作,如交集、并集、差集等。

目前主要基于哈希函数进行集合隐私求交,该方法主要包括朴素哈希和哈希加盐。相对于其他隐私集合求交方法,该方案效率最高,但是安全性较差。主要因为朴素哈希求交法在运行时通信双方会临时协商一个随机的盐值,在哈希计算时使用对应的盐值进行加盐哈希计算,当基于哈希加盐的方法进行隐私集合求交,遇到大规模数据时,需要额外的存储空间:而且因为每个用户都需要一个唯一的盐值,不仅会增加存储的需求,对于生成和管理随机的、唯一的盐值也需要一定的技术和安全措施;否则,盐值泄露,会对密码安全性产生严重影响。

因此,针对不具备安全求交或开销巨大难以控制的特点,本发明提出了一种基于单向不经意哈希函数的数据集隐私求交方法。

发明内容

有鉴于此,本发明提供了一种基于单向不经意哈希函数的数据集隐私求交方法和系统,主要基于质因数分解和离散对数难题提出单向不经意哈希函数,以在不需要额外空间的情况下实现密码级强度的数据隐私集合求交。

为了实现上述目的,本发明提供了一种基于单向不经意哈希函数的数据集隐私求交方法,包括,

S1、第一终端对第一数据集进行加密,将加密后的第一数据集传输至第二终端;

S2、第二终端产生随机数,利用所述随机数对加密后的第一数据集进行二次加密,并回传至第一终端;

S3、第一终端对二次加密的第一数据集进行解密,根据解密后的第一数据集与第二终端中的第二数据集进行求交。

可选的,第一终端采用RSA算法生成公钥和私钥,利用公钥对所述第一数据集进行加密,利用私钥对二次加密的第一数据集进行解密。

可选的,第一终端和第二终端基于离散对数进行传输。

本发明中,第一终端的安全性基于RSA的质因数分解难题,第二终端的安全性基于离散对数难题,故本申请构造的求交方法能够提供密码级强度。

可选的,将解密后的第一数据集发送至第二终端,与第二终端中的第二数据集进行求交。

可选的,所述第二数据集通过所述随机数进行加密后与解密后的第一数据集进行求交。

可选的,第一终端为服务端,第二终端为客户端;或第一终端为客户端,第二终端为服务端。

为了实现上述目的,本申请还提供了一种基于单向不经意哈希函数的数据集隐私求交系统,该系统包括第一终端和第二终端,其中,

第一终端包括,

第一数据加密单元,用于对第一数据集进行加密;

第一数据解密单元,用于对经第二终端加密的第一数据集进行解密;

第一数据传输单元,用于与第二终端进行数据传输;

第二终端包括,

随机数产生单元,用于在接收到加密的第一数据集后生成随机数;

第二数据加密单元,用于利用所述随机数对加密的第一数据集进行二次加密;

第二数据传输单元,用于与第一终端进行数据传输。

可选的,第一终端还包括:

密钥生成单元,用于采用RSA算法生成公钥和私钥,并将公钥发送至第一数据加密单元,将私钥发送至第一数据解密单元。

可选的,第二数据加密单元,还用于利用所述随机数对第二终端中的第二数据集进行加密。

可选的,第二终端还包括数据集求交单元,用于接收第一终端中解密后的第一数据集,与加密后的第二数据集进行求交。

本发明公开公开的基于单向不经意哈希函数的数据集隐私求交方法中,基于单向不经意哈希函数,第二终端只能获得第一终端加密后的数据,而无法获取原始数据,同时基于离散对数问题也无法破解第一终端的密文,因此第一终端中数据集的安全性可得到有效保障,同时,第二终端的数据只在本地运行,因此第一终端无法获取第二终端的任何数据,此时,第二终端中数据集的安全性也可以得到保障。

本发明提供的求交方法中,只有持有正确密钥的参与方才能正确计算哈希值,有效增加了安全性,以防止第三方对数据进行篡改或伪造;同时,本申请不需要额外空间,弥补了朴素哈希不具有安全性的特点,以及哈希加盐、布谷鸟哈希带来的额外开销问题,有利于构造安全高效的隐私集合求交协议。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明基于单向不经意哈希函数的数据集隐私求交方法流程图;

图2为本发明第一终端生成秘钥的流程示意图;

图3为本发明基于单向不经意哈希函数的数据集隐私求交过程示意图;

图4为本发明基于离散对数进行传输的原理图;

图5为本发明参与方Alice与Bob进行批量数据集的隐私求交示意图;

图6为本发明基于单向不经意哈希函数的数据集隐私求交系统结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了解决现有技术中数据求交安全性差,以及开销巨大难以控制的问题,本发明实施例公开了一种基于质因数分解和离散对数难题的单向不经意哈希函数,该函数不需要额外空间便可提供密码级强度。

具体通过如下方案实现;

一种基于单向不经意哈希函数的数据集隐私求交方法,如图1,包括如下步骤:

S1、第一终端对第一数据集进行加密,将加密后的第一数据集传输至第二终端;

S2、第二终端产生随机数,利用所述随机数对加密后的第一数据集进行二次加密,并回传至第一终端;

S3、第一终端对二次加密的第一数据集进行解密,根据解密后的第一数据集与第二终端中的第二数据集进行求交。

其中,第一终端为服务端,第二终端为客户端;或第一终端为客户端,第二终端为服务端。

在执行过程中,第一终端采用RSA算法生成公钥和私钥,利用公钥对所述第一数据集进行加密,利用私钥对二次加密的第一数据集进行解密。

其中,生成过程如图2,包括:

随机产生质数p、q;

根据质数p、q确定n,其中,

随机产生一个随机数e,通过e和n组成公钥,为(e,n);

进一步,根据如下公式获得d,

其中,

由此得到私钥为(d,n)。

一种实施例中,如图3所示,

当求交数据集为D时,首先利用公钥(e,n)为其加密,得到

然后将其传输至第二终端时,第二终端产生随机数k,并利用随机数k对加密数据集A进行二次加密,得到

随后将B回传至第一终端,由第一终端根据私钥(d,n)对其进行解密,得到

该过程中,第二终端只能得到第一终端加密后的数据,而不能获取原始数据,从而使得第一终端的数据集安全性得到有效保障。

进一步,本实施例中,第一终端和第二终端基于离散对数进行传输。具体如图4所示,

首先,确定第一终端和第二终端共享大素数p,以及有限域中的元素的基g,其中,g为小于p的整数,一种实施例中,大素数p和元素的基g由第一终端产生并发送至第二终端;

然后,第一终端中产生随机数a,第二终端中产生随机数b;以便计算各自的Ya,即第一终端中有

由此可得第一终端和第二终端协商的相同的秘钥,为

本发明中在第一终端基于RSA的质因数分解难题的基础上,使第二终端的安全性基于离散对数难题,可实现提供密码级强度的效果。

可选的,将解密后的第一数据集发送至第二终端,与第二终端中的第二数据集进行求交。且第二数据集通过所述随机数进行加密后与解密后的第一数据集进行求交。

一种实施例中,假设参与方为Alice和Bob。Alice首先使用RSA算法生成一对公私钥,公钥记为(e,n),私钥记为(d,n)。Alice将数据(D)使用公钥加密后(D)e % n发送给Bob。Bob收到后对数据,随机生成一个随机数(k),并将数据用k加密后发送给Alice。Alice收到密文后,使用私钥进行解密得到(D)k=((D)e)k)d % n。此时参与方的数据D和参与方Bob的随机数k共同构成一个单向不经意哈希函数。

当参与方Alice与参与方Bob有一批数据需要在保护隐私的前提下求交集时,也可以利用该方法进行隐私集合求交。如图5,假设参与方Alice拥有数据{A1,A2,...An},参与方Bob拥有数据{B1,B2,...Bm},要在不泄露各自数据的前提下进行隐私集合求交,在这里假设双方均为半诚实参与方,即不会主动更改协议的执行但会尝试解密一些信息。Alice首先生成一对生成一对公私钥,公钥记为(e,n),私钥记为(d,n)。对于集合{A1,A2,...An},执行单向不经意哈希函数的构建,得到{A1k,A2k,...Ank}。同时Bob拥有k,可以计算{B1k,B2k,...Bmk}。接下来,Alice将自己的集合{A1k,A2k,...Ank}发送给Bob,Bob通过和自己的集合比较即可得出交集。

在这个过程中安全性基于单向不经意哈希函数,Bob只能获得Alice加密后的数据,不能获取原始数据,同时基于离散对数问题无法破解Alice的密文,因此Alice数据的安全性得到保障。Bob的数据只在本地运行,因此Alice无法获取Bob的任何数据,Bob数据的安全性得到保障。

为了实现上述目的,本申请还提供了一种基于单向不经意哈希函数的数据集隐私求交系统,如图6,该系统包括第一终端和第二终端,其中,

第一终端包括,

第一数据加密单元,用于对第一数据集进行加密;

第一数据解密单元,用于对经第二终端加密的第一数据集进行解密;

第一数据传输单元,用于与第二终端进行数据传输;

第二终端包括,

随机数产生单元,用于在接收到加密的第一数据集后生成随机数;

第二数据加密单元,用于利用所述随机数对加密的第一数据集进行二次加密;

第二数据传输单元,用于与第一终端进行数据传输。

可选的,第一终端还包括:

密钥生成单元,用于采用RSA算法生成公钥和私钥,并将公钥发送至第一数据加密单元,将私钥发送至第一数据解密单元。

第二数据加密单元,还用于利用所述随机数对第二终端中的第二数据集进行加密。

以及第二终端还包括数据集求交单元,用于接收第一终端中解密后的第一数据集,与加密后的第二数据集进行求交。

本发明提出的基于质因数分解和离散对数难题的单向不经意哈希函数的构建方法,将质因数分解难题与离散对数难题结合起来,提出一种密码学级强度的单向不经意哈希函数构造方案,可用于隐私保护、安全认证等方向。同时,将该方法应用到两方隐私集合求交协议中,弥补了朴素哈希不具有安全性的特点,以及哈希加盐、布谷鸟哈希带来的额外开销问题。有利于构造安全高效的隐私集合求交协议。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种基于哈希单向加密的共享汽车信息隐私保护方法
  • 基于不经意伪随机函数和哈希函数的批量隐私信息获取方法
  • 基于不经意伪随机函数的隐匿求交方法
技术分类

06120116491218