应用于私有信息检索的同态加密制造技术

技术编号:31774668 阅读:26 留言:0更新日期:2022-01-08 10:17
接收对能够使用第一计算机系统上的数据库中的数据确定的特定信息的请求。或者数据的至少一些被加密或者请求被加密。第一计算机系统没有解密密钥来解密加密的数据或请求。第一计算机系统对数据执行可压缩的HE操作以确定与特定信息对应的(一个或多个)压缩的密文。操作包括使用第一未压缩的HE方案和第二压缩的HE方案。第一HE方案对数据使用以创建其它多个密文,并且第二HE方案对所述其它多个密文使用以将所述其它多个密文打包成被压缩的更少密文。两种HE方案都使用相同的秘密密钥。第一计算机系统发送包含与特定信息对应的(一个或多个)压缩的密文的响应。个)压缩的密文的响应。个)压缩的密文的响应。

【技术实现步骤摘要】
【国外来华专利技术】应用于私有信息检索的同态加密


[0001]本专利技术一般而言涉及同态加密(homomorphic encryption,HE)并且,更具体而言,涉及应用于私有信息检索(PIR)的可压缩同态加密和完全同态加密(FHE)。

技术介绍

[0002]同态加密是一种加密形式,它允许对密文(加密的明文)进行计算,从而生成加密的结果,当被解密时,该加密的结果与操作的结果相匹配,就好像那些操作已对明文执行过一样。那些操作通常被称为由电路定义。虽然存在不同类型的HE,但只有完全同态加密(FHE)允许对无限深度的任意电路的评估。
[0003]FHE(以及在某种程度上其它类型的HE)允许服务提供者对加密的数据执行操作以确定对来自用户的查询的加密的结果,而不能解密该结果或用于导出该结果的任何存储的信息。这具有广泛的应用,特别是在匿名重要的领域,诸如医疗保健。
[0004]因此,FHE的一个应用是私有信息检索(PIR)。PIR允许用户从拥有数据库(例如,包含医疗保健信息)的服务器中检索用户个人信息的项,而无需揭示检索到哪个项。实现PIR的一种(例如,平凡的)方式是让服务器将数据库的整个副本发送给用户。使用现代通信系统,这要求用于任何合理大的数据库的大量数据。
[0005]FHE将有助于PIR,因为服务提供者不会知道结果或检索到哪个项,因为用户的查询被加密。但是,当前的FHE技术对于合理大的数据库来说计算成本高且不切实际。

技术实现思路

[0006]在示例性实施例中,公开了一种方法,该方法包括在第一计算机系统处并从第二计算机系统接收对可以使用第一计算机系统上的数据库中的数据确定的特定信息的请求,其中或者数据中的至少一些被加密或者请求被加密,而第一计算机系统没有解密密钥来解密加密的数据或加密的请求。该方法包括由第一计算机系统对数据库中的数据执行可压缩的同态加密操作以确定与数据库中的特定信息对应的一个或多个压缩的密文,该可压缩的同态加密操作使用第一未压缩的同态加密方案和第二压缩的同态加密方案,执行可压缩的同态加密操作包括对数据使用第一同态加密方案以创建其它多个密文并对其它多个密文使用第二同态加密方案以将其它多个密文打包成被压缩的更少密文,其中第一和第二同态加密方案使用相同的秘密密钥。该方法还包括由第一计算机系统并向第二计算机系统发送对请求的响应,该响应包括与所请求的特定信息对应的一个或多个压缩的密文。
[0007]一种示例性装置包括一个或多个处理器和一个或多个包括计算机程序代码的存储器。一个或多个存储器和计算机程序代码被配置为用一个或多个处理器使装置执行包括以下的操作:在第一计算机系统处并从第二计算机系统接收对可以使用第一计算机系统上的数据库中的数据确定的特定信息的请求,其中或者数据中的至少一些被加密或者请求被加密,而第一计算机系统没有解密密钥来解密加密的数据或加密的请求;由第一计算机系统对数据库中的数据执行可压缩的同态加密操作以确定与数据库中的特定信息对应的一
个或多个压缩的密文,该可压缩的同态加密操作使用第一未压缩的同态加密方案和第二压缩的同态加密方案,执行可压缩的同态加密操作包括对数据使用第一同态加密方案以创建其它多个密文并对其它多个密文使用第二同态加密方案以将其它多个密文打包成被压缩的更少密文,其中第一和第二同态加密方案使用相同的秘密密钥;以及由第一计算机系统并向第二计算机系统发送对请求的响应,该响应包括与所请求的特定信息对应的一个或多个压缩的密文。
[0008]进一步的示例性实施例是一种计算机程序产品,其包括计算机可读存储介质,该计算机可读存储介质具有实施在其中的程序指令,该程序指令可由设备执行以使该设备执行包括以下的操作:在第一计算机系统处并从第二计算机系统接收对可以使用第一计算机系统上的数据库中的数据确定的特定信息的请求,其中或者数据中的至少一些被加密或者请求被加密,而第一计算机系统没有解密密钥来解密加密的数据或加密的请求;由第一计算机系统对数据库中的数据执行可压缩的同态加密操作以确定与数据库中的特定信息对应的一个或多个压缩的密文,该可压缩的同态加密操作使用第一未压缩的同态加密方案和第二压缩的同态加密方案,执行可压缩的同态加密操作包括对数据使用第一同态加密方案以创建其它多个密文并对其它多个密文使用第二同态加密方案以将其它多个密文打包成被压缩的更少密文,其中第一和第二同态加密方案使用相同的秘密密钥;以及由第一计算机系统并向第二计算机系统发送对请求的响应,该响应包括与所请求的特定信息对应的一个或多个压缩的密文。
[0009]在另一个示例性实施例中,一种方法包括为了向第一计算机系统发送并在第二计算机系统处执行而加密明文以创建加密的数据并将加密的数据从第二计算机系统发送到第一计算机系统,而第一系统没有解密密钥来解密加密的数据。该方法还包括由第二计算机系统发送对可以使用加密的数据确定的特定信息的请求。该方法包括在第二计算机系统处并从第一计算机系统接收对请求的响应,该响应包括与所请求的特定信息对应的一个或多个压缩的密文。该方法还包括由第二计算机系统将一个或多个压缩的密文解密成对应的明文。
[0010]一种示例性装置包括一个或多个处理器和一个或多个包括计算机程序代码的存储器。一个或多个存储器和计算机程序代码被配置为用一个或多个处理器使装置执行包括以下的操作:为了向第一计算机系统发送并在第二计算机系统处执行而加密明文以创建加密的数据并将加密的数据从第二计算机系统发送到第一计算机系统,而第一系统没有解密密钥来解密加密的数据;由第二计算机系统发送对可以使用加密的数据确定的特定信息的请求;在第二计算机系统处并从第一计算机系统接收对请求的响应,该响应包括与所请求的特定信息对应的一个或多个压缩的密文;以及由第二计算机系统将一个或多个压缩的密文解密成对应的明文。
[0011]在又一个附加的示例性实施例中,一种计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有实施在其中的程序指令,该程序指令可由设备执行以使该设备执行包括以下的操作:为了向第一计算机系统发送并在第二计算机系统处执行而加密明文以创建加密的数据并将加密的数据从第二计算机系统发送到第一计算机系统,而第一系统没有解密密钥来解密加密的数据;由第二计算机系统发送对可以使用加密的数据确定的特定信息的请求;在第二计算机系统处并从第一计算机系统接收对请求的响应,该响应
包括与所请求的特定信息对应的一个或多个压缩的密文;以及由第二计算机系统将一个或多个压缩的密文解密成对应的明文。
[0012]附加示例性实施例是一种方法,包括在第一计算机系统处并从第二计算机系统接收对来自第一计算机系统上的数据库的所选择的条目的请求。该方法包括由第一计算机系统对数据库中的数据执行可压缩的同态加密方案以计算与数据库中所选择的条目对应的加密的回答,其中可压缩的同态加密方案产生不比对应明文回答长得多的加密的回答,并且对于数据库中的每个字节计算加密的回答需要几个周期。该方法还包括由第一计算机系统并向第二计算机系统发送对请求的响应,该响应包括与所请求的所选择的条目对应的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种方法,包括:在第一计算机系统处从第二计算机系统接收对能够使用第一计算机系统上的数据库中的数据确定的特定信息的请求,其中或者数据中的至少一些被加密或者请求被加密,而第一计算机系统没有解密密钥来解密加密的数据或加密的请求;由第一计算机系统对数据库中的数据执行可压缩的同态加密操作以确定与数据库中的特定信息对应的一个或多个压缩的密文,所述可压缩的同态加密操作使用第一未压缩的同态加密方案和第二压缩的同态加密方案,执行可压缩的同态加密操作包括对数据使用第一同态加密方案以创建其它多个密文并对所述其它多个密文使用第二同态加密方案以将所述其它多个密文打包成被压缩的更少密文,其中第一同态加密方案和第二同态加密方案使用相同的秘密密钥;以及由第一计算机系统向第二计算机系统发送对请求的响应,所述响应包括与所请求的特定信息对应的一个或多个压缩的密文。2.如权利要求1所述的方法,其中,通过使用第二压缩的同态加密方案,能够使压缩的密文的尺寸任意接近该压缩的密文所对应的未加密的数据的尺寸。3.如权利要求2所述的方法,其中能够使压缩的密文的尺寸任意接近该压缩的密文所对应的明文的尺寸,这是因为第二同态加密方案被配置为,对于任何所选择的ε,存在第二同态加密方案的实例化,其中用于压缩的密文的尺寸是对应明文的尺寸的(1+ε)倍。4.如权利要求1所述的方法,其中由第一计算机系统对数据执行可压缩的同态加密操作还包括对包括表示整数的环R中的标量的许多位密文的数据执行部分压缩,以将该许多位密文压缩成对整数的环R中的更大标量进行加密的单个密文。5.如权利要求1所述的方法,对所述多个同态密文使用第二同态加密方案将所述多个同态密文打包到单个压缩的密文中还包括通过计算来压缩密文C
u,v
,其中存在个密文,u,v∈[n0],其中n0和n1是维度,q是在错误中学习(LWE)模数,G是矩形小工具矩阵,H是近似方形的小工具矩阵,并且T
u,v
是方形n0×
n0单例矩阵,其在条目(u,v)中为1并且在其它地方为0,即,其中是维度n0单位向量,其在位置u,v中为1,分别是6.如权利要求1所述的方法,由第一计算机系统对数据执行可压缩的同态加密操作还包括,给定Gentry、Sahai和Waters(GSW)密文对位b0,...,b
l
进行加密,将GSW密文部分地压缩成对进行加密的单个GSW密文,对于一些σ∈Z
p
产生对形式为的标量进行加密的单个GSW密文,其中Z是整数的集合,并且给定n0使得密文C
i
对σ
i
进行加密,通过设置来对密文C
i
进行压缩,其中是以k个零开头的第i个单位向量,其中G是矩形小工具矩阵并且k是秘密密钥的长度,从而导致向量[σ
i
]
i

压缩的加密。7.一种方法,包括:为了向第一计算机系统发送,在第二计算机系统处执行加密明文以创建加密的数据;将加密的数据从第二计算机系统发送到第一计算机系统,而第一系统没有解密密钥来解密加密的数据;由第二计算机系统发送对能够使用加密的数据确定的特定信息的请求;在第二计算机系统处从第一计算机系统接收对请求的响应,该响应包括与所请求的特定信息对应的一个或多个压缩的密文;以及由第二计算机系统将所述一个或多个压缩的密文解密成对应的明文。8.如权利要求7所述的方法,其中解密包括使用秘密密钥解密包括所述一个或多个压缩的密文的响应以获得矩阵,该矩阵包括与所述一个或多个压缩的密文和附加噪声对应的明文的冗余编码,以及使用编码的冗余性来消除噪声并恢复与所述一个或多个压缩的密文对应的明文。9.如权利要求8所述的方法,其中明文的冗余编码包括包含明文的某个矩阵,其与近似方形的小工具矩阵相乘。10.如权利要求9所述的方法,其中对于近似方形的小工具矩阵H,存在另一个矩阵F,其中F具有满秩和远小于q的条目,其中q是在错误中学习模数,并且其中H
×
F=0modq,其中矩阵F的条目足够小,使得在条目乘以来自密文的噪声之后,结果仍然小于q。11.如权利要求9所述的方法,秘密密钥是形式为S=[S

|I]的矩阵,其中S

是在错误中学习(LWE)秘密;包括明文的某个矩阵是矩阵其中M是明文,从而得到SM

=M。12.如权利要求11所述的方法,其中明文是n0×
n0矩阵M,并且其中矩阵M'是通过添加与在错误中学习(LWE)秘密的维度一样多的零行而从M获得的,维度由k表示,其中,表示n1=n0+k,被填充的矩阵M

具有维度n1×
n0。13.如权利要求12所述的方法,其中包括在右侧将M

乘以维度为n0×
n2的小工具矩阵H的冗余编码产生密文的矩阵的最终维度n1×
n2。14.如权利要求8所述的方法,其中明文的冗余编码包括乘以大于一的整数的包括明文的某个矩阵。15.如权利要求14所述的方法,其中:秘密密钥是形式为S=[S

|I]的矩阵,其中S

是在错误中学习(LWE)秘密;包括明文的和矩阵是矩阵其中M是明文,从而得到SM

=M。16.如权利要求15所述的方法,其中明文是n0×
n0矩阵M,并且其中矩阵M'是通过添加与在错误中学习(LWE)秘密的维度一样多的零行而从M获得的,维度由k表示,其中,表示n1=n0+k,被填充的矩阵M

具有维度n1×
n0。17.一种方法,包括:在第一计算机系统处从第二计算机系统接收对来自第一计算机系统上的数据库的所
选择的条目的请求;由第一计算机系统对数据库中的数据执行可压缩的同态加密方案以计算与数据库中所选择的条目对应的加密的回答,其中可压缩的同态加密方案产生不比对应明文回答长得多的加密的回答,并且对于数据库中的每个字节,计算加密的回答需要数个周期;以及由第一计算机系统向第二计算机系统发送对请求的响应,所述响应包括与所请求的所选择的条目对应的加密的回答。18.如权利要求17所述的方法,其中:将数据库索引成对应N维中的N个数据库条目;所述请求与在数据库中具有索引i的所选择的条目对应;由第一计算机...

【专利技术属性】
技术研发人员:C
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1