一种基于同态加密的隐私求交及数据库检索方法技术

技术编号:38508421 阅读:8 留言:0更新日期:2023-08-19 16:54
本发明专利技术提供了一种基于同态加密的隐私求交及数据库检索方法,该方法包括:服务方和用户分别将每个数据值进行处理,将处理后的数据进行隐私求交;服务方和用户分别将每个数据值进行处理,将处理后的数据进行数据库检索。本发明专利技术提供了一种基于同态加密的隐私求交及数据库检索方法,能实现隐私集合求交和隐私数据库检索协议,优化通信量。优化通信量。优化通信量。

【技术实现步骤摘要】
一种基于同态加密的隐私求交及数据库检索方法


[0001]本专利技术涉及隐私计算领域,特别是涉及一种基于同态加密的隐私求交及数据库检索方法。

技术介绍

[0002]隐私集合求交(private set intersection,PSI)指的是由一个服务方和一个用户参与的协议,其中服务方和用户分别拥有一个私密的集合,协议的作用是给用户输出双方集合的交集,并满足不向任何一方泄露交集以外的任何信息。
[0003]隐私数据库查询(private queries to databases)在本文中指的是由一个服务方和一个用户参与的协议,其中服务方拥有一个私密的关键词

值对的集合,用户分别拥有一个私密的关键词集合,协议的作用是给用户输出双方公共的关键词及其附属的值,并满足不向任何一方泄露除公共的关键词及其附属值以外的任何信息。在其它文献中,隐私数据库查询也被称作带标签的隐私集合求交(labeled PSI)或基于关键词的隐私信息检索(private information retrieval bykeywords,PIR by keywords)。
[0004]全同态加密指的是支持加法和乘法的同态加密:即给定现成的密文,人们可以在不知道私钥的情况下导出新的密文,其包含的消息是原来密文中的消息的和或者积。下面使用Enc(m)表示关于某个消息数据m的密文,则密文满足下列性质。注意这里的加密是有随机性的,因此对应同一个消息的密文是不唯一的,只是由于不影响下面的表述因此在符号上不作区分。
[0005]Enc(m1)+Enc(m2)≡Enc(m1+m2)
[0006]Enc(m1)
·
Enc(m2)≡Enc(m1·
m2)
[0007]m1+Enc(m2)≡Enc(m1+m2)
[0008]m1·
Enc(m2)≡Enc(m1·
m2)
[0009]BFV算法和BGV算法是两种功能接近的全同态加密算法。其加密的消息是中的元素,其中p是一个素数,下文称作明文模数。这两种算法支持的乘法层数有限。密文参数越大,支持的乘法层数越大,但加解密与同态运算的执行效率越低。
[0010]BFV/BGV算法支持SIMD式的加密、同态运算,即将最多N个元素同时加密到一个密文中,其中N是密文参数之一。此后支持的同态运算为按位置对应的加法、按位置对应的乘法。
[0011]隐私集合求交和隐私数据库检索是两类应用最广的隐私计算应用。论文CLR17最早提出了一套基于全同态加密(简称FHE)的隐私集合求交方案,随后在论文CHLR18中被扩展成一个隐私数据库检索方案。这套方案主要思想是利用多项式的插值和求值对交集元素/查询关键字进行筛选。由于所使用的FHE算法在通常情况下只能对密文进行有限层乘法运算,从而插值构造出的多项式的次数受到限制,发送方只能使用对数据进行分窗的策略,在各个数据子集上分别执行查询算法。这样造成的结果是,对于一次查询,其结果仍然需要以多个密文的形式返回给接收者,由接收者解密后汇总,由此加大了通信开销和接收者的
计算开销。因此,设计一种能够优化通信量的基于同态加密的隐私求交及数据库检索方法是十分必要的。

技术实现思路

[0012]本专利技术的目的是提供一种基于同态加密的隐私求交及数据库检索方法,实现隐私集合求交和隐私数据库检索协议,优化通信量。
[0013]为实现上述目的,本专利技术提供了如下方案:
[0014]一种基于同态加密的隐私求交及数据库检索方法,包括以下内容:
[0015]步骤1:服务方和用户分别将每个数据值进行处理,将处理后的数据进行隐私求交;
[0016]步骤2:服务方和用户分别将每个数据值进行处理,将处理后的数据进行数据库检索。
[0017]可选的,服务方和用户分别将每个数据值进行处理,将处理后的数据进行隐私求交,具体为:
[0018]步骤101:假设服务方拥有大小为n的数据集{x_1,x_2,...,x_n},用户拥有数据y,选择BFV/BGV明文模数为p;
[0019]步骤102:服务方和用户分别对己方数据进行哈希,将每个数据值哈希到中,服务方得到{H(x_1),H(x_2),...,H(x_n)},用户得到H(y),其中H(
·
)表示哈希函数;
[0020]步骤103:用户对其哈希值进行加密,得到Enc(H(y)),并发送给服务方,其中Enc(m)表示关于消息数据m的密文;
[0021]步骤104:对于i={1,...,n},服务方计算Enc(H(y))

H(x
i
)得到Enc(H(y)

H(x
i
));
[0022]步骤105:对于i={1,...,n},服务方使用平方

乘算法,对上一步得到的对应密文求出其p

1次幂,得到Enc((H(y)

H(x
i
))
p
‑1),记这个密文为C
i
,服务方进一步计算1

C
i
,即可得到Enc(Eq(H(y),H(x
i
))),Eq(
·
,
·
)表示相等判定函数;
[0023]步骤106:服务方将所有Enc(Eq(H(y),H(x
i
)))相加,得到密文C
final1
;服务方对密文C
final1
进行40比特的噪声遮盖,即对密文加上一个额外的随机噪声;服务方将遮盖后的C
final1
发送给用户;
[0024]步骤107:用户对C
final1
进行解密,如果结果为0,则用户判断y不在服务方的集合{x_1,...,x_n}中;如果结果为1,则用户判断y也在服务方的集合{x_1,...,x_n}中。
[0025]可选的,服务方和用户分别将每个数据值进行处理,将处理后的数据进行隐私求交,具体为:
[0026]当协议要求使用较长的哈希值输出,而明文模数相对较小时,采取如下步骤:
[0027]步骤101:假设服务方拥有大小为n的数据集{x_1,x_2,...,x_n},用户拥有数据y,选择BFV/BGV明文模数为p;
[0028]步骤102:服务方和用户分别对己方数据进行哈希,将哈希值按log2(p)比特进行分割,将每个数据值哈希到两个中,服务方得到{H
(1)
(x_1),H
(2)
(x_1),H
(1)
(x_2),H
(2)
(x_2),...,H
(1)
(x_n),H
(2)
(x_n)},用户得到H
(1)
(y),H
(2)
(y);
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于同态加密的隐私求交及数据库检索方法,其特征在于,包括以下内容:步骤1:服务方和用户分别将每个数据值进行处理,将处理后的数据进行隐私求交;步骤2:服务方和用户分别将每个数据值进行处理,将处理后的数据进行数据库检索。2.根据权利要求1所述的基于同态加密的隐私求交及数据库检索方法,其特征在于,服务方和用户分别将每个数据值进行处理,将处理后的数据进行隐私求交,具体为:步骤101:假设服务方拥有大小为n的数据集{x_1,x_2,...,x_n},用户拥有数据y,选择BFV/BGV明文模数为p;步骤102:服务方和用户分别对己方数据进行哈希,将每个数据值哈希到中,服务方得到{H(x_1),H(x_2),...,H(x_n)},用户得到H(y),其中H(
·
)表示哈希函数;步骤103:用户对其哈希值进行加密,得到Enc(H(y)),并发送给服务方,其中Enc(m)表示关于消息数据m的密文;步骤104:对于i={1,...,n},服务方计算Enc(H(y))

H(x
i
)得到Enc(H(y)

H(x
i
));步骤105:对于i={1,...,n},服务方使用平方

乘算法,对上一步得到的对应密文求出其p

1次幂,得到Enc((H(y)

H(x
i
))
p
‑1),记这个密文为C
i
,服务方进一步计算1

C
i
,即可得到Enc(Eq(H(y),H(x
i
))),Eq(
·
,
·
)表示相等判定函数;步骤106:服务方将所有Enc(Eq(H(y),H(x
i
)))相加,得到密文C
final1
;服务方对密文C
final1
进行40比特的噪声遮盖,即对密文加上一个额外的随机噪声;服务方将遮盖后的C
final1
发送给用户;步骤107:用户对C
final1
进行解密,如果结果为0,则用户判断y不在服务方的集合{x_1,...,x_n}中;如果结果为1,则用户判断y也在服务方的集合{x_1,...,x_n}中。3.根据权利要求1所述的基于同态加密的隐私求交及数据库检索方法,其特征在于,服务方和用户分别将每个数据值进行处理,将处理后的数据进行隐私求交,具体为:当协议要求使用较长的哈希值输出,而明文模数相对较小时,采取如下步骤:步骤101:假设服务方拥有大小为n的数据集{x_1,x_2,...,x_n},用户拥有数据y,选择BFV/BGV明文模数为p;步骤102:服务方和用户分别对己方数据进行哈希,将哈希值按log2(p)比特进行分割,将每个数据值哈希到两个中,服务方得到{H
(1)
(x_1),H
(2)
(x_1),H
(1)
(x_2),H
(2)
(x_2),...,H
(1)
(x_n),H
(2)
(x_n)},用户得到H
(1)
(y),H
(2)
(y);步骤103:用户对其分割后哈希值分别进行加密,得到Enc(H
(1)
(y)),Enc(H
(2)
(y)),并发送给服务方;步骤104:对于i={1,...,n},j=1,2,服务方计算Enc(H
(j)
(y))

H
(j)
(x
i
)得到Enc(H
(j)
(y)

H
(j)
(x
i
));步骤105:对于i={1,...,n},j=1,2,服务方使用平方

乘算法,对上一步得到的对应密文求出其p

1次幂,得到Enc((H
(j)
(y)

H
(j)
(x
i
))
p
‑1)。记这个密文为C
i,j
;服务方计算1

C
i,1
=Enc(Eq(H
(1)
(y),H
(1)
(x
i
))),1

C
i,2
...

【专利技术属性】
技术研发人员:李延凯梁栋
申请(专利权)人:北京原语科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1