CN116250208A - 用于在加密数据上评估一元或多元实值函数的加密方法、系统和服务 - Google Patents
用于在加密数据上评估一元或多元实值函数的加密方法、系统和服务 Download PDFInfo
- Publication number
- CN116250208A CN116250208A CN202180060685.7A CN202180060685A CN116250208A CN 116250208 A CN116250208 A CN 116250208A CN 202180060685 A CN202180060685 A CN 202180060685A CN 116250208 A CN116250208 A CN 116250208A
- Authority
- CN
- China
- Prior art keywords
- function
- functions
- encoding
- encryption
- ciphertext
- 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
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000011156 evaluation Methods 0.000 claims abstract description 51
- 238000012545 processing Methods 0.000 claims abstract description 21
- 230000006870 function Effects 0.000 claims description 400
- 238000004422 calculation algorithm Methods 0.000 claims description 80
- 238000004364 calculation method Methods 0.000 claims description 43
- 239000000654 additive Substances 0.000 claims description 7
- 230000000996 additive effect Effects 0.000 claims description 7
- 230000010365 information processing Effects 0.000 claims description 6
- 101100391182 Dictyostelium discoideum forI gene Proteins 0.000 claims description 2
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 238000004590 computer program Methods 0.000 claims description 2
- 238000005755 formation reaction Methods 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 description 27
- 238000000354 decomposition reaction Methods 0.000 description 18
- 239000013598 vector Substances 0.000 description 17
- 239000002131 composite material Substances 0.000 description 9
- 238000005457 optimization Methods 0.000 description 9
- 230000009466 transformation Effects 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 241001028048 Nicola Species 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013329 compounding Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 239000003643 water by type Substances 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
- 101100010166 Mus musculus Dok3 gene Proteins 0.000 description 1
- 238000010521 absorption reaction Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000003325 tomography 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
-
- 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/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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/16—Obfuscation or hiding, e.g. involving white box
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种基于同态加密的加密方法及其变体,使得能够在加密数据上评估一元或多元实值函数,从而允许更广泛且有效地在加密数据上进行同态处理。
Description
技术领域
本发明涉及改进应用于事先加密的数据的一个或多个函数的同态评估(l’évaluation homomorphe)。基于近来的密码学工作,此技术领域可能包括在存在保密限制的所有活动领域中的许多应用(诸如但不限于,隐私保护的应用、商业秘密的应用或医疗数据的应用)。
更特别地,本发明涉及用于实现由一个或多个专门编程的计算机系统自动完成一个或多个函数的同态评估所需的计算的方法。因此,有必要考虑有限的存储和计算时间能力,或者在云计算类型的远程处理的情况下还要考虑传输能力,该传输能力可由应当执行这种类型的评估的信息处理系统知晓。
如下文将描述的,同态加密方法的发展迄今一直受到与计算机处理能力相关的且由文献提出的大多数方案所固有的这种技术限制的极大阻碍,特别是在为了执行不同的计算阶段所要实施的机器资源和要支持的计算时间的方面。
背景技术
全同态加密方案(Fully Homomorphic encryption,缩写为FHE)使任何参与者能够将一组密文(对应于明文x1,…,xp)公开转换为对应于明文的给定函数f(x1,…,xp)的密文,而这个参与者本身没有权限访问明文。众所周知,这种方案可以用于构建符合私人生活(privacy preserving)的协议:用户可以将加密数据存储在服务器上,且授权第三方对加密数据执行运算,而不必向服务器公开数据本身。
第一代全同态加密方案仅在2009年由Gentry提出(他已基于2009年首次申请在2014年获得了第US8630422B2号专利);另参见[Craig Gentry,“Fully homomorphicencryption using ideal lattices”,in 41st Annual ACM Symposium on Theory ofComputing,pages 169-178,ACM Press,2009]。现在不再使用Gentry的构造,但是它所引入的功能之一“自举(bootstrapping)”,特别是它的实施方式之一,被广泛用于后续所提出的方案中。自举是一种用于降低密文噪声的技术:事实上,在所有已知的FHE方案中,密文包括少量的随机噪声,该随机噪声对于安全而言是必要的。当对噪声密文执行运算时,噪声会增加。在评估给定数目的运算后,这个噪声会变得太高,可能会危及计算的结果。因此,自举是构造同态加密方案的基础,但无论是在所使用的内存还是计算时间方面,此技术都是非常昂贵的。
Gentry发表文章之后的工作旨在提供新的方案且改进自举,以便使同态加密在实践中可行。最著名的构造是DGHV[Marten van Dijk,Craig Gentry,Shai Halevi和VinodVaikuntanathan,“Fully homomorphic encryption over the integers”,in Advancesin Cryptology-EUROCRYPT 2010,volume 6110de Lecture Notes in Computer Science,pp.24-43,Springer,2010]、BGV[Zvika Brakerski,Craig Gentry和VinodVaikuntanathan,“(Leveled)fully homomorphic encryption without bootstrapping”,in ITCS 2012;3rd Innovations in Theoretical Computer Science,pages 309-325,ACM Press,2012]、GSW[Craig Gentry,Eds,Amit Sahai和Brent Waters,“Homomorphicencryption from learning with errors:Conceptually simpler,asymptoticallyfaster,Attribute-based”,in Advances in Cryptology-CRYPTO 2013,Part I,volume8042de Lecture Notes in Computer Science,pp.75-92,Springer,2013]及其变体。虽然在第一代Gentry的方案中执行自举在实践中是不可行的(一个生命期不足以完成计算),但相继提出的构造使此运算变得可行,尽管不是很实用(每个自举持续几分钟)。在GSW类型方案上执行的一种更快的自举已经由Ducas和Micciancio在2015年提出[Léo Ducas和Daniele Micciancio,“FHEW:Bootstrapping homomorphic encryption in less than asecond”,in Advances in Cryptology-EUROCRYPT 2015,Part I,Volume 9056de LectureNotes in Computer Science,pages 617-640,Springer,2015]:自举运算在略大于半秒的时间内执行。在2016年,Chillotti、Gama、Georgeva和Izabachene提出了FHE方案的一种新变体,称为TFHE[IIaria Chillotti,Nicolas Gama,Mariya Georgieva和Malika Izabachène,“Faster fully homomorphic encryption:Bootstrapping in less than0.1seconds”,in Advances in Cryptology–ASIACRYPT 2016,Part I,volume 10031deLecture Notes in Computer Science,pages 3-33,Springer,2016]。他们的自举技术已经成为后续工作的基础。可以提及这些工作:Bourse等人[Florian Bourse,MichelesMinelli,Matthias Minihold和Pascal Paillier,“Fast homomorphic evaluation ofdeep discretised neural networks”,in Advances in Cryptology-CRYPTO 2018,PartIII,volume 10993de Lecture Notes in Computer Science,pages 483-512,Springer,2018]、Carpov等人[Sergiu Carpov,Malika Izabachène和Victor Mollimard,“Newtechniques for multi-value input homomorphic evaluation and applications”,inTopics in Cryptology-CT-RSA 2019,volume 11405de Lecture Notes in ComputerScience,pages 106-126,Springer,2019]、Boura等人[Christina Boura,Nicolas Gama,Mariya Georgieva和Dimitar Jetchev,“Simulating homomorphic evaluation of deeplearning predictions”,in Cyber Security Cryptography and Machine Learning(CSCML 2019),volume 11527de Lecture Notes in Computer Science,pages 212-230,Springer,2019]和Chillotti等人[Ilaria Chillotti,Nicolas Gama,Mariya Georgieva和Malika Izabachène,“TFHE:Fast fully homomorphic encryption over the torus”,Journal of Cryptology,31(1),pp.34-91,2020]。TFHE性能是显著的。他们对该领域的研究进展以及使同态加密更加实用做出了贡献。所提出的新技术使有可能在几毫秒内计算一个自举。
技术问题
尽管取得了进展,已知的计算程序允许将一组密文(对应于明文x1,…,xp)公开转换为对应于明文的给定函数f(x1,…,xp)的密文,但仍然限于某些情况下,或者仍然不实用。事实上,目前主要的通用手段包括以布尔电路的形式表示此函数,所述布尔电路由AND、NOT、OR或XOR类型的逻辑门组成,然后包括使用表示该函数f的输入(明文)的比特的密文作为输入,同态评估此电路。对布尔电路的复杂性的衡量是它的乘法深度,乘法深度被定义为为了获得计算的结果而应当计算的连续AND门的最大数目。为了在此计算期间保持对噪声的控制,有必要在其过程中定期执行自举运算。如上文所指示的,即使使用最新的技术,这些自举运算也涉及复杂的计算,且由于乘法深度很大,使整个计算甚至更慢。这种方法仅对在二进制输入上运算且具有简单的布尔电路的函数是可行的。
一般而言,待评估的函数取一个或多个实数变量x1,...,xp作为输入。甚至可能存在几个函数f1,...,fq待在一组实数变量上进行评估。因此,寻找一种方法具有重大的技术和经济利益,该方法允许在不动用过于庞大的计算手段的情况下,快速执行上述运算,即将一组密文(对应于明文x1,...,xp)公开转换为对应于明文的多个实值函数f1,...,fq的一组密文。事实上,到目前为止,Gentry在2009年取得的理论进展还没有已知实际的具体化,因为缺乏对此技术问题的有效的解决方案。本发明正是针对此问题提供了答复。
发明内容
本申请描述了一组方法,该组方法旨在由至少一个专门编程的信息处理系统以数字形式执行,以将一组密文(对应于明文x1,...,xp)有效且公开地转换为对应于明文的多个函数f1,...,fq的一组密文。此新方法将多元函数f1,...,fq转换为一元函数的和与一元函数的复合的组合的形式。优选地,从函数f1,...,fq的转换得到的中间值在评估中被重复使用。最后,每个一元函数优选地以表格的形式表示,而非通常以布尔电路的形式表示。
值得注意的是,定义在实数上且具有实值的任何多元函数都被支持。输入经过在先编码,以便确保与底层加密算法的消息的原始空间的兼容性。在解密之后,解码也可以在输出端处应用于所考虑的函数的图像。
本发明的技术效果是显著的,因为无论是独立考虑还是组合考虑,它所实施的技术都将允许对应用于加密数据的多个函数f1,...,fq的结果执行评估,同时大大降低了复杂性且减少了必要的计算时间。如下文所描述的,这种减轻特别是由于以下事实:(i)待评估的多元函数被转换为一元函数,而非直接处理几个变量的函数;(ii)这些函数可以被分解,以便共享中间计算的结果,而非进行单独的评估;以及(iii)所产生的一元函数由表格表示,而非由布尔电路表示。
当函数f具有几个变量x1,...,xp时,根据本发明的方法是将函数f转换为一元函数的和与一元函数的复合的组合。应注意,一元函数的和与一元函数的复合这两种运算允许表达仿射变换或其他线性组合。通过与神经网络的类比,表达“一元函数网络”被用于指在完成从多变量到单变量的转换时,将一元函数的和与一元函数的复合组合的表示,该网络将对多个加密值进行同态评估。所述转换可以是精确的或近似的;尽管如此,应注意,精确转换是元误差的近似转换。在实践中,由此获得的网络与实现相同功能性的布尔电路相比具有低深度的特点。然后此函数f的新表示被用于对加密输入E(encode(x1)),...,E(encode(xp))进行评估,其中E指的是加密算法,encode指的是编码函数,这将允许从E(encode(zk))类型的输入开始,以对一些一元函数gj的E(encode(gj(zk)))类型的计算为结束,其中zk是中间结果。这些计算利用了加密算法的同态特性。
当相同的一元函数网络被多次重复使用时,不必重新进行所有的计算阶段是有意义的。因此,根据本发明,第一步包括预计算所述一元函数网络;然后在后续步骤中对加密数据进行同态评估。
任何连续的多元函数都可以写成一元函数的和与一元函数的复合这一事实已由Kolmogorov在1957年证明,[Arey N.Kolmogorov,“Onthe representation of continuousfunctions of several variables by superposition of continuous functions ofone variable and addition”,Dokl.Akad.Nauk SSSR,114,pp.953-956,1957]。
此结果长期以来一直停留在理论上,但算法版本已经特别是被Sprecher发现,Sprecher提出一种算法,在该算法中明确地描述了用于构造一元函数的方法[DavidA.Sprecher,“On the structure of continuous functions of several variables”,Transactions of the American Mathematical Society,115,pp.340-355,1965]。可以在文章[Pierre-Emmanuel Leni,Yohan Fougerolle和Frédéric Truchetet,“Théorème desuperposition de Kolmogorov et son application à la décomposition defonctions multivariées”,in MajecSTIC’08,29-31octobre 2008,Marsei11e,France,2008]中找到其详细的描述。此外,应注意,待分解的函数的连续性假设可以通过考虑后者的近似值来放宽。
另一种可能的方法包括通过根据英文术语被称为岭(ridge)函数的特殊多元函数的和来近似多元函数[B.F.Logan和L.A.Shepp,“Optimal reconstruction of a functionfrom its proj ections”,Duke Mathematical Journal,42(4),pp.645-659,1975]。实值变量向量x=(x1,...,xp)的岭函数是应用于该变量向量与实参数向量a=(a1,...,ap)的标量积的函数,即ga(x)=g(a·x)类型的函数,其中g是一元函数。如上文所指出的,标量积或等价的线性组合是一元函数的和与一元函数的复合的组合的特殊情况;以岭函数的和的形式分解多元函数形成了根据本发明的从多变量到单变量的转换的一种实施方案。已知的是,如果可以增加岭函数的数目,则任何多元函数可以以所期望的高精度通过岭函数近似[Allan Pinkus,“Approximating by ridgefunctions”,in A.Le Méhauté,C.Rabut和L.L.SchumakerSurface Fitting and Multiresolution Methods,pages 279-292,Vanderbilt University Press,1997]。这些数学结果产生了一种已知以投影寻踪(projection pursuit)为名的统计优化方法[Jerome H.Friedman和Werner Stuetzle,“Projection pursuit regression”,Journal of the American StatisticalAssociation,76(376),pp.817-823,1981]。
使用所谓的ga(x)=g(||x-a||)类型的径向函数来代替岭函数也是一种可能性[D.s.Broomhead和David Lowe,“Multivariable functional interpolation andadaptive networks”,Complex Systems,2,pp.321-355,1988],且其他的基本函数族也可以类似的近似质量(收敛速度)使用。
在某些情况下,形式分解是可能的,而不需要通过Kolmogorov定理或其算法版本之一(诸如Sprecher算法版本)或通过岭函数、径向函数或其变体。例如,函数g(z1,z2)=max(z1,z2)(特别是作为由神经网络使用的所谓的“最大池化”层)因此可以被这样分解:max(z1,z2)=z2+(z1-z2)+,其中对应于一元函数
给定函数f1,...,fq的数据,当这些函数中的每个函数都是由一元函数网络(所述一元函数网络之后旨在对加密数据进行同态评估)表示,此评估可以在这些一元函数中的一个或多个的全部或部分被重复使用时以优化的方式执行。因此,对于在该组一元函数网络中观察到的每个冗余,对加密值进行一元函数同态评估的某些程序将仅需进行一次。知晓这种函数同态评估典型地联机完成且极大地增加了处理速度,共享中间值会产生非常显著的性能提升。
考虑了三种可能的优化类型:
相同的函数,相同的参数
在一元函数数目相同的情况下,这种优化包括优选地一元函数网络,最大次数重复应用于相同参数的相同一元函数。事实上,每当一元函数与评估所述一元函数所用的输入是相同的,在此输入上同态评估此一元函数就不需要重新计算。
不同的函数,相同的参数
当在相同的输入上同态评估两个或多个一元函数基本上可以以单个同态评估的成本完成时,这种优化是适用的,一个实施方案允许共享大部分的计算。在上述CT-RSA2019的文章中以多输出版本为名考虑到了类似的情况。在“具体实施方式”部分提出了这种实施方案的一个实施例。在多变量情况下,这种情形出现在例如当分解系数(aik)固定时以岭函数或径向函数的和的形式对几个多元函数的分解中。
相同的函数,相差非零加性常数的参数
另一允许加速计算的情形是当在已知差值的参数上评估相同的一元函数时。例如当使用Kolmogorov类型的分解时,特别是Sprecher的近似算法版本,就会发生这种情况。在这种情况下,分解涉及所谓的“内部”一元函数;特别参见“具体实施方式”部分中对内部函数Ψ的应用。在后者的情况下,附加的成本是最小的。
这些优化适用于应当评估几个函数f1,…,fq的情况,但它们也适用于待评估的单个函数的情况(q=1)。在所有情况下,有意义的是产生一元函数网络,它不仅减少了一元函数的数目,而且优选在相同的参数上使用不同的函数,或者在相差非零加性常数的参数上使用相同的函数,从而减少评估成本。这种性质是一元函数网络在加密输入上进行同态评估时所特有的。
无论根据本发明进行评估的函数是多元的且已经形成了上文提出的第一步骤,还是旨在处理原始的一元函数,本发明都提供了用于对这些一元函数执行同态评估的方法,且在一个有利的变体中,为此目的使用了表格形式的表示。
一元函数的同态评估,或更普遍的一元函数的组合的同态评估,是基于同态加密方案的。
LWE(代表容错学习(Learning With Errors))问题由Regev在2005年提出[OdedRegev,“On lattices,learning with errors,randomlinear codes,and cryptography”,in 37th Annual ACM Symposium on Theory of Computing,pages 84-93,ACM Press,2005],使能够在许多代数结构上构造同态加密方案。通常,加密方案包括加密算法ε和解密算法使得如果c=ε(μ)是对明文μ的加密,则返回明文μ。从LWE问题及其变体中得出的加密算法具有在密文中引入噪声的特性。这被称为明文原始空间(d’espace natif),以指示明文的空间,在该明文的空间上定义加密算法,且在考虑到一些噪声的情况下对密文解密产生该明文空间的初始明文。应记得,对于将M作为明文原始空间的加密算法ε,编码函数encode是将任意集合的元素带入集合M或其子集的函数;优选地,该函数是单射的。
如前述Chillotti等人的文章(ASIACRYPT 2016)中所详细描述的,应用于按1取模的实数的环面这样的方案定义如下。对于正整数n,加密密钥是{0,1}n的向量(s1,...,sn);明文原始空间是环面的元素μ的LWE密文是的向量c=(a1,...,an,b),其中对于1≤j≤n,aj是的随机元素,且其中e是根据上以0为中心的随机误差分布的低噪声。从密文c=(a1,...,an,b)开始,对密钥(s1,...,sn)的了解允许找到 作为的元素。应记得,环面的两个元素可以相加,但它们的内积未被定义。符号“·”表示整数和环面元素之间的外积。
在同一篇文章中,作者还描述了基于 的方案,其中和分别是多项式环 和对于严格的正整数N和k,加密密钥是的向量(s1,...,sk),其中明文原始空间是 的多项式μ的RLWE密文是的向量c=(a1,...,ak,b),其中对于1≤j≤k,aj是的随机多项式且其中(在中,即modulo(XN+1,1)),e是根据上的随机误差分布的低噪声。从密文c=(a1,...,ak,b)开始,对密钥(s1,...,sk)的了解允许找到 (在中)作为的元素。此处符号“·”表示上的外积。RLWE中的R指的是单词“环”。LWE问题的这些变体已经在[Damien Stehlé,RonSteinfeld,Keisuke Tanaka和Keita Xagawa,“Efficient public key encryption basedon ideal lattices”,in Advances in Cryptology-ASIACRYPT 2009,volume 5912ofLectureNotes in Computer Science,pages 617-635,Springer,2009]和[VadimLyubashevsky,Chris Peikert和Oded Regev,“On ideal lattices and learning witherrors over rings”,in Advances in Cryptology-EUROCRYPT 2010,volume 6110ofLecture Notes in Computer Science,pages 1-23,Springer,2010]中被提出。
最后,此同一篇文章ASIACRYPT 2016介绍了RLWE型密文与RGSW型密文(代表Gentry-Sahai-Waters,“R”指的是环)之间的外积。应记得,RLWE型加密算法会产生RGSW型加密算法。使用前一段的符号。对于整数l≥1,z表示在中具有(k+1)l行和k+1列的矩阵,矩阵的每行都是多项式0的RLWE型加密。然后,的多项式σ的RGSW密文由矩阵C=Z+σ·G给出,其中G是定义在中的所谓的“小工具”矩阵(具有(k+1)l行和k+1列),且由给出,其中对于给定基数B≥2,g=(1/B,...,1/Bl),Ik+1是k+1大小的同一矩阵。为此,小工具关联有表示为的转换,使得对于中的多项式的每个向量(行)v,我们有G-1(v)·G≈v且G-1(v)很小。(多项式的)RGSW型密码文C与(多项式的)RLWE型密码文c的外积,表示为定义为由此得到的密文是多项式的RLWE型密文。在前述文章ASIACRYPT 2016中给出了证明。
如所示出的,前述方案是所谓的对称或私钥加密方案。这绝不是一种限制,因为如Rothblum在[Ron Rothblum,“Homomorphic encryption:From private-key to public-key”,in Theory of Cryptography(TCC 2011),volume 6597of Lecture Notes inComputer Science,pages 219-234,Springer,2011]中所示出的,任何加法同态的私钥加密方案都可以变换为公钥加密方案。
如上所述,自举指的是一种允许降低密文中所存在的任何可能的噪声的方法。在Gentry前述STOC 2009的创始文章中,他通过现在通常称为-重新加密(re-encryption)”的技术来实施自举,并由此引入。重新加密包括在密域中同态评估解密算法。在明域中,加密算法取密文C和私钥K作为输入,且返回相应的明文x。在密域中,通过同态加密算法E和编码函数encode,所述解密算法的评估取C的加密密文E(encode(C))和K的加密密文E(encode(K))作为输入,从而根据算法E的加密密钥,给出同一明文的新的加密密文E(encode(x))。因此,假设密文是作为同态加密算法E的输出给出的,并不构成限制,因为重新加密技术允许在这种情况下结束。
LWE型加密方案及其变体的同态性质允许通过对相应的密文运算来操纵明文。待评估的一元函数f的定义域被离散成涵盖其定义域的几个区间。每个区间由值xi与函数f(xi)的相应值表示。因此,函数f是由一系列形式为(xi,f(xi))的对来列表显示。这些对实际上是用于从x的密文开始,针对函数定义域中的x的任意值,同态计算f(x)的密文或近似值。
在本发明中,此同态计算的核心是一种新的结合了自举和编码的通用技术。在“具体实施方式”部分中描述了几个实施方案。
前述来自ASIACRYPT 2016的文章中所描述的同态评估技术以及前述后续工作中所引入的同态评估技术并不能够同态评估在任意定义域上的任意函数。首先,这些都严格限制于单变量类型函数。现有技术还未知在多变量的情况下的响应。此外,在单变量情况下,现有技术在输入值上或在待评估的函数上假设了条件。在这些限制中,注意例如输入限制于二进制值(比特)或待评估的函数所需的负循环(négacyclique)性质(例如,通过环面上的“符号”函数验证)。对于具有任意实值的函数,现有技术中没有描述允许在这些特殊情况下结束的输入值和输出值的通用处理。
相反,本发明的实施方式能够在控制在输出端的噪声(自举)的同时,在实数的LWE型密文的输入上同态评估具有实值变量的函数,而不管函数的形式或它们的定义域。
具体实施方式
本发明允许通过至少一个专门编程的信息处理系统以数字形式在加密数据上用一个或多个实值变量对一个或多个函数f1,...,fq进行评估,每个函数从实数变量x1,...,xp中取多个实数变量作为输入。
当至少一个所述函数取至少两个变量作为输入时,根据本发明的方法示意性地包括三个步骤:
1.所谓的预计算步骤,包括将每个所述多元函数转换为一元函数网络,由一元函数的和与一元实值函数的复合组成;
2.所谓的预选择步骤,包括在所述预计算的一元函数网络中识别不同类型的冗余且选择其全部或部分;
3.所谓的同态评估所述预计算的一元函数网络中的每个的步骤,其中以优化的方式评估在所述预选择步骤中所选择的冗余。
关于第二步骤(预选择),对全部或部分冗余的选择主要但不完全是由优化同态评估的数字处理的目标所指引的,无论在计算方面的增益还是针对可用性原因,如存储中间计算值的内存资源。
图1示意性地复制了当为此目的编程的计算机系统根据本发明实施前两个步骤时的前两个步骤。
因此,在本发明的实施方案之一中,评估一个或多个多元实值函数f1,...,fq,每个函数从变量x1,...,xp中取多个实值变量作为输入,且所述函数中的至少一个取至少两个变量作为输入,取每个输入xi的加密密文E(encode(xi))(1≤i≤p)作为输入,且返回应用于f1,...,fq的对应输入的多个加密密文,其中E是同态加密算法,encode是编码函数,该编码函数将E的明文原始空间中的元素关联到每个实数xi,其特征在于:
1.预计算步骤,包括将每个所述多元函数转换为一元函数网络,由一元实值函数的和与一元实值函数的复合组成;
2.预选择步骤,包括在所述预计算的一元函数网络中识别以下三种类型之一的冗余:
a.应用于相同的参数的相同的一元函数;
b.应用于相同的参数的不同的一元函数;
c.应用于相差非零加性常数的参数的相同的一元函数;
且选择其全部或部分;
3.同态评估所述预计算的一元函数网络中的每个的步骤,其中以优化的方式评估在所述预选择步骤中所选择的冗余。
且
其中,在给定数目p个变量的情况下,λf和a是常数,且Ψ是连续函数。
换句话说
作为实施例,图2例示了p=2的情况。
函数Ψ和ξ是所谓的“内部”,且对于给定的元数(arité),它们与f无关。函数Ψ将Ip的实数向量(x1,...,xp)的任何分量xi关联到[0,1]中的值。函数ξ允许将区间[0,1]中的数关联到每个向量(x1,...,xp)∈Ip,然后该数将作为函数gk的参数,以通过求和来重新构造函数f。应注意,在Kolmogorov定理中,将f的域限制在超立方体Ip中的限制,通常是在科学文献中进行的,以简化其解释。然而,显而易见的是,该定理自然地延伸到任何具有同位维度p的平行六面体。
Sprecher分别在[David A.Sprecher,“A numerical implementation ofKolmogorov’s superpositions”,Neural Networks,9(5),pp.765-772,1996]和[DavidA.Sprecher,“A numerical implementation of Kolmogorov’s superpositions II”,Neural Networks,10(3),pp.447-457,1997]中提出用于确定内部函数和外部函数的算法。
代替最初由Sprecher定义的函数Ψ来构造ξ(对于一些输入值是不连续的),可以使用在[Jiirgen Braun和Michael Griebel,“On a constructive proof of Kolmogorov’s superposition theorem”,Constructive Approximation,30(3),pp.653-675,2007]中定义的函数Ψ
一旦内部函数Ψ和ξ被固定,剩下的就是确定外部函数gk(取决于函数f)。为此,Sprecher提出为每个k(0≤k≤2p)构造r个函数该函数的和收敛于外部函数gk。在第r步骤结束时,f的近似结果以下面的形式给出:
或是
因此,在本发明的一个实施方案中,预计算阶段的特征在于,对于来自f1,...,fq中的至少一个函数fj,预计算步骤的转换是(t≤p且j1,...,jt∈{1,...,p})形式的近似变换,且其中Ψ是定义在实数上且具有实值的一元函数,其中是实常数,gk是定义在实数上且具有实值的一元函数,所述函数gk被确定为针对给定参数K的fj的函数。
另一分解多元函数f(x1,...,xp)的技术包括用所谓的岭函数的和根据如下变换来近似它:
其中系数ai,k是实数,且其中gk是定义在实数上且具有实值的一元函数,所述函数gk和所述系数ai,k被确定为针对给定参数K的fj的函数。
然后,该分解在一般情况下是近似的,目的是确定最佳近似,或具有足够质量的近似。该近似作为投影寻踪(projection pursuit)出现在专注于统计优化的文献中。如前所述,值得注意的结果是,任何函数f可以以这种具有任意高精度的方式被近似。然而,在实践中,f容许精确分解是常见的,即可以以岭函数之和的形式对于它输入的全部或部分解析表达它。
因此,在本发明的一个实施方案中,预计算阶段的特征可以在于,对于来自f1,...,fq中的至少一个函数fj,预计算步骤的转换是(t≤p且j1,...,jt∈{1,...,p})形式的近似转换,且其中系数ai,k是实数以及其中gk是定义在实数上且具有实值的一元函数,所述函数gk和所述系数ai,k被确定为针对给定参数K的fj的函数。
一种类似的使用相同的统计优化工具的分解技术,通过采取径向函数代替岭函数来应用,根据
其中且其中向量ak的系数ai,k为实数,以及其中gk是定义在实数上且具有实值的一元函数,所述函数gk和所述系数ai,k被确定为针对给定参数K和给定范数||·||的fj的函数。通常,使用的是欧几里得范数(Euclideannorm)。
因此,在本发明的一个实施方案中,预计算阶段的特征可以在于,对于来自f1,...,fq中的至少一个函数fj,预计算步骤的转换是形式的变换,其中ak=(a1,k,...,at,k)(t≤p且j1,...,jt∈{1,...,p}),且其中向量ak的系数ai,k为实数,以及其中gk是定义在实数上且具有实值的一元函数,所述函数gk和所述系数ai,k被确定为针对给定参数K和给定范数||·||的fj的函数。
如前述Pinkus的文章中所指出的,另一类重要的函数分解是当系数ai,k是固定的,函数gk是可变时。该类既适用于岭函数形式的分解,也适用于径向函数形式的分解。用于解决该问题的几种方法是已知的,名称为:冯·诺依曼算法、循环坐标算法、施瓦兹域分解法、迪利贝托-斯特劳斯算法,以及在专门用于断层扫描的文献中发现的变体;参见这篇同样是Pinkus的文章和其中的参考文献。
因此,在本发明的一个特定实施方案中,此预计算阶段的特征进一步在于系数ai,k是固定的。
在某些情况下,预计算步骤的转换可以完全通过多元函数的等价形式表示来执行。
考虑g是多元函数。如果此函数g计算z1和z2的最大值,g(z1,z2)=max(z1,z2),则它可以使用形式等价max(z1,z2)=z2+(z1-z2)+,其中对应于一元函数这种形式等价的使用允许容易地得到用于函数max(z1,z2)的其他形式等价。例如,由于(z1-z2)+可以等价的方式表示为 得到形式等价max(z1,z2)=(z1+z2+|z1-z2|)/2,其中是一元函数“绝对值”,并且其中是一元函数“除以2”。
一般而言,对于三个变量或更多变量z1,...,zm,给定max(z1,...,zi,zi+1,...,zm)=max(max(z1,...,zi),max(zi+1,...,zm)),对于任何i(1≤i≤m一1),由和与函数|·|(绝对值)或和与函数(·)+的组合从而迭代得到max(z1,...,zm)。
在本发明的一个特定实施方案中,此预计算阶段的特征进一步在于,当所述函数包括三个变量或更多时,形式等价是从两个变量的形式等价的迭代中获得的。
同样,对于“最小值”函数,g(z1,z2)=min(z1,z2),可以使用形式等价min(z1,z2)=z2+(z1-z2)-,其中或者min(z1,z2)=(z1+z2-|z1-z2|)/2,因为 通过迭代,它通常允许通过观察min(z1,...,zi,zi+1,...,zm)=min(min(z1,...,zi),min(zi+1,...,zm))来将m变量函数min(z1,...,zm)形式分解成一元函数的和与一元函数的复合的组合。
在本发明的一个特定实施方案中,此预计算阶段的特征进一步在于,当所述函数包括三个变量或更多时,形式等价是从两个变量的形式等价的迭代中获得的。
另一非常有用的多元函数(可以被简单地形式分解为一元函数的和与一元函数的复合的组合)是乘法。第一实施方案是对g(z1,z2)=z1×z2使用形式等价z1×z2=(z1+z2)2/4-(z1-z2)2/4,涉及一元函数当然,形式等价的使用可以给出其他形式等价。因此,作为示例,通过使用z1×z2=(z1+z2)2/4-(z1-z2)2/4,推论出z1×z2=(z1+z2)2/4-(z1-z2)2/4+(z1+z2)2/4-(z1+z2)2/4=(z1+z2)2/2-(z1-z2)2/4-(z1+z2)2/4=(z1+z2)2/2-z1 2/2-z2 2/2;即形式等价z1×z2=(z1+z2)2/2-z1 2/2-z2 2/2,涉及一元函数
通过观察z1×...×zi×zi+1×...×zm=(z1×...×zi)×(zi+1×...×zm)(1≤i≤m-1),这些实施方案可以被推广至m(m≥3)变量函数。
在本发明的一个特定实施方案中,此预计算阶段的特征进一步在于,当所述函数包括三个变量或更多时,形式等价是从两个变量的形式等价的迭代中获得的。
第二实施方案是将g(z1,z2)=|z1×z2|=|z1|×|z2|分解为|z1×z2|=exp(ln|z1|+ln|z2|),涉及一元函数和或者,对于任意底数B,如因为 其中e=exp(1),涉及一元函数和在此再次,当观察到|z1×...×zi×zi+1×...×zm|=|z1×...×zi|×|zi+1×...×zm|(1≤f≤m-1)时,这些实施方案可以被推广至m变量函数(m≥3)。
在本发明的一个特定实施方案中,此预计算阶段的特征进一步在于,当所述函数包括三个变量或更多时,形式等价是从两个变量的形式等价的迭代中获得的。
如前所述,作为输入而给定的多元函数被转换为多元函数网络。这种网络未必是唯一的,即使在转换是精确的情况下。
例如,我们在此看到了多元函数max(x1,x2)的至少两种分解,即max(x1,x2)=x2+(x1-x2)+和max(x1,x2)=(x1+x2+|x1-x2|)/2。具体而言,这些转换中的每一个都可以详细地进行如下操作:
1.max(x1,x2)=x2+(x1-x2)+
·假设z1=x1一x2,且定义g1(z)=z+
·写作max(x1,x2)=x2+g1(z1)
2.max(x1,x2)=(x1+x2+|x1-x2|)/2
·假设z1=x1-x2和z2=x1+x2
·定义g1(z)=|z|和g2(z)=z/2
·写作max(x1,x2)=g2(z3),其中z3=z2+g1(z1)
一般而言,在一元函数网络中观察到两种类型的操作:一元函数的求和以及评估。当网络的评估在加密值上同态进行时,代价最高的操作是一元函数的评估,因为这通常会产生自举步骤。因此,产生一元函数的网络以最小化这些一元函数的评估操作是有意义的。
因此,在前面的实施例中,我们可以看到“最大值”函数[max(x1,x2)=x2+(x1-x2)+]的第一变换似乎更有利,因为它仅需要一个一元函数的评估,即函数g1(z)=z+的评估。在实践中,差异并不明显,因为第二变换中的第二一元函数并不真正需要被评估:它所需要的只是返回2max(x1,x2)=x1+x2+|x1-x2|或者将此因子整合到输出端的解码函数中。一般而言,包括乘以常数的一元函数可以通过如下方式被忽略:(i)通过计算初始函数的倍数,或者(ii)当这些函数处于另一一元函数的输入端时,通过复合“吸收”常数。例如,多元函数sin(max(x1,x2))可以被写作
1.sin(max(x1,x2))=sin(x2+(x1-x2)+)
·假设z1=x1-x2,且定义g1(z)=z+
·定义g2(z)=sin(z)
2.写作sin(max(x1,x2))=g2(z2),其中z2=x2+g1(z1)
·sin(max(x1,x2))=sin((x1+x2+|x1-x2|)/2)
·假设z1=x1-x2和z2=x1+x2
·定义g1(z)=|z|和g2(z)=sin(z/2)
3.写作sin(max(x1,x2))=g2(z3),其中z3=z2+g1(z1)
除了g(z)=z+a型(常数a的加法)或者g(z)=az型(常数a的乘法)的一元函数外,其他情况会产生一元函数更快的评估。
考虑了三种优化类型:
1)相同的函数,相同的参数:
2)不同的函数,相同的参数
gk≠gk,且(类型2)。在某些情况下,在相同的参数上同态评估两个或多个一元函数的成本可能小于单独考虑这些函数的成本的总和。典型地,需要单个自举步骤。在这种情况下,在两个包括相同数目的型一元函数的一元函数网络中,在乘法容许度内,有利的是,优选共享最多参数的那个一元函数网络。一个实施例很好地例示了这种情况。考虑多元函数f(x1,x2)=max(x1,x2)+|x1×x2|的同态评估。网络的两种可能的实施方案是
a.max(x1,x2)+|x1×x2|=x2+(x1-x2)++exp(ln|z1|+ln|z2|)
·假设z1=x1-x2,且定义g1(z)=z+
·定义g2(z)=ln|z|和g3(z)=exp(z)
·写作max(x1,x2)+|x1×x2|=x2+g1(z1)+g3(z2),其中z2=g2(x1)+g2(x2)
b.max(x1,x2)+|x1×x2|=x2+(x1-x2)++|(x1+x2)2/4-(x1-x2)2/4|
·假设z1=x1-x2,且定义g1(z)=z+
·假设z2=x1+x2,且定义g2(z)=z2/4和g3(z)=|z|
·写作max(x1,x2)+|x1×x2|=x2+g1(z1)+g3(z3),其中z3=g2(z2)-g2(z1)。
上述的两个实施方案包括四个一元函数评估。然而,第二个实施方案包括两个在相同的参数上的一元函数,即g1(z1)和g2(z1),因此是优选的。
一元函数在相同的参数上的共享并不限于通过等价形式表示执行的转换。这也适用于数字转换。应记得,定义在的平行六面体上的函数可以被转换为一元函数网络。特别是,对于具有p个变量x1,...,xp的函数f,Sprecher的算法允许获得具有以下形式的函数f的近似值:
在此结构中,对于给定的定义域,所谓的“内部”函数Ψ和ξ不依赖于f。因此,如果定义在相同域上的几个多元函数f1,...,fq被同态评估,则当它们应用在相同的输入上时,函数Ψ和ξ的同态评估不需要重新计算。这种情况还出现在例如使用岭函数或径向函数对几个多元函数的分解中,此时分解的系数(aik)是固定的。
3)相同的函数,相差非零加性常数的参数
gk=gk′且已知常数ak≠0(类型3)。另一可以加速计算的情形是,当相同的一元函数被应用于相差非零加性常数的参数时。例如,还是在Sprecher的结构中,上述对f的同态评估涉及相同的一元函数Ψ在相差加性常数值的变量(即,xi+ka,(1≤i≤p且ka已知))上的几个同态评估。在这种情况下,Ψ(xi+ka)(1≤k≤K)的加密值可以从Ψ(xi)的加密中有效地获得;下文将详细介绍一个实施方案。
根据本发明的方法使用两种同态加密算法,表示为E和E′。其明文原始空间分别表示为和该方法的参数是整数N≥1,它量化了所谓的用于评估函数f的输入的实际精度。事实上,尽管函数f的定义域的输入可以具有任意精度,但是这些输入在内部最多可以由N个选定的值来表示。这带来的直接后果是,函数f将由N个可能的值中的最大值来表示。该方法也被编码函数encode和encode′所参数化,其中encode取的元素作为输入,并将其与的元素相关联,encode′取均元素作为输入,并将其与的元素相关联。该方法由所谓的离散化函数discretise参数化,该函数取的元素作为输入,并将其与整数相关联。编码encode函数和离散化discretise函数是使得域的图像通过编码encode之后离散化discretise,(discretise。encode)或者从中取一组最多N个指数。最后,该方法由具有加密算法εH的同态加密方案参数化,明文原始空间具有至少N的基数,还有编码函数encodeH,它取整数作为输入并返回的元素。在这种情况下,该方法包括以下步骤:
·预计算步骤,在预计算步骤中,对所述函数f进行离散化,并构造与此离散化函数f相对应的表格T。
ο具体而言,函数的域被分解成N个子区间R0,...,RN-1,这些子区间的并集与相等。对于每个指数i∈{0,...,N-1},选择代表x(i)∈Ri并计算y(i)=f(x(i))。返回包括N个分量T[0],...,T[N-1]的表格T,其中T[i]=y(i),0≤i≤N-1。
·对表格进行所谓的同态评估的步骤,在该步骤中,对于实值给定x的加密密文E(encode(x)),其中函数encode将x编码为的元素,将密文E(encode(x))转换为整数的密文如果x∈Ri,整数将指数i在集合{0,...,N-1}中的i=(discretise。encode)(x)作为期望值。从密文和表格T开始,对于元素获得密文元素将(其中且)作为期望值。返回密文作为f(x)近似值的加密密文。
因此,在本发明的一个实施方案中,本发明涵盖了由专门编程的信息处理系统以数字方式对实值变量x的一元函数f进行近似同态评估,该一元函数在定义域D中具有任意精度,在图像l中具有实值,取x的加密密文E(encode(x))作为输入,并返回f(x)的近似值的加密密文E′(encode′(y)),其中y≈f(x),其中E和E′是同态加密算法,其对应明文原始空间是M和M′,其评估参数是:
·整数N≥1,用于量化待评估的函数f的输入变量所表示的实际精度;
在具有这些参数的情况下,所述一元函数f的近似同态评估需要由专门编程的信息处理计算机系统实施以下两个连续的步骤:
1.预计算与所述一元函数f相对应的表格的步骤,包括:
c.返回包括由N个分量T[0|,...,T[N-1|的表格T,其中T[i]=y(i),0≤i≤N-1;
2.对表格进行同态评估的步骤,包括:
以规律的方式分割区间Ri的代表x:=x(i)可以有几种选择。例如,可以考虑每个区间的中点,由 给出。另一选择是在Ri中为x(i)选择值,使得f(x(i))接近f(x)在区间Ri上的平均值,或者针对每个0≤i≤N-1,使得f(x(i))接近由x在区间Ri上的给定先验分布所加权的平均值,或接近中值。
因此,在本发明的一个实施方案中,一元函数f的近似同态评估的特征进一步在于
编码函数encodeH的算法εH的选择在将E(encode(x))转换为中具有主导作用。应记得,对于我们有其中一个重要的情况是当的元素被看作是加法群(groupe additif)的子集(sous-ensemble)(未必是子群(sous-groupe))的元素时。对于整数M≥N,此加法群被表示为(提供模M加法的整数{0,...,M-1}的集合)。
有几种表示群的方法。因此,Ducas和Micipanio在上述EUROCRYPT 2015的文章中将的元素表示为变量X的指数;将的元素i关联至元素Xi,XM=X0=1且对任意0<j<M,Xj≠1。可以说,X是单位的第M个原根。这种表示允许从加法符号转换为乘法符号:对于所有元素元素i+j(mod M)被关联至元素Xi+j=Xi·Xj(mod(XM-1))。
模乘运算(XM-1)在加法群与单位的M次根的集合{1,X,...,XM-1}之间诱导出群同构。当M是偶数时,关系XM=1意味着XM/2=-1。然后对于我们具有Xi+j=Xi·Xj(mod(XM/2+1)),且单位的M次根的集合是{±1,±X,...,±X(M/2)-1}。
因此,在本发明的一个实施方案中,一元函数f的近似同态评估的特征进一步在于,群被乘法地表示为单位(被表示为X)的原始M次根的幂,从而将的元素i关联至元素Xi;单位{1,X,...,XM-1}的所有M次根形成与的同构群,用于乘法取模(XM-1)。
在同态加密算法E是由应用于环的LWE型加密算法给出的情况下,我们有如果针对具有中的值的编码函数encode,我们用表示μ=encode(x),则我们有E(encode(x))=(a1,...,an,b)其中和e是上的小的随机噪声。
其中的期望值为整数编码函数encode被参数化,使其图像被包含在环的子区间内。以这种方式,如果则且i=discretise(μ)=「M×μ」mod M∈[0,N)。事实上,可以验证,如果则「M×μ」≥0且
因此,在本发明的一个实施方案中,一元函数f的近似同态评估的特征进一步在于:
构造产生了将E(encode(x))转换为的第一实施方案。它假定集合的元素直接被看作是的整数。作为编码函数encodeH,我们考虑身份函数(fonction identité),利用先前的符号,如果我们表示 且用表示它在环c=(a1,...,an,b)上的LWE密文,则被定义为:
因此,在本发明的一个实施方案中,一元函数f的近似同态评估的特征进一步在于,同态加密算法εH是LWE型加密算法,编码函数encodeH是身份函数。
·获得转换公钥bk[1],...,bk[n];
且通过归纳:
·获得转换公钥bk[1],...,bk[n];
·假设d′=c″n;
在这两种情况下,作为对表格T进行同态评估的第一子步骤的回应,根据密钥得到期望多项式的RLWE型密文d′,该密钥是用于产生RGSW型密文bk[j](1≤j≤n)的密钥,对私钥(s1,...,sn)∈{0,1}n的比特sj进行加密。根据q(X)的形式,多项式的常数项是 我们用表示密文d′的组成部分。
如果对于每个1≤j≤k,多项式被写成其中我们可以看到返回向量(a″1,...,a″kN,b″)是根据密钥((s′1)0,(s′1)1,...,(s′1)N-1,...,(s′k)0,(s′k)1,...,(s′k)N-1)∈{0,1}kN,的环上的LWE型密文。这定义了加密算法E′;因此我们有在这种情况下,相应的明文原始空间是因此,由于和我们实际上得到了具有f(x)近似值的LWE型加密密文。
因此,在本发明的一个实施方案中,以等于2N的偶数整数M为参数的一元函数f的近似同态评估的特征进一步在于,环上的LWE型密文是从近似于多项式的RLWE密文中提取的,其中在中 且其中T′[j]=encode′(T[j])(0≤j≤N-1)。
在添加密文期间应考虑到编码。如果我们用encode表示同态编码算法E的编码函数,则有E(μ1+μ2)=E(μ1)+E(μ2),其中μ1=encode(x1)且μ2=encode(x2)。如果编码函数是同态的,则我们实际上有E(encode(x1+x2))=E(encode(x1))+E(encode(x2))。或者,如果编码函数不符合加法,就应该对编码应用修正ε:ε=encode(x1+x2)-encode(x1)-encode(x2),使得E(encode(x1+x2))=E(encode(x1))+E(encode(x2))+E(ε)。特别是,当编码由定义时,修正相当于对于xmin=0,则为零。应记得,对于LWE类型的加密方案,形式为(0,...,0,ε)的uplet是ε的有效密文。
当然,前面的考虑在图像上仍然有效。对于具有编码函数encode’的同态加密算法E’,对于修正ε′=encode′(f(x1)+f(x2))-encode′(f(x1))一encode′(f(x2)),我们有E′(encode′(f(x1)+f(x2)))=E′(encode′(f(x1)))+E′(encode′(f(x2)))+E′(ε′)特别是,当编码encode′符合加法时,修正ε′为零。对于编码修正ε′相当于
另一重要的特殊情况是,当相同的一元函数f在输入x1和x2=x1+A(给定常数A)上应当被同态评估时。一个典型的应用实施例是本文所述Sprecher应用中的内部函数Ψ。对于具有编码函数encode的同态加密算法E,在给定E(encode(x1))的事实下,可以推导出E(encode(x2))=E(encode(x1+A)),然后得到E′(encode′(f(x1)))和E′(encode′(f(x2))),如前面所解释的。然而,有必要重复所有的步骤。在E是环上的LWE型算法且M=2N的特殊情况下,在输入E(encode(x1))处,我们已经看到,在表格T的同态评估的第一子步骤的结果中,我们得到期望多项式的RLWE型密文d′,其中多项式q列出了函数f,且其中如果x1属于子区间则的期望值为i1=discretise(encode(x1))。例如,对于离散化函数 其中M=2N,我们得到
本发明还包括一种信息处理系统,该信息处理系统被专门编程以实施根据本文所述的替代方法中的任一个的同态加密评估方法。
另外,它还包括计算机程序产品,该计算机程序产品被专门设计用于实施本文所述的替代方法中的任一个,且由为此目的编程的信息处理系统加载和实施。
本发明的应用实施例
上述发明可以非常有利地用于保护某些数据的机密性,例如但不限于个人、健康、分类信息数据,或更普遍地,数据持有者希望保密但他希望第三方能够在该数据上进行数字处理的所有数据。将处理分散给一个或多个第三方服务提供商是有意义的,原因有几个:它允许执行一些需要昂贵或不可用的资源的操作;它也允许进行非公开的操作。反过来,实际上负责执行所述数字处理操作的第三方可能不希望传达处理的实际内容以及由此所实施的数字功能。
在这样的使用中,本发明涵盖了远程数字服务的实施,例如特别是云计算服务(cloud computing),其中负责在加密数据上应用数字处理的第三方服务提供商就其自身而言,执行上文所述的第一预计算步骤,该步骤包括对将用于处理加密数据的函数f1,...,fq中的每个多元函数fj预计算一元函数网络。在所有得到的一元函数(对于给定其中k≥1)中,第三方在第二步中预选择一元函数gk以及它们对应的参数使得k′<k满足以下三个标准之一:(i)gk=gk′且(ii)gk≠gk′且或者(iii)gk=gk′且已知常数ak≠0;这些一元函数将在适当的时候以优化的方式进行评估。
反过来,保密数据(x1,...,xp)的持有者通过同态加密算法E对其进行加密,以便向第三方传输类型数据E(μ1),...,E(μp),其中μi是xi通过编码函数的编码值。典型地,算法E的选择是由服务的第三方提供者施加的。替代地,数据持有者可以使用他所选择的加密算法,未必是同态的,在这种情况下,第三方(或另一服务提供者)将进行事先的重新加密步骤,以获得所需格式的加密数据。
因此,在本发明的一个实施方案中,先前所描述的同态评估加密方法的特征在于,输入的加密数据来自事先的重新加密步骤,以所述同态加密算法E的加密密文的形式设置。
一旦第三方获得加密类型数据E(μi),在一元函数网络的同态评估步骤中,它在一系列连续的步骤中基于这些密文对每个一元函数网络进行同态评估,以便根据加密算法E′获得应用于其输入的fj的加密密文(1≤j≤q)。
一旦它被获得,对于所考虑的不同函数fj在其输入值上的加密的加密结果,相关的第三方将所有这些结果发回给保密数据持有者。
然后,保密数据持有者可以基于其持有的相应的解密密钥,在解码之后获得一个或多个函数(f1,...,fq)的结果值,从同态加密的输入数据(x1,...,xp)开始,不需要第三方在对所述数据进行数字处理,该数据处理包括一个或多个函数的实施,不需要第三方知晓数据的明确内容,反之,数据持有者也不能知晓所实施的函数的细节。
数据持有者与作为数字处理服务提供商的第三方之间的这种任务共享可以有利地远程进行,特别是通过云计算类型的服务,而不影响数据和相关处理的安全性。此外,数字处理的不同步骤可以由不同的服务提供商负责。
因此,在本发明的一个实施方案中,云计算类型的远程服务实施一个或多个先前描述的同态评估加密方法,其中任务在数据持有者与作为数字处理服务提供商的第三方(或多个第三方)之间共享。
在本发明的一个具体实施方案中,这种远程服务涉及希望保密的数据x1,...,xp的持有者以及负责对所述数据应用数字处理的一个或多个第三方,其特征进一步在于
1.根据本发明,相关的第三方(或多个第三方)执行预计算一元函数网络的第一步骤和第二预选择步骤;
2.数据持有者通过同态加密算法E对x1,...,xp进行加密,且将类型数据E(μ1),...,E(μp)传送给第三方,其中μi是通过编码函数对xi的编码值;
3.一旦相关第三方获得了加密的类型数据E(μi),他就会在一系列连续的步骤中,基于这些密文对所述一元函数网络中的每一个进行同态评估,从而根据加密算法E′获得应用于其输入(1≤j≤q)的fj加密密文;
4.一旦他获得了所考虑的不同函数fj在其输入值上加密的加密结果,相关的第三方将所有这些结果发回给数据持有者;
5.数据持有者基于其持有的相应解密密钥,在解码之后获得一个或多个函数(f1,...,fq)的结果值。
本实施方案的一个变体的特征在于,在上述第二步骤(2.)中:
·数据持有者通过不同于E的加密算法对x1,...,xp执行加密,且传输所述的经过加密的数据;
·相关的第三方在所接收到的加密数据上进行重新加密,以根据所述同态加密算法E获得密文E(μ1),...,E(μp),其中μi是通过编码函数对xi的编码值。
此外,可以提及根据本发明的远程数字服务的不同应用。因此,如前述MajecSTIC’08的文章中提及的,已知的是,应用于灰度级图像的Kolmogorov类型的分解(可以被视为双变量函数f(x,y)=I(x,y),其中I(x,y)给出坐标(x,y)的像素的灰度强度)允许重建初始图像的近似图像。因此,对坐标(x1,y1)和(x2,y2)的了解定义了边界框(bounding box),允许以简单的方式进行剪裁操作。类似的处理方法适用于彩色图像,同时考虑到二元函数f1(x,y)=R(x,y),f2(x,y)=G(x,y)和f3(x,y)=B(x,y)分别给出红色、绿色和蓝色水平。虽然这种处理类型在未加密的数据上是已知的,但所本发明现在允许使用同态加密进行处理。因此,根据本发明,如果用户以加密的方式发送他在体育活动期间以定期间隔(例如,每10秒)记录的GPS坐标以及他的旅程的极端坐标(定义边界框),拥有地图计划图像的服务提供商将能够通过裁剪获得计划中与活动有关部分的密文;此外,他将能够在加密的领域中,使用例如颜色代码来表示旅程,以指示基于所接收的GPS坐标的加密图像而同态计算的本地速度。有利地,(第三方)服务提供者并不知晓活动的确切位置(除了它在他的计划中)或用户的表现。此外,第三方并不披露地图的全部内容。
本发明还可以有利地用于允许执行人工智能处理,特别是机器学习类型的输入数据,这些数据仍然是加密的,且在这些数据上,实施特别是神经网络的服务提供商对来自所述加密数据的值应用一个或多个激活函数。作为本发明在神经网络实施方面的使用实施例,可以参考将函数g(z1,z2)=max(z1,z2)(它特别是作为上述神经网络所使用的最大池化“max pooling”)分解为z2+(z1-z2)+,其中对应于一元函数也可以参考非常流行的激活函数ReLU:和sigmoid:
因此,在本发明的一个实施方案中,实施一个或多个先前描述的加密同态评估方法的远程服务旨在实施神经网络的数字处理。
本发明的公开内容的特征在于
本发明通过实施一个或多个数字信息处理系统的数据计算和处理能力,使得能够在加密数据上对一个或多个函数进行评估。根据情况,这个或这些函数可以是单元的或多元的。因此,在根据本发明的方法不同的变体中,它允许对这两种类型的函数进行评估。
在待评估的函数是一元类型的情况下,本发明在其实施方案之一中提供了在输入端和输出端分别实施两种同态加密算法,以及为每个所考虑的函数预计算出表格,然后对由此所获得的表格进行同态评估的步骤,如权利要求1所述。
当待评估的函数是多元类型时,本发明进一步提供了执行两个初步步骤:第一预计算步骤,接着是第二预选步骤,在完成这两个初步步骤之后,对所得到的一元函数网络应用第三步骤,该第三步骤是根据任何已知的用于一元函数同态评估的方法对所述一元函数网络进行同态评估。这是权利要求12的目的。
Claims (16)
1.一种通过至少一个信息处理系统以数字形式执行的加密方法,所述至少一个信息处理系统被专门编程为对实数变量x的一元函数f进行近似同态评估,该一元函数在定义域D中具有任意精度且在图像中具有实值,取x的编码密文E(encode(x))作为输入且返回f(x)的近似值的编码密文E′(encode′(y)),其中y≈f(x),其中E和E′是同态加密算法,E和E′对应的明文原始空间是和参数为:
-整数N≥1,用于量化待评估的函数f的输入端的变量表示的实际精度;
以及,其特征在于:
-a.预计算与所述一元函数f相对应的表格的步骤,包括:
ο返回包括N个分量T[0],...,T[N-1]的表格T,其中对于0≤i≤N-1,T[i]=y(i);
-b.对表格进行同态评估的步骤,包括:
8.根据权利要求5所述的加密方法,其特征在于,同态加密算法εH是LWE型加密算法,编码函数encodeH是身份函数。
12.根据权利要求1至11中的任一项的加密方法,其特征在于,经历所述近似同态评估的至少一个一元函数是从事先处理至少一个多元函数中得到的,该事先处理通过实施以下事先步骤:
-a.预计算步骤,包括将每个所述多元函数转换为一元函数网络,包括一元实值函数的复合以及和;
-b.预选择步骤,包括在所述预计算的一元函数网络中识别以下三种类型之一的冗余:
-应用于相同的参数的相同的一元函数;
-应用于相同的参数的不同的一元函数;
-应用于相差非零加性常数的参数的相同的一元函数;且选择上述的全部或部分;
-c.同态评估预计算的一元函数网络中的每个的步骤,其中当这些一元函数中的一个或多个的全部或部分被重新使用时,在预选择步骤中所选定的冗余以共享的方式进行评估。
13.根据权利要求1至11中的任一项的加密方法,其特征在于,输入的加密数据来自事先的重新加密步骤,从而以所述同态加密算法E的加密密文的形式设置。
14.一种信息处理系统,其特征在于,所述信息处理系统被编程以实施根据权利要求1至13中的一项或多项所述的同态评估加密方法。
15.一种计算机程序,所述计算机程序旨在通过根据权利要求14所述的信息处理系统来加载和实施。
16.一种云计算类型的远程服务,用于实施根据权利要求1至15中的一项或多项的加密方法,其中任务在数据持有者与作为数字处理服务提供商的一个或多个第三方之间共享。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FRFR2004772 | 2020-05-14 | ||
FR2004772A FR3110311B1 (fr) | 2020-05-14 | 2020-05-14 | cryptographiques d’évaluation de fonctions à valeurs réelles sur des données chiffrées |
PCT/FR2021/000050 WO2021229157A1 (fr) | 2020-05-14 | 2021-05-14 | Procédé, systèmes et services cryptographiques d'évaluation de fonctions univariées ou multivariées à valeurs réelles sur des données chiffrées |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116250208A true CN116250208A (zh) | 2023-06-09 |
Family
ID=74347116
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180060773.7A Pending CN116134782A (zh) | 2020-05-14 | 2021-05-14 | 用于在加密数据上评估实值函数的加密方法、系统和服务 |
CN202180060685.7A Pending CN116250208A (zh) | 2020-05-14 | 2021-05-14 | 用于在加密数据上评估一元或多元实值函数的加密方法、系统和服务 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180060773.7A Pending CN116134782A (zh) | 2020-05-14 | 2021-05-14 | 用于在加密数据上评估实值函数的加密方法、系统和服务 |
Country Status (9)
Country | Link |
---|---|
US (2) | US20230188318A1 (zh) |
EP (2) | EP4150853A1 (zh) |
JP (2) | JP2023526313A (zh) |
KR (2) | KR20230011986A (zh) |
CN (2) | CN116134782A (zh) |
CA (1) | CA3183278A1 (zh) |
FR (1) | FR3110311B1 (zh) |
IL (2) | IL298162B1 (zh) |
WO (2) | WO2021229157A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7556577B2 (ja) | 2022-10-03 | 2024-09-26 | 株式会社アクセル | 暗号処理装置、暗号処理方法、暗号処理プログラム |
JP7556580B2 (ja) | 2022-12-20 | 2024-09-26 | 株式会社アクセル | 暗号処理装置、暗号処理方法、暗号処理プログラム |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2789535B1 (fr) * | 1999-02-04 | 2001-09-28 | Bull Cp8 | Procede de securisation d'un ensemble electronique de cryptographie a cle secrete contre les attaques par analyse physique |
US6293139B1 (en) * | 1999-11-03 | 2001-09-25 | Memc Electronic Materials, Inc. | Method of determining performance characteristics of polishing pads |
US7162032B2 (en) * | 1999-12-20 | 2007-01-09 | Telenor Asa | Encryption of programs represented as polynomial mappings and their computations |
FR2848752A1 (fr) * | 2002-12-17 | 2004-06-18 | France Telecom | Procede de chiffrement par permutations de suites de longueur fixee |
ATE525016T1 (de) * | 2006-02-17 | 2011-10-15 | Gen Electric | Feststellung von epileptiformer aktivität |
US8630422B2 (en) | 2009-11-10 | 2014-01-14 | International Business Machines Corporation | Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus |
IL206139A0 (en) * | 2010-06-02 | 2010-12-30 | Yaron Sella | Efficient multivariate signature generation |
US8756410B2 (en) * | 2010-12-08 | 2014-06-17 | Microsoft Corporation | Polynomial evaluation delegation |
CA2826005C (en) * | 2011-04-15 | 2016-05-31 | Astrapi Corporation | Methods and systems for communicating |
US10084603B2 (en) * | 2013-06-12 | 2018-09-25 | Lookout, Inc. | Method and system for rendering a stolen mobile communications device inoperative |
JP6244728B2 (ja) * | 2013-08-07 | 2017-12-13 | 富士通株式会社 | 情報処理方法及びプログラム |
US20190007196A1 (en) * | 2017-06-28 | 2019-01-03 | Qatar University | Method and system for privacy preserving computation in cloud using fully homomorphic encryption |
US11087223B2 (en) * | 2018-07-11 | 2021-08-10 | International Business Machines Corporation | Learning and inferring insights from encrypted data |
US20220028001A1 (en) * | 2018-11-26 | 2022-01-27 | Responsive Capital Management Inc. | Wealth management systems |
EP3719679B1 (en) * | 2019-04-03 | 2021-06-09 | Fondation de L'institut de Recherche Idiap | A method for protecting biometric templates, and a system and method for verifying a speaker´s identity |
CN111796576B (zh) * | 2020-06-16 | 2023-03-31 | 北京工业大学 | 一种基于双核t分布随机近邻嵌入的过程监测可视化方法 |
-
2020
- 2020-05-14 FR FR2004772A patent/FR3110311B1/fr active Active
-
2021
- 2021-05-14 KR KR1020227043467A patent/KR20230011986A/ko active Search and Examination
- 2021-05-14 KR KR1020227043466A patent/KR20230011985A/ko active Search and Examination
- 2021-05-14 WO PCT/FR2021/000050 patent/WO2021229157A1/fr unknown
- 2021-05-14 CN CN202180060773.7A patent/CN116134782A/zh active Pending
- 2021-05-14 US US17/924,326 patent/US20230188318A1/en active Pending
- 2021-05-14 JP JP2022569449A patent/JP2023526313A/ja active Pending
- 2021-05-14 JP JP2022569135A patent/JP2023525159A/ja active Pending
- 2021-05-14 IL IL298162A patent/IL298162B1/en unknown
- 2021-05-14 EP EP21755798.2A patent/EP4150853A1/fr active Pending
- 2021-05-14 CA CA3183278A patent/CA3183278A1/en active Pending
- 2021-05-14 IL IL298173A patent/IL298173A/en unknown
- 2021-05-14 CN CN202180060685.7A patent/CN116250208A/zh active Pending
- 2021-05-14 US US17/924,577 patent/US20230291540A1/en active Pending
- 2021-05-14 EP EP21734178.3A patent/EP4150852B1/fr active Active
- 2021-05-14 WO PCT/FR2021/000049 patent/WO2021229156A1/fr unknown
Also Published As
Publication number | Publication date |
---|---|
EP4150852B1 (fr) | 2024-06-26 |
WO2021229157A1 (fr) | 2021-11-18 |
IL298162B1 (en) | 2024-09-01 |
IL298173A (en) | 2023-01-01 |
CA3183278A1 (en) | 2021-11-18 |
KR20230011986A (ko) | 2023-01-25 |
FR3110311B1 (fr) | 2022-07-01 |
US20230291540A1 (en) | 2023-09-14 |
JP2023526313A (ja) | 2023-06-21 |
WO2021229157A4 (fr) | 2022-01-20 |
JP2023525159A (ja) | 2023-06-14 |
CN116134782A (zh) | 2023-05-16 |
WO2021229156A8 (fr) | 2022-12-01 |
US20230188318A1 (en) | 2023-06-15 |
KR20230011985A (ko) | 2023-01-25 |
IL298162A (en) | 2023-01-01 |
WO2021229156A1 (fr) | 2021-11-18 |
WO2021229157A8 (fr) | 2022-12-01 |
EP4150853A1 (fr) | 2023-03-22 |
FR3110311A1 (fr) | 2021-11-19 |
EP4150852A1 (fr) | 2023-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
So et al. | CodedPrivateML: A fast and privacy-preserving framework for distributed machine learning | |
Rotaru et al. | Marbled circuits: Mixing arithmetic and boolean circuits with active security | |
US10033708B2 (en) | Secure computation using a server module | |
Marcano et al. | On fully homomorphic encryption for privacy-preserving deep learning | |
Benzekki et al. | A secure cloud computing architecture using homomorphic encryption | |
CN112543091B (zh) | 密文长度固定的多密钥全同态加密方法 | |
Baum et al. | Better preprocessing for secure multiparty computation | |
CN116250208A (zh) | 用于在加密数据上评估一元或多元实值函数的加密方法、系统和服务 | |
Xu et al. | Toward practical privacy-preserving linear regression | |
KR20240004830A (ko) | 완전 동형 암호화에서 사용하기 위한 블라인드 회전 | |
Aharoni et al. | He-pex: Efficient machine learning under homomorphic encryption using pruning, permutation and expansion | |
Park et al. | Efficient TFHE bootstrapping in the multiparty setting | |
Biswas et al. | Dynamic multi-key FHE in symmetric key setting from LWE without using common reference matrix | |
Muthukumar et al. | Modified secret sharing algorithm for secured medical data sharing in cloud environment | |
Charalambides et al. | Securely aggregated coded matrix inversion | |
Xiong et al. | Privacy preserving inference with convolutional neural network ensemble | |
Chen et al. | SECO: Secure Inference With Model Splitting Across Multi-Server Hierarchy | |
Çetin et al. | Homomorphic autocomplete | |
EP4451607A1 (en) | Public key encryption with lwe-type ciphertexts | |
Tan et al. | Fully homomorphic encryption based on the parallel computing | |
CN113268707B (zh) | 一种基于行编码的密文协方差矩阵计算方法 | |
EP4344121B1 (en) | Encrypted computation with a blind rotation | |
Pignata et al. | General function evaluation in a STPC setting via piecewise linear approximation | |
EP4325768A1 (en) | Key sets with common or predefined digits | |
WO2023281694A1 (ja) | 秘密計算システム、装置、方法及びプログラム |
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 |