CN114073037A - Rlwe明文的压缩和未察觉地扩展 - Google Patents
Rlwe明文的压缩和未察觉地扩展 Download PDFInfo
- Publication number
- CN114073037A CN114073037A CN201980098195.9A CN201980098195A CN114073037A CN 114073037 A CN114073037 A CN 114073037A CN 201980098195 A CN201980098195 A CN 201980098195A CN 114073037 A CN114073037 A CN 114073037A
- Authority
- CN
- China
- Prior art keywords
- server
- plaintext
- result
- integers
- sequence
- 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.)
- Granted
Links
- 230000006835 compression Effects 0.000 title description 7
- 238000007906 compression Methods 0.000 title description 7
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000012545 processing Methods 0.000 claims description 52
- 230000015654 memory Effects 0.000 claims description 36
- 238000004891 communication Methods 0.000 claims description 16
- 239000013598 vector Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012946 outsourcing Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 230000003592 biomimetic effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000002775 capsule Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 229920000582 polyisocyanurate Polymers 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3026—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to polynomials generation, e.g. generation of irreducible polynomials
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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)
- H04L9/083—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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
- H04L9/0836—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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
方法(600)包括获取包括明文整数序列(136)的明文查询(134),以及生成具有系数(173)的多项式(172),所述系数(173)包括所述明文查询的所述明文整数序列。方法还包括使用秘密加密密钥(132)对多项式进行加密,并将加密的多项式(182)传输给服务器(111)。所述秘密加密密钥从密文空间中被随机采样,所述服务器被配置为使用公共加密密钥(130)扩展所述加密多项式以获得与所述明文整数序列相关的加密整数的序列(210)。方法还包括从所述服务器接收加密结果(192)。所述加密结果是基于所述加密整数序列。
Description
技术领域
本公开涉及RLWE明文的压缩和未察觉地扩展。
背景技术
私有信息检索(private information retrieval,PIR)方案允许用户从一个或多个存储设备检索数据,同时不向托管所述一个或多个存储设备的服务器揭示关于用户或所检索的数据的任何信息。对于PIR,服务器存储设备通常不受保护,并且私有信息是从公共存储设备或具有一组订阅用户的服务器存储设备中检索的,所有订阅用户都被允许从整个存储设备下载数据。尽管用户可以简单地从服务器存储设备下载所有内容,从而不显示访问模式,但是当必须从跨越多个存储设备的云存储服务下载所有内容时,这会花费很长时间。此外,传统的PIR方案消耗了大量的带宽,特别是当用户希望从服务器检索多个数据块或条目时。
发明内容
本公开的一方面提供了一种用于将一个或多个整数压缩成加密多项式的方法。方法包括在用户设备的数据处理硬件处获取包括明文整数序列的明文查询,以及通过数据处理硬件产生具有系数的多项式,所述系数包括所述明文查询的所述明文整数序列。方法还包括由所述数据处理硬件使用秘密加密密钥对所述多项式进行加密,并将加密的多项式发送到与所述数据处理硬件通信的服务器。所述秘密加密密钥由数据处理硬件从密文空间中被随机采样,所述服务器被配置为使用公共加密密钥扩展所述加密多项式以获得与所述明文查询的所述明文整数序列相关的加密整数序列。方法还包括在所述数据处理硬件处从所述服务器接收加密结果。所述加密结果是基于所述加密整数序列。
本公开的实施方式可以包括以下可选特征的一个或多个。在一些实施方式中,所述服务器被配置为,在使用所述公共加密密钥扩展所述加密多项式之后:基于所述服务器处的不可信数据存储和所述加密整数序列来计算所述加密结果;并且将所述加密结果返回给所述用户设备。在一些实施方式中,所述服务器被配置成通过确定所述不可信数据存储和所述加密整数序列的内积来计算所述加密结果。附加地或可选地,在这些实施方式中,方法还包括,在从所述服务器接收到所述加密结果之后,由所述数据处理硬件对所述加密结果进行解密,以获得解密结果。这里,所述解密结果对应于所述不可信数据存储的至少一个数据块。
在一些示例中,所述服务器被配置为通过生成树数据结构来扩展所述加密多项式,由此所述加密多项式包括所述树数据结构的根。在这些示例中,所述树数据结构的顶行包括所述加密整数序列。另外,加密多项式可以包括用完全同态加密方案加密所述多项式。所述明文查询的所述明文整数序列中的每个明文整数对应于所述服务器处的不可信数据存储的相应数据块的选择标准。
在一些实施方式中,获取所述明文查询包括生成包括所述明文整数序列的随机化查询。在这些实施方式中,方法还可以可选地包括:由所述数据处理硬件对从所述随机化查询的所述明文整数序列中所选择的明文整数进行反相以形成经修改的查询;并且由所述数据处理硬件将所述经修改的查询发送到所述服务器。这里所述所选择的明文整数与所述服务器的不可信数据存储的相应数据块相关联,并且所述服务器被配置为:基于所述服务器处的不可信数据存储和所述经修改的查询来计算未加密结果;以及将所述未加密结果返回给所述用户设备。可选地,方法还包括:在从所述服务器接收到所述加密结果和所述未加密结果之后,由所述数据处理硬件计算所述加密结果和所述未加密结果之间的差,以获得所述不可信数据存储的相应数据块的值,所述相应数据块与所述随机化查询的所述明文整数序列的所述所选择的明文整数相关联。
本公开的另一方面提供了一种用于将一个或多个整数压缩成加密多项式的系统。系统包括用户数据处理硬件和与用户设备的所述数据处理硬件通信的存储器硬件。所述存储器硬件存储指令,所述指令当在所述数据处理硬件上执行时使所述数据处理硬件执行以下操作:获取包括明文整数序列的明文查询并生成具有系数的多项式,所述系数包括所述明文查询的所述明文整数序列。操作还包括使用秘密加密密钥对所述多项式进行加密,并将加密的多项式发送到与所述数据处理硬件通信的服务器。所述秘密加密密钥由数据处理硬件从密文空间中被随机采样,所述服务器被配置为使用公共加密密钥扩展所述加密多项式以获得与所述明文查询的所述明文整数序列相关的加密整数序列。操作还包括从所述服务器接收加密结果。所述加密结果是基于所述加密整数序列。
本方面可以包括以下可选特征的一个或多个。在一些实施方式中,所述服务器被配置为,在使用所述公共加密密钥扩展所述加密多项式之后:基于所述服务器处的不可信数据存储和所述加密整数序列来计算所述加密结果;并且将所述加密结果返回给所述用户设备。在这些实施方式中,所述服务器可以被配置成通过确定所述不可信数据存储和所述加密整数序列的内积来计算所述加密结果。附加地或可选地,在这些实施方式中,操作还包括,在从所述服务器接收到所述加密结果之后,对所述加密结果进行解密,以获得解密结果。这里,所述解密结果对应于所述不可信数据存储的至少一个数据块。
在一些示例中,所述服务器被配置为通过生成树数据结构来扩展所述加密多项式,由此所述加密多项式包括所述树数据结构的根。在这些示例中,所述树数据结构的顶行包括所述加密整数序列。另外,加密多项式可以包括用完全同态加密方案加密所述多项式。所述明文查询的所述明文整数序列中的每个明文整数对应于所述服务器处的不可信数据存储的相应数据块的选择标准。
在一些实施方式中,获取所述明文查询包括生成包括所述明文整数序列的随机化查询。在这些实施方式中,操作还可以可选地包括:对从所述随机化查询的所述明文整数序列中所选择的明文整数进行反相以形成经修改的查询;并且将所述经修改的查询发送到所述服务器。这里,所述所选择的明文整数与所述服务器的不可信数据存储的相应数据块相关联,并且所述服务器被配置为:基于所述服务器处的不可信数据存储和所述经修改的查询来计算未加密结果;以及将所述未加密结果返回给所述用户设备。可选地,操作还包括:在从所述服务器接收到所述加密结果和所述未加密结果之后,计算所述加密结果和所述未加密结果之间的差,以获得所述不可信数据存储的相应数据块的值,所述相应数据块与所述随机化查询的所述明文整数序列的所述所选择的明文整数相关联。
本公开的一个或多个实施方式的细节在附图和以下实施方式中阐述。从说明书和附图以及权利要求书中,其它方面、特征、和优点将是显而易见的。
附图说明
图1为示例性私有信息检索系统的示意图,该系统在明显访问存储在分布式系统的非暂时性数据存储器上的数据块时压缩和扩展查询。
图2A是由图1的系统的扩展器生成的树数据结构的示意图。
图2B提供了用于扩展加密多项式的示例算法。
图3是图1的系统的解密器的示意图。
图4是选择从分布式系统下载哪些数据块的示例选择查询的示意图。
图5A和5B是执行在线和离线计算的图1的系统的示意图。
图6是当使用私有信息检索从不可信存储设备中明显地检索数据块时,用于压缩和扩展查询的方法的操作的示例性布置的流程图。
图7是可用于实现本文所述的系统和方法的示例性计算设备的示意图。
各图中的相同的附图标记表示相同的元素。
具体实施方式
完全同态加密(Fully homomorphic encryption,FHE)是具有重要同态特性的密码系统,允许不可信方对加密数据执行安全计算。也就是说,具有秘密密钥sK、公共密钥pK、和一些数据x的用户希望应用函数f来检索f(x)。然而,用户不希望计算和/或不具有应用f的计算能力。FHE使得用户能够在密钥sK下对数据进行加密以生成加密E(sK,x)。然后,用户可以通过向服务器发送加密E(sK,x)、函数f、和公共密钥pK来外包(outsource)f对x的计算。然后,服务器可以使用公共密钥pK来计算某个函数f′,使得解密f′(E(sK,x))将生成f(x)。然后,服务器简单地将f′应用于加密E(sK,x),加密E(sK,x)可以被发送回用户以解密和检索f(x)。
在许多情况下,数据x不是单个值,而是值x1,...,xl的序列,并且用户希望将计算f(x1,...,xl)外包到服务器。外包计算的一种原始方法是构造l个加密E(sK,x1),...,E(sK,xl),并将所有l个加密与公共密钥pK一起发送到服务器。然而,由于加密通常相当大,这导致用户和服务器的通信/网络成本中有显著开销。因此,将x1,...,xl的加密压缩为小于l个加密是有利的,以改善通信成本。为了支持这种压缩,服务器必须能够将压缩的加密扩展回原始的l个加密E(sK,x1),...,E(sK,xl),以便能够计算f并返回f(x)加密。此外,为了保持隐私,用于服务器的扩展协议必须保持不易察觉(oblivious),从而服务器不知道值x1,...,xl以及密钥sK。
本文中的实施方式旨在专用信息检索(private information retrieval,PIR)例程,其允许用户或客户端将一个或多个整数压缩成加密多项式,并允许服务器在给定公钥和加密多项式的情况下扩展加密多项式以检索加密整数,而无需了解整数的明文值或密钥。该例程可以通过最大化空间的使用并将多个值打包成相同的密文来提供大于1000x的压缩。服务器可使用经扩展的加密整数来明显地存取存储在不可信数据存储器上的数据块,所述不可信数据存储器可为公众已知的且未经加密的(例如,明文)。在一个示例中,使用客户端设备的客户端可能希望访问特定位置的地图数据,而不向服务器泄露该位置。例如,客户可能刚好着陆机场,并且希望私密地检索他或她的环境地图数据。PIR例程防止存储地图数据的服务器获知哪些数据(即,揭示客户机位置的数据)被客户端设备检索。在另一个示例中,客户端可能希望从服务器下载视频而不泄露下载了哪个视频。在一些实施方式中,PIR例程以离线方式(即,当对资源的争用较少时)执行计算和通信的一部分,从而减少计算和通信的在线部分(即,当对资源的争用较高时)。
参考图1,在一些实施方式中,示例系统100包括与相应的用户或客户设备12相关联并且经由网络112与远程系统111通信的用户设备10(也称为客户端设备10)。用户设备10可以对应于任何计算设备,诸如台式工作站、膝上型工作站、或移动设备(即,智能电话)。远程系统111可以是单个计算机、多个计算机、或具有可伸缩/弹性计算资源118(例如,数据处理硬件)和/或存储资源116(例如,存储器硬件)的分布式系统(例如,云环境)。不可信数据存储150覆盖(overlain)在存储资源116上,以允许一个或多个客户设备或计算资源118可伸缩地使用存储资源116。不可信数据存储150被配置为存储多个数据块152,152a–n.。
例如,不可信数据存储150包括公开已知的和未加密的n个数据块(B)152,并且允许一个或多个客户端设备10使用PIR来巧妙地检索数据块(B)152以隐藏访问模式,同时由客户端设备10在数据块(B)152上保留搜索功能。因此,客户端设备10可能不拥有数据块152,并且在某些配置中,数据块152的内容对公众可用。可选地,数据块152可以是专用于特定客户端12的,但是客户端12仍然希望从不可信数据存储150中隐藏访问模式。与客户端12相关联的客户端设备10(例如,计算机)可以包括相关联的存储器硬件122和相关联的数据处理硬件124。每个客户端设备10可以利用相关联的存储器硬件122来保存或存储公钥(pK)130和密钥(sK)132,以及可由数据处理硬件124执行的用于生成查询134的指令。在一些示例中,数据处理硬件124执行用于压缩发布到远程系统111的查询134的压缩器160,该远程系统在这里也可以被称为在不可信的环境中执行的服务器。
在一些示例中,压缩器160获取或接收包括l个整数136(即,长度为l的整数序列136)的明文查询134,其中l是等于或小于存储在不可信数据存储150中的数据块的数量n的整数136的数量。例如,如果不可信数据存储150包括一百万个数据块152,则查询134将包括一百万个或更少的整数136。在一些示例中,并且如下面更详细讨论的,查询134的整数136表明服务器111将对数据块152进行的计算。也就是说,查询134的每个整数136对应于存储在不可信数据存储150上的数据块152,并且每个整数136的值为服务器111提供了与相应的数据块152进行计算的值。压缩器160还接收秘密加密密钥(sK)132。(sK)132可以由用户设备10从密文空间中随机地采样。
在一些实施方式,压缩器160实现多项式生成器170,多项式生成器170接收查询134并生成具有系数173和阶数d的相关多项式172。多项式172的系数173包括查询134的整数136。当整数136的数目l小于d阶时,可以将缺失系数(missing coefficient)173设为零。相反,当整数136的数目l大于d阶时,多项式生成器170可以生成多个单独的多项式172,直到所有整数136都被作为系数173包括在内。在这种情况下,可以将多个单独的多项式172组合并将多个单独的多项式172视为一个单独的组合多项式172。在一些示例中,多项式生成器170使用有误环学习(ring learning with errors,RLWE)方法来生成多项式172。RLWE是专门用于有限域上的多项式环的有误学习(learning with errors,LWE)。LWE是一种抗量子(quantum-resistant)的密码学方法,其基于找到解B=A×s+e的值的难度,其中A和B是已知的。也就是说,LWE方法(并且因此通过扩展的RLWE方法)依赖于已经被少量噪声e扰动的随机线性方程。
在所示的示例中,压缩器160还包括接收多项式172和秘密加密密钥(sK)132的加密器180。加密器180使用sK 132来加密多项式172,使用例如完全同态加密(FHE)方案来生成加密的多项式182。例如,加密器180可以使用Brakerski-Gentry-Vaikuntanathan(BGV)方法或Fan-Vercauteren(FV)方法。FHE是一种加密形式,其允许对密文进行计算,产生加密结果,加密结果在被解密时与操作的结果相匹配,就好像操作已经在明文上执行一样。因为使用FHE的加密操作在其作为明文的输入中是仿生(affine)的,所以密文可以被表示为加密单项式乘以例如0或1的总和(即具有系数173的多项式172)。
此后,客户端设备10,即,经由数据处理硬件124,将加密多项式182发送到服务器111。这样,压缩器160将d个加密压缩为单个加密。典型的PIR方案需要为每个加密提供一个单独的选择向量。因此,例如,如果d等于1024或2048,则系统100与这种传统方案相比,分别提高了1024倍或2048倍的通信和/或网络成本。
继续参考图1,在一些实施方式中,服务器111(即,远程系统111)执行接收加密多项式182和公共加密密钥(pK)130的扩展器200。当提供加密多项式182时,客户端设备10可以提供pK 130。如下面更详细解释的,扩展器200扩展加密多项式182,以不经意地检索加密整数序列210E(sK,x1),...,E(sK,xl)。也就是说,扩展器200从加密多项式182中检索明文查询134的每个整数136的加密,其中每个整数136已经被客户端设备10使用sK 132加密以形成加密整数序列210。因为sK 132的内容从未被泄露给服务器111,所以服务器111不会确定或了解与加密整数序列210相关联的明文值(即,整数136)。
现在参考图2A,可选地,当扩展加密多项式182时,扩展器200生成具有节点230,230a–n的树数据结构220。加密多项式182可以被设置为树数据结构220的根230R。也就是说,扩展器200可以从根230R开始以树状方式操作。在一些示例中,树的高度(即,层数或行数)是log2(d)+1。例如,1024阶的d将导致高度为10。树220的“顶部”(即,最后一层)可以包括加密整数序列210。图2B提供了用于将加密多项式182扩展为加密整数序列210的示例算法240。在一些实施方式中,树数据结构220采用二维数组(two-dimensional array)res的形式。
数组res可以由索引为i的第一个for循环和索引为j的第二个for循环填充,索引i指树数据结构220的级别(即高度),索引j通过树220的级别i处的所有节点230(其中有2i)迭代。级别的索引从零开始,因此,第一级别具有20=1个节点230,这作为根230R。树220的每个节点230与对应的值231,231a–n相关联。对于非叶子节点230(即,具有至少一个子节点230的节点),这些值231是用于计算最终扩展密文(即,加密整数序列210)的中间值231。与每个节点230相关联的值231将被存储在二维数组res中。特别地,res[i][j]是指与第i级的最左边的第j个节点相关联的值。最里面的循环计算第i级的最左边第j个节点230的两个子节点230的值231。父节点是指第i级的最左边第j个节点的值。在一些示例中,左和右指附加中间值231,用于分别计算左和右子节点值231的最终值231(其将分别存储在res[i][j]和res[i][j+2i]中)。在一些实施方式中(例如,当服务器111受到内存约束(memory-constrained)时),中间值231在循环中使用后被删除以保存内存。例如,在计算级别i的值之后,图2B的算法240不再需要级别为0,1,...,i-1的值231,这些值231可以被删除。
在典型的二叉树中,节点230通常被放置在连续的索引中。然而,在一些示例中,扩展器200不将节点230置于连续索引中。算法240的Sum使用pK来正确地添加已被替换为不同幂的两个密文。在两个循环完成之后,叶子节点230(即,树220的最高级)包括加密整数序列210。在所示的例子中,叶节点230在返回加密整数序列210之前除以阶数d。可选地,多项式172在加密之前可以除以阶数d。在这种情况下,可以选择较小的参数(例如,噪声)来降低用户设备10和服务器111之间的通信所消耗的带宽,其代价是用户设备10的额外计算。
返回参考图1,服务器111基于加密整数序列210将加密结果192返回给用户设备10。例如,服务器111可以执行计算器190,计算器190接收加密整数210并使用加密整数从不受信数据存储150中检索数据块。例如,计算器190基于从不可信数据存储器150中检索的数据块152和加密整数序列210来计算加密结果192。
现在参考图3,在一些示例中,计算器190通过确定加密整数序列210和从不可信数据存储150中检索的数据块152的内积310(也称为点积(dot product)或标量积(scalarproduct))来计算加密结果192。加密结果192可以包括内积310。在一些实施方式中,用户设备10从服务器111接收加密结果192,并且执行(即,经由数据处理硬件124)解密器300,用于使用sK 132对加密结果192进行解密。sK 132可以被存储在本地存储器硬件122上,并且解密器300可以获取用于解密加密结果192的sK 132。因此,解密器300输出解密结果302,解密结果302表示通过计算明文查询134与数据块152的内积310而获得的结果,然而,检索是未察觉的(oblivious)。解密结果302可以对应于任何数量的数据块152,这取决于发送到服务器111的查询134(或多个查询)。
现在参考图4的示意性视图400,在一些示例中,明文查询134中的每个明文整数136对应于用于不可信数据存储150的相应数据块152的选择标准。明文查询134可以包括用于从不可信数据存储150中选择单个数据块152的选择向量。例如,输入到压缩器160的第一明文查询134a可以包括除在第二位置的单个(1)之外的所有零的向量。这里,解密器300将从第一查询134a返回的加密结果192解密为解密结果302,因为内积310将把除第二数据块之外的所有数据块152与零相乘,所以解密结果302包括对应于不可信数据存储150的第二位置的数据块152。由于乘以零的数据块152将剔除(drop out),所以求和将导致仅剩下第二位置的数据块152。显然,这种查询134a可用于从数据存储器150的任何位置(position)/位置(location)中未察觉地选择任何数据块152。然而,查询134也可以执行各种其它功能。
由压缩器160执行的压缩算法超出了仅接收选择向量,而是包括接收一般向量(即,其中每个整数136可以包括明文空间中的任何整数的向量)。也就是说,虽然典型的PIR方案需要为要检索的每个数据块152向服务器111发送单独的选择向量(每个选择向量的长度等于数据块的数目n),但是压缩器160可以将d个加密压缩成单个一般向量。例如,输入到压缩器160的第二查询134b将三个整数136(即,第2,第3和第l个整数136)设置为等于一(1),而将剩余的整数136设置为等于零。这里,第二查询134b将返回对应的加密结果192,加密结果192对应于不可信数据存储150的第2,第3和第l个数据块152的值的总和。查询134还可以检索加权的总和。例如,输入到压缩器160的第三查询134c将所有整数136设置为等于一(1),除了第3个整数136被设置为加权系数α。因此,第三查询134c将返回对应于加权总和的相应加密结果192(即,第3个数据块将被加权为α,而其余数据块152将被加权为1)。在又一示例中,服务器111可以响应于输入到压缩器160的第四查询134d而返回多个数据块152的平均值,第四查询134d将所有整数136设置为等于一(1)。因此,可以理解,压缩器160在一般向量(相对于仅选择向量)上提供压缩,其中整数136可以跨越整个明文空间。
在一些实施方式中,系统100在离线和在线周期之间分配计算和/或通信。离线周期被定义为资源(例如,带宽、计算、功率等)比在线周期期间相对更便宜的时间周期。也就是说,与在线周期内相比,在离线周期内对资源的争用更少。例如,用户设备10(图1)可以在夜间(离线周期)连接到WiFi,使得比在白天(在线周期)使用移动数据相对更便宜。由于扩展开销所引起的乘法系数(multiplicative factor)(在一些应用中可能增加多达4到5倍),故与普通明文检索相比,未察觉的检索具有相当大的成本(即,资源使用)增加。因此,利用在线和离线周期之间的成本差异是有利的。因此,系统100可以进行离线计算,以便在希望对不可信数据存储150进行未察觉查询134时,通过将扩展开销转移到离线周期来减少成本(即,减少消耗的资源)。
现在参考图5a,在离线周期内,示意图500a示出了接收随机化明文查询134R的压缩器160。随机化明文查询134R随机化(例如,通过数据处理硬件124)每个整数136的设置等于0或一(1)。在所示的例子中,第2个,第4个和第5个整数136被设置为等于一(1),而其余的整数136被设置为等于0。如前所述,查询134R将使服务器111返回加密结果192R,加密结果192R是与随机化明文查询134R中的、被设置为等于一(1)的整数136(即,第2、第4和第5个整数136)相关联的数据块152的总和。当在离线周期内进行查询134R时,检索相应的加密结果192R的成本相对较低。用户设备10可以存储(即,在本地存储器硬件122中)加密结果192R和随机化明文查询134R,直到用户12在在线周期内进行查询134。
在一些示例中,当用户12在在线周期内进行查询134时,在数据处理硬件124上执行的反相器530对随机化明文查询134R的单个明文整数(即,选择整数136M)进行反相,以形成经修改的查询134M。也就是说,当随机化明文查询134R的所选整数136M被设置为等于0时,反相器530将所选整数136M从0改变为一(1)。另一方面,当随机化明文查询134R的所选整数136M被设置为等于一(1)时,反相器530将所选整数136M从一(1)改变为0。经修改的查询134M的经反相的整数136M(例如,图5A中的第3个整数136)对应于用户12想要在在线周期内从不可信数据存储150中检索的数据块152。这里,反相器530以明文(in the clear)(即,以明文(in plaintext))将经修改的查询134M发送到服务器111的扩展器200。也就是说,加密器180不对修改的查询134M进行加密。因为经修改的查询134M没有被加密,所以它是二进制向量,其大小为数据存储150中的数据块152的数量n,并且由于加密没有扩展开销。因此,经修改的查询134M所消耗的带宽显著小于例如加密多项式182所消耗的带宽。因为经修改的查询134M未被压缩,因此不需要扩展(从而大大减少了服务器111所需的计算),所以服务器111的计算器190直接接收经修改的查询134M,并计算明文结果520。也就是说,经修改的查询134M和数据块152之间的计算(例如,点积)包括明文结果520,明文结果520等于由经修改的查询134M选择的数据块152的总和。服务器111可以向用户设备10提供明文结果520。
现在参考图5B的示意图500b,在一些示例中,用户设备10(即,经由数据处理硬件124)执行解密器300,以将先前存储的加密结果192R解密为对应的解密结果302R。这里,先前存储的加密结果192R对应于如图5A所述的、在离线周期内执行的随机化明文查询134R。在这些示例中,数据处理硬件124还执行结果计算器540,结果计算器540被配置为计算从服务器111接收的明文结果520与从解密器300输出的解密结果302R之间的结果差542。
因为响应于查询134R,134M检索的数据块152仅相差单个反相整数136M,所以结果差542对应于与反相整数136M相关联的值。因此,用户设备10在在线周期内使用最小资源检索数据块152,而服务器111没有确定从不可信数据存储150中检索哪个数据块152。随机化查询134R的加密确保服务器111不能确定在随机化查询134R和经修改的查询134M之间哪个整数136已被反相。因为经修改的查询134m是从随机化查询134R修改的,所以尽管查询134m被明文地(in clear)发送到服务器111(即,作为明文(as plaintext)),服务器也不能从经修改的查询134M确定信息。然而,应当注意,随机化查询134R和加密结果192R不应当被重新使用以保证隐私,因为重新使用会使服务器111确定经修改的查询134M之间的差异。在一些示例中,用户设备10从独立的随机化查询134R检索多个加密结果192R,以便在在线周期内建立加密结果192R和随机化查询134R的“池(pool)”以供使用。在一些实施方式中,随机化查询134R包括从明文空间采样的随机化整数,而不是随机化字节向量(bit vector)。虽然这增加了计算,但是这确保了除了检索到的数据块152之外的数据块152保持从客户端12隐藏(即,内积310不向客户端12揭示关于数据块152的附加信息)。当不可信数据存储150是私有的时,这可能是有利的。
图6是用于压缩查询以从服务器未察觉地检索加密结果的示例方法600的流程图。方法600开始于操作602,在用户设备10的数据处理硬件124处获取明文查询134。查询134包括明文整数序列136。在操作604,方法600包括由数据处理硬件124生成具有系数173的多项式172。系数173包括明文整数序列136。在操作606,方法600包括由数据处理硬件124使用秘密加密密钥132加密多项式172。秘密加密密钥132由数据处理硬件124从密文空间随机采样。
在操作608,方法600包括由数据处理硬件124将加密多项式182发送到与数据处理硬件124通信的服务器111。服务器111被配置为使用公共加密密钥130扩展加密多项式182,以获得加密整数序列210。加密整数序列210对应于明文查询134的明文整数序列136。在步骤610,方法600包括在数据处理硬件124处从服务器111接收加密结果192。加密结果192基于加密整数序列210。在一些实施方式中,方法600包括基于存储在服务器111上的不可信数据存储150(例如,数据库)和加密整数序列210来计算加密结果192,并将加密结果192返回给用户设备10。例如,服务器111可以通过确定存储在服务器111上的数据库150和加密整数序列210的内积310来计算加密结果192。
图7是可用于实现本文档中描述的系统和方法的示例性计算设备700的示意图。计算设备700旨在表示各种形式的数字计算机,例如膝上型电脑、台式机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他合适的计算机。此处显示的各部件、它们的连接和关系及其功能仅作为示例,而不是要限制在本文件中描述和/或要求保护的本发明的实现。
计算设备700包括处理器710、存储器720、存储设备730、连接到存储器720和多个高速扩展端口750的高速接口/控制器740、以及连接到低速总线770和存储设备730的低速接口/控制器760。组件710、720、730、740、750和760中的每一个使用各种总线互连,并且可以适当地安装在公共母板上或以其它方式安装。处理器710可以处理用于在计算设备700内执行的指令,包括存储在存储器720中或存储设备730上的指令,以在例如与高速接口740连接的显示器780的、外部输入/输出设备上显示GUI的图形信息。在其他实施方式中,可以视情况使用多个处理器和/或多个总线以及多个存储器和多个存储器类型。此外,可以连接多个计算设备,每个设备提供必要操作的一部分(例如,作为服务器库、刀片服务器组、或多处理器系统)。
存储器720在计算设备700内非瞬态地存储信息。存储器720可以是计算机可读介质,易失性存储器单元或非易失性存储器单元。非瞬态存储器720可以是临时或永久地存储由计算设备700使用的程序(例如,指令序列)或数据(例如,程序状态信息)的物理设备。非易失性存储器的实例包括但不限于,闪存和只读存储器(ROM)/可编程只读存储器(PROM)/可擦除可编程只读存储器(EPROM)/电子可擦除可编程只读存储器(EEPROM)(例如,通常用于固件,例如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(RAM),动态随机存取存储器(DRAM),静态随机存取存储器(SRAM),相变存储器(PCM)以及磁盘或磁带。
存储设备730能够为计算设备700提供大容量存储。在一些实施方式中,存储设备730是计算机可读介质。在各种不同的实施方式中,存储设备730可以是或包含计算机可读介质,例如软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其他类似的固态存储设备,或一组设备,包括存储区域网络或其他配置中的设备。在另外的实施方式中,计算机程序产品被有形地包含在信息载体中。所述计算机程序产品包含指令,所述指令在被执行时执行一个或多个方法,例如上述的那些方法。信息载体是计算机或机器可读介质,例如存储器720,存储设备730或处理器710上的存储器。
高速控制器740管理计算设备700的带宽密集型操作,而低速控制器760管理较低带宽密集型操作。这种功能分配只是示例。在一些实施方式中,高速控制器740连接到存储器720、显示器780(例如,通过图形处理器或加速器)、以及高速扩展接口750,其可以接受多种扩展卡(未示出)。在一些实施方式中,低速控制器760耦合到存储设备730和低速扩展端口790。包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口790可以通过例如网络适配器连接到一个或多个输入/输出设备,例如键盘、定点设备、扫描仪、或网络设备,如交换机或路由器。
如图所示,计算设备700可以以多种不同的形式实现。例如,它可以被实现为标准服务器700a或者在一组这样的服务器700a中多次实现为膝上型计算机700b,或者被实现为机架服务器系统700c的一部分。
此处描述的系统和技术的各种实现可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或它们的组合中实现。这些各种实现可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实现,所述可编程系统包括至少一个可编程处理器,所述可编程处理器可以是专用的或通用的,被耦合以从存储系统,至少一个输入设备和至少一个输出设备接收数据和指令,以及向其发送数据和指令。
软件应用(即软件资源)可以指使得计算设备执行任务的计算机软件。在一些示例中,软件应用可被称为“应用”、“app”或“程序”。示例应用包括但不限于系统诊断应用,系统管理应用,系统维护应用,字处理应用,电子表格应用,消息传递应用,媒体流应用,社交网络应用和游戏应用。
这些计算机程序(也称为程序、软件、软件应用、或代码)包括用于可编程处理器的机器指令,并且可以用高级过程、和/或面向对象的编程语言、和/或汇编/机器语言来实现。如本文所用,术语“机器可读介质”和“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(PLD),包括接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器(也称为数据处理硬件)执行,执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。处理和逻辑流程也可以由专用逻辑电路执行,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或被可操作地耦合以从一个或多个大容量存储设备接收数据或向一个或多个大容量存储设备传送数据,所述大容量存储设备用于存储数据,例如磁盘,磁光盘或光盘。然而,计算机不必具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或结合在专用逻辑电路中。
为了提供与用户的交互,本公开的一个或多个方面可以在具有显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)的计算机上实现,用于向用户、键盘、和定点设备(例如,鼠标或轨迹球)显示信息,用户可以通过它向计算机提供输入。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以包括声学、语音或触觉输入的任何形式来接收来自用户的输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收的请求向用户的客户端设备上的web浏览器发送网页。
已经描述了多种实现方式。然而,应当理解,在不脱离本公开的精神和范围的情况下,可以进行各种修改。因此,其它实施方式在以下权利要求的范围内。
Claims (22)
1.一种方法(600),其特征在于,所述方法包括:
在用户设备(10)的数据处理硬件(124)处获取包括明文整数序列(136)的明文查询(134);
由所述数据处理硬件(124)生成具有系数(173)的多项式(172),所述系数(173)包括所述明文查询(134)的所述明文整数序列(136);
由所述数据处理硬件(124)使用秘密加密密钥(132)对多项式(182)进行加密,所述秘密加密密钥(132)由所述数据处理硬件(124)从密文空间中随机采样;
由所述数据处理硬件(124)将加密多项式(182)发送到与所述数据处理硬件(124)通信的服务器(111),所述服务器(111)被配置为使用公共加密密钥(130)扩展所述加密多项式(182)以获得加密整数序列(210),所述加密整数序列(210)对应于所述明文查询(134)的所述明文整数序列(136);以及
在所述数据处理硬件(124)处从所述服务器(111)接收加密结果(192),所述加密结果(192)基于所述加密整数序列(210)。
2.如权利要求1所述的方法(600),其特征在于,所述服务器(111)被配置为通过生成树数据结构(220)来扩展所述加密多项式(182),所述加密多项式(182)包括所述树数据结构(220)的根(230R)。
3.如权利要求2所述的方法(600),其特征在于,所述树数据结构(220)的顶行包括所述加密整数序列(210)。
4.如权利要求1-3中任一项所述的方法(600),其特征在于,对所述多项式(182)进行加密包括,用完全同态加密方案对所述多项式(182)进行加密。
5.如权利要求1-4中任一项所述的方法(600),其特征在于,所述服务器(111)被配置为,在使用所述公共加密密钥(130)扩展所述加密多项式(182)之后:
基于所述服务器(111)处的不可信数据存储(150)和所述加密整数序列(210)来计算所述加密结果(192);以及
将所述加密结果(192)返回给所述用户设备(10)。
6.如权利要求5所述的方法(600),其特征在于,所述服务器(111)被配置成通过确定所述不可信数据存储(150)和所述加密整数序列(210)的内积(310)来计算所述加密结果(192)。
7.如权利要求5或6所述的方法(600),其特征在于,所述方法还包括:在从所述服务器(111)接收到所述加密结果(192)之后,由所述数据处理硬件(124)对所述加密结果(192)进行解密,以获得解密结果(302),所述解密结果(302)对应于所述不可信数据存储(150)的至少一个数据块(152)。
8.如权利要求1-7中任一项所述的方法(600),其特征在于,所述明文查询(134)的所述明文整数序列(136)中的每个明文整数(136)对应于所述服务器(111)处的不可信数据存储(150)的相应数据块(152)的选择标准。
9.如权利要求1-8中任一项所述的方法(600),其特征在于,获取所述明文查询(134)包括,生成包括所述明文整数序列(136)的随机化查询(134)。
10.根据权利要求9所述的方法(600),其特征在于,所述方法包括:
由所述数据处理硬件(124)对从所述随机化查询(134)的所述明文整数序列(136)中所选择的明文整数(136)进行反相以形成经修改的查询(134),所述所选择的明文整数(136)与所述服务器(111)处的所述不可信数据存储(150)的相应数据块(152)相关联;以及
由所述数据处理硬件(124)将所述经修改的查询(134)发送到所述服务器(111),所述服务器(111)被配置为:
基于所述服务器(111)处的不可信数据存储(150)和所述经修改的查询(134)来计算未加密结果(192);以及
将所述加密结果(192)返回给所述用户设备(10)。
11.如权利要求10所述的方法(600),其特征在于,所述方法还包括:在从所述服务器(111)接收到所述加密结果(192)和所述未加密结果(192)之后,由所述数据处理硬件(124)计算所述加密结果(192)和所述未加密结果(192)之间的差,以获得所述不可信数据存储(150)的相应数据块(152)的值,所述相应数据块(152)与所述随机化查询(134)的所述明文整数序列(136)的所述所选择的明文整数(136)相关联。
12.一种系统(100),其特征在于,所述系统包括:
数据处理硬件(124);和
与用户设备(10)的所述数据处理硬件(124)通信的存储器硬件(122),所述存储器硬件(122)存储当在所述数据处理硬件(124)上执行时使所述数据处理硬件(124)执行以下操作的指令:
获取包括明文整数序列(136)的明文查询(134);
生成具有系数(173)的多项式(172),所述系数(173)包括所述明文查询(134)的所述明文整数序列(136);
使用秘密加密密钥(132)对所述多项式(182)进行加密,所述秘密加密密钥(132)由所述数据处理硬件(124)从密文空间中随机采样;
将加密多项式(182)发送到与所述数据处理硬件(124)通信的服务器(111),所述服务器(111)被配置为使用公共加密密钥(130)扩展所述加密多项式(182)以获得加密整数的序列(210),所述加密整数的序列(210)对应于所述明文查询(134)的所述明文整数序列(136);以及
从所述服务器(111)接收加密结果(192),所述加密结果(192)基于所述加密整数序列(210)。
13.如权利要求12所述的系统(100),其特征在于,所述服务器(111)被配置为通过生成树数据结构(220)来扩展所述加密多项式(182),所述加密多项式(182)包括所述树数据结构(220)的根(230R)。
14.如权利要求13所述的系统(100),其特征在于,所述树数据结构(220)的顶行包括所述加密整数序列(210)。
15.如权利要求12-14中任一项所述的系统(100),其特征在于,对所述多项式(182)进行加密包括用完全同态加密方案对所述多项式(182)进行加密。
16.如权利要求12-15中任一项所述的系统(100),其特征在于,所述服务器(111)被配置为,在使用所述公共加密密钥(130)扩展所述加密多项式(182)之后:
基于所述服务器(111)处的不可信数据存储(150)和所述加密整数序列(210)来计算所述加密结果(192);以及
将所述加密结果(192)返回给所述用户设备(10)。
17.如权利要求16所述的系统(100),其特征在于,所述服务器(111)被配置成通过确定所述服务器(11)处的所述不可信数据存储(150)和所述加密整数序列(210)的内积(310)来计算所述加密结果(192)。
18.如权利要求16或17所述的系统(100),其特征在于,所述操作还包括:在从所述服务器(111)接收到所述加密结果(192)之后,对所述加密结果(192)进行解密以获得解密结果(302),所述解密结果(302)对应于所述服务器(11)处的所述不可信数据存储(150)的至少一个数据块(152)。
19.如权利要求12-18中任一项所述的系统(100),其特征在于,所述明文查询(134)的所述明文整数序列(136)中的每个明文整数(136)对应于所述服务器(111)处的不可信数据存储(150)的相应数据块(152)的选择标准。
20.如权利要求12-19中任一项所述的系统(100),其特征在于,获取所述明文查询(134)包括生成包括所述明文整数序列(136)的随机化查询(134)。
21.根据权利要求20所述的系统(100),其特征在于,所述操作还包括:
对从所述随机化查询(134)的所述明文整数序列(136)中所选择的明文整数(136)进行反相以形成经修改的查询(134),所述所选择的明文整数(136)与所述服务器(111)处的所述不可信数据存储(150)的相应数据块(152)相关联;以及
将所述经修改的查询(134)发送到所述服务器(111),所述服务器(111)被配置为:
基于所述服务器(111)处的不可信数据存储(150)和所述经修改的查询(134)来计算未加密结果(192);以及
将所述加密结果(192)返回给所述用户设备(10)。
22.如权利要求21所述的系统(100),其特征在于,所述操作还包括:在从所述服务器(111)接收到所述加密结果(192)和所述未加密结果(192)之后,计算所述加密结果(192)和所述未加密结果(192)之间的差,以获得所述不可信数据存储(150)的相应数据块(152)的值,所述相应数据块(152)与所述随机化查询(134)的所述明文整数序列(136)的所述所选择的明文整数(136)相关联。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962845793P | 2019-05-09 | 2019-05-09 | |
US62/845,793 | 2019-05-09 | ||
PCT/US2019/064334 WO2020226695A1 (en) | 2019-05-09 | 2019-12-03 | Compression and oblivious expansion of rlwe ciphertexts |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114073037A true CN114073037A (zh) | 2022-02-18 |
CN114073037B CN114073037B (zh) | 2024-05-17 |
Family
ID=69005988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980098195.9A Active CN114073037B (zh) | 2019-05-09 | 2019-12-03 | Rlwe明文的压缩和未察觉地扩展 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11310045B2 (zh) |
EP (1) | EP3959841B1 (zh) |
JP (1) | JP7212179B2 (zh) |
KR (1) | KR102424856B1 (zh) |
CN (1) | CN114073037B (zh) |
TW (1) | TWI730533B (zh) |
WO (1) | WO2020226695A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115378573A (zh) * | 2022-07-22 | 2022-11-22 | 中国电子科技集团公司第三十研究所 | 一种隐私信息检索协议制定方法、存储介质及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116887076A (zh) * | 2023-09-05 | 2023-10-13 | 北京中科智易科技股份有限公司 | 一种装备信息模块化采集系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103401871A (zh) * | 2013-08-05 | 2013-11-20 | 苏州大学 | 一种面向同态加密的密文定序方法及系统 |
WO2014100788A2 (en) * | 2012-12-21 | 2014-06-26 | Microsoft Corporation | Managed secure computations on encrypted data |
CN105610793A (zh) * | 2015-12-18 | 2016-05-25 | 江苏大学 | 一种外包数据加密存储与密文查询系统及其应用方法 |
US10075288B1 (en) * | 2014-02-28 | 2018-09-11 | The Governing Council Of The University Of Toronto | Systems, devices, and processes for homomorphic encryption |
EP3419211A1 (en) * | 2017-06-23 | 2018-12-26 | Flytxt B.V. | Privacy preserving computation protocol for data analytics |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6167392A (en) * | 1997-10-09 | 2000-12-26 | Telcordia Technologies, Inc. | Method and apparatus for private information retrieval from a single electronic storage device |
US20090193033A1 (en) * | 2005-05-19 | 2009-07-30 | Zulfikar Amin Ramzan | Method and apparatus for communication efficient private information retrieval and oblivious transfer |
EP2777159A4 (fr) * | 2011-11-10 | 2016-07-13 | Parallel Geometry Inc | Méthode et système pour coder de l'information |
US20140380062A1 (en) * | 2012-03-02 | 2014-12-25 | Sony Corporation | Information processing apparatus, image processing method, and program |
USRE48644E1 (en) | 2012-04-12 | 2021-07-13 | Jintai Ding | Cryptographic system using pairing with errors |
JP6173904B2 (ja) * | 2013-12-13 | 2017-08-02 | 株式会社東芝 | 共通鍵暗号装置及びプログラム、並びに、共通鍵復号装置及びプログラム |
JP6413743B2 (ja) * | 2014-12-16 | 2018-10-31 | 富士通株式会社 | 暗号処理装置、暗号処理方法、及び暗号処理プログラム |
WO2017008043A1 (en) * | 2015-07-08 | 2017-01-12 | Brown University | Homomorphic encryption |
US9846785B2 (en) * | 2015-11-25 | 2017-12-19 | International Business Machines Corporation | Efficient two party oblivious transfer using a leveled fully homomorphic encryption |
FR3048102B1 (fr) | 2016-02-24 | 2018-03-09 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Methode d'execution confidentielle d'un programme operant sur des donnees chiffrees par un chiffrement homomorphe |
US10229285B2 (en) * | 2016-03-22 | 2019-03-12 | International Business Machines Corporation | Privacy enhanced central data storage |
-
2019
- 2019-12-03 KR KR1020217040114A patent/KR102424856B1/ko active IP Right Grant
- 2019-12-03 CN CN201980098195.9A patent/CN114073037B/zh active Active
- 2019-12-03 EP EP19828055.4A patent/EP3959841B1/en active Active
- 2019-12-03 JP JP2021566137A patent/JP7212179B2/ja active Active
- 2019-12-03 WO PCT/US2019/064334 patent/WO2020226695A1/en unknown
- 2019-12-03 US US16/702,217 patent/US11310045B2/en active Active
- 2019-12-09 TW TW108144865A patent/TWI730533B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014100788A2 (en) * | 2012-12-21 | 2014-06-26 | Microsoft Corporation | Managed secure computations on encrypted data |
CN103401871A (zh) * | 2013-08-05 | 2013-11-20 | 苏州大学 | 一种面向同态加密的密文定序方法及系统 |
US10075288B1 (en) * | 2014-02-28 | 2018-09-11 | The Governing Council Of The University Of Toronto | Systems, devices, and processes for homomorphic encryption |
CN105610793A (zh) * | 2015-12-18 | 2016-05-25 | 江苏大学 | 一种外包数据加密存储与密文查询系统及其应用方法 |
EP3419211A1 (en) * | 2017-06-23 | 2018-12-26 | Flytxt B.V. | Privacy preserving computation protocol for data analytics |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115378573A (zh) * | 2022-07-22 | 2022-11-22 | 中国电子科技集团公司第三十研究所 | 一种隐私信息检索协议制定方法、存储介质及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114073037B (zh) | 2024-05-17 |
KR102424856B1 (ko) | 2022-07-22 |
EP3959841B1 (en) | 2022-06-08 |
JP7212179B2 (ja) | 2023-01-24 |
KR20210152030A (ko) | 2021-12-14 |
US20200358610A1 (en) | 2020-11-12 |
EP3959841A1 (en) | 2022-03-02 |
WO2020226695A1 (en) | 2020-11-12 |
JP2022531496A (ja) | 2022-07-06 |
TWI730533B (zh) | 2021-06-11 |
US11310045B2 (en) | 2022-04-19 |
TW202101936A (zh) | 2021-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI734368B (zh) | 實現隱私保護的數據同態加解密方法及裝置 | |
US20210075588A1 (en) | Systems, devices, and processes for homomorphic encryption | |
US9355271B2 (en) | System and method for dynamic, non-interactive, and parallelizable searchable symmetric encryption | |
JP6693508B2 (ja) | 秘密計算システム、サーバ装置、秘密計算方法、および、プログラム | |
CN113906712A (zh) | 应用于私有信息检索的同态加密 | |
KR101829267B1 (ko) | 암호문의 크기가 감소되는 동형 암호화 방법 | |
US20140233727A1 (en) | Method for secure substring search | |
CN111026788B (zh) | 一种混合云中基于同态加密的多关键词密文排序检索方法 | |
US20140270159A1 (en) | System and method for providing compressed encryption and decryption in homomorphic encryption based on integers | |
CN114073037B (zh) | Rlwe明文的压缩和未察觉地扩展 | |
US10546032B2 (en) | System and method for association rule mining from encrypted databases | |
CN113630250B (zh) | 基于数据加密的模型训练方法及系统 | |
JP2006311383A (ja) | データ管理方法、データ管理システムおよびデータ管理装置 | |
CN111798236B (zh) | 交易数据加、解密方法、装置及设备 | |
CN116170142B (zh) | 分布式协同解密方法、设备和存储介质 | |
JP6693503B2 (ja) | 秘匿検索システム、サーバ装置、秘匿検索方法、検索方法、およびプログラム | |
Vo-Huu et al. | EPiC: efficient privacy-preserving counting for MapReduce | |
JP2023529690A (ja) | 同型暗号文に対する統計演算を行う装置及び方法 | |
KR101264286B1 (ko) | 데이터베이스 암호화 시스템 및 방법 | |
CN113158087A (zh) | 一种空间文本的查询方法及装置 | |
Bhat et al. | A novel tamper evident single database information-theoretic private information retrieval for user privacy applications | |
JP7440662B2 (ja) | マルチキー情報検索 | |
US20230327847A1 (en) | Compression of homomorphic ciphertexts | |
Mithaiwala et al. | A Study on Cloud Computing and its Security | |
Kaosar et al. | (k− n) Oblivious Transfer Using Fully Homomorphic Encryption System |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |