CN118312990A - 隐私集合求交方法、装置、电子设备和存储介质 - Google Patents

隐私集合求交方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN118312990A
CN118312990A CN202310267009.8A CN202310267009A CN118312990A CN 118312990 A CN118312990 A CN 118312990A CN 202310267009 A CN202310267009 A CN 202310267009A CN 118312990 A CN118312990 A CN 118312990A
Authority
CN
China
Prior art keywords
parameter
public
determining
public key
user side
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
CN202310267009.8A
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.)
Beijing Yanqi Lake Applied Mathematics Research Institute
Tsinghua University
Original Assignee
Beijing Yanqi Lake Applied Mathematics Research Institute
Tsinghua University
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 Beijing Yanqi Lake Applied Mathematics Research Institute, Tsinghua University filed Critical Beijing Yanqi Lake Applied Mathematics Research Institute
Publication of CN118312990A publication Critical patent/CN118312990A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本公开涉及一种隐私集合求交方法、装置、电子设备和存储介质,通过第一用户端生成并向第二用户端发送公共参数。由两个用户端分别根据公共参数生成对应的第一数量个第一公钥和第二数量个第二公钥,第二用户端还根据第一公钥计算得到密文信息。第一用户端根据第二公钥和密文信息确定第一随机向量,并进行哈希处理后向第二用户端发送,由第二用户端确定哈希处理后的第一数量个第二随机向量,并计算哈希处理后的第一随机向量和第二随机向量的交集。本公开的隐私集合求交过程能够通过对隐私数据以密文信息的形式实现密钥封装,提供了使用密钥封装机制进行两方隐私集合求交的方案。同时,增加隐私集合求交过程的安全性和效率,能够抵抗量子计算机攻击。

Description

隐私集合求交方法、装置、电子设备和存储介质
技术领域
本公开涉及安全计算领域,尤其涉及一种隐私集合求交方法、装置、电子设备和存储介质。
背景技术
隐私集合求交(Private Set Intersection,PSI)是一个特定的安全多方计算(Multi-Party Computation,MPC)问题。在两方隐私集合求交协议中,其中一个参与方拥有一个隐私数据输入集合X={x1,…,xn},另一参与方拥有隐私数据输入集合Y={y1,…,yn},参与双方执行PSI协议可以得到隐私数据集合的交集X∩Y,且无法得到除交集之外的任何信息。目前尚未有使用密钥封装机制构造的两方PSI协议。同时,现有的隐私求交技术的安全性都基于求解大整数分解和椭圆曲线群上的离散对数等经典数论问题,还不能抵抗量子计算机的攻击。
发明内容
有鉴于此,本公开提出了一种隐私集合求交方法、装置、电子设备和存储介质,旨在使用密钥封装机制构造一种安全高效的隐私集合求交协议。
根据本公开的第一方面,提供了一种隐私集合求交方法,应用于第一用户端,所述方法包括:
生成并向第二用户端发送公共参数;
根据所述公共参数生成对应的第一私钥,并根据所述第一私钥确定第一数量个第一公钥,所述第一数量为所述第一用户端对应的第一隐私数据集合中包括数据的数量;
向所述第二用户端发送第一数量个所述第一公钥;
接收所述第二用户端基于所述公共参数确定的第二数量个第二公钥,以及根据所述第一公钥计算得到的密文信息,所述第二数量为所述第二用户端对应的第二隐私数据集合中包括数据的数量;
根据所述第二公钥和所述密文信息确定第一数量和第二数量乘积个第一随机向量;
对所述第一随机向量进行哈希处理并向所述第二用户端发送,以通过所述第二用户端确定哈希处理后的第一数量个第二随机向量与所述哈希处理后的第一随机向量的交集。
在一种可能的实现方式中,所述公共参数中包括第一参数、第二参数、第三参数和第四参数,所述第一参数为大于2的素数,所述第二参数用于限定矩阵尺寸,所述第三参数用于所述第二用户端生成随机向量,所述第四参数用于确定中心二项分布。
在一种可能的实现方式中,所述根据所述公共参数生成对应的第一私钥,并根据所述第一私钥确定第一数量个第一公钥,包括:
根据所述第四参数确定中心二项分布,并从所述中心二项分布中随机选取第一私钥和第一数量个第一错误向量;
根据所述第一用户端对应的第一隐私数据集合确定第一数量个第一矩阵,所述第一矩阵的尺寸根据所述第二参数确定,其中,每个元素从包括第一参数个数据的预设有限域中获取;
根据每个所述第一矩阵和对应的第一错误向量,以及所述第一私钥确定对应的第一公钥。
在一种可能的实现方式中,所述根据所述第一用户端对应的第一隐私数据集合确定第一数量个第一矩阵,包括:
根据预设的第一哈希函数分别确定所述第一隐私数据集合中每个数据的第一哈希值;
以每个所述第一哈希值作为变量生成函数的种子生成均匀分布的矩阵作为对应的第一矩阵。
在一种可能的实现方式中,所述根据每个所述第一矩阵和对应的第一错误向量,以及所述第一私钥确定对应的第一公钥,包括:
确定每个所述第一矩阵对应的第一错误向量;
计算每个所述第一矩阵和所述第一私钥的乘积与第一错误向量的和,得到对应的第一公钥。
在一种可能的实现方式中,所述根据所述第二公钥和所述密文信息确定第一数量和第二数量乘积个第一随机向量,包括:
通过第一解密函数对每个所述密文信息进行次一次解密,得到对应的第一中间数据;
根据所述第一私钥、所述第二公钥和所述第一中间数据确定第一数量和第二数量乘积个第二中间数据;
通过所述第二解密函数对分别对每个所述第二中间数据进行解密,得到对应的第一随机向量。
在一种可能的实现方式中,所述第一用户端通过第二哈希函数对所述第一随机向量进行哈希处理。
在一种可能的实现方式中,所述公共参数中包括还包括第五参数、第六参数和第七参数,所述第五参数用于限定矩阵多项式的维度,所述第六参数和所述第七参数用于进行数据加密。
在一种可能的实现方式中,所述密文信息中包括第一密文信息和第二密文信息,所述根据所述第二公钥和所述密文信息确定第一数量和第二数量乘积个第一随机向量,包括:
通过解密函数和所述第六参数计算每个所述第一密文信息对应的解密公钥;
通过解密函数和所述第七参数计算每个所述第二密文信息对应的第一中间数据;
计算每个所述第一中间数据与对应解密公钥和所述第一私钥乘积的差,得到第二中间数据;
通过加密压缩函数和预设的加密常数计算每个所述第二中间数据对应的第一随机向量。
根据本公开的第二方面,提供了一种隐私集合求交方法,应用于第二用户端,所述方法包括:
接收第一用户端发送的公共参数和第一数量个第一公钥,所述第一数量为所述第一用户端对应的第一隐私数据集合中包括数据的数量;
根据所述公共参数确定第二数量个第二公钥和第一数量个第二随机向量,所述第二数量为所述第二用户端对应的第二隐私数据集合中包括数据的数量;
根据所述第一公钥和所述第二随机向量计算得到密文信息;
向所述第一用户端发送所述第二公钥和所述密文信息;
接收所述第一用户端基于所述第二公钥和所述密文信息确定,并经过哈希处理的第一数量和第二数量乘积个第一随机向量;
对所述第二随机向量进行哈希处理,并确定哈希处理后的所述第二随机向量与所述哈希处理后的第一随机向量的交集。
在一种可能的实现方式中,所述公共参数中包括第一参数、第二参数、第三参数和第四参数,所述第一参数为大于2的素数,所述第二参数用于限定矩阵尺寸,所述第三参数用于所述第二用户端生成随机向量,所述第四参数用于确定中心二项分布。
在一种可能的实现方式中,所述根据所述公共参数确定第二数量个第二公钥和第一数量个第二随机向量,包括:
根据所述第四参数确定中心二项分布,并从所述中心二项分布中随机选取第二私钥和第二数量个第二错误向量;
根据所述第二用户端对应的第二隐私数据集合确定第二数量个第二矩阵,所述第二矩阵的尺寸根据所述第二参数确定,其中,每个元素从包括第一参数个数据的预设有限域中获取;
根据每个所述第二矩阵和对应的第二错误向量,以及所述第二私钥确定对应的第二公钥;
生成第一数量个长度为所述第三参数的第二随机向量,所述第二随机向量中每个维度的值为0或1。
在一种可能的实现方式中,所述根据所述第二用户端对应的第二隐私数据集合确定第二数量个第二矩阵,包括:
根据预设的第一哈希函数分别确定所述第二隐私数据集合中每个数据的第二哈希值;
以每个所述第二哈希值作为变量生成函数的种子生成均匀分布的矩阵作为对应的第二矩阵。
在一种可能的实现方式中,所述根据每个所述第二矩阵和对应的第二错误向量,以及所述第二私钥确定对应的第二公钥,包括:
确定每个所述第二矩阵对应的第二错误向量;
计算每个所述第二矩阵和所述第二私钥的乘积与第二错误向量的和,得到对应的第二公钥。
在一种可能的实现方式中,所述根据所述第一公钥和所述第二随机向量计算得到密文信息,包括:
通过第一加密函数映射每个所述第二随机向量,得到对应的第三中间数据;
根据所述第四参数确定中心二项分布,并从所述中心二项分布中随机选取第三错误向量;
计算每个所述第一公钥和所述第二私钥的乘积,与对应的第三错误向量以及第三中间数据的和得到对应的第四中间数据;
通过第二加密函数映射每个所述第四中间数据,得到对应的密文信息。
在一种可能的实现方式中,所述公共参数中包括还包括第五参数、第六参数和第七参数,所述第五参数用于限定所述分布式多项式的维度,所述第六参数和所述第七参数用于进行数据加密。
在一种可能的实现方式中,所述根据所述第一公钥和所述第二随机向量计算得到密文信息,包括:
通过加密压缩函数和所述第六参数计算每个所述第二公钥对应的第一密文信息;
通过解密函数和预设的解密常数计算每个所述第二随机向量对应的第三中间数据;
在所述中心二项分布内随机确定每个所述第一公钥对应的第三错误向量;
计算每个所述第一公钥和所述第二私钥的乘积,与对应的第三错误向量以及第三中间数据的和得到对应的第四中间数据;
通过所述加密压缩函数和所述第七参数计算每个所述第四中间数据对应的第二密文信息。
在一种可能的实现方式中,所述第二用户端通过第二哈希函数对所述第二随机向量进行哈希处理。
根据本公开的第三方面,提供了一种隐私集合求交装置,应用于第一用户端,所述装置包括:
参数生成模块,用于生成并向第二用户端发送公共参数;
第一公钥生成模块,用于根据所述公共参数生成对应的第一私钥,并根据所述第一私钥确定第一数量个第一公钥,所述第一数量为所述第一用户端对应的第一隐私数据集合中包括数据的数量;
公钥发送模块,用于向所述第二用户端发送第一数量个所述第一公钥;
第一公钥接收模块,用于接收所述第二用户端基于所述公共参数确定的第二数量个第二公钥,以及根据所述第一公钥计算得到的密文信息,所述第二数量为所述第二用户端对应的第二隐私数据集合中包括数据的数量;
向量计算模块,用于根据所述第二公钥和所述密文信息确定第一数量和第二数量乘积个第一随机向量;
哈希处理模块,用于对所述第一随机向量进行哈希处理并向所述第二用户端发送,以通过所述第二用户端确定哈希处理后的第一数量个第二随机向量与所述哈希处理后的第一随机向量的交集。
在一种可能的实现方式中,所述公共参数中包括第一参数、第二参数、第三参数和第四参数,所述第一参数为大于2的素数,所述第二参数用于限定矩阵尺寸,所述第三参数用于所述第二用户端生成随机向量,所述第四参数用于确定中心二项分布。
在一种可能的实现方式中,所述第一公钥生成模块,进一步用于:
根据所述第四参数确定中心二项分布,并从所述中心二项分布中随机选取第一私钥和第一数量个第一错误向量;
根据所述第一用户端对应的第一隐私数据集合确定第一数量个第一矩阵,所述第一矩阵的尺寸根据所述第二参数确定,其中,每个元素从包括第一参数个数据的预设有限域中获取;
根据每个所述第一矩阵和对应的第一错误向量,以及所述第一私钥确定对应的第一公钥。
在一种可能的实现方式中,所述第一公钥生成模块,进一步用于:
根据预设的第一哈希函数分别确定所述第一隐私数据集合中每个数据的第一哈希值;
以每个所述第一哈希值作为变量生成函数的种子生成均匀分布的矩阵作为对应的第一矩阵。
在一种可能的实现方式中,所述第一公钥生成模块,进一步用于:
确定每个所述第一矩阵对应的第一错误向量;
计算每个所述第一矩阵和所述第一私钥的乘积与第一错误向量的和,得到对应的第一公钥。
在一种可能的实现方式中,所述向量计算模块,进一步用于:
通过第一解密函数对每个所述密文信息进行次一次解密,得到对应的第一中间数据;
根据所述第一私钥、所述第二公钥和所述第一中间数据确定第一数量和第二数量乘积个第二中间数据;
通过所述第二解密函数对分别对每个所述第二中间数据进行解密,得到对应的第一随机向量。
在一种可能的实现方式中,所述第一用户端通过第二哈希函数对所述第一随机向量进行哈希处理。
在一种可能的实现方式中,所述公共参数中包括还包括第五参数、第六参数和第七参数,所述第五参数用于限定所述分布式多项式的维度,所述第六参数和所述第七参数用于进行数据加密。
在一种可能的实现方式中,所述密文信息中包括第一密文信息和第二密文信息,所述向量计算模块,进一步用于:
通过解密函数和所述第六参数计算每个所述第一密文信息对应的解密公钥;
通过解密函数和所述第七参数计算每个所述第二密文信息对应的第一中间数据;
计算每个所述第一中间数据与对应解密公钥和所述第一私钥乘积的差,得到第二中间数据;
通过加密压缩函数和预设的加密常数计算每个所述第二中间数据对应的第一随机向量。
根据本公开的第四方面,提供了一种隐私集合求交装置,应用于第二用户端,所述装置包括:
第二公钥接收模块,用于接收第一用户端发送的公共参数和第一数量个第一公钥,所述第一数量为所述第一用户端对应的第一隐私数据集合中包括数据的数量;
第二公钥生成模块,用于根据所述公共参数确定第二数量个第二公钥和第一数量个第二随机向量,所述第二数量为所述第二用户端对应的第二隐私数据集合中包括数据的数量;
密文生成模块,用于根据所述第一公钥和所述第二随机向量计算得到密文信息;
密文发送模块,用于向所述第一用户端发送所述第二公钥和所述密文信息;
向量接收模块,用于接收所述第一用户端基于所述第二公钥和所述密文信息确定,并经过哈希处理的第一数量和第二数量乘积个第一随机向量;
交集确定模块,用于对所述第二随机向量进行哈希处理,并确定哈希处理后的所述第二随机向量与所述哈希处理后的第一随机向量的交集。
在一种可能的实现方式中,所述公共参数中包括第一参数、第二参数、第三参数和第四参数,所述第一参数为大于2的素数,所述第二参数用于限定矩阵尺寸,所述第三参数用于所述第二用户端生成随机向量,所述第四参数用于确定中心二项分布。
在一种可能的实现方式中,所述第二公钥生成模块,进一步用于:
根据所述第四参数确定中心二项分布,并从所述中心二项分布中随机选取第二私钥和第二数量个第二错误向量;
根据所述第二用户端对应的第二隐私数据集合确定第二数量个第二矩阵,所述第二矩阵的尺寸根据所述第二参数确定,其中,每个元素从包括第一参数个数据的预设有限域中获取;
根据每个所述第二矩阵和对应的第二错误向量,以及所述第二私钥确定对应的第二公钥;
生成第一数量个长度为所述第三参数的第二随机向量,所述第二随机向量中每个维度的值为0或1。
在一种可能的实现方式中,所述第二公钥生成模块,进一步用于:
根据预设的第一哈希函数分别确定所述第二隐私数据集合中每个数据的第二哈希值;
以每个所述第二哈希值作为变量生成函数的种子生成均匀分布的矩阵作为对应的第二矩阵。
在一种可能的实现方式中,所述第二公钥生成模块,进一步用于:
确定每个所述第二矩阵对应的第二错误向量;
计算每个所述第二矩阵和所述第二私钥的乘积与第二错误向量的和,得到对应的第二公钥。
在一种可能的实现方式中,所述密文生成模块,进一步用于:
通过第一加密函数映射每个所述第二随机向量,得到对应的第三中间数据;
根据所述第四参数确定中心二项分布,并从所述中心二项分布中随机选取第三错误向量;
计算每个所述第一公钥和所述第二私钥的乘积,与对应的第三错误向量以及第三中间数据的和得到对应的第四中间数据;
通过第二加密函数映射每个所述第四中间数据,得到对应的密文信息。
在一种可能的实现方式中,所述公共参数中包括还包括第五参数、第六参数和第七参数,所述第五参数用于限定所述分布式多项式的维度,所述第六参数和所述第七参数用于进行数据加密。
在一种可能的实现方式中,所述密文生成模块,进一步用于:
通过加密压缩函数和所述第六参数计算每个所述第二公钥对应的第一密文信息;
通过解密函数和预设的解密常数计算每个所述第二随机向量对应的第三中间数据;
在所述中心二项分布内随机确定每个所述第一公钥对应的第三随机向量;
计算每个所述第一公钥和所述第二私钥的乘积,与对应的第三随机向量以及第三中间数据的和得到对应的第四中间数据;
通过所述加密压缩函数和所述第七参数计算每个所述第四中间数据对应的第二密文信息。
在一种可能的实现方式中,所述第二用户端通过第二哈希函数对所述第二随机向量进行哈希处理。
根据本公开的第五方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。
根据本公开的第六方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。
根据本公开的第七方面,提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
在本公开实施例中,通过第一用户端生成并向第二用户端发送公共参数。由两个用户端分别根据公共参数生成对应的第一数量个第一公钥和第二数量个第二公钥,第二用户端还根据第一公钥计算得到密文信息。第一用户端根据第二公钥和密文信息确定第一数量和第二数量乘积个第一随机向量,并进行哈希处理后向第二用户端发送,由第二用户端确定哈希处理后的第一数量个第二随机向量,并计算哈希处理后的第一随机向量和第二随机向量的交集。本公开的隐私集合求交过程能够通过密文信息实现密钥封装,提供使用密钥封装机制进行隐私集合求交的方案。同时,增加隐私集合求交过程的安全性和效率,抵抗量子计算机攻击。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出根据本公开实施例的第一用户端侧的一种隐私集合求交方法的流程图;
图2示出根据本公开实施例的第二用户端侧的一种隐私集合求交方法的流程图;
图3示出根据本公开实施例的一种隐私数据集合求交过程的示意图;
图4示出根据本公开实施例的另一种隐私数据集合求交过程的示意图;
图5示出根据本公开实施例的第一用户端侧的一种隐私集合求交装置的示意图;
图6示出根据本公开实施例的第二用户端侧的一种隐私集合求交装置的示意图;
图7示出根据本公开实施例的一种电子设备的示意图;
图8示出根据本公开实施例的另一种电子设备的示意图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
本公开实施例的隐私集合求交方法可以由参与隐私集合求交计算的第一用户或第二用户使用的终端设备或服务器等电子设备执行,即可以将终端设备或服务器作为第一用户端和/或第二客户端。其中,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等任意固定或移动终端。服务器可以为单独的服务器或多个服务器组成的服务器集群。任意电子设备可以通过处理器调用存储器中存储的计算机可读指令的方式来实现本公开实施例的隐私集合求交方法。
或者,本公开实施例还可以将安装在终端设备或服务器等电子设备上的应用程序作为参与隐私集合求交计算的第一用户或第二用户使用的用户端,通过第一用户和第二用户分别使用的第一用户端和第二用户端执行本公开实施例的隐私集合求交方法。
图1示出根据本公开实施例的第一用户端侧的一种隐私集合求交方法的流程图。如图1所示,本公开实施例第一用户端侧的一种隐私集合求交方法可以包括以下步骤S10-S60。
步骤S10、生成并向第二用户端发送公共参数。
在一种可能的实现方式中,第一用户端为作为隐私集合求交方法的协议参与者的第一用户使用的硬件或软件用户端。可以通过第一用户端基于协议的预设要求生成公共参数,并将公共参数发送至另一个参与协议的第二用户使用的第二用户端。其中,作为协议参与者的第一用户和第二用户分别拥有对应的第一隐私数据集合和第二隐私数据集合其中n1和n2可以相同或不同,不同的情况下n1大于n2。协议参与者需要基于公共参数进行安全多方计算,以对第一隐私数据和第二隐私数据集合求交集X∩Y。
可选地,在不同的应用场景下,第一用户端可以根据协议的要求生成至少一个需要的公共参数。例如,在本公开实施例应用于基于IND-CPA安全的抗量子密钥封装机制构建的两方隐私集合求交协议中的情况下,生成的公共参数PP可以包括第一参数q、第二参数m、第三参数λ和第四参数ψη,第一参数q为大于2的素数,第二参数m用于限定矩阵尺寸,第三参数λ用于第二用户端生成随机向量,第四参数ψη用于确定中心二项分布。在本公开实施例应用于基于IND-CPA安全的KYBER抗量子密钥封装机制构建的两方隐私集合求交协议中的情况下,除了上述四个参数外,生成的公共参数PP还可以包括第五参数k、第六参数和第七参数其中,第五参数k用于限定矩阵多项式的维度,第六参数和第七参数用于进行数据加密。
步骤S20、根据所述公共参数生成对应的第一私钥,并根据所述第一私钥确定第一数量个第一公钥。
在一种可能的实现方式中,第一用户端在生成公共参数PP={m,q,λ,ψη}后,根据第四参数确定中心二项分布ψη,再基于中心二项分布ψη确定第一用户端对应的第一私钥sA和第一数量n1个第一公钥其中,第一数量n1为第一用户端对应的第一隐私数据集合X中包括数据的数量,即第一用户端可以确定第一隐私数据集合X中每个数据xi对应的第一公钥
可选地,第一用户端基于中心二项分布ψη确定对应的第一私钥sA和第一数量n1个第一公钥的过程可以包括先从中心二项分布ψη中随机选取第一私钥sA以及第一数量个第一错误向量每个第一错误向量用于生成一个对应的第一公钥其中,第一错误向量和第一私钥sA可以均为向量,其中每个维度内数据的分布方式符合中心二项分布。进一步地,根据第一用户端对应的第一隐私数据集合确定第一数量个第一矩阵Ai,其中每个第一矩阵Ai对应于第一错误向量第一用户端可以根据每个第一矩阵Ai和对应的第一错误向量以及第一私钥sA确定对应的第一公钥
可选地,第一用户端根据第一隐私数据集合确定第一矩阵的过程可以通过预设的第一哈希函数实现,即可以根据预设的第一哈希函数H1(·)分别确定第一隐私数据集合X中每个数据xi(i∈[1,n1])的第一哈希值H1(xi)。再以每个第一哈希值H1(xi)作为变量生成函数Gen(·)的种子生成均匀分布的且尺寸为m×m的矩阵作为对应的第一矩阵
进一步地,第一用户端在确定第一数量个第一矩阵Ai和每个第一矩阵对应的第一错误向量后,根据每个第一矩阵Ai和对应的第一错误向量以及第一私钥sA确定对应的第一公钥其中,可以先确定每个第一矩阵Ai对应的第一错误向量再计算每个第一矩阵Ai和第一私钥sA的乘积与第一错误向量的和,得到对应的第一公钥
步骤S30、向所述第二用户端发送第一数量个所述第一公钥。
在一种可能的实现方式中,第一用户端在确定第一数量个第一公钥后,向第二用户端发送生成的第一数量个第一公钥,以由第二用户端基于接收到的第一公钥进行其他计算过程。
步骤S40、接收所述第二用户端基于所述公共参数确定的第二数量个第二公钥,以及根据所述第一公钥计算得到的密文信息。
在一种可能的实现方式中,第二用户端在接收到第一用户端发送的公共参数PP后,根据公共参数确定第二数量个第二公钥并在接收到第一用户端发送的第一数量个第一公钥PA后,利用第一公钥PA进行密钥封装,得到密文信息。其中,第二数量为第二用户端对应的第二隐私数据集合中包括数据的数量n2,第二用户端确定第二公钥的方式与第一用户端确定第一公钥的方式类似,在此不再赘述。第二用户端在确定第二公钥和密文信息后,将第二公钥和密文信息发送至第一用户端,由第一用户端接收之后对密文信息进行解封装。
可选地,在本公开实施例的隐私集合求交方法用于不同协议的情况下,第二用户端生成的密文信息种类和数量可以不同。例如,在本公开实施例应用于基于IND-CPA安全的抗量子密钥封装机制构建的两方隐私集合求交协议中的情况下,第二用户端生成的密文信息仅包括一种cj,且数量为第一数量。在本公开实施例应用于基于IND-CPA安全的KYBER抗量子密钥封装机制构建的两方隐私集合求交协议中的情况下,第二用户端生成的密文信息包括第一密文信息和第二密文信息两种密文信息,其中第一密文信息的数量为第二数量,第二密文信息的数量为第一数量。
步骤S50、根据所述第二公钥和所述密文信息确定第一数量和第二数量乘积个第一随机向量。
在一种可能的实现方式中,第一用户端在接收到第二用户端发送的第二公钥和密文信息后,基于第二公钥对密文信息进行解封装,得到第二用户端在密文信息内封装的信息。由于隐私集合求交方法用于不同协议的情况下,第二用户端生成的密文信息种类和数量可以不同,第一用户端可以在不同协议中通过不同的方式进行解封装。
可选地,在本公开实施例应用于基于IND-CPA安全的抗量子密钥封装机制构建的两方隐私集合求交协议中的情况下,第一用户端接收到第二用户端发送的第一数量个密文信息cj,对该密文信息cj进行解封装,得到第一随机向量。其中,第二用户端通过第一加密函数f1(·)和第二加密函数f2(·)进行密钥封装得到的密文信息cj,第一用户端可以确定与第一加密函数f1(·)对应的第二解密函数以及与第二加密函数f2(·)对应的第一解密函数再根据第一解密函数和第二解密函数对密文信息进行解封装。第一加密函数和第二解密函数可以互为倒数,第二加密函数和第一解密函数可以互为倒数。第一用户端在接收到密文信息cj后先通过第一解密函数对每个密文信息cj进行次一次解密,得到对应的第一中间数据再根据第一私钥sA、第二公钥和第一中间数据确定第一数量和第二数量乘积个第二中间数据Kil(i∈[1,n1],l∈[1,n2])。最后通过第二解密函数对分别对每个第二中间数据Kil进行解密,得到对应的第一随机向量
进一步地,第一用户端可以通过Kil计算每个第一中间数据与一个第二公钥和第一私钥sA乘积的差,得到对应的第二中间数据
可选地,在本公开实施例应用于基于IND-CPA安全的KYBER抗量子密钥封装机制构建的两方隐私集合求交协议中的情况下,第一用户端接收到第二用户端发送的第二数量个第一密文信息和第一数量个第二密文信息两种密文信息,基于第一密文信息和第二密文信息进行解封装,得到第一随机向量mil。其中,第二用户端通过预设的加密压缩函数Compressq(·)和解密函数Decompressq(·)进行密钥封装得到的密文信息第一密文信息和第二密文信息第一用户端也可以基于加密压缩函数Compressq(·)和解密函数Decompressq(·)进行解封装。第一用户端可以先通过解密函数Decompressq(·)和第六参数计算每个第一密文信息对应的解密公钥 每个解密公钥可以与一个第二公钥对应。再通过解密函数Decompressq(·)和第七参数计算每个所述第二密文信息对应的第一中间数据计算每个第一中间数据与对应解密公钥和第一私钥sA乘积的差,得到第二中间数据最后通过加密压缩函数Compressq(·)和预设的加密常数1计算每个第二中间数据对应的第一随机向量mil←Compressq(Kil,1)。
步骤S60、对所述第一随机向量进行哈希处理并向所述第二用户端发送。
在一种可能的实现方式中,第一用户端在通过对封装的密文信息进行解密得到第一随机向量后,对第一随机向量进行哈希处理,再向第二用户端发送哈希处理后的第一随机向量。其中,第一用户端可以通过第二哈希函数H2(·)对第一随机向量进行哈希处理。在对每个第一随机向量进行哈希处理后,第一用户端可以以集合CA的形式发送经过哈希处理的第一随机向量。可选地,第二用户端生成第二数量个第二随机向量,并也进行哈希处理。在接收到经过哈希处理后的第一随机向量后,第二用户端可以对经过哈希处理后的第一数量个第二随机向量与哈希处理后的第一随机向量求交集。
在不同的应用场景下,本公开实施例通过第一用户端和第二用户端计算的交集可以起到不同的作用。例如,可以在不泄露其他信息的情况下,应用于在不同医疗机构之间寻找共同患者的场景、在不同安全机构之间的数据库中搜索共同项目的场景、以及在不同名单中寻找相同人员的场景等任意应用场景。即第一用户端和第二用户端中对应的第一隐私数据集合和第二隐私数据集合在不同场景中可以为人员名单、项目列表以及信息集合等。
基于上述技术特征,本公开实施例能够通过密文信息实现密钥封装,提供一种能够使用密钥封装机制解决LWE和RLWE问题等多种问题的协议的隐私集合求交方法,且能够适用于元素数量超过预设数量的大集合之间的,以及大集合和元素数量不超过预设数量的小集合之间的平衡与不平衡的求交,拓宽了应用范围并增加了求交协议的普适性。进一步地,该方法的加密解密过程高效,且通过直接使用FFT提升多项式乘法的计算效率。同时,本公开实施例的隐私集合求交方法能够抵抗量子计算机攻击,具有安全且高效的优点。
图2示出根据本公开实施例的第二用户端侧的一种隐私集合求交方法的流程图。如图2所示,本公开实施例第二用户端侧的一种隐私集合求交方法可以包括以下步骤S10’-S60’。
步骤S10’、接收第一用户端发送的公共参数和第一数量个第一公钥。
在一种可能的实现方式中,第一用户端和第二用户端为需要进行隐私集合求交协议的第一用户和第二用户分别使用的硬件或软件用户端。其中,作为协议参与者的第一用户和第二用户分别拥有对应的第一隐私数据集合和第二隐私数据集合n1可以大于n2或者等于n2,协议参与者需要基于公共参数进行安全多方计算,以对第一隐私数据和第二隐私数据集合求交集X∩Y。
可选地,在不同的应用场景下,第一用户端可以根据协议的要求生成至少一个需要的公共参数。例如,在本公开实施例应用于基于IND-CPA安全的抗量子密钥封装机制构建的两方隐私集合求交协议中的情况下,生成的公共参数PP可以包括第一参数q、第二参数m、第三参数λ和第四参数ψη,第一参数q为大于2的素数,第二参数m用于限定矩阵尺寸,第三参数λ用于第二用户端生成随机向量,第四参数ψη用于确定中心二项分布。在本公开实施例应用于基于IND-CPA安全的KYBER抗量子密钥封装机制构建的两方隐私集合求交协议中的情况下,除了上述四个参数外,生成的公共参数PP还可以包括第五参数k、第六参数和第七参数其中,第五参数k用于限定矩阵多项式的维度,第六参数和第七参数用于进行数据加密。
步骤S20’、根据所述公共参数确定第二数量个第二公钥和第一数量个第二随机向量。
在一种可能的实现方式中,第二用户端在接收到第一用户端发送的公共参数PP后,基于公共参数PP确定第二数量个第二公钥。其中,与第一用户端确定第一公钥的方式相同,第二用户端也可以先根据第四参数确定中心二项分布ψη,再基于中心二项分布ψη确定第二用户端对应的第二私钥sB和第二数量n2个第二公钥其中,第二数量n2为第二用户端对应的第二隐私数据集合Y中包括数据的数量,即第二用户端可以确定第二隐私数据集合Y中每个数据yj对应的第二公钥
可选地,第二用户端基于中心二项分布ψη确定对应的第二私钥sB和第二数量n2个第二公钥的过程可以包括先从中心二项分布ψη中随机选取第二私钥sB以及第二数量个第二错误向量每个第二错误向量用于生成一个对应的第二公钥其中,第二错误向量和第二私钥sB可以均为向量,其中每个维度内数据的分布方式符合中心二项分布。进一步地,根据第二用户端对应的第二隐私数据集合确定第二数量个第二矩阵Aj。第二用户端可以根据每个第二矩阵Aj和对应的第二错误向量以及第二私钥sB确定对应的第二公钥
可选地,第二用户端根据第二隐私数据集合确定第二矩阵的过程可以通过预设的第一哈希函数实现,即可以根据预设的第一哈希函数H1(·)分别确定第二隐私数据集合Y中每个数据yj(j∈[1,n2])的第二哈希值H1(yj)。再以每个第二哈希值H1(yj)作为变量生成函数Gen(·)的种子生成均匀分布的且尺寸为m×m的矩阵作为对应的第二矩阵
进一步地,第二用户端在确定第二数量个第二矩阵Aj和每个第二矩阵Aj对应的第二错误向量后,根据每个第二矩阵Aj和对应的第二错误向量以及第二私钥sB确定对应的第二公钥其中,可以先确定每个第二矩阵Aj对应的第二错误向量再计算每个第二矩阵Aj和第二私钥sB的乘积与第二错误向量的和,得到对应的第二公钥
进一步地,第二用户端可以在确定第二公钥的同时根据第三参数确定第二随机向量,即可以生成第一数量个长度为第三参数λ的第二随机向量mj,第二随机向量中每个维度的值为0或1,即第二随机向量可以确定为mj←{0,1}λ
步骤S30’、根据所述第一公钥和所述第二随机向量计算得到密文信息。
在一种可能的实现方式中,第二用户端在接收到第一用户端发送的第一公钥,并生成第一数量个第二随机向量后,根据第一公钥对于第二随机向量进行密钥封装,得到对应的密文信息。在隐私集合求交方法用于不同协议的情况下,第二用户端可以通过不同的密钥封装方式生成种类和数量均不相同的密文信息。
可选地,在本公开实施例应用于基于IND-CPA安全的抗量子密钥封装机制构建的两方隐私集合求交协议中的情况下,第二用户端可以通过第一加密函数f1(·)和第二加密函数f2(·)进行密钥封装得到第一数量个密文信息cj。其中,第二用户端可以先通过第一加密函数f1(·)映射每个第二随机向量mj,得到对应的第三中间数据Kj←f1(mj)。在中心二项分布ψη内随机确定每个第一公钥对应的第三错误向量再计算每个第一公钥和第二私钥sB的乘积,与对应的第三错误向量以及第三中间数据Kj的和得到对应的第四中间数据最后通过第二加密函数f2(·)映射每个第四中间数据得到对应的密文信息
可选地,在本公开实施例应用于基于IND-CPA安全的KYBER抗量子密钥封装机制构建的两方隐私集合求交协议中的情况下,第二用户端通过预设的加密压缩函数Compressq(·)和解密函数Decompressq(·)进行密钥封装得到的第二数量个第一密文信息和第一数量个第二密文信息其中,第二用户端可以通过加密压缩函数Compressq(·)和第六参数计算每个第二公钥对应的第一密文信息 通过解密函数Decompressq(·)和预设的解密常数1计算每个第二随机向量mj对应的第三中间数据Kj=Decompressq(mj,1)。在中心二项分布ψη内随机确定每个第一公钥对应的第三错误向量计算每个第一公钥和第二私钥sB的乘积,与对应的第三错误向量以及第三中间数据Kj的和得到对应的第四中间数据 最后通过加密压缩函数和第七参数计算每个第四中间数据对应的第二密文信息
步骤S40’、向所述第一用户端发送所述第二公钥和所述密文信息。
在一种可能的实现方式中,第二用户端在生成第二公钥和密文信息后,将第二公钥和密文信息发送至第一用户端,由第一用户端基于接收到的第二公钥对密文信息进行解密。其中,在不同应用场景下第二用户端发送的密文信息不同。示例性地,在本公开实施例应用于基于IND-CPA安全的抗量子密钥封装机制构建的两方隐私集合求交协议中的情况下,第二用户端发送第一数量个密文信息cj。在本公开实施例应用于基于IND-CPA安全的KYBER抗量子密钥封装机制构建的两方隐私集合求交协议中的情况下,第二用户端发送第二数量个第一密文信息和第一数量个第二密文信息
步骤S50’、接收所述第一用户端基于所述第二公钥和所述密文信息确定,并经过哈希处理的第一数量和第二数量乘积个第一随机向量。
在一种可能的实现方式中,第一用户端在接收到第二公钥和密文信息后,对密文信息进行解密得到第一数量和第二数量乘积个第一随机向量,再通过第二哈希函数对每个第一随机向量进行哈希处理,将哈希处理后的第一随机向量发送至第二用户端。第二用户端可以根据接收到的哈希处理后的第一随机向量确定数据交集。
步骤S60’、对所述第二随机向量进行哈希处理,并确定哈希处理后的所述第二随机向量与所述哈希处理后的第一随机向量的交集。
在一种可能的实现方式中,第二用户端在确定第一数量个第二随机向量后,通过第二哈希函数H2(·)对第二随机向量进行哈希处理,得到包括处理后每个第二随机向量的集合第二用户端在接收到包括每个经过哈希处理的第一随机向量的集合CA,并确定包括每个经过哈希处理的第二随机向量的集合为CB后,计算两个集合的交集CA∩CB得到最终的求交结果。
在不同的应用场景下,本公开实施例通过第一用户端和第二用户端计算的交集可以起到不同的作用。例如,可以在不泄露其他信息的情况下,应用于在不同医疗机构之间寻找共同患者的场景、在不同安全机构之间的数据库中搜索共同项目的场景、以及在不同名单中寻找相同人员的场景等任意应用场景。即第一用户端和第二用户端中对应的第一隐私数据集合和第二隐私数据集合在不同场景中可以为人员名单、项目列表以及信息集合等。
图3示出根据本公开实施例的一种隐私数据集合求交过程的示意图。如图3所示,本公开实施例可以应用于基于IND-CPA安全的抗量子密钥封装机制构建的两方隐私集合求交协议。作为协议参与者的第一用户和第二用户分别拥有对应的第一隐私数据集合和第二隐私数据集合需要求两个隐私数据集合的交集。其中,隐私集合求交过程可以包括初始化、密钥生成、密钥封装、解封装和计算交集三个阶段。初始化阶段由第一用户端生成公共参数PP。密钥生成阶段由第一用户端基于公共参数计算第一公钥并发送至第二用户端。密钥封装阶段由第二用户端基于公共参数和第一公钥计算第二公钥,生成第二随机向量并通过第一加密函数和第二加密函数对第二随机向量进行封装得到密文信息后与第二公钥一同返回第一用户端。在解封装阶段,第一用户端根据第一解密函数和第二解密函数基于接收到的第二公钥对密钥信息进行解封装,得到第一随机向量,在对第一随机向量进行哈希处理后得到集合CA并返回第二用户端。第二用户端对生成的第二随机向量也进行哈希处理,得到包括每个哈希处理后第二随机向量的集合CB,将集合CB与接收到的包括每个哈希处理后的第一随机向量的集合CA求交集。
其中,第二用户端经过哈希处理的第二随机向量中,mj与密文信息是对应的。第一用户端发送集合CA中,经过哈希处理的第一共享秘钥与密文信息相对应,因此,在 存在相同的元素的情况下,意味着第一隐私数据集合和第二隐私数据集合中存在一个相同的元素。进一步地,第二用户端计算集合CA∩CB的求交结果为Cj的并集是隐私数据集合的交集,即第一隐私数据集合和第二隐私数据集合的交集为
可选地,图3所示实施例为计算不平衡隐私数据集合交集的场景,在计算平衡隐私数据集合交集的情况下,第一数量和第二数量相同。
图4示出根据本公开实施例的另一种隐私数据集合求交过程的示意图。如图4所示,本公开实施例可以应用于基于IND-CPA安全的KYBER抗量子密钥封装机制构建的两方隐私集合求交协议。作为协议参与者的第一用户和第二用户分别拥有对应的第一隐私数据集合和第二隐私数据集合需要求两个隐私数据集合的交集。其中,隐私集合求交过程可以包括初始化、密钥生成、密钥封装、解封装和计算交集五个阶段。初始化阶段由第一用户端生成公共参数PP。密钥生成阶段由第一用户端基于公共参数计算第一公钥并发送至第二用户端。密钥封装阶段由第二用户端基于公共参数和第一公钥计算第二公钥,生成第二随机向量并通过加密压缩函数和解密函数对第二随机向量进行封装得到包括第一密文信息和第二密文信息的密文信息,将密文信息与第二公钥一同返回第一用户端。在解封装阶段,第一用户端根据加密压缩函数和解密函数基于接收到的第二公钥对密钥信息进行解封装,得到第一随机向量,在对第一随机向量进行哈希处理后得到集合CA并返回第二用户端。第二用户端对生成的第二随机向量也进行哈希处理,得到包括每个哈希处理后第二随机向量的集合CB,将集合CB与接收到的包括每个哈希处理后的第一随机向量的集合CA求交集。
其中,第二用户端经过哈希处理的第二随机向量中,mj与第二密文信息是对应的。第一用户端发送集合CA中,经过哈希处理的第一共享密钥与第二密文信息相对应,因此,在存在相同的元素的情况下,意味着第一隐私数据集合和第二隐私数据集合中存在一个相同的元素。进一步地,第二用户端计算集合CA∩CB的求交结果为Cj的并集是隐私数据集合的交集,即第一隐私数据集合和第二隐私数据集合的交集为
可选地,图4所示实施例为计算不平衡隐私数据集合交集的场景,在计算平衡隐私数据集合交集的情况下,第一数量和第二数量相同。
基于上述技术特征,本公开实施例通过第一用户端生成并向第二用户端发送公共参数。由两个用户端分别根据公共参数生成对应的第一数量个第一公钥和第二数量个第二公钥,第二用户端还根据第一公钥计算得到密文信息。第一用户端根据第二公钥和密文信息确定第一随机向量,并进行哈希处理后向第二用户端发送,由第二用户端确定哈希处理后的第一数量个第二随机向量,并计算哈希处理后的第一随机向量和第二随机向量的交集。该方法能够通过密文信息实现密钥封装,提供一种能够使用密钥封装机制解决LWE和RLWE问题等多种问题的协议的隐私集合求交方法,且能够适用于元素数量超过预设数量的大集合之间,以及大集合和元素数量不超过预设数量的小集合之间的平衡与不平衡的求交,拓宽了应用范围并增加了求交协议的普适性。进一步地,该方法的加密解密过程高效,且通过直接使用FFT提升多项式乘法的计算效率。同时,本公开实施例的隐私集合求交方法能够抵抗量子计算机攻击,具有安全且高效的优点。
图5示出根据本公开实施例的第一用户端侧的一种隐私集合求交装置的示意图。如图5所示,本公开实施例第一用户端侧的隐私集合求交装置可以包括:
参数生成模块50,用于生成并向第二用户端发送公共参数;
第一公钥生成模块51,用于根据所述公共参数生成对应的第一私钥,并根据所述第一私钥确定第一数量个第一公钥,所述第一数量为所述第一用户端对应的第一隐私数据集合中包括数据的数量;
公钥发送模块52,用于向所述第二用户端发送第一数量个所述第一公钥;
第一公钥接收模块53,用于接收所述第二用户端基于所述公共参数确定的第二数量个第二公钥,以及根据所述第一公钥计算得到的密文信息,所述第二数量为所述第二用户端对应的第二隐私数据集合中包括数据的数量;
向量计算模块54,用于根据所述第二公钥和所述密文信息确定第一数量和第二数量乘积个第一随机向量;
哈希处理模块55,用于对所述第一随机向量进行哈希处理并向所述第二用户端发送,以通过所述第二用户端确定哈希处理后的第一数量个第二随机向量与所述哈希处理后的第一随机向量的交集。
在一种可能的实现方式中,所述公共参数中包括第一参数、第二参数、第三参数和第四参数,所述第一参数为大于2的素数,所述第二参数用于限定矩阵尺寸,所述第三参数用于所述第二用户端生成随机向量,所述第四参数用于确定中心二项分布。
在一种可能的实现方式中,所述第一公钥生成模块51,进一步用于:
根据所述第四参数确定中心二项分布,并从所述中心二项分布中随机选取第一私钥和第一数量个第一错误向量;
根据所述第一用户端对应的第一隐私数据集合确定第一数量个第一矩阵,所述第一矩阵的尺寸根据所述第二参数确定,其中,每个元素从包括第一参数个数据的预设有限域中获取;
根据每个所述第一矩阵和对应的第一错误向量,以及所述第一私钥确定对应的第一公钥。
在一种可能的实现方式中,所述第一公钥生成模块51,进一步用于:
根据预设的第一哈希函数分别确定所述第一隐私数据集合中每个数据的第一哈希值;
以每个所述第一哈希值作为变量生成函数的种子生成均匀分布的矩阵作为对应的第一矩阵。
在一种可能的实现方式中,所述第一公钥生成模块51,进一步用于:
确定每个所述第一矩阵对应的第一错误向量;
计算每个所述第一矩阵和所述第一私钥的乘积与第一错误向量的和,得到对应的第一公钥。
在一种可能的实现方式中,所述向量计算模块54,进一步用于:
通过第一解密函数对每个所述密文信息进行次一次解密,得到对应的第一中间数据;
根据所述第一私钥、所述第二公钥和所述第一中间数据确定第一数量和第二数量乘积个第二中间数据;
通过所述第二解密函数对分别对每个所述第二中间数据进行解密,得到对应的第一随机向量。
在一种可能的实现方式中,所述第一用户端通过第二哈希函数对所述第一随机向量进行哈希处理。
在一种可能的实现方式中,所述公共参数中包括还包括第五参数、第六参数和第七参数,所述第五参数用于限定所述矩阵多项式的维度,所述第六参数和所述第七参数用于进行数据加密。
在一种可能的实现方式中,所述密文信息中包括第一密文信息和第二密文信息,所述向量计算模块54,进一步用于:
通过解密函数和所述第六参数计算每个所述第一密文信息对应的解密公钥;
通过解密函数和所述第七参数计算每个所述第二密文信息对应的第一中间数据;
计算每个所述第一中间数据与对应解密公钥和所述第一私钥乘积的差,得到第二中间数据;
通过加密压缩函数和预设的加密常数计算每个所述第二中间数据对应的第一随机向量。
图6示出根据本公开实施例的第二用户端侧的一种隐私集合求交装置的示意图。如图6所示,本公开实施例第二用户端侧的隐私集合求交装置可以包括:
第二公钥接收模块60,用于接收第一用户端发送的公共参数和第一数量个第一公钥,所述第一数量为所述第一用户端对应的第一隐私数据集合中包括数据的数量;
第二公钥生成模块61,用于根据所述公共参数确定第二数量个第二公钥和第一数量个第二随机向量,所述第二数量为所述第二用户端对应的第二隐私数据集合中包括数据的数量;
密文生成模块62,用于根据所述第一公钥和所述第二随机向量计算得到密文信息;
密文发送模块63,用于向所述第一用户端发送所述第二公钥和所述密文信息;
向量接收模块64,用于接收所述第一用户端基于所述第二公钥和所述密文信息确定,并经过哈希处理的第一数量和第二数量乘积个第一随机向量;
交集确定模块65,用于对所述第二随机向量进行哈希处理,并确定哈希处理后的所述第二随机向量与所述哈希处理后的第一随机向量的交集。
在一种可能的实现方式中,所述公共参数中包括第一参数、第二参数、第三参数和第四参数,所述第一参数为大于2的素数,所述第二参数用于限定矩阵尺寸,所述第三参数用于所述第二用户端生成随机向量,所述第四参数用于确定中心二项分布。
在一种可能的实现方式中,所述第二公钥生成模块61,进一步用于:
根据所述第四参数确定中心二项分布,并从所述中心二项分布中随机选取第二私钥和第二数量个第二错误向量;
根据所述第二用户端对应的第二隐私数据集合确定第二数量个第二矩阵,所述第二矩阵的尺寸根据所述第二参数确定,其中,每个元素从包括第一参数个数据的预设有限域中获取;
根据每个所述第二矩阵和对应的第二错误向量,以及所述第二私钥确定对应的第二公钥;
生成第一数量个长度为所述第三参数的第二随机向量,所述第二随机向量中每个维度的值为0或1。
在一种可能的实现方式中,所述第二公钥生成模块61,进一步用于:
根据预设的第一哈希函数分别确定所述第二隐私数据集合中每个数据的第二哈希值;
以每个所述第二哈希值作为变量生成函数的种子生成均匀分布的矩阵作为对应的第二矩阵。
在一种可能的实现方式中,所述第二公钥生成模块61,进一步用于:
确定每个所述第二矩阵对应的第二错误向量;
计算每个所述第二矩阵和所述第二私钥的乘积与第二错误向量的和,得到对应的第二公钥。
在一种可能的实现方式中,所述密文生成模块62,进一步用于:
通过第一加密函数映射每个所述第二随机向量,得到对应的第三中间数据;
根据所述第四参数确定中心二项分布,并从所述中心二项分布中随机选取第三错误向量;
计算每个所述第一公钥和所述第二私钥的乘积,与对应的第三错误向量以及第三中间数据的和得到对应的第四中间数据;
通过第二加密函数映射每个所述第四中间数据,得到对应的密文信息。
在一种可能的实现方式中,所述公共参数中包括还包括第五参数、第六参数和第七参数,所述第五参数用于限定所述分布式多项式的维度,所述第六参数和所述第七参数用于进行数据加密。
在一种可能的实现方式中,所述密文生成模块62,进一步用于:
通过加密压缩函数和所述第六参数计算每个所述第二公钥对应的第一密文信息;
通过解密函数和预设的解密常数计算每个所述第二随机向量对应的第三中间数据;
在所述中心二项分布内随机确定每个所述第一公钥对应的第三错误向量;
计算每个所述第一公钥和所述第二私钥的乘积,与对应的第三错误向量以及第三中间数据的和得到对应的第四中间数据;
通过所述加密压缩函数和所述第七参数计算每个所述第四中间数据对应的第二密文信息。
在一种可能的实现方式中,所述第二用户端通过第二哈希函数对所述第二随机向量进行哈希处理。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
图7示出根据本公开实施例的一种电子设备800的示意图。电子设备800。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图7,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由电子设备800的处理器820执行以完成上述方法。
图8示出根据本公开实施例的另一种电子设备1900的示意图电子设备1900。例如,电子设备1900可以被提供为一服务器或终端设备。参照图8,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (22)

