CN113906712A - 应用于私有信息检索的同态加密 - Google Patents
应用于私有信息检索的同态加密 Download PDFInfo
- Publication number
- CN113906712A CN113906712A CN202080039791.2A CN202080039791A CN113906712A CN 113906712 A CN113906712 A CN 113906712A CN 202080039791 A CN202080039791 A CN 202080039791A CN 113906712 A CN113906712 A CN 113906712A
- Authority
- CN
- China
- Prior art keywords
- matrix
- ciphertext
- computer system
- plaintext
- encrypted
- 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
Links
- 230000004044 response Effects 0.000 claims abstract description 47
- 239000011159 matrix material Substances 0.000 claims description 222
- 238000000034 method Methods 0.000 claims description 153
- 239000013598 vector Substances 0.000 claims description 42
- 230000006835 compression Effects 0.000 claims description 32
- 238000007906 compression Methods 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 22
- 239000000654 additive Substances 0.000 claims description 16
- 230000000996 additive effect Effects 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 16
- 230000036961 partial effect Effects 0.000 claims description 7
- 238000012856 packing Methods 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 5
- 239000003643 water by type Substances 0.000 claims description 4
- 230000008569 process Effects 0.000 description 33
- 238000004590 computer program Methods 0.000 description 17
- 238000011156 evaluation Methods 0.000 description 17
- 230000015654 memory Effects 0.000 description 17
- 238000003860 storage Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 238000005457 optimization Methods 0.000 description 9
- 229920000582 polyisocyanurate Polymers 0.000 description 9
- 238000013459 approach Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 5
- 239000010949 copper Substances 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 5
- 241001522296 Erithacus rubecula Species 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 239000002253 acid Substances 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 244000309464 bull Species 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000009125 cardiac resynchronization therapy Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 229960001484 edetic acid Drugs 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000002904 solvent Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
-
- 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/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2353—Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
- Non-Silver Salt Photosensitive Materials And Non-Silver Salt Photography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
接收对能够使用第一计算机系统上的数据库中的数据确定的特定信息的请求。或者数据的至少一些被加密或者请求被加密。第一计算机系统没有解密密钥来解密加密的数据或请求。第一计算机系统对数据执行可压缩的HE操作以确定与特定信息对应的(一个或多个)压缩的密文。操作包括使用第一未压缩的HE方案和第二压缩的HE方案。第一HE方案对数据使用以创建其它多个密文,并且第二HE方案对所述其它多个密文使用以将所述其它多个密文打包成被压缩的更少密文。两种HE方案都使用相同的秘密密钥。第一计算机系统发送包含与特定信息对应的(一个或多个)压缩的密文的响应。
Description
技术领域
本发明一般而言涉及同态加密(homomorphic encryption,HE)并且,更具体而言,涉及应用于私有信息检索(PIR)的可压缩同态加密和完全同态加密(FHE)。
背景技术
同态加密是一种加密形式,它允许对密文(加密的明文)进行计算,从而生成加密的结果,当被解密时,该加密的结果与操作的结果相匹配,就好像那些操作已对明文执行过一样。那些操作通常被称为由电路定义。虽然存在不同类型的HE,但只有完全同态加密(FHE)允许对无限深度的任意电路的评估。
FHE(以及在某种程度上其它类型的HE)允许服务提供者对加密的数据执行操作以确定对来自用户的查询的加密的结果,而不能解密该结果或用于导出该结果的任何存储的信息。这具有广泛的应用,特别是在匿名重要的领域,诸如医疗保健。
因此,FHE的一个应用是私有信息检索(PIR)。PIR允许用户从拥有数据库(例如,包含医疗保健信息)的服务器中检索用户个人信息的项,而无需揭示检索到哪个项。实现PIR的一种(例如,平凡的)方式是让服务器将数据库的整个副本发送给用户。使用现代通信系统,这要求用于任何合理大的数据库的大量数据。
FHE将有助于PIR,因为服务提供者不会知道结果或检索到哪个项,因为用户的查询被加密。但是,当前的FHE技术对于合理大的数据库来说计算成本高且不切实际。
发明内容
在示例性实施例中,公开了一种方法,该方法包括在第一计算机系统处并从第二计算机系统接收对可以使用第一计算机系统上的数据库中的数据确定的特定信息的请求,其中或者数据中的至少一些被加密或者请求被加密,而第一计算机系统没有解密密钥来解密加密的数据或加密的请求。该方法包括由第一计算机系统对数据库中的数据执行可压缩的同态加密操作以确定与数据库中的特定信息对应的一个或多个压缩的密文,该可压缩的同态加密操作使用第一未压缩的同态加密方案和第二压缩的同态加密方案,执行可压缩的同态加密操作包括对数据使用第一同态加密方案以创建其它多个密文并对其它多个密文使用第二同态加密方案以将其它多个密文打包成被压缩的更少密文,其中第一和第二同态加密方案使用相同的秘密密钥。该方法还包括由第一计算机系统并向第二计算机系统发送对请求的响应,该响应包括与所请求的特定信息对应的一个或多个压缩的密文。
一种示例性装置包括一个或多个处理器和一个或多个包括计算机程序代码的存储器。一个或多个存储器和计算机程序代码被配置为用一个或多个处理器使装置执行包括以下的操作:在第一计算机系统处并从第二计算机系统接收对可以使用第一计算机系统上的数据库中的数据确定的特定信息的请求,其中或者数据中的至少一些被加密或者请求被加密,而第一计算机系统没有解密密钥来解密加密的数据或加密的请求;由第一计算机系统对数据库中的数据执行可压缩的同态加密操作以确定与数据库中的特定信息对应的一个或多个压缩的密文,该可压缩的同态加密操作使用第一未压缩的同态加密方案和第二压缩的同态加密方案,执行可压缩的同态加密操作包括对数据使用第一同态加密方案以创建其它多个密文并对其它多个密文使用第二同态加密方案以将其它多个密文打包成被压缩的更少密文,其中第一和第二同态加密方案使用相同的秘密密钥;以及由第一计算机系统并向第二计算机系统发送对请求的响应,该响应包括与所请求的特定信息对应的一个或多个压缩的密文。
进一步的示例性实施例是一种计算机程序产品,其包括计算机可读存储介质,该计算机可读存储介质具有实施在其中的程序指令,该程序指令可由设备执行以使该设备执行包括以下的操作:在第一计算机系统处并从第二计算机系统接收对可以使用第一计算机系统上的数据库中的数据确定的特定信息的请求,其中或者数据中的至少一些被加密或者请求被加密,而第一计算机系统没有解密密钥来解密加密的数据或加密的请求;由第一计算机系统对数据库中的数据执行可压缩的同态加密操作以确定与数据库中的特定信息对应的一个或多个压缩的密文,该可压缩的同态加密操作使用第一未压缩的同态加密方案和第二压缩的同态加密方案,执行可压缩的同态加密操作包括对数据使用第一同态加密方案以创建其它多个密文并对其它多个密文使用第二同态加密方案以将其它多个密文打包成被压缩的更少密文,其中第一和第二同态加密方案使用相同的秘密密钥;以及由第一计算机系统并向第二计算机系统发送对请求的响应,该响应包括与所请求的特定信息对应的一个或多个压缩的密文。
在另一个示例性实施例中,一种方法包括为了向第一计算机系统发送并在第二计算机系统处执行而加密明文以创建加密的数据并将加密的数据从第二计算机系统发送到第一计算机系统,而第一系统没有解密密钥来解密加密的数据。该方法还包括由第二计算机系统发送对可以使用加密的数据确定的特定信息的请求。该方法包括在第二计算机系统处并从第一计算机系统接收对请求的响应,该响应包括与所请求的特定信息对应的一个或多个压缩的密文。该方法还包括由第二计算机系统将一个或多个压缩的密文解密成对应的明文。
一种示例性装置包括一个或多个处理器和一个或多个包括计算机程序代码的存储器。一个或多个存储器和计算机程序代码被配置为用一个或多个处理器使装置执行包括以下的操作:为了向第一计算机系统发送并在第二计算机系统处执行而加密明文以创建加密的数据并将加密的数据从第二计算机系统发送到第一计算机系统,而第一系统没有解密密钥来解密加密的数据;由第二计算机系统发送对可以使用加密的数据确定的特定信息的请求;在第二计算机系统处并从第一计算机系统接收对请求的响应,该响应包括与所请求的特定信息对应的一个或多个压缩的密文;以及由第二计算机系统将一个或多个压缩的密文解密成对应的明文。
在又一个附加的示例性实施例中,一种计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有实施在其中的程序指令,该程序指令可由设备执行以使该设备执行包括以下的操作:为了向第一计算机系统发送并在第二计算机系统处执行而加密明文以创建加密的数据并将加密的数据从第二计算机系统发送到第一计算机系统,而第一系统没有解密密钥来解密加密的数据;由第二计算机系统发送对可以使用加密的数据确定的特定信息的请求;在第二计算机系统处并从第一计算机系统接收对请求的响应,该响应包括与所请求的特定信息对应的一个或多个压缩的密文;以及由第二计算机系统将一个或多个压缩的密文解密成对应的明文。
附加示例性实施例是一种方法,包括在第一计算机系统处并从第二计算机系统接收对来自第一计算机系统上的数据库的所选择的条目的请求。该方法包括由第一计算机系统对数据库中的数据执行可压缩的同态加密方案以计算与数据库中所选择的条目对应的加密的回答,其中可压缩的同态加密方案产生不比对应明文回答长得多的加密的回答,并且对于数据库中的每个字节计算加密的回答需要几个周期。该方法还包括由第一计算机系统并向第二计算机系统发送对请求的响应,该响应包括与所请求的所选择的条目对应的加密的回答。
一种示例性装置包括一个或多个处理器和一个或多个包括计算机程序代码的存储器。一个或多个存储器和计算机程序代码被配置为用一个或多个处理器使装置执行包括以下的操作:在第一计算机系统处并从第二计算机系统接收对来自第一计算机系统上的数据库的所选择的条目的请求;由第一计算机系统对数据库中的数据执行可压缩的同态加密方案以计算与数据库中所选择的条目对应的加密的回答,其中可压缩的同态加密方案产生不比对应明文回答长得多的加密的回答,并且对于数据库中的每个字节计算加密的回答需要几个周期;以及由第一计算机系统并向第二计算机系统发送对请求的响应,该响应包括与所请求的所选择的条目对应的加密的回答。
附加示例性实施例是一种计算机程序产品,包括计算机可读存储介质,该计算机可读存储介质具有实施在其中的程序指令,该程序指令可由设备执行以使该设备执行包括以下的操作:在第一计算机系统处并从第二计算机系统接收对来自第一计算机系统上的数据库的所选择的条目的请求;由第一计算机系统对数据库中的数据执行可压缩的同态加密方案以计算与数据库中所选择的条目对应的加密的回答,其中可压缩的同态加密方案产生不比对应明文回答长得多的加密的回答,并且对于数据库中的每个字节计算加密的回答需要几个周期;以及由第一计算机系统并向第二计算机系统发送对请求的响应,该响应包括与所请求的所选择的条目对应的加密的回答。
在示例性实施例中,公开了一种方法,该方法包括为了发送到第一计算机系统并由第二计算机系统发送而加密由第一计算机系统存储的数据库中的条目的索引i,其中该索引i以ND基的混合基数表示并且数据库也具有ND基。该方法包括由第二计算机系统使用加密的索引请求从第一计算机系统检索项。该方法包括由第二计算机系统并从第一计算机系统接收对请求的响应,该响应包括加密的回答,该加密的回答包括一个或多个压缩的密文,与使用加密的索引请求的数据库中的条目对应。该方法还包括由第二计算机系统将一个或多个压缩的密文解密成对应的明文。
一种示例性装置包括一个或多个处理器和一个或多个包括计算机程序代码的存储器。一个或多个存储器和计算机程序代码被配置为用一个或多个处理器使装置执行包括以下的操作:为了发送到第一计算机系统并由第二计算机系统发送而加密由第一计算机系统存储的数据库中的条目的索引i,其中该索引i以ND基的混合基数表示并且数据库也具有ND基;由第二计算机系统使用加密的索引请求从第一计算机系统检索项;由第二计算机系统并从第一计算机系统接收对请求的响应,该响应包括加密的回答,该加密的回答包括一个或多个压缩的密文,与使用加密的索引请求的数据库中的条目对应;以及由第二计算机系统将一个或多个压缩的密文解密成对应的明文。
进一步的示例性实施例是一种计算机程序产品,包括计算机可读存储介质,该计算机可读存储介质具有实施在其中的程序指令,该程序指令可由设备执行以使该设备执行包括以下的操作:为了发送到第一计算机系统并由第二计算机系统发送而加密由第一计算机系统存储的数据库中的条目的索引i,其中该索引i以ND基的混合基数表示并且数据库也具有ND基;由第二计算机系统使用加密的索引请求从第一计算机系统检索项;由第二计算机系统并从第一计算机系统接收对请求的响应,该响应包括加密的回答,该加密的回答包括一个或多个压缩的密文,与使用加密的索引请求的数据库中的条目对应;以及由第二计算机系统将一个或多个压缩的密文解密成对应的明文。
附图说明
图1是示例性实施例中使用可压缩(F)HE在用户和服务器之间进行加密的通信的示例性方法的流程图;
图2是可以用在图1中的多个设备中的示例性计算机系统的框图;
图3是一种示例性构造中的矩阵的图示;以及
图4是使用可压缩(F)HE的示例性方法应用于PIR的流程图。
具体实施方式
可以在说明书和/或附图中找到的以下缩写定义如下:
AES 高级加密标准
AES-CTR AES计数器模式
CRT 中国余数定理
ctxt 密文
FFT 快速傅立叶变换
HE 同态加密
FHE 全同态加密
(F)HE HE或FHE
GSW (Craig)Gentry、(Amit)Sahai和(Brent)Waters
LWE 在错误中学习
MPC 多方计算
PKE 公钥加密
PIR 私有信息检索
RLWE 环LWE
(R)LWE LWE或RWLE
词语“示例性”在本文中用于表示“用作示例、实例或说明”。本文描述为“示例性”的任何实施例不一定被解释为比其它实施例优选或有利。本具体实施方式中描述的所有实施例都是为了使本领域技术人员能够做出或使用本发明而提供的示例性实施例,并不用于限制由权利要求限定的本发明的范围。
同态加密(HE)常常被视为在通信和计算方面都不切实际。这里提供了一种加性同态加密方案,该方案基于(例如,环)LWE,其具有近乎最优的速率(对于任何ε>0,1-ε)。而且,还描述了如何将许多Gentry-Sahai-Waters(GSW)密文(例如,可以来自同态评估的密文)压缩成(较少的)高速率密文。
使用示例性高速率HE方案,在具有非常低计算开销的示例性实施例中构建速率(4/9)单服务器私有信息检索(PIR)方案。单服务器PIR固有地要求服务器对每个数据库位执行至少一个操作。一个示例性PIR方案中的计算并不比这个固有的下界差多少,并且可能小于整个数据库AES加密-即,每个数据库字节大约1.5模q乘,其中q是长度大约50至60位的数字。渐近地,这个示例性PIR方案的计算开销是其中λ是安全性参数并且N是数据库文件的数量,假设它们都足够大。
(完全)同态加密((F)HE)的带宽效率可以有多高?虽然在几乎不损失带宽的情况下加密消息是容易的,但对于同态加密一般并非如此:当代HE方案中评估的密文往往比它们加密的明文大得多,至少是个显著的常数因子并且常常大得多。
除了对FHE带宽限制的基本理论兴趣之外,具有高速率的同态方案还有若干应用。也许最明显的是私有信息检索(PIR),其中带宽至关重要。虽然HE显然可以被用于实现PIR,但即使是迄今为止最好的PIR实施方式(诸如[1,5])也离能够支持大型数据库还很远,主要是因为当代HE方案的大扩展因子。另一个应用可以在Badrinarayanan等人的工作[9]中找到,他们表明了速率优于1/2的可压缩(加性)同态加密可以被用于高速率不经意传输,而后者进而可以被用于安全计算的上下文中的各种目的。在这项工作之前,高速率同态加密的唯一实例化是密码系统[31],但是,它(a)只是加性同态,(b)相当昂贵,并且(c)对量子计算机不安全。
在本文档中,这种情况得到了补救,使得设计出第一个可压缩的全同态加密方案,并示出如何使用该方案来获得高效的PIR。即,在示例性实施例中,描述了一种(F)HE方案,其评估的密文可以被公开压缩,直到它们与它们加密的明文尺寸大致相同,同时仍可解密。示例性可压缩方案可以采用同态评估的最终结果(具体而言,在GSW密码系统下[43]),并将其填充到矩阵加密矩阵密文中,其中聚合明文尺寸与聚合密文尺寸的比率对于任何ε可以是1-ε(假设聚合明文足够大,与1/ε3成比例)。压缩的密文不再是GSW密文。但是,它们仍然有足够的结构来允许加法同态,以及通过小标量的加密在左侧进行乘法,同时保持压缩。(值得注意的是,这些操作在一定程度上增加了密文的“噪声”。)就像GSW一样,示例性方案的安全性基于在错误中学习假设[71]或其环变体[62](例如,以及完全同态加密情况下的循环安全性假设)。
要注意的是,可压缩全同态加密容易产生端到端的速率高效FHE:新加密的密文在加密期间立即被压缩,然后在任何处理之前使用自举法“解压缩”,并且最终在解密之前再次压缩。结果产生的方案在任何时候都具有压缩的密文,只是在它们被处理的同时被临时扩展。还要注意的是,甚至可以使用混合加密,其中使用例如AES-CTR生成新的密文,并且在FHE下加密发送AES密钥。
关于对PIR的应用,下面描述对基本方案的许多示例性优化,从而产生具有低通信开销的单服务器私有信息检索方案,同时是计算高效的。渐近地,计算开销是其中λ是安全性参数并且N是数据库文件的数量,假设它们都足够大。
详细解释为什么估计这个示例性PIR方案不仅应当在理论上高效而且在实践中也应当快速。具体而言,可以获得速率4/9单服务器PIR方案,其中服务器的摊销工作对于数据库中的每个字节仅仅是1.5单精度模乘。作为比较点,发送整个数据库的平凡PIR解决方案将必须至少加密整个数据库(为了通信安全性),因此产生每16个数据库字节AES块加密的成本,这肯定比本文的示例性方案所做的工作更多。因此,与Sion-Carbunar[77]相反,PIR最终比平凡解决方案更高效,不仅在通信方面,而且在计算方面。
那些习惯于认为基于(R)LWE的同态加密不切实际的人会发现本文的PIR方案的低计算开销令人难以置信。但是,基于RLWE的HE-特别是本文描述的具有示例性适应的GSW方案-在PIR设置中确实大放异彩,原因有几个。首先,GSW密文中的噪声仅随着从左侧相乘的消息在{0,1}中时的度数加性增加。(接收者的GSW密文将对其目标索引的位进行加密。)而且,即使显然需要对具有N个文件的数据库执行Ω(N)密文操作,也可以确保噪声仅与log N成比例地增长(因此其位尺寸仅随着loglog N增长)。小噪声增长允许示例性PIR方案使用小的RLWE模数q,不会比在基于RLWE的基本PKE方案中使用的模数大很多。第三,可以利用针对单服务器PIR[58,79]的经典方法的递归/分层本质来隐藏基于RLWE的同态评估的更昂贵步骤,即,多项式FFT(以及不太重要的CRT提升)。在PIR的经典分层方法中,计算上占主导地位的步骤是第一步,其中在示例性实施例中,有效数据库尺寸从N=N1×L×Nd下投影到N/N1。为了最大化这个第一步的效率,还可以对数据库的多项式进行预处理,使它们已经在评估表示中,从而避免多项式FFT并允许使用小常数数量的模q乘法将数据库的每个(log q)位块“吸收”到加密的查询中。例如,在第一步中,服务器从客户端的log N1个密文中生成N1个密文,其中包括FFT,但是当N1=N时它们的摊销成本是不显著的。因此,第一步的计算开销可以归结为只是乘以整数模q的开销,其中q可以非常小。通过使q作为素数的乘积并使用CRT表示,可以使乘法模q渐近地更快,并且乘法模素数除数可以利用表查找进一步加速。在PIR的第一步之后,GSW式的同态评估要求在多项式的系数和评估表示之间进行转换,但这不会显著影响这个示例性PIR方案的开销,因为有效的数据库已经小得多(最多N/N1),其中取
关于密文压缩,密文压缩在公钥设置中一直具有明显的吸引力(甚至有时在对称密钥上下文中,例如,[57])。最著名的密文压缩技术可能是混合加密:(长)消息在对称加密方案下被加密,并且只有对称解密密钥在公钥方案下被加密。密文压缩的其它示例是仅使用椭圆曲线点的x坐标[11,34],并将Rabin密文压缩成具有基于因子分解n的安全性的(2/3)logn位(假设消息的熵少于2/3logn位)[44]。
Rivest、Adleman和Dertouzos[73]在公钥密码学[32,72]发明后不久就提出了同态加密的概念。Gentry[45]构建了第一个合理安全的全同态加密(FHE)方案(允许在加密时对数据进行任意计算),并且现在有具有更好的性能和安全保证的FHE方案[80,78,42,16,27,15,18,39,38,40,61,21,12,63,14,37,43,3,4,50,48,68,74,26,17,49,33,36,23,6,81,82,28,54,46,24,19,10,22,65,20,56,29]。
在提高FHE和其它基于(R)LWE的密码系统的速率方面也有很多工作。一些重要的示例是降维和降模[16,15],通过它可以将密文变换成系数降低更小模数的低维向量,从而使密文更小,并且也降低了其解密的复杂性。(有关这个方向的附加工作,参见[75]。)另一个重要方向是“密文打包”[70,78,15,14],其中每个密文加密不是一个而是明文元素的数组。事实上,不仅可以减小整个FHE计算的速率,而且可以减少开销,有时只是安全性参数的多对数函数[39]。而且,一些FHE方案甚至允许明文是矩阵[70,14,52,35]。
在HE[45,41,66]的上下文中甚至有关于混合加密的工作:在AES下加密的数据可以使用HE方案下的AES密钥加密被同态解密,之后可以在加密的同时操作数据。但是,另一个方向是不可能的(据所知)。如果不使用秘密密钥,就无法将HE密文变换成同一消息的AES密文。一些先前的工作包括“后评估”密文压缩技术,诸如van Dijk等人的针对基于整数的HE的工作[80],以及Hohenberger等人的针对基于属性的加密的工作[47]。但是,那里实现的速率仍然低,并且实际上在这项工作之前没有任何方案能够突破速率1/2的障碍。(因此,例如,没有基于LWE的方案可以被用于Badrinarayanan等人的高速OT应用[9]。)
关于具体如那个论文中所述的van Dijk等人[80]方案,该方案仅对每个密文加密1位。因此,如果密文仅与RSA模数一样大,比如1024位,那么密文比明文长1024倍。一般而言,为了获得良好的安全性,密文需要超过100位,因此对每个密文仅安全加密1位的任何方案将具有<1/100的速率。
更详细的解释如下。van Dijk等人的方案可以被调整为一次加密多于1位,但仍不清楚如何获得非常好的速率。为了理解这一点,更多关于van Dijk的背景知识是必要的。秘密密钥是某个大整数p,并且加密数字x模n(即,{0,1,…,n-1}中的数字)的密文形式为c=q1*p+q2*n+x,其中选择数字q2和n,以便q2*n+x的量值远小于p。解密是x=(c mod p)mod n,其中(c mod p)将值减小到{0,...,p-1}范围内,并且mod n将结果减小到{0,...,n-1}内。密文c通常比p多许多位,而p通常比明文多许多位,明文是{0,...,n-1}中的数字。
密文压缩技术计算gc mod N,使得乘法组模N具有阶数M(<N),其中M可被p整除。基本上采用gc会保留(c mod p)的值并丢弃有关p的其它信息。因此,初始c比p多得多的问题在一定程度上得到了缓解。
但是,p仍然需要比n(明文空间)多许多位,并且上面的数字N需要比p多许多位(但是N不需要和原始c一样多位)。p需要比n多许多位的原因是通常的同态加密问题:同态运算会增加噪声的尺寸,这里的噪声尺寸是(c mod p)的量值。即使一次乘法也会使这个量值的位数加倍,但这个量值仍小于p以允许正确解密。这意味着n的位比p少很多倍。数字N的位至少需要是p的四倍,否则可能会对N进行因式分解,这会破坏系统。总的来说,压缩的密文(其是模N的数字)比mod-n明文空间有更多位。因此,van Dijk方案没有提供接近本文描述的可能速率的任何地方。
已知速率优于1/2的具有同态特性的唯一先前密码系统是由于和Jurik[31]。他们描述了Paillier密码系统[69]的扩展,它允许用加性同态进行速率(1-o(1))加密:特别地,可以在用于RSA模数N和任意指数s≥1的模Ns+1密文内部对模Ns明文进行加密。
关于私有信息检索(PIR),在Chor等人的工作中引入了PIR[25]。在这个设置中,客户端可以从数据库获得第N位(或文件),同时保持其目标索引i∈[N]对(一个或多个)服务器隐藏,所有服务器的总通信次线性在N中。(次线性通信要求排除了平凡协议,其中服务器将整个数据库传输到客户端。)Chor等人提供了具有多个服务器的结构,后来Kushilevitz和Ostrovsky[58]表明,即使在计算假设下使用单个服务器,PIR也是可能的。Kushilevitz和Ostrovsky描述了用于N=N1×…Nd位的数据库的递归PIR构造,其中在第一步中将PIR方案并行应用于数据库的N/N1元素切片,然后将PIR应用于N/N1个PIR响应的“新数据库”,等等。Stern[79]用其它加性同态加密方案改进了构造。Kiayias等人[55](还参见[60])基于[31]给出了第一个具有速率(1-o(1))的单服务器PIR方案。如[55,1,60]中所述,最大化速率对于PIR的现代应用至关重要,因为个别文件可能如此巨大-想想从数千部电影中流传输千兆位电影文件。但是,的计算成本太高,无法在实践中用于大规模PIR[77,67]。在最低限度,使用的PIR要求服务器计算数据库的每个位的模N乘法,其中N有2048位或更多位。嵌套解密也非常昂贵。论文[55,60]明确呼吁使用底层加密方案来取代以降低其速率最优PIR方案的计算成本。应当注意的是,示例性的基于矩阵的GSW版本确实允许嵌套,其中明文递归地成为下一级的密文,就像在的PIR方法中一样。因此,本文的示例性方案可以被用作替代以提高其方案的效率。但是,事实证明,避免嵌套并使用GSW的自然同态更高效。
在任何单服务器PIR协议中,服务器的计算必须至少为N;否则,服务器将知道服务器在构造其响应时未触及的位与查询无关(从而破坏隐私)。PIR的这个“问题”是如此的基本,即使对于多服务器协议,Boyle等人[13]也发现“PIR困难度(hardness)”是将多方计算(MPC)问题拆分为可以具有次线性计算协议的问题和不能具有次线性计算协议(因为这种协议将暗示具有次线性计算的PIR)的有用方法。鉴于许多MPC问题是PIR难的,因此最小化PIR的计算开销变得至关重要。在计算方面,最先进的PIR方案是Aguilar-Melchor等人的XPIR[1],在Angel等人的SealPIR工作中进一步优化[5]。这个方案基于RLWE并且特征是许多巧妙的优化,包括将数据库预处理成评估表示,但速率随递归深度呈指数下降(每个级别损失五倍或更多),并且级别太少,客户的工作变高。事实上,Angel等人评论说,即使进行了优化,“支持大型数据库仍然遥不可及。”
在高级别,本文的示例性可压缩方案结合了两种密码系统:一种是低速率(未压缩)FHE方案,它是GSW[43]的轻微变体,另一种是针对矩阵的新的高速率(压缩)加性同态方案,有点类似于Hiromasa等人的矩阵同态加密[52]。使本文的示例性方案可压缩的原因在于,这两个密码系统“很好用”,因为它们共享相同的秘密密钥,并且可以将许多GSW密文打包在单个压缩的密文中。
除了如[70]中所做的那样矩阵被用作密钥而不是向量之外,低速率方案几乎与GSW完全相同。即,示例性秘密密钥是形式为S=[S′|I]的矩阵,并且公钥是满足S×P=E(mod q)的伪随机矩阵P,其中q是LWE模数并且E是低范数矩阵。就像在GSW中一样,低速率密码系统加密小标量(通常只是位σ∈{0,1}),密文是矩阵C,并且解密不变量是SC=σSG+E(mod q)(G是Micciancio-Peikert小工具矩阵[64]并且E是低范数矩阵)。
本文的示例性高速率方案在单个密文矩阵中对整个矩阵模q进行加密,其维度仅略大于明文矩阵。引入的新的技术成分是不同的小工具矩阵,它被称为H:就像GSW中的小工具矩阵G一样,这个示例性H为密文增加了冗余性,并且H具有“公共陷门”,其使得可以在解密时移除噪声。不同之处在于H是近似方阵,因此几乎没有扩展,从而使得能够实现高速率密文。更详细地说,G具有维度n×m,其中m=nlog q。例如,如果q=260,那么m比n大60倍。另一方面,H通常只比行多一列。应当注意的是,几乎矩形的H不会增加太多冗余性,因此不能有高质量的陷门。因此,它采用只能移除少量噪声的低质量陷门。
示例性方案中从明文到密文的维度的略微增加分为两个步骤。首先,特殊形式的秘密密钥被用于用一些附加的零行“填充”明文矩阵M,设置使得得到SM′=M。(Hiromasa等人在[52]中出于相同的目的使用了相同的特殊形式。)其次,通过将右侧的这个矩阵乘以小工具矩阵H来向M增加冗余性,以便使得能够在解密期间移除少量噪声。如已知的,对于同态运算,噪声增加,诸如密文的加法以及尤其是乘法。压缩的密文的解密不变量是SC=M′H+E(mod q)。为了获得高速率压缩的密文,示例性实施例确保从明文到密文的维度增加尽可能小。对于n0×n0明文矩阵M,需要添加与LWE秘密的维度(由k表示)一样多的零行。表示n1=n0+k,填充的矩阵M′具有维度n1×n0。通过在右侧乘以一个维度为n0×n2的矩形小工具矩阵H,进一步增加冗余性。密文的最终维度是n1×n2,因此压缩的密文的信息率是
现在示出如何使用尺寸的模数q来编排各种参数,以便可以对于任何期望的ε>0得到这意味着有可能支持任何常数ε>0,假设LWE的困难度具有多项式间隙,或者如果假设LWE的困难度具有次指数间隙,那么甚至可以支持多项式小ε。下面提供了更多细节。
应该注意的是,代替使用新的小工具矩阵H,可以使用用于足够大的整数f(例如,f>1)的解密不变量SC=f·M′+E(mod q)将冗余性添加到密文。这个变体(如下所述)与使用H的变体具有相同的渐近行为,但其具体效率似乎有些差,但仍然可用。
作为附加的概述,下面当描述可压缩FHE时描述的处理一般(1)以低速率(未压缩)密文对数据进行加密,并对加密的数据进行计算,然后(2)将结果压缩成高速率(压缩)密文,最后(3)解密以恢复结果。要注意的是,在讨论下面的压缩(F)HE方案时,使用了如“向明文添加冗余性”之类的短语,这听起来好像明文正在以某种方式被处理,例如,可能直接将明文加密成高速密文。虽然确实有可能将明文直接加密成压缩的密文(并且下面甚至解释了如何做到这一点),但下面描述中的主要要点使用不同的技术。特别地,两个公式SC=M′H+E(mod q)(在上文和下文中描述为第一变体)和SC=f·M′+E(mod q)(在上文中描述为另一个变体)描述解密处理。第一个将密文C乘以秘密密钥S,从而得到或者M′H+E(mod q)或者f·M′+E(mod q)。项E是需要消除的一些噪声,为此可以使用M′H(或f·M′)具有一些冗余的事实。因此,下面的主要要点使用上述处理(1)-(3),其结合刚刚描述的解密处理。
到目前为止的想法足以获得渐近高效的方案,并且它们在下面进行描述。但是,可以使用许多更具体的技巧来获得实际效率。具体而言,示例性实施例可以将RLWE而不是LWE用于底层方案,预处理数据库以保存FFT,并应用模数切换技术以获得更好的噪声管理,这些技巧都在下面描述。但是,在呈现这些想法中的任何一个之前,在本文档的下一部分中提供示例性方法和系统的概述,然后描述附加背景。
参考图1,这个图是示例性实施例中用于在客户端和服务器之间使用可压缩(F)HE方案进行加密的通信的示例性方法的流程图。这个方法不包括PIR,但包括PIR的基本块。PIR将在后面描述。客户端110采取的动作(例如,在用户的控制下)在左侧示出,而服务器170采取的动作(例如,作为服务提供者的操作的一部分)在右侧示出。
如下文更详细描述的,存在包括以下过程的可压缩(F)HE方案70,下面更详细地描述:KeyGen,密钥生成过程;Encrypt,对明文进行同态加密;Evaluate,使用电路对密文进行同态评估;Compress,对经过同态求值的密文进行压缩;以及Decrypt,执行压缩的密文的解密。这个方案可以用在图1中的多个位置,如下所述。
在方框10中,客户端110向服务器170发送公钥(pk),并且服务器170在方框20中接收公钥。在方框30中,客户端110使用其(F)HE加密方案70的(例如,公共或私有)密钥加密数据,特别包括使用小工具矩阵或其变体,如下所述。客户端110在方框40中将加密的数据(例如,作为密文)发送到服务器,服务器在方框50中接收加密的数据。服务器170将这个数据作为密文存储在数据库20中。还要注意的是,在一些实施例中,数据库28可以包含混合的明文和密文-或者甚至只是明文-而不是仅仅密文。关于数据库28中的明文,可以使用如下所述的加密的查询,然后甚至可以使用纯明文数据库。
在某一时刻,客户端生成(参见方框55)例如对存储在服务器处的信息的加密的请求和查询,其中请求和查询可以经由(F)HE方案70被加密。查询可以被实现为电路。方框55指示客户端110向服务器170发送请求和查询(例如,电路),服务器170在方框60中接收相同的请求和查询。原则上,要对加密的数据进行评估的电路也可以来自任何地方。例如,用于FHE的一种场景是客户加密其财务数据并将加密数据发送到在线税务文档准备公司(该公司将加密的数据存储在数据库28中),然后客户请求纳税义务的评估。这种情况下的请求只是告诉公司执行税务评估,并且可以不被加密。这个公司(使用服务器170)将其专有税表软件(例如,作为电路)应用于加密的财务数据以获得纳税义务的评估。在这种场景中,电路不是来自客户端。
另一个(替代的或附加的)选项是这个流程的开始部分不一定直接在客户端110和服务器170之间。例如,可以是某(例如,随机)一方或多方在客户端的公钥下对数据进行了加密,而这种信息最终在服务器端(连同客户端的公钥pk一起)被收集到数据库28。稍后,客户端110可以生成并向服务器发送(方框55)请求-例如,达到(使用电路)“将你在我的密钥下加密的包含某个关键字的所有文件发送给我”的效果-并且服务器可以响应这个请求。实际上,协调是自动发生的(因为所需的全部就是客户端110和服务器170就所使用的密钥达成一致)。
服务器170在方框65中执行存储在数据库28中的密文的计算(例如,由电路部分地定义)。此时,服务器170已经产生对查询的作为密文的回答。在典型的(F)HE场景中,结果得到的密文可以非常大。但是,在本文使用(F)HE加密方案70通过压缩密文显著减小了密文的尺寸。因此,方框65涉及服务器压缩密文以创建压缩的密文。
在方框70中,服务器170形成包括与请求和查询对应的压缩的密文的消息。服务器还发送包括对查询的回答的压缩的密文的消息(或多个消息)。客户端110在方框80中接收压缩的密文70的消息并在方框90中对压缩的密文70进行解密以获得明文,例如,使用(F)HE加密方案70。如已知的,客户端110可以对明文执行一个或多个操作。
虽然本文的方案中涉及的计算机系统被称为客户端110和服务器170,但是这些计算机系统之间不需要存在客户端/服务器关系。例如,可以存在对等关系。
转向图2,这个图是可以在来自图1的多个设备中使用的示例性计算机系统的框图。计算机系统210包括通过一个或多个总线227互连的一个或多个处理器220、一个或多个存储器225、一个或多个收发器230、一个或多个网络(N/W)接口((一个或多个)I/F)245和用户接口电路系统265。一个或多个收发器230中的每一个包括接收器Rx 232和发送器Tx233。用户201可以与用户接口元件205交互。收发器可以使用任何适用的协议,诸如无线保真(Wi-Fi)、蓝牙、近场通信(NFC)和/或蜂窝协议(诸如4G(第四代)或5G(第五代))。一个或多个总线227可以是地址、数据和/或控制总线,并且可以包括任何互连机制,诸如主板或集成电路上的一系列线路、光纤或其它光通信装备等。一个或多个收发器230连接到一个或多个天线228。一个或多个存储器225包括计算机程序代码223。
计算机系统210包括控制模块240,其包括部分240-1和/或240-2之一或两者。控制模块240使计算机系统210执行本文由各个设备执行的上述操作。控制模块240可以以多种方式实现。控制模块240可以在硬件中被实现为控制模块240-1,诸如被实现为一个或多个处理器220的一部分。控制模块240-1也可以被实现为集成电路或通过其它硬件(诸如可编程门阵列)实现。在另一个示例中,控制模块240可以被实现为控制模块240-2,其被实现为计算机程序代码223并且由一个或多个处理器220执行。例如,一个或多个存储器225和计算机程序代码223可以被配置为利用一个或多个处理器220使用户计算机系统210执行如本文描述的一个或多个操作。还应当注意的是,用户计算机系统210中所示的设备不是限制性的并且可以使用其它、不同或更少的设备。例如,如果代替地仅使用经由一个或多个收发器230的无线联网,那么可能不需要有线N/W IF 225。
可以或可以不实现的用户接口电路系统265与可以与用户计算机系统210形成一体和/或在用户计算机系统210之外而是耦合到用户计算机系统210的一个或多个用户接口元件205通信。用户接口元件205包括以下一个或多个:一个或多个相机;一个或多个音频设备(诸如(一个或多个)麦克风、(一个或多个)扬声器等);一个或多个传感器(诸如(一个或多个)GPS传感器、(一个或多个)指纹传感器、(一个或多个)朝向传感器等);一个或多个显示器;和/或一个或多个键盘。这个列表不是详尽的或限制性的,并且可以使用其它的、不同的或更少的元件。用户201(例如,使用客户端110)可以与用户接口元件205交互并且使对应的计算机系统210采取动作。例如,客户端110可以部分地在用户201的控制下例如从银行请求信息,并且银行控制服务器170,可能无需与对应用户201交互。
就图2中针对不同设备的示例性实施方式而言,控制模块240可以被实现为对应设备的计算机系统210的以下之一:客户端110中的(完全)同态加密和通信(例如,和PIR)应用112;或服务器170中的(完全)同态加密和通信(例如,和PIR)应用172。
此外,计算机系统210可以在云中并且由处理器220和存储器225形成,作为指派给例如服务器170的资源。计算机系统210可以是诸如智能电话、平板计算机或个人计算机之类的设备,例如,用于客户端110的用户201。
现在已经描述了示例性方法和系统的概述,现在描述一些附加的背景。关于(环)在错误中学习(LWE),GSW密码系统[43]的安全性基于决策(环)在错误中学习(R)LWE问题[71,62]的困难度。LWE使用整数的环R=Z,而RLWE通常使用循环域的整数的环R。对于模数q、维度k和R上的噪声分布χ,这个问题的“是”实例由许多均匀的以及值组成,其中是固定秘密向量并且ei←χ。在“否”实例中,和bi都是均匀的。决策(R)LWE假设是两个分布在计算上是不可区分的-即,“是”实例是伪随机的。通常,χ使得对于安全性参数λ中具有压倒性概率的某个尺寸限制α有PeiP∞<α。安全性参数也在下方界定环尺寸和/或维度k,以及比率α/q。虽然基于RLWE的方案更高效,但在本文档的这一部分的其余部分中参考LWE。
关于具有矩阵秘密的LWE,LWE实例可以(更一般地)与秘密矩阵S′相关联,并且可以经由混合论证证明破解LWE的矩阵版本与破解常规LWE一样困难。在这个版本中,“是”实例由均匀矩阵A和B=S′A+E组成。让我们向这些矩阵给出维度:S′是n0×k,A是k×m,B和E是n0×m。对于在一个示例性构造中这些矩阵的说明,参见图3。设置n1=n0+k。设置和P作为矩阵-A在B之上。于是SP=E mod q。LWE假设(矩阵版本)说这个P是伪随机的。在GSW(针对矩阵泛化)中,P被设置为公钥。
关于图3,对于一些小的ε>0具有n1=n0+k≈n2=n0(1+ε/2)和m=n1 log q。因此,n0≈2k/ε。而且,为了使用小工具矩阵H正确解密有误差E的密文,PEP∞<qε/2是所需的。还要注意以下几点:是“非常冗余的”标量;是“稍微冗余的”矩阵;C=σG+R* mod q是GSW密文(ctxt);而C*=M*+R* mod q是压缩的密文(ctxt)。
关于小工具矩阵,GSW使用矩形小工具矩阵[64],以向密文添加冗余性(其被用于同态乘法和解密两者)。G常常被设置为其中是向量-即,和G的行由向量的移位组成。正如文献中常见的那样,该符号G-1(C)被用于表示具有小系数的矩阵,使得G·(G-1(C))=C。当G使用时,可以高效地找到合适的G-1(C),其系数在{0,1}中。存在规范G-1(0),其条目在{0,1}中并且在R上满秩。可以将计算G-1(C)视为首先找到使得G·Y=C的任何Y,然后通过减去接近Y并在由G-1(0)中的向量生成的点阵中的Y′来使Y更小。更一般地,对于G-1(C)具有在[±B/2]中的系数。如果C有维度n1×c,那么G-1(C)有维度m×c。
S·C=S·M′·G+S·P·X=M·S·G+E′,
其中E′=E·X具有小系数。假设E′具有由适当β界定的系数,那么E′·G-1(0)将具有太小而无法包裹模q的条目,从而允许解密器恢复E′(因为G-1(0)在关联到R的分数域上是满秩和可逆的)并因此恢复M·S·G。由于S·G具有秩n0(实际上它包含作为子矩阵的),因此解密器可以获得M和σ。据说如果用于E的S·C=M·S·G+E由β界定,那么C GSW加密M。
如果M不是标量矩阵,那么不清楚如何获得M的GSW加密。如果候选密文和以前一样是C=M′·G+P·X,那么M′需要满足S·M′=M·S。当M是标量矩阵时,容易找到这种M′:M是具有相同标量但维度更大的标量矩阵。但是,当M不是标量矩阵,找到这种M′似乎要求知道S。Hiromasa等人[52]示出了如何在假设LWE和循环安全性假设的情况下获得加密非标量矩阵的GSW的版本:矩阵加密步骤需要对秘密密钥进行加密。在示例性实施例中,加密步骤依赖于LWE(无循环加密),因此GSW密文将仅加密标量。
关于GSW中的同态运算,假定分别有GSW加密M1和M2的C1和C2。然后显然C1+C2 GSW加密M1+M2,前提是误差的总和保持β界定。对于乘法,设置C×=C1·G-1(C2)mod q。结果如下:
S·C×=(M1·S·G+E1)·G-1(C2)=M1·M2·S·G+M1·E2+E1·G-1(C2).
因此,C×GSW加密M1·M2,前提是新误差E′=M1·E2+E1·G-1(C2)保持β界定。在新误差中,项E1·G-1(C2)仅比原始误差E1略大,因为G-1(C2)具有小系数。为了保持项M1·E2小,有两种策略。首先,如果M1与小的标量-例如,0或1-对应,那么这一项就和C2内的原始误差一样小。其次,如果E2=0,那么这一项甚至不会出现。例如,如果想要同态乘以常数σ2∈Rq,那么可以只设置C2=σ2·G(没有任何P·X),并按上述方式计算C×。C1内的明文将乘以σ2,并且新的误差将不依赖于或者σ1或者σ2,因此在Rq中可以是任意的。
关于GSW密文的部分压缩,在许多位密文可以被压缩成对R中的更大标量进行加密(不增加太多噪声)的单个密文的意义上,GSW已经支持密文的部分压缩(相对而言,压缩的密文比本文实现的压缩的密文大很多)。作为简单的示例,考虑基于LWE的GSW的情况(其中R=Z),并让是对位进行加密的GSW密文。为了压缩,只需设置即,使用上述乘以常数的过程(这不会显著增加噪声),Ci乘以标量2i,然后将结果相加。很清楚,C对标量x=∑i2iσi mod q进行加密。只要一旦被解密,就可以从x的二进制表示中读取位σi。
这推广到其它环R,只要可以将标量x∈R以二进制编码为x=∑iσiri即可(其中ri∈R是独立于x的固定基,并且σi是“x的位”),并且在解密后从x恢复σi。例如对于R=Zq[X]/F(X),可以使用基础元素2jXk,其中并且k=0,1,...deg(F)-1。
但是,要注意的是,这仅部分地压缩了GSW密文:明文/密文比率最多保持在1/n1m。为了保持噪声小,GSW密文通常对位进行加密。粗略地说,对于某个上限L,可以将对位进行加密的l≤L个GSW密文压缩成对σ∈Rq进行加密的单个密文C,其二进制表示是对于这种二进制表示,要求有元素r1,...,rL∈Rq使得由ρ(σ1,...,σL)=∑σi·ri给出的映射ρ:{0,1}L→Rq是单射的,并且可以高效地计算ρ的原像。例如,如果R=Z,那么可以将ri简单地设置为2i-1,其中(如果R是多项式环,那么二进制表示稍微复杂一些。)为了压缩,只需设置C=∑iCi·G-1(ri·G)mod q。换句话说,可以使用上述乘以常数的过程(这不会显著增加噪声)通过ri来乘以Ci的明文,然后将结果相加。解密的工作原理是恢复加密的Rq的元素,然后提取其(唯一的)二进制表示。但是,这只是部分地压缩了GSW密文:明文/密文比率最多保持在1/n1m。
关于可压缩同态加密,本主题通过定义可压缩(完全)同态加密的概念开始,然后描述如何实现基于LWE的同态加密(如果想要获得FHE,还有循环安全性)。
在定义方面,可压缩(F)HE与标准(F)HE非常相似,不同之处在于坚持将解密分解成首先压缩然后“压缩的解密”。在此,定义仅针对位的1跳完全同态加密的简单情况呈现,但相同类型的定义同样适用于多跳、不同的明文空间和/或部分同态。(有关所有这些变化的详细处理,参见[51]。)
定义1。可压缩的全同态加密方案(例如,图1中的方案25)包括五个过程(KeyGen,Encrypt,Evaluate,Compress,Decrypt):
1)(s,pk)←KeyGen(1λ)。获取安全性参数λ并输出秘密/公共密钥对。
2)c←Encrypt(pk,b)。给定公钥和明文位,输出低速率密文。
注意的是,前缀是允许的,因为Decrypt的输出可以长于Π的输出长度。
关于小工具矩阵H,示例性构造的一个变体中的新技术组件是“近似方形”的小工具矩阵。首先考虑为什么GSW中使用的通常的Micciancio-Peikert小工具矩阵[64]不能给我们高速率。如果(如上面所讨论的,并且与[52]相似)对于的加密具有形式C=M′·G+P·X,那么该比率最多只能是n0/m,因为C的列数是M的列数的m/n0倍。这个比率低于用于通常G的1/log q。
当然,可以使用其中对于B>2有并且G-1(C)仍然最多具有B/2的量值的系数。但这最好可以产生比率为1/2的方案(对于),仅仅是因为非平凡的必须具有至少为2的维度。为了实现不能接近1的速率,有可能用“近似平方”的矩阵代替G。从G所需的特性是存在已知矩阵F=G-1(0)∈Rm×m,使得:
1.F有小条目(=q)
2.G·F=0 mod q
3.F在R上满秩(但当然没有在Rq上,因为它是G的内核)。
在示例性设置中,期望新的小工具矩阵(称为H而不是G以避免混淆)具有几乎满秩的模q(因此它是“接近方形的”),因此期望F=H-1(0)具有非常低的秩模q。一旦存在具有在R上满秩但非常低的秩模q的低范数矩阵F,就简单地将H设置为F的模q内核的基础。
为简单起见,假定对一些整数p,t具有q=pt-1。可以生成矩阵F′,具有“稍微小的”系数,它在实数上具有完整的秩,但将秩一模q为:
这个F′可以在示例性实施例中用于通过用r×r本体矩阵(identity matrix)对F′进行张量化来生成在实数上具有秩r·t但是秩r模q(对于任何r)的矩阵F。这产生了与上述l∞范数完全相同的界限。小工具矩阵H是r(t-1)×rt矩阵,其行跨越F模q的空空间(任何此类矩阵都可以)。因此,对于这个示例性方案,设置n0=r(t-1)和
在下面的压缩的密文的解密中,使用“稍微小的”F=H-1(0)。具体而言,给定带有的矩阵Z=MH+E(mod q),首先将其乘以F模q以得到ZF=(MH+E)F=EF(mod q)(因为HF=0(mod q))。但是
并且因此在整数上(ZF mod q)=EF。现在使用在实数上F具有满秩的事实,并恢复E:=(ZF mod q)×F-1。然后计算Z-E=MH(mod q),并且由于H有秩n0模q,因此可以从MH中恢复M。因此,为了确保当解密压缩的密文时的正确性,使用压缩的密文中关于噪声尺寸的界限就足够了。
限制q=pt-1并不是真正必要的;许多变体都是可能的。以下相当粗略的方法适用于任何可能遇到的q的情况。考虑向量模q的倍数的点阵L,其中让F′的行对于i∈[t]成为L向量其中很清楚,F′有秩1模q。(省略了F′在整数上满秩的证明。)在本文中,声称F′的所有条目都小。考虑的第j个系数,对于i∈[t]、j∈{0,...,t-1}它是如果i>j,那么在量值上以q/ai-j+aj≤q/a+at-1≤2at-1为界。对于j≥i的情况,观察到是[q,q+ai]中的整数,因此至多是ai模q。因此至多是aj≤at-1模q。只要q≥tt,就有at-1≤(q1/t·(1+1/t))t-1<q(t-1)/t·e-即,PF′P∞几乎和使用q=pt-1时一样小。如上面所看到的,无论如何q都需要超过βt,其中β是关于密文的噪声的界限,因此可能已经满足q>tt的条件。
如果对于互质的pi有q=p1…pt,那么可以从向量模q的倍数的点阵L中得出F′。具体而言,让F′的第i行是(0,...,0,q/pi,0,...,0)。这个F′很清楚是满秩的,并且当pi尺寸大致相同时具有与q(t-1)/t可比的条目。
现在详细阐述包括示例性可压缩的同态加密方案(诸如高速率HE方案和压缩技术)的不同过程。
关于加密、解密和评估,小标量的加密和解密以及对它们的电路的评估可以与原始GSW方案完全一样地执行。即,通过选择具有小条目的矩阵X∈Rm×m来对标量σ∈R进行加密,然后输出密文C:=σG+PX(mod q)。
解密不变量是具有E=q的SC=σSG+E(mod q)。为了解密,设置Z:=S×Cmod q然后使用用于G的陷门来消除小噪声E并找到σ。
评估也与GSW中的相同,加法仅通过将密文矩阵模q相加来实现并且乘法被实现为C×:=C1×G-1(C2)mod q。示出这些操作维持解密不变性(只要加密的标量小即可)再次完全按照GSW中进行。
关于压缩的解密,回想一下压缩的密文是矩阵对明文矩阵进行加密。用于压缩的密文的解密不变量对于低范数矩阵是SC=MH+E(mod q),其中H是前面描述的近似方形的小工具矩阵。只要PEP∞<β,就可以通过使用陷门F=H-1(0)消除小噪声E并恢复矩阵M来完成解密。
关于压缩,现在示出如何将许多GSW位加密打包成单个压缩的密文。为方便起见,假设已经使用上述部分压缩技术将对位进行加密的(许多)GSW密文压缩成对Rq的元素进行加密的(更少的)密文。但是,要注意的是,如果整个压缩是一步完成的,而不是两步,那么最终压缩的密文的噪声级别会更低。它还假设原始GSW密文位于适合示例性压缩HE方案的密钥S下。如果没有,那么可以做“钥匙开关”来做到这一点。密钥切换[16,15,39]经由同态解密将消息从一个密钥转换成另一个密钥,但以不会降低噪声水平并且比自举法的计算成本低得多的“线性”方式。
将所有这些密文打包成单个压缩的密文,由Tu,v表示,条目(u,v)中为1且其它地方为0的方形n0×n0单例矩阵,即,(其中分别是位置u,v中为1的维度n0的单位向量)。而且由T′u,v表示,Tu,v的填充版本,顶部有k个零行,
要注意的是,上面的压缩的解密恢复矩阵M,然后可以读出σu,v,其是M的条目。
除了基本的可压缩HE接口之外,示例性方案还支持在PIR应用中派上用场的若干其它操作。下面描述这些操作。
关于表示为过程(ii)的过程,用于压缩的密文的加性同态,很清楚,压缩的密文可以相加并乘以小标量。事实上,如果M1,M2是Rq上的矩阵并且σ是小标量,并且如果对于i=1,2有SCi=Mi H+Ei,那么S(C1+C2)=(M1+M2)H+(E1+E2)并且S×σC1=σM1 H+σE1。只要(E1+E2)和σE1具有小于β的范数l∞,结果就分别对于M1+M2 mod q和σM1 mod q是有效压缩的密文。
关于表示为过程(iii)的过程,将GSW密文乘以压缩的密文,还可以将对小标量σ进行加密的GSW密文C乘以对Rq上的矩阵M进行加密的压缩的密文以得到对矩阵σMmod q进行加密的压缩的密文C″。这是通过设置C″:=C×G-1(C′)mod q完成的(并且要注意的是,G-1(C′)被良好地定义为具有n1行的C′)。为正确起见,请回想一下,在Rq上具有SC=σSG+E和SC′=MH+E′,因此
只要噪声E″=σE′+EG-1(C′)仍然小于界限β,这是σM mod q的有效压缩的加密。
关于表示为过程(iv)的过程,将GSW密文与明文矩阵相乘,让GSW密文与压缩的密文右乘的同样技术也让他们与明文矩阵右乘。事实上,如果是明文矩阵并且M’是它的填充版本那么稍微冗余的矩阵M*=M′×H可以被认为是无噪声密文(注意的是,S×M*=MH),因此可以乘以GSW密文,如上所述。唯一的区别是,在这种情况下,我们甚至可以使用GSW密文对大标量进行加密:“无噪声密文”M*具有E′=0,因此无论σ多大,上面的项σE′都不会出现在结果噪声项中。
下面描述在讨论示例性PIR应用时的大量进一步可能的优化和变化。一个示例性的主要优化是使用模数切换技术来处置更大的噪声。
关于设置参数,仍然示出如何设置各种参数-包括矩阵维度n0,n1,n2以及噪声界限α和β-作为安全性参数的函数。如果使用不带自举法的GSW的某种同态变体,那么界定评估的密文中的噪声的参数β将取决于期望被计算的函数。下面为示例性PIR应用提供一个这样的具体示例(具有完全指定的常数)。当使用GSW作为带自举法的全同态方案时,这里提供了参数的渐近分析。即,人们想对加密的数据(使用GSW FHE方案)具有长输出的任意函数进行评估,然后将结果产生的加密的位打包在保持可解密的压缩的密文中。
遵循[43,17],当使用具有尺寸为α的新密文噪声和维度为n1×m的密文矩阵的GSW时,可以执行任意计算,然后执行对结果进行自举,并且在自举之后的噪声被界定在αm2之下。将使用上述技术的部分压缩和来自等式(3)的进一步压缩统一到一个步骤中,具有个误差矩阵Eu,v,w的集合,都满足PEu,v,wP∞<αm2。因此压缩之后的误差项为∑u,v,wEu,v, wG-1(something),并且其尺寸由界定。因此,用界限实例化方案就足够了。由于需要β<qε/2/2,因此确定以下正确性约束:
设置α≤poly(k/ε),这意味着需要q=(k/ε)Θ(1/ε)。因此,方案的安全性依赖于具有间隙kΘ(1/ε)的LWE的困难度,并且特别是如果ε是常数,那么可以依赖具有多项式间隙的LWE。
要注意的是,有许多技术可以用于减缓噪声的增长。那些技术中的许多(例如,模数切换)在以下示例性PIR应用的上下文中进行描述。虽然它们不改变渐近行为-人们可能永远需要q=(k/ε)Θ(1/ε)-但它们可以极大地改善指数中的常数。
关于没有小工具矩阵H的变体,这里描述的是示例性方案的变体,它更类似于Regev加密,因为该变体不使用小工具矩阵H,而是依赖于按比例放大消息,因此消息比噪声大。具体而言,这个方案的特征是明文模数小于密文模数p<q。压缩的密文是向量其对明文向量进行加密,并且解密不变量对于低范数向量是具有界限β=q/2p,并且只要就可以经由恢复明文(就像针对Regev加密一样)。
除了当将位加密部分地压缩成标量加密时应当按「q/p」缩放之外,压缩GSW密文与上述类似。即,给定个对位b0,...,bl进行加密的GSW密文,上述技术可以被用于将它们部分地压缩成对加密的单个GSW密文。对于某个σ∈Zp,这产生对形式为「p/q」·σ的标量进行加密的GSW密文。给定n0个这样的对σi进行加密的密文Ci,通过设置来压缩它们,其中是以k个零为前缀的第i个单位向量。(即,结果是向量[σi]i的压缩的加密。
容易检查这个变体是否也享有压缩的密文的加性同态,以及将GSW右侧的密文乘以压缩的密文的能力(产生对乘积进行加密的压缩的密文)。
现在已经描述了用于(F)HE压缩的密文的一般方案,现在描述这些方案在私有信息检索(PIR)中的应用。PIR让客户端从服务器保持的数据库中检索条目,而无需服务器了解检索到什么条目。朴素解决方案是让服务器将其整个数据库发送到客户端,并且Chor等人[25]发起了对带宽高效解决方案的研究。PIR协议提供了减少带宽开销的方式(与不安全的解决方案相比),从而使其在数据库中的条目数量N上是次线性的。
众所周知,同态加密可以被用于那个目的:客户端可以对其想要的条目的索引进行加密,并且服务器可以执行查表函数的同态评估,从而返回加密的条目。这个解决方案让服务器返回单个加密的条目,因此带宽开销主要是同态方案的明文与密文比率,与条目的数量无关。但是,如果条目本身大(如在电影数据库中,每部电影都有几GB长),那么即使是这种独立于N的开销也会非常昂贵。有关更多讨论,参见[55,1,60]。很清楚,如果有可压缩的HE方案,那么这可以被用于使带宽开销任意接近一。
Kiayias等人描述了用于大型条目的第一个单服务器速率1PIR方案[55],使用加密方案[31],该方案支持明文到密文扩展比率任意接近一。但是只是加性同态,因此他们的解决方案变得更加复杂,依赖于用于分支程序的Ishai-Paskin同态构造[53](内部使用)。因此,示例性可压缩HE方案提供了用于获得速率1PIR的新途径,它依赖(量子安全的)LWE困难度而不是的第N个残留困难度假设。除了带宽,现实的PIR系统还必须担心计算效率。PIR方案必须为每个查询处理数据库中的所有位,并且大多数单服务器PIR方案对每个位应用相当昂贵的处理。特别地,[55]中的速率优化方案必须以至少每位一次乘法应用为RSA模数(至少2048位)取模。Sion和Carbunar的研究[77]强调了这一点,他们(在2007年)得出结论,“在最近的真实硬件上部署非平凡的单服务器PIR协议的时间效率会低几个数量级而不是平凡地传送整个数据库。”要注意的是,发送整个数据库在计算上不是免费的:它至少涉及为了通信安全性的目的而对整个数据库进行加密。尽管如此,在Sion-Carbunar研究之后的十多年里,在即时工作之前,没有可以在计算方面与平凡方案竞争的单服务器PIR方案。下面,针对示例性方案描述一系列优化,从而产生不仅带宽高效,而且还应当优于整个数据库AES加密的构造。
关于转向示例性优化的PIR方案,起点是基本分层PIR,其中N个数据库条目布置在维度为N=N1×…×ND的超立方体中,并且该方案使用度d同态:
1)客户端的索引i∈[N]以基N1,...,ND的混合基数表示,即,表示为(i1,...,iD),使得处理客户端的消息以获得所有ij的加密的一元表示。即,对于每一维j,得到加密的位的维Nj向量,其中第ij位是一并且所有其它位是零。
2)在处理第一维时,每个超行u∈[N1]乘以来自第一向量的第u个加密的位,这将除第i1个超行之外的所有行归零。要注意的是,第i个超行(比如,在第一维中)只是其中第一个索引是i的超立方体的切片。即,超立方体中索引为(i,*,*,…,*)形式的所有条目(其中*可以是任何东西)。类似地,第二维中的第i个超行是所有具有形式(*,i,*,…,*)的索引。然后将所有结果得到的加密的超行相加,从而得到较小的维度为N/N1=N2×...ND的超立方体,仅由数据库的第i1个超行组成。
3)继续使用类似的方式折叠其它维度,一次一个,直到剩下一个仅包含所选择的条目i的零维超立方体。
要注意的是,将数据库尺寸从N减小到N/N1的第一步(步骤(1))通常是最昂贵的,因为这个步骤处理的数据最多。另一方面,那个步骤只要求密文与明文乘法(相对于以下步骤中需要的密文与密文乘法),因此有时可以比其它步骤更好地优化这个步骤。
现在描述推导和优化的序列以获得示例性最终构造,从而产生计算效率也高的高速率PIR方案。该构造的特征在于带宽和计算之间的权衡。下面,用速率4/9描述变体。
关于使用环-LWE,像通常的LWE方案一样,可以通过切换到环(或模块)变体来提高性能,其中LWE秘密在大扩展域上具有低维度。这些变体不必操作大型矩阵,而是在相同的大型扩展域上操作低维矩阵,这需要更少的位来描述并且可以更快地相乘(使用FFT)。为了获得可比的安全性,如果基本LWE方案需要维度为k的LWE秘密,那么新方案将在度d的扩展域上具有维度k′秘密,使得k′d≥k。(对于环LWE,有k′=1和d=k。)该方案中的各种矩阵由扩展域元素组成,并且它们的维度是n′i=ni/d和m′=m/d(而不是分别是ni,m)。下面,符号n′i和m′用于强调RLWE上下文中的较小值。
关于节省FFT,可以使用并使示例性PIR方案更高效(对于大型数据库)的一种优化是预处理数据库以在处理期间最小化FFT的数量。当元素以评估(CRT)为基础被表示时,本方案的环-LWE变体中的运算包括底层域上的矩阵乘法,以及要求在系数(解码)基础上的表示的G-1(·)的应用。虽然可以使用FFT在准线性时间内完成两者之间的转换,但它仍然是实施方式中使用的最昂贵的运算。(对于示例性典型尺寸,在这些表示之间转换元素可能比将两个在CRT基础上表示的元素相乘慢10-20倍。)
如在XPIR工作[1]中那样,可以通过对数据库进行预处理、将其全部置于CRT表示中来大幅减少FFT的数量。以这种方式,只需要在处理客户端的消息时计算FFT以获得ij的加密的一元表示(与数据库中的条目的尺寸无关),然后在折叠第一维之后再次计算(因此FFT仅适用于加密N/N1个数据库条目的压缩的密文)。
如果将N1设置得足够大(相对于FFT开销),那么折叠第一维之后的FFT将被摊销并且变得无关紧要。另一方面,需要将N1设置得足够小(相对于N/N1和条目的长度L),因此初始FFT(其中有大约n′1·m′·N1)也将是无关紧要的。
在下面的描述中,以N1=28说明了各种参数,这似乎提供了良好的权衡。对于另一个Ni,(几乎)没有理由使它们变大,因此可以使用N2=N3=…=ND=4。要注意的是,对于下面的构造,可以使用多少个这样的小Ni(几乎)没有限制。下面说明了具有N=220个条目的数据库的示例性构造,但该构造可以处置大得多的数据库。(相同的参数适用于无穷大并且超过至少个条目。)
关于客户端侧加密,在PIR方案的上下文中,加密器是拥有解密密钥的客户端。因此,客户端可以通过为每个密文选择新的伪随机公钥Pi并设置Ci:=σiG+Pi mod q来使用秘密密钥创建密文。这导致密文的噪声稍小,即,只是低范数Ei(与从公钥加密的密文中获得的E×Xi相反)。
由于示例性PIR构造使用小维度N2=N3=…=4,因此客户端可以直接发送针对这些维度的加密的一元向量。即,对于每个j=2,3,...,客户端发送四个密文Cj,0,...,Cj,3,使得加密一而其它加密零。
但是,对于第一维,存在大的N1=28,因此客户端发送i1的位的加密并且GSW同态被用于计算这个维度的加密的一元向量。总体而言,客户端因此发送log N1+(N2+N3+…ND)个加密的位,在示例性说明的尺寸中,这归结为8+4×6=32个加密的位。
关于多个矩阵,示例性方案中的累积噪声具有形式为E×G-1(something)的许多项,但并非所有项都被创建为相等。特别地,当折叠第一个(大)维度N1时,评估GSW密文并且并且其中的噪声本身就是这些的总和。当这些GSW密文乘以明文矩阵时,得到E×G-1(something)×G-1(something'),它更大。另一方面,对于其它(小)维度,这些维度与新密文相乘,从而实现了更小的噪声。这种不平衡导致资源浪费。
而且,在客户端的位的初始处理期间乘以G-1(something)仅适用于少量数据。但是GSW矩阵和明文数据之间的乘法涉及数据库中的所有数据。因此后者要贵得多,并且尽可能地减少所涉及的矩阵的维度将是有益的。
出于所有这些原因,最好在计算的不同部分中使用不同的G矩阵。特别地,当最初处理客户端的位时可以使用非常宽和短的G矩阵(具有较小的范数G-1(0)),稍后可以使用更方形/更高范数的G矩阵。
对于模数切换,即使仔细平衡G矩阵,也不能使噪声像示例性压缩的方案所期望的噪声一样小。因此,可以使用[16,15]中的模数切换技术。即,计算是相对于大模数Q执行的,然后在将最终结果发送到客户端之前切换到较小的模数q,从而将噪声大致缩放q/Q。
示例性初始噪声分析表明,如果GSW G矩阵已被设置为非常宽和短,那么可以使用大致64位的模数q,因为使用宽且短矩阵会使噪声在整个计算过程中保持非常小。但这将需要大幅增加服务器的带宽、计算和存储。例如,服务器需要在CRT基础上存储所有明文矩阵G-1(M′),它比明文矩阵M本身大32倍以上。(而且没有发现允许在那种情况下实现优于1/3的速率的参数。)
更好的选择是使用显著更大的模数,至少在最初,然后使用模数切换以将其缩小到64位(或者甚至更小)。这让系统更能容忍噪声,从而改善许多参数。例如,通过使用Q≈q2.5,甚至可以用本体矩阵替换用于实际数据的G矩阵。即使这意味着使用两倍维度的LWE秘密并且必须写入两倍以上的数字,使用本体矩阵仍然会节省大的常数因子。而且,它允许使用更多的方阵(例如,2×3)从而获得更高的速率。
要注意的是,使用模数切换要求从误差分布中而不是均匀地选择秘密密钥。(而且以实现模数切换的一种方式,对于其中一些位,加密q′·σ而不是σ本身(其中Q=q′·q)。
现在呈现详细的PIR方案示例。这部分地结合图4呈现,图4是使用可压缩(F)HE并应用于PIR的示例性方法的流程图。对于这个示例,示例性构造在索引为213且维度为212的分圆环中进行,即,新的GSW密文的密文模数是复合的Q=q·q′,具有q≈246和q′≈260(两者都具有单位元素(unity)的原始单位的第212个根,因此容易执行FFT模q,q′)。在环模的下方,这三个模数由RQ,Rq,Rq′表示。
在这个示例中使用RQ上的环-LWE,特别是LWE秘密是从误差分布[7]中选择的RQ中的标量。(参考[2]中的表1,使用尺寸的模数Q高达111位的分圆环产生128位的安全性级别。)
对于这个示例中的示例性构造中的各种矩阵,使用维度k′=1、n′0=2和n′1=n′2=3,并且明文元素取自Rq。因此,可以实现的速率。但是,在处理期间,大多数密文将以较大的Q=q·q′取模,只有在发送到客户端之前,这些密文才会被向下模切换q到。上述构造与2x3矩阵H一起使用。
图4图示了在左侧由客户端110执行的可能操作和在右侧由服务器170执行的操作。在图4中,未示出图1中的协调操作,以便为这个示例建立和使用可压缩(F)HE方案。但是,所执行的一个设置操作由方框405示出,其中服务器170构建用户的个人信息的明文的加索引(例如,分层)数据库,例如,其中N个数据库条目在N维的超立方体中(例如,用ND基)。这个数据库28-1可以使用由客户端110或由其它提供者供应的用户201的个人信息来构建。下面的示例使用数据库28-1中的明文,但是数据库28-1可以存储来自用户201的密文(而不是明文)。
在一个示例中,在方框406中,服务器170构建与用户201相关联的尺寸为N的明文的数据库,并且在方框408中,服务器170将尺寸为N的数据库拆分为超立方体数据库。更详细地说,尺寸数据库被拆分成维度为N=256×4×4×...×4的超立方体。希望检索条目i∈[N]的客户端首先将i表示为(i1,i2,...,iD),对于所有j>1,ii∈[256]且ij∈[4]。在方框415中,客户端110对客户端想要的数据库的条目的索引i进行加密,例如,以ND基的混合基数表示的索引i。这使用加密过程。更详细地,令σ1,0,...σ1,7是i1的位,客户端110然后加密GSW密文(模Q)中的标量q′·σ1,0和σ1,1,...,σ1,7。对于j=2,...,D,客户端使用GSW密文对单位向量的位进行加密,该单位向量在位置ij处为1并且在其它位置处为0。在这个示例中,三个不同的小工具矩阵被用于这些GSW密文:
在方框420中,客户端110将所有这些密文发送到服务器,作为使用加密的索引从服务器检索项的请求的一部分。i1的位的加密由用于加密LSB的9个元素和用于加密其它七个位的7·3·159=3381个元素组成。在方框425中,服务器接收请求。在方框430中,服务器170处理客户端的消息以获得(例如,D个)索引元素的一元表示,例如,(i1,…,iD)。注意的是,这可以使用过程(iii),将GSW密文乘以压缩的密文,如上所述。例如,请求可以是(一个或多个)GSW查询密文的形式。更详细地说,对于每个其它索引ij,4·3·6=72个元素被用于加密ij的一元表示。在这个带有N=220个数据库条目的数值示例中,还多6个ij,因此客户端发送的环的元素的数量是9+3381+6·72=3822。每个元素都要指定106·212位,因此由客户端发送的总位数是106·212·3822≈230.6(庞大的198MB)。对于客户端查询尺寸是个问题的应用,可以调整参数,例如,放弃2倍的速率,并将客户端查询尺寸提高2-4倍。更好的是,SealPIR工作[5]中的查询扩展技术也可以应用于即时设置,以在不影响速率的情况下显著减少客户端查询尺寸。
要注意的是,这假设数据库28-1在方框430之前已经被预处理。即,服务器在方框410中通过将每个条目分解成Rq上的2x2明文矩阵(回想q≈246)来预处理其数据库。因此,每个矩阵保持3·2·46·212=220.11位(大致138KB)。服务器以CRT表示模Q对这些矩阵中的每个条目进行编码(方框410)。要注意的是,如果数据库28-1包含明文,那么此后的附加处理可以使用过程(iv),将GSW密文乘以明文矩阵,如上所述。CRT表示模Q的结果是明文。还要注意的是,这个示例使用明文(或部分明文)数据库28-1,但也可以对数据库进行加密,然后可以使用上面描述的将GSW密文乘以压缩的密文的过程(iii)。虽然明文矩阵中的条目小(在[±245]中),但它们的CRT表示模Q不小。因此,这种表示会导致服务器处的存储需求激增106/46≈2.3。下面,L被设置为对单个数据库条目进行编码所需的矩阵的数量。(单个JPEG图片将具有L≈3,而4GB电影将被编码为大约29K矩阵中)。
给定客户端的密文,在方框435中服务器可以使用GSW评估来计算第一维的单位向量的GSW加密(这可以使用少于N1=256次GSW乘法来完成)。这个处理也可以使用过程(iv),将GSW密文乘以明文矩阵,如上所述。对于r=1,2,...,256,服务器通过(1)将这个向量中的第r个密文乘以超立方体的第r个超行中所有条目的所有明文矩阵,并通过(2)将第一个超立方体维度上的所有内容相加来折叠这个维度。要注意的是,相加可以使用过程(ii),针对压缩的密文的加性同态,如上所述。结果是单个加密的超行(维度N2×…×ND),其中每个条目由L个压缩的密文组成。
服务器接下来(方框440)继续一个接一个地折叠小维度。对于每个尺寸-4维度,服务器将四个GSW加密的位分别乘以四个超列中的所有压缩的密文,然后将结果跨当前维度相加,从而将密文的数量减少4倍。这一直持续到服务器只剩下L个压缩的密文模Q的单个条目。
最后,服务器执行(方框445)模数交换,用C′=「C/q′」∈Rq替换每个密文C,并将结果得到的密文发送到客户端进行解密。要注意的是,密文C满足SC=q′MH+E(mod q′q)。用Ξ表示舍入误差,新密文具有
SC′=S(C/q′+Ξ)=MH+E/q′+SΞ(mod q).
在方框450中,服务器170向用户发送所选择的条目,该条目是对请求的加密的回答,并且客户端110在方框455中接收加密的回答。在方框460中,客户端110将加密的回答解密成明文,从而揭示所请求的条目。客户端110在方框465中用明文执行一个或多个操作。例如,如果用户201已请求他们的支票账户上的余额,那么,作为示例,用户201然后可能会向他们的支票账户添加更多的钱或者使用他们的支票账户来支付信用卡。
关于噪声分析,对于第一维,需要使用GSW评估来计算加密的一元向量,其中那个向量中的每个密文是log N1=8个密文的乘积。因此,这些评估的密文中的每一个的噪声大致具有的形式,其中Eu是在加密期间采样的误差矩阵之一。一旦将这些乘以用于数据库的明文矩阵以获得如等式(4)中的压缩的加密并且所有密文都在N1尺寸维度上相加,噪声项就确定为以下形式:
(要注意的是,右侧的乘法由明文矩阵执行,其条目界定在245下方,但没有任何G-1。)要注意的是,渐近地,并且不考虑本文使用的引入优化具体性能的明文的非常规方式,来自这一步的噪声随着N1线性增长。如果对于安全性参数λ设置了N1=O(log N+λ),那么来自这一步和其余步骤的噪声将以O(log N+λ)为界,因此q可以由这些量的常数度多项式界定。给定模q乘法的复杂度是这个示例性PIR方案的渐进开销将是
Eu的条目可以从方差8的分布中选择(这足以避免Arora-Ge攻击[8])。G-1(·)的条目在范围[±2]内(因为有m1=n1log4(Q)),因此乘以(something)使方差增加小于22·m′1·212<221.4的因子。类似地,乘以([±245]中的条目的)明文矩阵使方差增加以下因子:22·45·n1·212<2103.6。因此,每个噪声坐标的方差以28·7·8·221.4·2103.6<28+3+3+21.4+103.6=2139为界。由于每个噪声坐标是具有相似权重的Eu的条目的加权和,因此将其视为正常随机变量是有意义的。这个误差的尺寸的良好高概率界限是(比如说)16个标准偏差,与概率对应。即,在折叠第一维之后,所有压缩的密文都以高概率具有
随着继续折叠更多维度,对于那些维度(它们是GSW密文),使用等式(4)再次将加密的一元向量乘以前一维度(它们是压缩的密文)的结果,这次使用G2。要注意的是,这些维度中的GSW密文是新鲜的,因此它们的噪声项只是在加密期间选择的矩阵E。因此,这个维度中的Nj个噪声项中的每一个对于这些E矩阵之一都具有形式而且,每个维度中的四个项中只有一个具有加密的位σ=1,而其它的具有σ=0。因此,在折叠第j维之后,该项σ·previousNoise仅在结果噪声项中出现一次。因此,折叠每个小维度j≥2只会将形式为E×G-1(something)的四个噪声项添加到来自前一维度的噪声中。
由于G2有因此中的每个条目都在区间[±252]中,并且乘以G2将方差增加小于(252)2·m′2·212=3·2117(回想m′2=6)的因子。对于这些项的4(D-1)=24,添加的噪声项中每个坐标的方差以24·8·3·2117=9·2123为界。由于所有小超立方体维度,因此对于所添加的噪声的尺寸可以使用高概率界限
到目前为止的分析暗示,在模数切换操作之前,噪声的尺寸被限制在273.5+267.1以下。由于模数切换中的舍入误差而增加的噪声项是S×Ξ,并且这个表达式中每个噪声坐标的方差是8·n′1·212/2=3·215。因此,关于这最后一个噪声项的量值存在高概率界限因此,返回给客户端的密文中的总噪声由下式界定
至于复杂性分析,服务器在处理查询时的工作主要由RQ乘法和FFT组成。(相比之下,一旦执行FFT之后的其它操作(诸如加法和应用G-1())几乎不需要时间。)
对于维度为212的分圆环,在评估表示中,每个FFT运算比环乘运算慢大约10-20倍。但是容易看出,当N/N1乘以数据库条目的尺寸L足够大时,乘法的数量使FFT的数量相形见绌,远远超过20×倍。实际上,FFT仅在初始阶段执行,其中客户端发送的索引ii的位(独立于L和N/N1)被处理,并且在折叠第一维之后(仅适用于数据的N/N1≈0.25%)。以示例性设置,一旦L·N/N1多于几千,乘法时间就应当超过FFT时间。对于N/N1=4000,在这个示例中,甚至在每个条目中保持单个JPEG图像也已经意味着FFT处理占总时间的不到50%。而对于其中L=29K的电影,FFT时间完全无关紧要。
现在可以评估乘法上花费的时间,作为数据库尺寸的函数。对于大L·N/N1,到目前为止,在折叠第一个超立方体维度的同时,在将GSW密文与对数据库进行编码的明文矩阵相乘时执行的乘法次数最多。这些乘法具有形式C′:=C×M′Hmod q′q,其中C′是维度n1×n1的混合密文并且M′H是维度n1×n2的冗余明文矩阵(其中n1=n2=3)。在没有任何优化的情况下朴素地处理,需要对这些矩阵乘法中的每一个进行33=27环乘法,以双倍尺寸的模数q′·q取模。每个环乘法(对于CRT表示中的元素)由212双倍模整数乘法组成,因此每个这样的矩阵乘法总共需要2「27·212≈217.75个模乘法。对于这项工作,处理了包含大约217.11字节的单个明文矩阵,因此摊销的工作是每个数据库字节大约1.56模乘。(使用Laderman的方法一可以将3x3矩阵乘以仅23次乘法[59],因此摊销的工作仅为每字节1.33次模乘。)考虑到当L大时其余工作不应当以任何重要的方式改变这个数字,这些乘法可能至少占执行时间的90%。
每字节一个(或甚至两个)模乘法应当比相同数据的AES加密快得多。例如,没有任何硬件支持的AES软件实现估计为每字节25个周期或更多[76,30]。使用相同GSW矩阵乘以非常多的明文矩阵这一事实,可以能够对模乘法进行预处理,即使使用建立在CPU中的硬件支持上的AES实施方式,这也应当使性能具有竞争力。
对于大型数据库,即使不考虑巨大的通信节省,上述方法在计算上也应当比发送整个数据库的朴素方法更快。要强调的是,在实现这一速度的同时,仍然可以节省大量带宽,实际上,这种解决方案的速度是0.44,因此为获得隐私而付出带宽2.25×。
要注意的是,对参考文献的引用以括号内的数字形式定位(例如,“[1]”代表参考文献编号一)。这些参考文献如下。
[1]Carlos Aguilar-Melchor,Joris Barrier,Laurent Fousse和Marc-OlivierKillijian。Xpir:Private information retrieval for everyone.Proceedings onPrivacy Enhancing Technologies,2016(2):155–174,2016年。
[2]Martin Albrecht,Melissa Chase,Hao Chen,Jintai Ding,ShafiGoldwasser,Sergey Gorbunov,Shai Halevi,Jeffrey Hoffstein,Kim Laine,KristinLauter,Satya Lokam,Daniele Micciancio,Dustin Moody Travis Morrison,Amit Sahai和Vinod Vaikuntanathan。Homomorphic encryption standard。在http://homomorphicencryption.org/可获得,2019年2月、2018年11月访问。
[3]Jacob Alperin-Sheriff和Chris Peikert.Practical bootstrapping inquasilinear time.In Ran Canetti和Juan A.Garay,编辑,Advances in Cryptology-CRYPTO’13,Lecture Notes in Computer Science的第8042卷,第1–20页。Springer,2013年。
[4]Jacob Alperin-Sheriff和Chris Peikert.Faster bootstrapping withpolynomial error.In Juan A.Garay和Rosario Gennaro,编辑,Advances inCryptology-CRYPTO 2014,Part I,第297–314页。Springer,2014年
[5]Sebastian Angel,Hao Chen,Kim Laine和Srinath Setty。Pir withcompressed queries and amortized query processing。In 2018 IEEE Symposium onSecurity and Privacy(SP),第962–979页。IEEE,2018年。
[6]Yoshinori AONO,Takuya HAYASHI,Le Trieu PHONG和Lihua WANG。Privacy-preserving logistic regression with distributed data sources via homomorphicencryption。IEICE Transactions on Information and Systems,E99.D(8):2079–2089,2016年。
[7]Benny Applebaum,David Cash,Chris Peikert和Amit Sahai。Fastcryptographic primitives and circular-secure encryption based on hardlearning problems.In Advances in Cryptology-CRYPTO 2009,29th AnnualInternational Cryptology Conference,Santa Barbara,CA,USA,August 16-20,2009.Proceedings,第595–618页,2009年。
[8]Sanjeev Arora和Rong Ge。New algorithms for learning in presence oferrors.In ICALP(1),volume 6755 of Lecture Notes in Computer Science,第403–415页。Springer,2011年。
[9]Saikrishna Badrinarayanan,Sanjam Garg,Yuval Ishai,Amit Sahai和Akshay Wadia。Two-message witness indistinguishability and secure computationin the plain model from new assumptions.In International Conference on theTheory and Application of Cryptology and Information Security,第275–303页。Springer,2017。
[10]Daniel Benarroch,Zvika Brakerski和Tancrède Lepoint。FHE over theintegers:Decomposed and batched in the post-quantum regime.In Public KeyCryptography(2),volume 10175 of Lecture Notes in Computer Science,第271–301页。Springer,2017年。
[11]Elliptic curve point multiplication,en.wikipedia.org/wiki/Elliptic_curve_point_multiplication,在6/13/19下载。
[12]Dan Boneh,Craig Gentry,Shai Halevi,Frank Wang和David J.Wu。Privatedatabase queries using somewhat homomorphic encryption。In ACNS,Lecture Notesin Computer Science的第7954卷,第102–118页。Springer,2013年
[13]Elette Boyle,Yuval Ishai和Antigoni Polychroniadou。Limits ofpractical sublinear secure computation.In Annual International CryptologyConference,第302–332页。Springer,2018年。
[14]Zvika Brakerski,Craig Gentry和Shai Halevi。Packed ciphertexts inLWE-based homomorphic encryption.In Kaoru Kurosawa和Goichiro Hanaoka,编辑,Public Key Cryptography,Lecture Notes in Computer Science的第7778卷,第1–13页。Springer,2013年。
[15]Zvika Brakerski,Craig Gentry和Vinod Vaikuntanathan。Fullyhomomorphic encryption without bootstrapping. In Innovations in TheoreticalComputer Science(ITCS’12),2012.在http://eprint.iacr.org/2011/277可获得。
[16]Zvika Brakerski和Vinod Vaikuntanathan。Efficient fully homomorphicencryption from(standard)lwe。SIAM Journal on Computing,43(2):831–871,2014年。
[17]Zvika Brakerski和Vinod Vaikuntanathan。Lattice-based FHE as secureas PKE.In Moni Naor,编辑,Innovations in Theoretical Computer Science,ITCS’14,第1–12页。ACM,2014年。
[18]Zvika Brakerski。Fully homomorphic encryption without modulusswitching from classical gapsvp.In Reihaneh Safavi-Naini和Ran Canetti,编辑,CRYPTO,Lecture Notes in Computer Science的第7417卷,第868–886页。Springer,2012年。
[19]Hao Chen,Kim Laine和Rachel Player。Simple encrypted arithmeticlibrary-SEAL v2.1。In Financial Cryptography Workshops,Lecture Notes inComputer Science的第10323卷,第3–18页。Springer,2017年。
[20]Jingwei Chen,Yong Feng,Yang Liu和Wenyuan Wu。Faster binaryarithmetic operations on encrypted integers.In WCSE’17,Proceedings of 2017the 7th International Workshop on Computer Science and Engineering,2017年。
[21]Jung Hee Cheon,Jean-Sébastien Coron,Jinsu Kim,Moon Sung Lee,Tancrède Lepoint,Mehdi Tibouchi和Aaram Yun。Batch fully homomorphic encryption overthe integers.In Advances in Cryptology-EUROCRYPT 2013,32nd AnnualInternational Conference on the Theory and Applications of CryptographicTechniques,雅典,希腊,2013年5月26-30日。Proceedings,第315–335页,2013年。
[22]Jung Hee Cheon,Andrey Kim,Miran Kim和Yong Soo Song。Homomorphicencryption for arithmetic of approximate numbers.In ASIACRYPT(1),LectureNotes in Computer Science的第10624卷,第409–437页。Springer,2017年。
[23]Jung Hee Cheon,Miran Kim和Myungsun Kim。Search-and-compute onencrypted data.In International Conference on Financial Cryptography and DataSecurity,第142–159页。Springer,2015年。
[24]Ilaria Chillotti,Nicolas Gama,Mariya Georgieva和Malika Izabachène。Improving TFHE:faster packed homomorphic operations and efficient circuitbootstrapping.In ASIACRYPT(1),Lecture Notes in Computer Science的第10624卷,第377–408页。Springer,2017年。
[25]Benny Chor,Oded Goldreich,Eyal Kushilevitz和Madhu Sudan。Privateinformation retrieval.Journal of the ACM(JACM)JACM,第45卷第6期,1998年11月,第965-981页。
[26]Jean-Sébastien Coron,Tancrède Lepoint和Mehdi Tibouchi。Scale-invariant fully homomorphic encryption over the integers.In Public-KeyCryptography-PKC’14,Lecture Notes in Computer Science的第8383卷,第311–328页。Springer,2014年。
[27]Jean-Sébastien Coron,David Naccache和Mehdi Tibouchi。Public keycompression and modulus switching for fully homomorphic encryption over theintegers.In Advances in Cryptology-EUROCRYPT 2012-31st Annual InternationalConference on the Theory and Applications of Cryptographic Techniques,剑桥,英国,2012年4月15-19日。Proceedings,第446–464页,2012年。
[28]Anamaria Costache,Nigel P.Smart,Srinivas Vivek和Adrian Waller。Fixed-point arithmetic in SHE schemes.In SAC,Lecture Notes in ComputerScience的第10532卷,第401–422页。Springer,2016年。
[29]Jack L.H.Crawford,Craig Gentry,Shai Halevi,Daniel Platt和VictorShoup。Doing real work with fhe:The case of logistic regression。CryptologyePrint Archive,Report 2018/202,2018年。https://eprint.iacr.org/2018/202。
[30]Crypto++5.6.0,pentium 4benchmarks。https://www.cryptopp.com/benchmarks-p4.html,2019年2月访问,2009年。
[31]Ivan 和Mads Jurik。A generalisation,a simplification andsome applications of pai llier’s probabilistic public-key system.InInternational Workshop on Public Key Cryptography,第119–136页。Springer,2001年。
[32]Whitfield Diffie和Martin Hellman。New directions in cryptography。IEEE transactions on Information Theory,22(6):644–654,1976年。
[33]Léo Ducas和Daniele Micciancio。FHEW:bootstrapping homomorphicencryption in less than a second.In EUROCRYPT(1),Lecture Notes in ComputerScience的第9056卷,第617–640页。Springer,2015年。
[34]Steven D Galbraith和Xibin Lin。Computing pairings using x-coordinates only。Designs,Codes and Cryptography,50(3):305–324,2009年。
[35]Nicholas Genise,Craig Gentry,Shai Halevi,Baiyu Li和DanieleMicciancio。Homomorphic encryption for finite automata。Cryptology ePrintArchive,Report 2019/176,2019年。https://eprint.iacr.org/2019/176。
[36]Craig Gentry,Shai Halevi,Charanj it S.Jutla和Mariana Raykova。Private database access with he-over-oram architecture.In ACNS,Lecture Notesin Computer Science的第9092卷,第172–191页。Springer,2015年。
[37]Craig Gentry,Shai Halevi,Chris Peikert和Nigel P.Smart。Fieldswitching in BGV-style homomorphic encryption。Journal of Computer Security,21(5):663–684,2013年。
[38]Craig Gentry,Shai Halevi和Nigel P.Smart。Better bootstrapping infully homomorphic encryption.In Public Key Cryptography-PKC 2012,LectureNotes in Computer Science的第7293卷,第1–16页。Springer,2012年。
[39]Craig Gentry,Shai Halevi和Nigel Smart。Fully homomorphicencryption with polylog overhead.In"Advances in Cryptology-EUROCRYPT2012",Lecture Notes in Computer Science的第7237卷,第465–482页。Springer,2012年。完全版本在http://eprint.iacr.org/2011/566。
[40]Craig Gentry,Shai Halevi和Nigel Smart。Homomorphic evaluation ofthe AES circuit.In"Advances in Cryptology-CRYPTO 2012",Lecture Notes inComputer Science的第7417卷,第850–867页。Springer,2012年。完全版本在http://eprint.iacr.org/2012/099。
[41]Craig Gentry和Shai Halevi。Fully homomorphic encryption withoutsquashing using depth-3arithmetic circuits.In Foundations of Computer Science(FOCS),2011IEEE 52nd Annual Symposium on,第107–109页。IEEE,2011年。
[42]Craig Gentry和Shai Halevi。Implementing gentry’s fully-homomorphicencryption scheme.In Advances in Cryptology-EUROCRYPT’11,Lecture Notes inComputer Science的第6632卷,第129–148页。Springer,2011年。
[43]Craig Gentry,Amit Sahai和Brent Waters。Homomorphic encryption fromlearning with errors:Conceptually-simpler,asymptotically-faster,attribute-based.In Ran Canetti和Juan A.Garay,编辑,Advances in Cryptology-CRYPTO 2013,Part I,第75–92页。Springer,2013年。
[44]Craig Gentry。How to compress rabin ciphertexts and signatures(andmore).In Annual International Cryptology Conference,第179–200页。Springer,2004年。
[45]Craig Gentry。Fully homomorphic encryption using ideal lattices.InProceedings of the 41st ACM Symposium on Theory of Computing–STOC 2009,第169–178页。ACM,2009年。
[46]Ran Gilad-Bachrach,Nathan Dowlin,Kim Laine,Kristin E.Lauter,Michael Naehrig和John Wernsing。Cryptonets:Applying neural networks toencrypted data with high throughput and accuracy.In ICML,JMLR Workshop andConference Proceedings的第48卷,第201–210页。JMLR.org,2016年。
[47]Matthew Green,Susan Hohenberger和Brent Waters。Outsourcing thedecryption of ABE ciphertexts.In 20th USENIX Security Symposium,SanFrancisco,CA,USA,2011年8月8-12日,Proceedings.USENIX Association,2011年。
[48]Shai Halevi和Victor Shoup。Algorithms in HElib.In CRYPTO(1),Lecture Notes in Computer Science的第8616卷,第554–571页。Springer,2014年。
[49]Shai Halevi和Victor Shoup。Bootstrapping for HElib.In EUROCRYPT(1),Lecture Notes in Computer Science的第9056卷,第641–670页。Springer,2015年。
[50]Shai Halevi和Victor Shoup。HElib-An Implementation of homomorphicencryption。https://github.com/shaih/HElib/,2014年9月访问。
[51]Shai Halevi。Homomorphic encryption。In Tutorials on theFoundations of Cryptography,第219–276页。Springer International Publishing,2017年。
[52]Ryo Hiromasa,Masayuki Abe和Tatsuaki Okamoto。Packing messages andoptimizing bootstrapping in gsw-fhe。IEICE TRANSACTIONS on Fundamentals ofElectronics,Communications and Computer Sciences,99(1):73–82,2016年。
[53]Yuval Ishai和Anat Paskin。Evaluating branching programs onencrypted data。In Theory of Cryptography Conference,第575–594页。Springer,2007年。
[54]Alhassan Khedr,P.Glenn Gulak和Vinod Vaikuntanathan。SHIELD:scalable homomorphic implementation of encrypted data-classifiers。IEEETrans.Computers,65(9):2848–2858,2016年。
[55]Aggelos Kiayias,Nikos Leonardos,Helger Lipmaa,Kateryna Pavlyk和Qiang Tang。Optimal rate private information retrieval from homomorphicencryption。Proceedings on Privacy Enhancing Technologies,2015(2):222–243,2015年。
[56]Miran Kim,Yongsoo Song,Shuang Wang,Yuhou Xia和Xiaoqian Jiang。Secure logistic regression based on homomorphic encryption。Cryptology ePrintArchive,Report 2018/074,2018。https://eprint.iacr.org/2018/074。
[57]Demijan Klinc,Carmit Hazay,Ashish Jagmohan,Hugo Krawczyk和TalRabin。On compression of data encrypted with block ciphers。arXiv:1009.1759[cs.IT]。
[58]Eyal Kushilevitz和Rafail Ostrovsky。Replication is not needed:Single database,computationally-private information retrieval。In Foundationsof Computer Science,1997.Proceedings.,38th Annual Symposium on,第364–373页。IEEE,1997年。
[59]Julian D.Laderman。A noncommutative algorithm for multiplying3×3matrices using 23multiplications。Bull.Amer.Math.Soc.,82(1):126–128,01 1976年。
[60]Helger Lipmaa和Kateryna Pavlyk。A simpler rate-optimal cpirprotocol.In International Conference on Financial Cryptography and DataSecurity,第621–638页。Springer,2017年。
[61]Adriana López-Alt,Eran Tromer和Vinod Vaikuntanathan。On-the-flymultiparty computation on the cloud via multikey fully homomorphicencryption。In STOC,第1219–1234页,2012年。
[62]Vadim Lyubashevsky,Chris Peikert和Oded Regev。On ideal latticesand learning with errors over rings。J.ACM,60(6):43,2013.。早期版本在EUROCRYPT2010中。
[63]Vadim Lyubashevsky,Chris Peikert和Oded Regev。A toolkit for ring-LWE cryptography.In Thomas Johansson和Phong Q.Nguyen,编辑,Advances inCryptology-EUROCRYPT 2013,第35–54页。Springer,2013年。
[64]Daniele Micciancio和Chris Peikert。Trapdoors for lattices:Simpler,tighter,faster,smaller.In EUROCRYPT,Lecture Notes in Computer Science的第7237卷,第700–718页。Springer,2012年。
[65]Payman Mohassel和Yupeng Zhang。Secureml:A system for scalableprivacy-preserving machine learning.In 2017 IEEE Symposium on Security andPrivacy,SP 2017,San Jose,CA,USA,2017年5月22-26日,第19–38页。IEEE ComputerSociety,2017年。
[66]Michael Naehrig,Kristin Lauter和Vinod Vaikuntanathan。Canhomomorphic encryption be practical?In Proceedings of the 3rd ACM workshop onCloud computing security workshop,第113–124页。ACM,2011年。
[67]Femi Olumofin和Ian Goldberg。Revisiting the computationalpracticality of private information retrieval.In International Conference onFinancial Cryptography and Data Security,第158–172页。Springer,2011年。
[68]Emmanuela Orsini,Joop van de Pol和Nigel P.Smart。Bootstrapping BGVciphertexts with a wider choice of p and q.Cryptology ePrint Archive,Report2014/408,2014.http://eprint.iacr.org/。
[69]Pascal Paillier。Public-key cryptosystems based on compositedegree residuosity classes.In International Conference on the Theory andApplications of Cryptographic Techniques,第223–238页。Springer,1999年。
[70]Chris Peikert,Vinod Vaikuntanathan和Brent Waters。A framework forefficient and composable oblivious transfer。In Advances in Cryptology-CRYPTO2008,Lecture Notes in Computer Science的第5157卷,第554–571页。Springer,2008年。
[71]Oded Regev。On lattices,learning with errors,random linear codes,and cryptography。J.ACM,56(6):34:1–34:40,2009年。
[72]Ronald L Rivest,Adi Shamir和Leonard Adleman。A method forobtaining digital signatures and public-key cryptosystems.Communications ofthe ACM,21(2):120–126,1978年。
[73]R.Rivest,L.Adleman和M.Dertouzos。On data banks and privacyhomomorphisms.In Foundations of Secure Computation,第169–177页。AcademicPress,1978年。
[74]Kurt Rohloff和David B.Cousins。A scalable implementation of fullyhomomorphic encryption built on NTRU.2nd Workshop on Applied HomomorphicCryptography and Encrypted Computing,WAHC’14,2014。在https://www.dcsec.uni-hannover.de/fileadmin/ful/mitarbeiter/brenner/wahc14_RC.pdf可获得,2014年9月访问。
[75]Markku-Juhani Olavi Saarinen。Ring-lwe ciphertext compression anderror correction:Tools for lightweight post-quantum cryptography.InProceedings of the 3rd ACM International Workshop on IoT Privacy,Trust,andSecurity,第15–22页。ACM,2017年。
[76]Patrick Schmid和Achim Roos。"aes-ni performance analyzed;limitedto 32nm core i5 cpus".https://www.tomshardware.com/reviews/clarkdale-aes-ni-encryption,2538.html,2019年2月访问,2010年。
[77]Radu Sion和Bogdan Carbunar。On the practicality of privateinformation retrieval.In Proceedings of the Network and Distributed SystemSecurity Symposium,NDSS 2007,San Diego,California,USA,2007年2月28日–3月2日,2007年。
[78]Nigel P。Smart and Frederik Vercauteren。Fully homomorphic SIMDoperations。Des.Codes Cryptography,71(1):57–81,2014。早期版本在http://eprint.iacr.org/2011/133。
[79]Julien P Stern。A new and efficient all-or-nothing disclosure ofsecrets protocol。In International Conference on the Theory and Application ofCryptology and Information Security,第357–371页。Springer,1998年。
[80]Marten van Dijk,Craig Gentry,Shai Halevi和Vinod Vaikuntanathan。Fully homomorphic encryption over the integers.In Advances in Cryptology-EUROCRYPT 2010,29th Annual International Conference on the Theory andApplications of Cryptographic Techniques,French Riviera,2010年5月30日–6月3日。Proceedings,第24–43页,2010年。
[81]Shuang Wang,Yuchen Zhang,Wenrui Dai,Kristin Lauter,Miran Kim,Yuzhe Tang,Hongkai Xiong和Xiaoqian Jiang。Healer:homomorphic computation ofexact logistic regression for secure rare disease variants analysis in gwas。Bioinformatics,32(2):211–218,2016年。
[82]Chen Xu,Jingwei Chen,Wenyuan Wu和Yong Feng.Homomorphicallyencrypted arithmetic operations over the integer ring.In Feng Bao,Liqun Chen,Robert H.Deng和Guojun Wang,编辑,Information Security Practice and Experience,第167–181页,Cham,2016年。Springer International Publishing.https://ia.cr/2017/387。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有用于使处理器执行本发明的方面的计算机可读程序指令的计算机可读存储介质(或多种介质)。
计算机可读存储介质可以是有形设备,其可以保留和存储指令以供指令执行设备使用。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适组合。计算机可读存储介质的更具体示例的非详尽列表包括以下:便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码的设备(诸如打孔卡或凹槽中的凸起结构,其上记录有指令),以及前述的任何合适组合。如本文使用的计算机可读存储介质不应被解释为暂态信号本身(诸如无线电波或其它自由传播的电磁波、通过波导或其它传输介质传播的电磁波(例如,通过光纤电缆的光脉冲),或通过电线传输的电信号)。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备或经由网络(例如,互联网、局域网、广域网局域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编器指令、指令集体系架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或者以一种或多种编程语言的任何组合编写的或者源代码或者目标代码,其中编程语言包括面向对象的编程语言(诸如Smalltalk、C++等),以及常规的过程编程语言(诸如“C”编程语言或类似的编程语言)。计算机可读程序指令可以完全在用户计算机上、部分在用户计算机上、作为独立软件包、部分在用户计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。在后一种场景中,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。在一些实施例中,包括例如可编程逻辑电路系统、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路系统可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以个性化电子电路系统,以便执行本发明的各方面。
本文参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图描述了本发明的各方面。将理解的是,流程图图示和/或框图的每个方框,以及流程图和/或框图中的方框的组合,可以由计算机可读程序指令实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器以产生机器,使得经由计算机或其它可编程数据处理装置的处理器执行的指令创建用于实现在一个或多个流程图和/或框图方框中指定的功能/动作的部件。这些计算机可读程序指令也可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其它设备以特定方式起作用,使得其中存储有指令的计算机可读存储介质包括制造物品,该制造物品包括实现一个或多个流程图和/或框图方框中指定的功能/动作的方面的指令。
计算机可读程序指令还可以被加载到计算机、其它可编程数据处理装置或其它设备上,以使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤以产生计算机实现的处理,使得在计算机、其它可编程装置或其它设备上执行的指令实现在一个或多个流程图和/或框图方框中指定的功能/动作。
附图中的流程图和框图示了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实施方式的体系架构、功能和操作。就这一点而言,流程图或框图中的每个方框可以表示指令的模块、片段或部分,其包括用于实现(一个或多个)指定的逻辑功能的一个或多个可执行指令。在一些替代实施方式中,方框中标注的功能可以不按照图中标注的次序发生。例如,取决于所涉及的功能,相继示出的两个方框实际上可以基本上同时执行,或者有时可以以相反的次序执行这些方框。还将注意的是,框图和/或流程图图示的每个方框,以及框图和/或流程图图示中的方框的组合,可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。
根据优选实施例,本发明可以根据以下条款概括:
1、一种方法,包括:在第一计算机系统处从第二计算机系统接收对能够使用第一计算机系统上的数据库中的数据确定的特定信息的请求,其中或者数据中的至少一些被加密或者请求被加密,而第一计算机系统没有解密密钥来解密加密的数据或加密的请求;由第一计算机系统对数据库中的数据执行可压缩的同态加密操作以确定与数据库中的特定信息对应的一个或多个压缩的密文,所述可压缩的同态加密操作使用第一未压缩的同态加密方案和第二压缩的同态加密方案,执行可压缩的同态加密操作包括对数据使用第一同态加密方案以创建其它多个密文并对所述其它多个密文使用第二同态加密方案以将所述其它多个密文打包成被压缩的更少密文,其中第一同态加密方案和第二同态加密方案使用相同的秘密密钥;以及由第一计算机系统向第二计算机系统发送对请求的响应,所述响应包括与所请求的特定信息对应的一个或多个压缩的密文。
2、如条款1所述的方法,其中,通过使用第二压缩的同态加密方案,能够使压缩的密文的尺寸任意接近该压缩的密文所对应的未加密的数据的尺寸。
3、如条款2所述的方法,其中能够使压缩的密文的尺寸任意接近该压缩的密文所对应的明文的尺寸,这是因为第二同态加密方案被配置为,对于任何所选择的ε,存在第二同态加密方案的实例化,其中用于压缩的密文的尺寸是对应明文的尺寸的(1+ε)倍。
4、如条款1所述的方法,其中由第一计算机系统对数据执行可压缩的同态加密操作还包括对包括表示整数的环R中的标量的许多位密文的数据执行部分压缩,以将该许多位密文压缩成对整数的环R中的更大标量进行加密的单个密文。
5、如条款1所述的方法,对所述多个同态密文使用第二同态加密方案将所述多个同态密文打包到单个压缩的密文中还包括通过计算来压缩密文Cu,v,其中存在个密文,u,v∈[n0],其中n0和n1是维度,q是在错误中学习(LWE)模数,G是矩形小工具矩阵,H是近似方形的小工具矩阵,并且Tu,v是方形n0×n0单例矩阵,其在条目(u,v)中为1并且在其它地方为0,即,其中是维度n0单位向量,其在位置u,v中为1,分别是
6、如条款1所述的方法,由第一计算机系统对数据执行可压缩的同态加密操作还包括,给定Gentry、Sahai和Waters(GSW)密文对位进行加密,将GSW密文部分地压缩成对进行加密的单个GSW密文,对于一些σ∈Zp产生对形式为「p/q」·σ的标量进行加密的单个GSW密文,其中Z是整数的集合,并且给定n0使得密文Ci对σi进行加密,通过设置来对密文Ci进行压缩,其中是以k个零开头的第i个单位向量,其中G是矩形小工具矩阵并且k是秘密密钥的长度,从而导致向量[σi]i的压缩的加密。
7、一种方法,包括:为了向第一计算机系统发送,在第二计算机系统处执行加密明文以创建加密的数据;将加密的数据从第二计算机系统发送到第一计算机系统,而第一系统没有解密密钥来解密加密的数据;由第二计算机系统发送对能够使用加密的数据确定的特定信息的请求;在第二计算机系统处从第一计算机系统接收对请求的响应,该响应包括与所请求的特定信息对应的一个或多个压缩的密文;以及由第二计算机系统将所述一个或多个压缩的密文解密成对应的明文。
8、如条款7所述的方法,其中解密包括使用秘密密钥解密包括所述一个或多个压缩的密文的响应以获得矩阵,该矩阵包括与所述一个或多个压缩的密文和附加噪声对应的明文的冗余编码,以及使用编码的冗余性来消除噪声并恢复与所述一个或多个压缩的密文对应的明文。
9、如条款8所述的方法,其中明文的冗余编码包括包含明文的某个矩阵,其与近似方形的小工具矩阵相乘。
10、如条款9所述的方法,其中对于近似方形的小工具矩阵H,存在另一个矩阵F,其中F具有满秩和远小于q的条目,其中q是在错误中学习模数,并且其中H×F=0 mod q,其中矩阵F的条目足够小,使得在条目乘以来自密文的噪声之后,结果仍然小于q。
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所述的方法,其中明文的冗余编码包括乘以大于一的整数的包括明文的某个矩阵。
16、如条款15所述的方法,其中明文是n0×n0矩阵M,并且其中矩阵M'是通过添加与在错误中学习(LWE)秘密的维度一样多的零行而从M获得的,维度由k表示,其中,表示n1=n0+k,被填充的矩阵M′具有维度n1×n0。
17、一种方法,包括:在第一计算机系统处从第二计算机系统接收对来自第一计算机系统上的数据库的所选择的条目的请求;由第一计算机系统对数据库中的数据执行可压缩的同态加密方案以计算与数据库中所选择的条目对应的加密的回答,其中可压缩的同态加密方案产生不比对应明文回答长得多的加密的回答,并且对于数据库中的每个字节,计算加密的回答需要数个周期;以及由第一计算机系统向第二计算机系统发送对请求的响应,所述响应包括与所请求的所选择的条目对应的加密的回答。
18、如条款17所述的方法,其中:将数据库索引成对应N维中的N个数据库条目;所述请求与在数据库中具有索引i的所选择的条目对应;由第一计算机系统对数据库中的数据执行可压缩的同态加密方案以计算加密的回答还包括:处理请求以获得具有索引元素(i1,i2,...,iD)的索引元素的一元表示;对于N维中的第一维,通过以下折叠第一维:将每个超行r乘以来自对应于第i1维的第一向量的与超行对应的第r个加密的位,该乘法将除第i1个超行以外的所有超行清零,并通过将所有结果所得的加密的超行相加来获得维数较少的较小数据库;以及继续折叠其它维,一次一个,直到剩下的是仅包括与索引i对应的所选择的条目的零维超立方体;以及发送包括发送与索引i对应的条目。
19、如条款18所述的方法,其中由第一计算机系统对数据库中的数据执行可压缩的同态加密方案以计算加密的回答还包括,在折叠之前,通过将数据库分解成较小的矩阵并在中国余数定理(CRT)表示中对这些较小的矩阵进行编码来预处理数据库。
20、如条款19所述的方法,其中在中国余数定理(CRT)表示中对较小的矩阵进行编码之后,将编码的较小的矩阵在左侧乘以密文矩阵。
21、如条款20所述的方法,其中密文矩阵C对小标量σ进行加密,并且在左侧将明文矩阵M乘以密文C的结果是对矩阵σM mod q进行加密的压缩的密文,其中q是在错误中学习(LWE)模数。
22、如条款18所述的方法,其中由第一计算机系统对数据库中的数据执行可压缩的同态加密方案以计算加密的回答还包括在执行所有折叠之后但在发送之前执行模数切换,将所选择的条目中的每个密文转换成具有不同模数的密文。
23、如条款18所述的方法,其中相加对压缩的密文使用加性同态,其中压缩的密文被相加并乘以小标量。
24、如条款18所述的方法,其中相乘还包括将具有密文的矩阵右乘明文矩阵。
25、一种方法,包括:由第二计算机系统加密要发送到第一计算机系统的由第一计算机系统存储的数据库中的条目的索引i,其中该索引i以ND基的混合基数表示并且数据库也具有ND基;由第二计算机系统使用加密的索引请求从第一计算机系统检索项;由第二计算机系统从第一计算机系统接收对请求的响应,该响应包括加密的回答,该加密的回答包括一个或多个压缩的密文,与使用加密的索引请求的数据库中的条目对应;以及由第二计算机系统将所述一个或多个压缩的密文解密成对应的明文。
26、如条款25所述的方法,其中混合基数ND基具有索引元素(i1,i2,...,iD),其中数据库具有N个维度,N=A×B×B×...×B,对于所有j>1有ii∈[A]和ij∈[B],并且对索引i进行加密包括对标量q′·σ1,0和σ1,1,...,σ1,7进行加密,其中σ1,0,...σ1,7是i1的位,并且对于j=2,...,D对密文进行加密以对单位向量的位进行加密,该单位向量在位置ij为1并且在其它位置为零,并且其中密文的密文模数是复合的Q=q·q′,有q≈246和q′≈260。
27、如条款26所述的方法,其中对索引i进行加密包括以下:对于i1的最低有效位σ1,0,使用本体来乘以该最低有效位,并且还将该位σ1,0乘以q′;对于i1的其它位,使用宽且短的小工具矩阵来乘以其它位;以及对于对j>1的其它ij的一元表示进行编码的位,使用有些矩形的小工具矩阵来乘以对一元表示进行编码的位。
28、如条款25所述的方法,其中解密包括使用秘密密钥解密包括所述一个或多个压缩的密文的响应以获得矩阵,该矩阵包括与所述一个或多个压缩的密文和附加噪声对应的明文的冗余编码,以及使用编码的冗余性来消除噪声并恢复与所述一个或多个压缩的密文对应的明文。
29、如条款26至28中的任一项所述的方法,其中明文的冗余编码包括包含明文的某个矩阵,其乘以近似方形的小工具矩阵。
30、如条款29所述的方法,其中对于近似方形的小工具矩阵H,存在另一个矩阵F,其中F具有满秩和远小于q的条目,其中q是在错误中学习模数,并且其中H×F=0 mod q,其中矩阵F的条目足够小,使得在条目乘以来自密文的噪声之后,结果仍然小于q。
32、如条款31所述的方法,其中明文是n0×n0矩阵M,并且其中矩阵M'是通过添加与在错误中学习(LWE)秘密的维度一样多的零行而从M获得的,维度由k表示,其中,表示n1=n0+k,被填充的矩阵M′具有维度n1×n0。
33、如条款32所述的方法,其中包括在右侧将M′乘以维度为n0×n2的小工具矩阵H的冗余编码产生密文的矩阵的最终维度n1×n2。
34、如条款30所述的方法,其中明文的冗余编码包括乘以大于一的整数的包括明文的某个矩阵。
36、如条款35所述的方法,其中明文是n0×n0矩阵M,并且其中矩阵M'是通过添加与在错误中学习(LWE)秘密的维度一样多的零行而从M获得的,维度由k表示,其中,表示n1=n0+k,被填充的矩阵M′具有维度n1×n0。
Claims (36)
1.一种方法,包括:
在第一计算机系统处从第二计算机系统接收对能够使用第一计算机系统上的数据库中的数据确定的特定信息的请求,其中或者数据中的至少一些被加密或者请求被加密,而第一计算机系统没有解密密钥来解密加密的数据或加密的请求;
由第一计算机系统对数据库中的数据执行可压缩的同态加密操作以确定与数据库中的特定信息对应的一个或多个压缩的密文,所述可压缩的同态加密操作使用第一未压缩的同态加密方案和第二压缩的同态加密方案,执行可压缩的同态加密操作包括对数据使用第一同态加密方案以创建其它多个密文并对所述其它多个密文使用第二同态加密方案以将所述其它多个密文打包成被压缩的更少密文,其中第一同态加密方案和第二同态加密方案使用相同的秘密密钥;以及
由第一计算机系统向第二计算机系统发送对请求的响应,所述响应包括与所请求的特定信息对应的一个或多个压缩的密文。
2.如权利要求1所述的方法,其中,通过使用第二压缩的同态加密方案,能够使压缩的密文的尺寸任意接近该压缩的密文所对应的未加密的数据的尺寸。
3.如权利要求2所述的方法,其中能够使压缩的密文的尺寸任意接近该压缩的密文所对应的明文的尺寸,这是因为第二同态加密方案被配置为,对于任何所选择的ε,存在第二同态加密方案的实例化,其中用于压缩的密文的尺寸是对应明文的尺寸的(1+ε)倍。
4.如权利要求1所述的方法,其中由第一计算机系统对数据执行可压缩的同态加密操作还包括对包括表示整数的环R中的标量的许多位密文的数据执行部分压缩,以将该许多位密文压缩成对整数的环R中的更大标量进行加密的单个密文。
7.一种方法,包括:
为了向第一计算机系统发送,在第二计算机系统处执行加密明文以创建加密的数据;
将加密的数据从第二计算机系统发送到第一计算机系统,而第一系统没有解密密钥来解密加密的数据;
由第二计算机系统发送对能够使用加密的数据确定的特定信息的请求;
在第二计算机系统处从第一计算机系统接收对请求的响应,该响应包括与所请求的特定信息对应的一个或多个压缩的密文;以及
由第二计算机系统将所述一个或多个压缩的密文解密成对应的明文。
8.如权利要求7所述的方法,其中解密包括使用秘密密钥解密包括所述一个或多个压缩的密文的响应以获得矩阵,该矩阵包括与所述一个或多个压缩的密文和附加噪声对应的明文的冗余编码,以及使用编码的冗余性来消除噪声并恢复与所述一个或多个压缩的密文对应的明文。
9.如权利要求8所述的方法,其中明文的冗余编码包括包含明文的某个矩阵,其与近似方形的小工具矩阵相乘。
10.如权利要求9所述的方法,其中对于近似方形的小工具矩阵H,存在另一个矩阵F,其中F具有满秩和远小于q的条目,其中q是在错误中学习模数,并且其中H×F=0modq,其中矩阵F的条目足够小,使得在条目乘以来自密文的噪声之后,结果仍然小于q。
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所述的方法,其中明文的冗余编码包括乘以大于一的整数的包括明文的某个矩阵。
16.如权利要求15所述的方法,其中明文是n0×n0矩阵M,并且其中矩阵M'是通过添加与在错误中学习(LWE)秘密的维度一样多的零行而从M获得的,维度由k表示,其中,表示n1=n0+k,被填充的矩阵M′具有维度n1×n0。
17.一种方法,包括:
在第一计算机系统处从第二计算机系统接收对来自第一计算机系统上的数据库的所选择的条目的请求;
由第一计算机系统对数据库中的数据执行可压缩的同态加密方案以计算与数据库中所选择的条目对应的加密的回答,其中可压缩的同态加密方案产生不比对应明文回答长得多的加密的回答,并且对于数据库中的每个字节,计算加密的回答需要数个周期;以及
由第一计算机系统向第二计算机系统发送对请求的响应,所述响应包括与所请求的所选择的条目对应的加密的回答。
18.如权利要求17所述的方法,其中:
将数据库索引成对应N维中的N个数据库条目;
所述请求与在数据库中具有索引i的所选择的条目对应;
由第一计算机系统对数据库中的数据执行可压缩的同态加密方案以计算加密的回答还包括:
处理请求以获得具有索引元素(i1,i2,...,iD)的索引元素的一元表示;
对于N维中的第一维,通过以下折叠第一维:将每个超行r乘以来自对应于第i1维的第一向量的与超行对应的第r个加密的位,该乘法将除第i1个超行以外的所有超行清零,并通过将所有结果所得的加密的超行相加来获得维数较少的较小数据库;以及
继续折叠其它维,一次一个,直到剩下的是仅包括与索引i对应的所选择的条目的零维超立方体;以及
发送包括发送与索引i对应的条目。
19.如权利要求18所述的方法,其中由第一计算机系统对数据库中的数据执行可压缩的同态加密方案以计算加密的回答还包括,在折叠之前,通过将数据库分解成较小的矩阵并在中国余数定理(CRT)表示中对这些较小的矩阵进行编码来预处理数据库。
20.如权利要求19所述的方法,其中在中国余数定理(CRT)表示中对较小的矩阵进行编码之后,将编码的较小的矩阵在左侧乘以密文矩阵。
21.如权利要求20所述的方法,其中密文矩阵C对小标量σ进行加密,并且在左侧将明文矩阵M乘以密文C的结果是对矩阵σMmodq进行加密的压缩的密文,其中q是在错误中学习(LWE)模数。
22.如权利要求18所述的方法,其中由第一计算机系统对数据库中的数据执行可压缩的同态加密方案以计算加密的回答还包括在执行所有折叠之后但在发送之前执行模数切换,将所选择的条目中的每个密文转换成具有不同模数的密文。
23.如权利要求18所述的方法,其中相加对压缩的密文使用加性同态,其中压缩的密文被相加并乘以小标量。
24.如权利要求18所述的方法,其中相乘还包括将具有密文的矩阵右乘明文矩阵。
25.一种方法,包括:
由第二计算机系统加密要发送到第一计算机系统的由第一计算机系统存储的数据库中的条目的索引i,其中该索引i以ND基的混合基数表示并且数据库也具有ND基;
由第二计算机系统使用加密的索引请求从第一计算机系统检索项;
由第二计算机系统从第一计算机系统接收对请求的响应,该响应包括加密的回答,该加密的回答包括一个或多个压缩的密文,与使用加密的索引请求的数据库中的条目对应;以及
由第二计算机系统将所述一个或多个压缩的密文解密成对应的明文。
27.如权利要求26所述的方法,其中对索引i进行加密包括以下:
对于i1的最低有效位σ1,0,使用本体来乘以该最低有效位,并且还将该位σ1,0乘以q′;
对于i1的其它位,使用宽且短的小工具矩阵来乘以其它位;以及
对于对j>1的其它ij的一元表示进行编码的位,使用有些矩形的小工具矩阵来乘以对一元表示进行编码的位。
28.如权利要求25所述的方法,其中解密包括使用秘密密钥解密包括所述一个或多个压缩的密文的响应以获得矩阵,该矩阵包括与所述一个或多个压缩的密文和附加噪声对应的明文的冗余编码,以及使用编码的冗余性来消除噪声并恢复与所述一个或多个压缩的密文对应的明文。
29.如权利要求26至28中的任一项所述的方法,其中明文的冗余编码包括包含明文的某个矩阵,其乘以近似方形的小工具矩阵。
30.如权利要求29所述的方法,其中对于近似方形的小工具矩阵H,存在另一个矩阵F,其中F具有满秩和远小于q的条目,其中q是在错误中学习模数,并且其中H×F=0modq,其中矩阵F的条目足够小,使得在条目乘以来自密文的噪声之后,结果仍然小于q。
32.如权利要求31所述的方法,其中明文是n0×n0矩阵M,并且其中矩阵M'是通过添加与在错误中学习(LWE)秘密的维度一样多的零行而从M获得的,维度由k表示,其中,表示n1=n0+k,被填充的矩阵M′具有维度n1×n0。
33.如权利要求32所述的方法,其中包括在右侧将M′乘以维度为n0×n2的小工具矩阵H的冗余编码产生密文的矩阵的最终维度n1×n2。
34.如权利要求30所述的方法,其中明文的冗余编码包括乘以大于一的整数的包括明文的某个矩阵。
36.如权利要求35所述的方法,其中明文是n0×n0矩阵M,并且其中矩阵M'是通过添加与在错误中学习(LWE)秘密的维度一样多的零行而从M获得的,维度由k表示,其中,表示n1=n0+k,被填充的矩阵M′具有维度n1×n0。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/444,540 | 2019-06-18 | ||
US16/444,278 | 2019-06-18 | ||
US16/444,540 US10985904B2 (en) | 2019-06-18 | 2019-06-18 | Compressible (F)HE with applications to PIR |
US16/444,278 US10972252B2 (en) | 2019-06-18 | 2019-06-18 | Compressible (F)HE with applications to PIR |
PCT/EP2020/066490 WO2020254248A1 (en) | 2019-06-18 | 2020-06-15 | Homomorphic encryption with applications to private information retrieval |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113906712A true CN113906712A (zh) | 2022-01-07 |
Family
ID=74038352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080039791.2A Pending CN113906712A (zh) | 2019-06-18 | 2020-06-15 | 应用于私有信息检索的同态加密 |
Country Status (12)
Country | Link |
---|---|
US (4) | US10972252B2 (zh) |
EP (1) | EP3984160B1 (zh) |
JP (2) | JP7486529B2 (zh) |
KR (1) | KR20220004201A (zh) |
CN (1) | CN113906712A (zh) |
AU (1) | AU2020294855B2 (zh) |
BR (1) | BR112021025744A2 (zh) |
CA (1) | CA3143362A1 (zh) |
IL (1) | IL288975B1 (zh) |
MX (1) | MX2021014837A (zh) |
SG (1) | SG11202110349VA (zh) |
WO (1) | WO2020254248A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182595B (zh) * | 2019-07-03 | 2024-03-26 | 北京百度网讯科技有限公司 | 基于联邦学习的模型训练方法及装置 |
US11526466B2 (en) * | 2019-08-23 | 2022-12-13 | Salesforce, Inc. | Uniform growth for differently sized files |
US20210081807A1 (en) * | 2019-09-17 | 2021-03-18 | Sap Se | Non-Interactive Private Decision Tree Evaluation |
IL272520A (en) * | 2020-02-06 | 2021-08-31 | Google Llc | Aggregation of encrypted network values |
KR20210146513A (ko) * | 2020-05-27 | 2021-12-06 | 삼성전자주식회사 | 인공 지능 연산 반도체 장치 및 이를 포함하는 저장 장치 |
EP3993308A1 (en) * | 2020-10-29 | 2022-05-04 | Zama SAS | Fully homomorphic cryptography with improved data item representation |
CN112766495A (zh) * | 2021-01-26 | 2021-05-07 | 支付宝(杭州)信息技术有限公司 | 一种基于混合环境的深度学习模型隐私保护方法及装置 |
EP4050471A1 (en) * | 2021-02-26 | 2022-08-31 | Zama SAS | Encrypted scalar multiplication |
US20220321332A1 (en) * | 2021-03-30 | 2022-10-06 | International Business Machines Corporation | Post-quantum cryptography secured execution environments for edge devices |
US20220358237A1 (en) * | 2021-05-04 | 2022-11-10 | International Business Machines Corporation | Secure data analytics |
US11722290B2 (en) * | 2021-05-21 | 2023-08-08 | Samsung Electronics Co., Ltd. | Method and apparatus for modulus refresh in homomorphic encryption |
US11461481B1 (en) * | 2021-06-04 | 2022-10-04 | Polyverse Corporation | Encrypted to be executed software code and execution environment apparatuses, systems, and methods |
EP4120617A1 (en) * | 2021-07-14 | 2023-01-18 | Siemens Healthcare GmbH | Privacy preserving artificial intelligence based clinical decision support |
CN115694776A (zh) * | 2021-07-27 | 2023-02-03 | 三星电子株式会社 | 存储设备、存储系统操作方法和计算系统 |
CN113660085B (zh) * | 2021-08-13 | 2023-06-06 | 北方工业大学 | 一种基于量子同态加密的量子安全多方计算方法 |
US20230143175A1 (en) * | 2021-10-29 | 2023-05-11 | Seagate Technology Llc | Device specific multiparty computation |
KR20240018910A (ko) | 2022-08-03 | 2024-02-14 | 경희대학교 산학협력단 | 양자 단대단 암호화 시스템 및 그 동작 방법 |
US11977657B1 (en) * | 2023-02-22 | 2024-05-07 | Lorica Cybersecurity Inc. | Method and system for confidential repository searching and retrieval |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140270159A1 (en) * | 2013-03-18 | 2014-09-18 | Electronics And Telecommunications Research Institute | System and method for providing compressed encryption and decryption in homomorphic encryption based on integers |
US20170093573A1 (en) * | 2014-08-27 | 2017-03-30 | International Business Machines Corporation | Shared Data Encryption and Confidentiality |
US20180212757A1 (en) * | 2017-01-20 | 2018-07-26 | Enveil, Inc. | Compression and Homomorphic Encryption in Secure Query and Analytics |
CN108964869A (zh) * | 2018-06-08 | 2018-12-07 | 浙江捷尚人工智能研究发展有限公司 | 短密钥全同态加密方法及系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9569771B2 (en) | 2011-04-29 | 2017-02-14 | Stephen Lesavich | Method and system for storage and retrieval of blockchain blocks using galois fields |
KR102019159B1 (ko) * | 2013-12-23 | 2019-09-09 | 한국전자통신연구원 | 정수 기반 준동형 암호 기법에 일반적으로 적용 가능한 압축 암복호화 장치 및 방법 |
WO2016048775A1 (en) | 2014-09-26 | 2016-03-31 | Thomson Licensing | Xor-homomorphic cryptosystems with fast key generation |
JP6381128B2 (ja) * | 2015-02-05 | 2018-08-29 | 国立研究開発法人産業技術総合研究所 | 検索システム、クライアント、サーバ、検索プログラムおよび検索方法 |
FR3035986B1 (fr) | 2015-05-06 | 2018-07-27 | Morpho | Procede de generation d'une signature de message a partir d'un jeton de signature chiffre a l'aide d'une fonction de chiffrement homomorphique |
WO2017008043A1 (en) * | 2015-07-08 | 2017-01-12 | Brown University | Homomorphic encryption |
FR3040842B1 (fr) * | 2015-09-03 | 2018-12-07 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Methode d'interrogation confidentielle d'un service geodependant par cryptographie homomorphe |
EP3342090A1 (en) * | 2015-09-04 | 2018-07-04 | NEC Europe Ltd. | Method for providing encrypted data in a database and method for searching on encrypted data |
JP5985123B1 (ja) * | 2015-10-09 | 2016-09-06 | 三菱電機株式会社 | 秘匿検索システム、管理装置、秘匿検索方法及び秘匿検索プログラム |
KR101919940B1 (ko) * | 2017-02-08 | 2018-11-19 | 서울대학교산학협력단 | 완전 동형 암호 방법에 의한 동적 데이터의 처리 방법 |
-
2019
- 2019-06-18 US US16/444,278 patent/US10972252B2/en active Active
- 2019-06-18 US US16/444,540 patent/US10985904B2/en active Active
-
2020
- 2020-06-15 KR KR1020217039840A patent/KR20220004201A/ko not_active Application Discontinuation
- 2020-06-15 EP EP20733265.1A patent/EP3984160B1/en active Active
- 2020-06-15 WO PCT/EP2020/066490 patent/WO2020254248A1/en unknown
- 2020-06-15 BR BR112021025744A patent/BR112021025744A2/pt unknown
- 2020-06-15 JP JP2021574206A patent/JP7486529B2/ja active Active
- 2020-06-15 AU AU2020294855A patent/AU2020294855B2/en active Active
- 2020-06-15 MX MX2021014837A patent/MX2021014837A/es unknown
- 2020-06-15 IL IL288975A patent/IL288975B1/en unknown
- 2020-06-15 SG SG11202110349VA patent/SG11202110349VA/en unknown
- 2020-06-15 CA CA3143362A patent/CA3143362A1/en active Pending
- 2020-06-15 CN CN202080039791.2A patent/CN113906712A/zh active Pending
- 2020-12-23 US US17/132,388 patent/US11502821B2/en active Active
- 2020-12-23 US US17/132,286 patent/US11394526B2/en active Active
-
2024
- 2024-02-29 JP JP2024029851A patent/JP2024063125A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140270159A1 (en) * | 2013-03-18 | 2014-09-18 | Electronics And Telecommunications Research Institute | System and method for providing compressed encryption and decryption in homomorphic encryption based on integers |
US20170093573A1 (en) * | 2014-08-27 | 2017-03-30 | International Business Machines Corporation | Shared Data Encryption and Confidentiality |
US20180212757A1 (en) * | 2017-01-20 | 2018-07-26 | Enveil, Inc. | Compression and Homomorphic Encryption in Secure Query and Analytics |
CN108964869A (zh) * | 2018-06-08 | 2018-12-07 | 浙江捷尚人工智能研究发展有限公司 | 短密钥全同态加密方法及系统 |
Non-Patent Citations (1)
Title |
---|
XUNYI ET-AL: "Single-Database Private Information Retrieval fromFully Homomorphic Encryption", 《IEEE TRANSACTIONS ONKNOWLEDGE AND DATA ENGINEERING》 * |
Also Published As
Publication number | Publication date |
---|---|
EP3984160A1 (en) | 2022-04-20 |
KR20220004201A (ko) | 2022-01-11 |
JP2024063125A (ja) | 2024-05-10 |
JP7486529B2 (ja) | 2024-05-17 |
MX2021014837A (es) | 2022-01-18 |
CA3143362A1 (en) | 2020-12-24 |
EP3984160C0 (en) | 2023-07-26 |
US11502821B2 (en) | 2022-11-15 |
US20210111864A1 (en) | 2021-04-15 |
US10972252B2 (en) | 2021-04-06 |
AU2020294855B2 (en) | 2023-08-10 |
WO2020254248A1 (en) | 2020-12-24 |
US20210111865A1 (en) | 2021-04-15 |
IL288975A (en) | 2022-02-01 |
BR112021025744A2 (pt) | 2022-02-22 |
US20200403772A1 (en) | 2020-12-24 |
US20200403781A1 (en) | 2020-12-24 |
AU2020294855A1 (en) | 2021-10-14 |
US11394526B2 (en) | 2022-07-19 |
US10985904B2 (en) | 2021-04-20 |
JP2022537531A (ja) | 2022-08-26 |
EP3984160B1 (en) | 2023-07-26 |
SG11202110349VA (en) | 2021-10-28 |
IL288975B1 (en) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7486529B2 (ja) | プライベート情報検索に応用される準同型暗号化方法 | |
US11843687B2 (en) | Systems, devices, and processes for homomorphic encryption | |
Menon et al. | Spiral: Fast, high-rate single-server PIR via FHE composition | |
Han et al. | Efficient logistic regression on large encrypted data | |
Cho et al. | Transciphering framework for approximate homomorphic encryption | |
JP2010237653A (ja) | 第1の信号と第2の信号との間の類似性を検証するための方法及びシステム | |
Pedrouzo-Ulloa et al. | Number theoretic transforms for secure signal processing | |
CN109740362B (zh) | 一种基于熵编码的密文索引生成与检索方法及系统 | |
KR20150073753A (ko) | 정수 기반 준동형 암호 기법에 일반적으로 적용 가능한 압축 암복호화 장치 및 방법 | |
Benzekki et al. | A secure cloud computing architecture using homomorphic encryption | |
Davidson et al. | Frodopir: Simple, scalable, single-server private information retrieval | |
Yasumura et al. | Secure Naïve Bayes classification protocol over encrypted data using fully homomorphic encryption | |
Mashhadi | How to fairly share multiple secrets stage by stage | |
Biksham et al. | A lightweight fully homomorphic encryption scheme for cloud security | |
Brakerski et al. | Better security for deterministic public-key encryption: The auxiliary-input setting | |
Vo-Huu et al. | EPiC: efficient privacy-preserving counting for MapReduce | |
KR102424856B1 (ko) | Rlwe 암호문들의 압축 및 불확정적 확장 | |
Ding et al. | An injectivity analysis of crystals-kyber and implications on quantum security | |
Blass et al. | Epic: Efficient privacy-preserving counting for mapreduce | |
Vo-Huu et al. | Epic: Efficient privacy-preserving counting for mapreduce | |
Gorbenko et al. | Analysis of asymmetric NTRU prime IIT Ukraine encryption algorithm with regards to known attacks | |
Bhattacharyya et al. | Post-quantum Cryptography: A Brief Survey of Classical Cryptosystems, Their Fallacy and the Advent of Post-quantum Cryptography with the Deep Insight into Hashed-Based Signature Scheme | |
Hong et al. | A Miniature CCA public key encryption scheme based on non-abelian factorization problem in finite groups of lie type | |
RU2734324C1 (ru) | Способ формирования общего секретного ключа двух удаленных абонентов телекоммуникационной системы | |
Cheng et al. | Compact lossy and all-but-one trapdoor functions from lattice |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220107 |