1.一种隐私集合求交方法,应用于第一用户端,其特征在于,所述方法包括:
生成并向第二用户端发送公共参数;
根据所述公共参数生成对应的第一私钥,并根据所述第一私钥确定第一数量个第一公钥,所述第一数量为所述第一用户端对应的第一隐私数据集合中包括数据的数量;
向所述第二用户端发送第一数量个所述第一公钥;
接收所述第二用户端基于所述公共参数确定的第二数量个第二公钥,以及根据所述第一公钥计算得到的密文信息,所述第二数量为所述第二用户端对应的第二隐私数据集合中包括数据的数量;
根据所述第二公钥和所述密文信息确定第一数量和第二数量乘积个第一随机向量;
对所述第一随机向量进行哈希处理并向所述第二用户端发送,以通过所述第二用户端确定哈希处理后的第一数量个第二随机向量与所述哈希处理后的第一随机向量的交集。
2.根据权利要求1所述的方法,其特征在于,所述公共参数中包括第一参数、第二参数、第三参数和第四参数,所述第一参数为大于2的素数,所述第二参数用于限定矩阵尺寸,所述第三参数用于所述第二用户端生成随机向量,所述第四参数用于确定中心二项分布。
3.根据权利要求2所述的方法,其特征在于,所述根据所述公共参数生成对应的第一私钥,并根据所述第一私钥确定第一数量个第一公钥,包括:
根据所述第四参数确定中心二项分布,并从所述中心二项分布中随机选取第一私钥和第一数量个第一错误向量;
根据所述第一用户端对应的第一隐私数据集合确定第一数量个第一矩阵,所述第一矩阵的尺寸根据所述第二参数确定,其中,每个元素从包括第一参数个数据的预设有限域中获取;
根据每个所述第一矩阵和对应的第一错误向量,以及所述第一私钥确定对应的第一公钥。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一用户端对应的第一隐私数据集合确定第一数量个第一矩阵,包括:
根据预设的第一哈希函数分别确定所述第一隐私数据集合中每个数据的第一哈希值;
以每个所述第一哈希值作为变量生成函数的种子生成均匀分布的矩阵作为对应的第一矩阵。
5.根据权利要求3或4所述的方法,其特征在于,所述根据每个所述第一矩阵和对应的第一错误向量,以及所述第一私钥确定对应的第一公钥,包括:
确定每个所述第一矩阵对应的第一错误向量;
计算每个所述第一矩阵和所述第一私钥的乘积与第一错误向量的和,得到对应的第一公钥。
6.根据权利要求2所述的方法,其特征在于,所述根据所述第二公钥和所述密文信息确定第一数量和第二数量乘积个第一随机向量,包括:
通过第一解密函数对每个所述密文信息进行次一次解密,得到对应的第一中间数据;
根据所述第一私钥、所述第二公钥和所述第一中间数据确定第一数量和第二数量乘积个第二中间数据;
通过所述第二解密函数对分别对每个所述第二中间数据进行解密,得到对应的第一随机向量。
7.根据权利要求1所述的方法,其特征在于,所述第一用户端通过第二哈希函数对所述第一随机向量进行哈希处理。
8.根据权利要求1所述的方法,其特征在于,所述公共参数中包括还包括第五参数、第六参数和第七参数,所述第五参数用于限定矩阵多项式的维度,所述第六参数和所述第七参数用于进行数据加密。
9.根据权利要求8所述的方法,其特征在于,所述密文信息中包括第一密文信息和第二密文信息,所述根据所述第二公钥和所述密文信息确定第一数量和第二数量乘积个第一随机向量,包括:
通过解密函数和所述第六参数计算每个所述第一密文信息对应的解密公钥;
通过解密函数和所述第七参数计算每个所述第二密文信息对应的第一中间数据;
计算每个所述第一中间数据与对应解密公钥和所述第一私钥乘积的差,得到第二中间数据;
通过加密压缩函数和预设的加密常数计算每个所述第二中间数据对应的第一随机向量。
10.一种隐私集合求交方法,应用于第二用户端,其特征在于,所述方法包括:
接收第一用户端发送的公共参数和第一数量个第一公钥,所述第一数量为所述第一用户端对应的第一隐私数据集合中包括数据的数量;
根据所述公共参数确定第二数量个第二公钥和第一数量个第二随机向量,所述第二数量为所述第二用户端对应的第二隐私数据集合中包括数据的数量;
根据所述第一公钥和所述第二随机向量计算得到密文信息;
向所述第一用户端发送所述第二公钥和所述密文信息;
接收所述第一用户端基于所述第二公钥和所述密文信息确定,并经过哈希处理的第一数量和第二数量乘积个第一随机向量;
对所述第二随机向量进行哈希处理,并确定哈希处理后的所述第二随机向量与所述哈希处理后的第一随机向量的交集。
11.根据权利要求10所述的方法,其特征在于,所述公共参数中包括第一参数、第二参数、第三参数和第四参数,所述第一参数为大于2的素数,所述第二参数用于限定矩阵尺寸,所述第三参数用于所述第二用户端生成随机向量,所述第四参数用于确定中心二项分布。
12.根据权利要求11所述的方法,其特征在于,所述根据所述公共参数确定第二数量个第二公钥和第一数量个第二随机向量,包括:
根据所述第四参数确定中心二项分布,并从所述中心二项分布中随机选取第二私钥和第二数量个第二错误向量;
根据所述第二用户端对应的第二隐私数据集合确定第二数量个第二矩阵,所述第二矩阵的尺寸根据所述第二参数确定,其中,每个元素从包括第一参数个数据的预设有限域中获取;
根据每个所述第二矩阵和对应的第二错误向量,以及所述第二私钥确定对应的第二公钥;
生成第一数量个长度为所述第三参数的第二随机向量,所述第二随机向量中每个维度的值为0或1。
13.根据权利要求12所述的方法,其特征在于,所述根据所述第二用户端对应的第二隐私数据集合确定第二数量个第二矩阵,包括:
根据预设的第一哈希函数分别确定所述第二隐私数据集合中每个数据的第二哈希值;
以每个所述第二哈希值作为变量生成函数的种子生成均匀分布的矩阵作为对应的第二矩阵。
14.根据权利要求12或13所述的方法,其特征在于,所述根据每个所述第二矩阵和对应的第二错误向量,以及所述第二私钥确定对应的第二公钥,包括:
确定每个所述第二矩阵对应的第二错误向量;
计算每个所述第二矩阵和所述第二私钥的乘积与第二错误向量的和,得到对应的第二公钥。
15.根据权利要求12所述的方法,其特征在于,所述根据所述第一公钥和所述第二随机向量计算得到密文信息,包括:
通过第一加密函数映射每个所述第二随机向量,得到对应的第三中间数据;
根据所述第四参数确定中心二项分布,并从所述中心二项分布中随机选取第三错误向量;
计算每个所述第一公钥和所述第二私钥的乘积,与对应的第三错误向量以及第三中间数据的和得到对应的第四中间数据;
通过第二加密函数映射每个所述第四中间数据,得到对应的密文信息。
16.根据权利要求10所述的方法,其特征在于,所述公共参数中包括还包括第五参数、第六参数和第七参数,所述第五参数用于限定所述分布式多项式的维度,所述第六参数和所述第七参数用于进行数据加密。
17.根据权利要求16所述的方法,其特征在于,所述根据所述第一公钥和所述第二随机向量计算得到密文信息,包括:
通过加密压缩函数和所述第六参数计算每个所述第二公钥对应的第一密文信息;
通过解密函数和预设的解密常数计算每个所述第二随机向量对应的第三中间数据;
在所述中心二项分布内随机确定每个所述第一公钥对应的第三错误向量;
计算每个所述第一公钥和所述第二私钥的乘积,与对应的第三错误向量以及第三中间数据的和得到对应的第四中间数据;
通过所述加密压缩函数和所述第七参数计算每个所述第四中间数据对应的第二密文信息。
18.根据权利要求10所述的方法,其特征在于,所述第二用户端通过第二哈希函数对所述第二随机向量进行哈希处理。
19.一种隐私集合求交装置,应用于第一用户端,其特征在于,所述装置包括:
参数生成模块,用于生成并向第二用户端发送公共参数;
第一公钥生成模块,用于根据所述公共参数生成对应的第一私钥,并根据所述第一私钥确定第一数量个第一公钥,所述第一数量为所述第一用户端对应的第一隐私数据集合中包括数据的数量;
公钥发送模块,用于向所述第二用户端发送第一数量个所述第一公钥;
第一公钥接收模块,用于接收所述第二用户端基于所述公共参数确定的第二数量个第二公钥,以及根据所述第一公钥计算得到的密文信息,所述第二数量为所述第二用户端对应的第二隐私数据集合中包括数据的数量;
向量计算模块,用于根据所述第二公钥和所述密文信息确定第一数量和第二数量乘积个第一随机向量;
哈希处理模块,用于对所述第一随机向量进行哈希处理并向所述第二用户端发送,以通过所述第二用户端确定哈希处理后的第一数量个第二随机向量与所述哈希处理后的第一随机向量的交集。
20.一种隐私集合求交装置,应用于第二用户端,其特征在于,所述装置包括:
第二公钥接收模块,用于接收第一用户端发送的公共参数和第一数量个第一公钥,所述第一数量为所述第一用户端对应的第一隐私数据集合中包括数据的数量;
第二公钥生成模块,用于根据所述公共参数确定第二数量个第二公钥和第一数量个第二随机向量,所述第二数量为所述第二用户端对应的第二隐私数据集合中包括数据的数量;
密文生成模块,用于根据所述第一公钥和所述第二随机向量计算得到密文信息;
密文发送模块,用于向所述第一用户端发送所述第二公钥和所述密文信息;
向量接收模块,用于接收所述第一用户端基于所述第二公钥和所述密文信息确定,并经过哈希处理的第一数量和第二数量乘积个第一随机向量;
交集确定模块,用于对所述第二随机向量进行哈希处理,并确定哈希处理后的所述第二随机向量与所述哈希处理后的第一随机向量的交集。
21.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为在执行所述存储器存储的指令时,实现权利要求1至18中任意一项所述的方法。
22.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至18中任意一项所述的方法。
CN202310267009.8A 2023-01-06 2023-03-14 隐私集合求交方法、装置、电子设备和存储介质 Pending CN118312990A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202310019923 2023-01-06
CN2023100199230 2023-01-06

Publications (1)

Publication Number Publication Date
CN118312990A true CN118312990A (zh) 2024-07-09

Family

ID=91731970

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310267009.8A Pending CN118312990A (zh) 2023-01-06 2023-03-14 隐私集合求交方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN118312990A (zh)

Similar Documents

Publication Publication Date Title
US9819652B2 (en) Information interaction methods and devices
CN114756886B (zh) 一种匿踪查询方法、装置和用于匿踪查询的装置
CN111832067B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN113254956B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN105049213A (zh) 文件签名方法及装置
CN112861175B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN112667674B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN115967491B (zh) 一种隐私求交方法、系统和可读存储介质
CN114301594B (zh) 一种不经意传输方法、多方安全计算平台和用于不经意传输的装置
CN114978512B (zh) 一种隐私求交方法、装置和可读存储介质
CN113343212A (zh) 设备注册方法及装置、电子设备和存储介质
CN114884645B (zh) 一种隐私计算方法、装置和可读存储介质
CN108053241B (zh) 数据分析方法、装置及计算机可读存储介质
CN110619097A (zh) 二维码生成方法、装置、电子设备及存储介质
CN113868505A (zh) 数据处理方法、装置、电子设备、服务器及存储介质
CN115085912A (zh) 一种密文计算方法、装置和用于密文计算的装置
CN117319086B (zh) 不经意传输系统、方法、电子设备及存储介质
CN114666048A (zh) 数据处理方法、装置、电子设备及存储介质
CN110750961A (zh) 一种文件格式转换方法、装置、计算机设备和存储介质
CN115941181B (zh) 一种乱序秘密分享方法、系统和可读存储介质
CN114885038B (zh) 一种加密协议转换方法、结果获取节点和隐私计算节点
CN112163046A (zh) 基于区块链的设备数据存储方法、装置及系统
CN118312990A (zh) 隐私集合求交方法、装置、电子设备和存储介质
CN118246059A (zh) 隐私集合求交方法、装置、电子设备和存储介质
CN117579255B (zh) 一种不经意传输实例生成方法、装置、电子设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication