CN116250208A - 用于在加密数据上评估一元或多元实值函数的加密方法、系统和服务 - Google Patents

用于在加密数据上评估一元或多元实值函数的加密方法、系统和服务 Download PDF

Info

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
Application number
CN202180060685.7A
Other languages
English (en)
Inventor
P·G·Y·帕里耶
M·乔伊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zama Jianyi Co ltd
Original Assignee
Zama Jianyi Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zama Jianyi Co ltd filed Critical Zama Jianyi Co ltd
Publication of CN116250208A publication Critical patent/CN116250208A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure 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.Schumaker
Figure BDA0004113796910000064
Surface 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)+,其中
Figure BDA0004113796910000061
对应于一元函数
Figure BDA0004113796910000062
Figure BDA0004113796910000063
给定函数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],使能够在许多代数结构上构造同态加密方案。通常,加密方案包括加密算法ε和解密算法
Figure BDA00041137969100000815
使得如果c=ε(μ)是对明文μ的加密,则
Figure BDA00041137969100000816
返回明文μ。从LWE问题及其变体中得出的加密算法具有在密文中引入噪声的特性。这被称为明文原始空间(d’espace natif),以指示明文的空间,在该明文的空间上定义加密算法,且在考虑到一些噪声的情况下对密文解密产生该明文空间的初始明文。应记得,对于将M作为明文原始空间的加密算法ε,编码函数encode是将任意集合的元素带入集合M或其子集的函数;优选地,该函数是单射的。
如前述Chillotti等人的文章(ASIACRYPT 2016)中所详细描述的,应用于按1取模的实数的环面
Figure BDA0004113796910000081
这样的方案定义如下。对于正整数n,加密密钥是{0,1}n的向量(s1,...,sn);明文原始空间是
Figure BDA0004113796910000082
环面的元素μ的LWE密文是
Figure BDA0004113796910000083
的向量c=(a1,...,an,b),其中对于1≤j≤n,aj
Figure BDA0004113796910000084
的随机元素,且其中
Figure BDA0004113796910000085
e是根据
Figure BDA0004113796910000086
上以0为中心的随机误差分布的低噪声。从密文c=(a1,...,an,b)开始,对密钥(s1,...,sn)的了解允许找到
Figure BDA0004113796910000087
Figure BDA0004113796910000088
作为
Figure BDA0004113796910000089
的元素。应记得,环面的两个元素可以相加,但它们的内积未被定义。符号“·”表示整数和环面元素之间的外积。
在同一篇文章中,作者还描述了基于
Figure BDA00041137969100000810
Figure BDA00041137969100000811
的方案,其中
Figure BDA00041137969100000812
Figure BDA00041137969100000813
分别是多项式环
Figure BDA00041137969100000814
Figure BDA0004113796910000091
Figure BDA0004113796910000092
对于严格的正整数N和k,加密密钥是
Figure BDA0004113796910000093
的向量(s1,...,sk),
Figure BDA0004113796910000094
其中
Figure BDA0004113796910000095
明文原始空间是
Figure BDA0004113796910000096
Figure BDA0004113796910000097
的多项式μ的RLWE密文是
Figure BDA0004113796910000098
的向量c=(a1,...,ak,b),其中对于1≤j≤k,aj
Figure BDA0004113796910000099
的随机多项式且其中
Figure BDA00041137969100000910
(在
Figure BDA00041137969100000911
中,即modulo(XN+1,1)),e是根据
Figure BDA00041137969100000912
上的随机误差分布的低噪声。从密文c=(a1,...,ak,b)开始,对密钥(s1,...,sk)的了解允许找到
Figure BDA00041137969100000913
Figure BDA00041137969100000914
(在
Figure BDA00041137969100000915
中)作为
Figure BDA00041137969100000916
的元素。此处符号“·”表示
Figure BDA00041137969100000917
上的外积。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表示在
Figure BDA00041137969100000918
中具有(k+1)l行和k+1列的矩阵,矩阵的每行都是多项式0的RLWE型加密。然后,
Figure BDA00041137969100000919
的多项式σ的RGSW密文由矩阵C=Z+σ·G给出,其中G是定义在
Figure BDA00041137969100000920
中的所谓的“小工具”矩阵(具有(k+1)l行和k+1列),且由
Figure BDA00041137969100000921
给出,其中对于给定基数B≥2,g=(1/B,...,1/Bl),Ik+1是k+1大小的同一矩阵。为此,小工具关联有表示为
Figure BDA00041137969100000922
的转换,使得对于
Figure BDA00041137969100000923
中的多项式的每个向量(行)v,我们有G-1(v)·G≈v且G-1(v)很小。(多项式
Figure BDA00041137969100000924
的)RGSW型密码文C与(多项式
Figure BDA00041137969100000925
的)RLWE型密码文c的外积,表示为
Figure BDA00041137969100000926
定义为
Figure BDA00041137969100000927
由此得到的密文
Figure BDA00041137969100000928
是多项式
Figure BDA00041137969100000929
的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.同态评估所述预计算的一元函数网络中的每个的步骤,其中以优化的方式评估在所述预选择步骤中所选择的冗余。
关于预计算步骤,Kolmogorov叠加定理的明确版本允许确认任何连续函数
Figure BDA0004113796910000121
(定义在维度为p的同一超立方体Ip=[0,1]p上)可以被写成一元连续函数的和与一元连续函数的复合:
Figure BDA0004113796910000122
Figure BDA0004113796910000123
其中,在给定数目p个变量的情况下,λf和a是常数,且Ψ是连续函数。
换句话说
Figure BDA0004113796910000124
作为实施例,图2例示了p=2的情况。
函数Ψ和ξ是所谓的“内部”,且对于给定的元数(arité),它们与f无关。函数Ψ将Ip的实数向量(x1,...,xp)的任何分量xi关联到[0,1]中的值。函数ξ允许将区间[0,1]中的数
Figure BDA0004113796910000125
关联到每个向量(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个函数
Figure BDA0004113796910000131
该函数的和收敛于外部函数gk。在第r步骤结束时,f的近似结果以下面的形式给出:
Figure BDA0004113796910000132
其中K是使得K≥2p的参数。因此,该算法提供了关于Kolmogorov分解定理的近似结果。事实上,通过将r取得相当大且假设
Figure BDA0004113796910000133
可以得到函数f的下一个近似表示:
Figure BDA0004113796910000134
或是
Figure BDA0004113796910000135
因此,在本发明的一个实施方案中,预计算阶段的特征在于,对于来自f1,...,fq中的至少一个函数fj,预计算步骤的转换是
Figure BDA0004113796910000136
(t≤p且j1,...,jt∈{1,...,p})形式的近似变换,且其中Ψ是定义在实数上且具有实值的一元函数,其中
Figure BDA0004113796910000137
是实常数,gk是定义在实数上且具有实值的一元函数,所述函数gk被确定为针对给定参数K的fj的函数。
另一分解多元函数f(x1,...,xp)的技术包括用所谓的岭函数的和根据如下变换来近似它:
Figure BDA0004113796910000141
其中系数ai,k是实数,且其中gk是定义在实数上且具有实值的一元函数,所述函数gk和所述系数ai,k被确定为针对给定参数K的fj的函数。
然后,该分解在一般情况下是近似的,目的是确定最佳近似,或具有足够质量的近似。该近似作为投影寻踪(projection pursuit)出现在专注于统计优化的文献中。如前所述,值得注意的结果是,任何函数f可以以这种具有任意高精度的方式被近似。然而,在实践中,f容许精确分解是常见的,即可以以岭函数之和的形式对于它输入的全部或部分解析表达它。
当函数fj取{x1,...,xp}的t(t≤p)个变量的子集作为输入时,如果这些变量被表示为
Figure BDA0004113796910000147
(j1,...,jt∈{1,...,p}),那么先前的岭分解被写成
Figure BDA0004113796910000142
其中
Figure BDA0004113796910000143
和ak=(a1,k,...,at,k),针对函数gk和系数ai,k,函数gk和系数ai,k被确定为针对给定参数K的fj的函数。
因此,在本发明的一个实施方案中,预计算阶段的特征可以在于,对于来自f1,...,fq中的至少一个函数fj,预计算步骤的转换是
Figure BDA0004113796910000144
(t≤p且j1,...,jt∈{1,...,p})形式的近似转换,且其中系数ai,k是实数以及其中gk是定义在实数上且具有实值的一元函数,所述函数gk和所述系数ai,k被确定为针对给定参数K的fj的函数。
一种类似的使用相同的统计优化工具的分解技术,通过采取径向函数代替岭函数来应用,根据
Figure BDA0004113796910000145
其中
Figure BDA0004113796910000146
且其中向量ak的系数ai,k为实数,以及其中gk是定义在实数上且具有实值的一元函数,所述函数gk和所述系数ai,k被确定为针对给定参数K和给定范数||·||的fj的函数。通常,使用的是欧几里得范数(Euclideannorm)。
当函数fj取{x1,...,xp}的t(t≤p)个变量的子集作为输入时,如果人们用
Figure BDA0004113796910000151
表示这些变量,则先前的分解被写成
Figure BDA0004113796910000152
其中
Figure BDA0004113796910000153
和ak=(a1,k,...,at,k),针对函数gk和系数ai,k,函数gk和系数ai,k被确定为针对给定参数K的fj的函数。
因此,在本发明的一个实施方案中,预计算阶段的特征可以在于,对于来自f1,...,fq中的至少一个函数fj,预计算步骤的转换是
Figure BDA0004113796910000154
形式的变换,其中
Figure BDA0004113796910000155
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)+,其中
Figure BDA00041137969100001511
对应于一元函数
Figure BDA0004113796910000156
这种形式等价的使用允许容易地得到用于函数max(z1,z2)的其他形式等价。例如,由于(z1-z2)+可以等价的方式表示为
Figure BDA0004113796910000157
Figure BDA0004113796910000158
得到形式等价max(z1,z2)=(z1+z2+|z1-z2|)/2,其中
Figure BDA0004113796910000159
是一元函数“绝对值”,并且其中
Figure BDA00041137969100001510
是一元函数“除以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)。
因此,在本发明的一个实施方案中,预计算阶段的特征可以在于,此预计算步骤的转换使用形式等价max(z1,z2)=z2+(z1-z2)+,以将函数
Figure BDA0004113796910000161
表示为一元函数的和与一元函数的复合的组合。
在本发明的一个特定实施方案中,此预计算阶段的特征进一步在于,当所述函数包括三个变量或更多时,形式等价是从两个变量的形式等价的迭代中获得的。
同样,对于“最小值”函数,g(z1,z2)=min(z1,z2),可以使用形式等价min(z1,z2)=z2+(z1-z2)-,其中
Figure BDA0004113796910000162
或者min(z1,z2)=(z1+z2-|z1-z2|)/2,因为
Figure BDA0004113796910000163
Figure BDA0004113796910000164
通过迭代,它通常允许通过观察min(z1,...,zi,zi+1,...,zm)=min(min(z1,...,zi),min(zi+1,...,zm))来将m变量函数min(z1,...,zm)形式分解成一元函数的和与一元函数的复合的组合。
因此,在本发明的一个实施方案中,预计算阶段的特征可以在于,此预计算步骤的转换使用形式等价min(z1,z2)=z2+(z1-z2)-,以将函数
Figure BDA0004113796910000165
表示为一元函数的和与一元函数的复合的组合。
在本发明的一个特定实施方案中,此预计算阶段的特征进一步在于,当所述函数包括三个变量或更多时,形式等价是从两个变量的形式等价的迭代中获得的。
另一非常有用的多元函数(可以被简单地形式分解为一元函数的和与一元函数的复合的组合)是乘法。第一实施方案是对g(z1,z2)=z1×z2使用形式等价z1×z2=(z1+z2)2/4-(z1-z2)2/4,涉及一元函数
Figure BDA0004113796910000166
当然,形式等价的使用可以给出其他形式等价。因此,作为示例,通过使用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,涉及一元函数
Figure BDA0004113796910000171
因此,在本发明的一个实施方案中,预计算阶段的特征可以在于,此预计算步骤的转换使用形式等价z1×z2=(z1+z2)2/4-(z1一z2)2/4,以将函数
Figure BDA0004113796910000172
表示为一元函数的和与一元函数的复合的组合。
通过观察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|),涉及一元函数
Figure BDA0004113796910000173
Figure BDA0004113796910000174
或者,对于任意底数B,如
Figure BDA0004113796910000175
因为
Figure BDA0004113796910000176
Figure BDA0004113796910000177
其中e=exp(1),涉及一元函数
Figure BDA0004113796910000178
Figure BDA0004113796910000179
在此再次,当观察到|z1×...×zi×zi+1×...×zm|=|z1×...×zi|×|zi+1×...×zm|(1≤f≤m-1)时,这些实施方案可以被推广至m变量函数(m≥3)。
因此,在本发明的一个实施方案中,预计算阶段的特征可以在于,此预计算步骤的转换使用形式等价|z1×z2|=exp(ln|z1|+ln|z2|),以将函数
Figure BDA00041137969100001710
表示为一元函数的和与一元函数的复合的组合。
在本发明的一个特定实施方案中,此预计算阶段的特征进一步在于,当所述函数包括三个变量或更多时,形式等价是从两个变量的形式等价的迭代中获得的。
如前所述,作为输入而给定的多元函数被转换为多元函数网络。这种网络未必是唯一的,即使在转换是精确的情况下。
例如,我们在此看到了多元函数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)
(在第二种情况下,
Figure BDA0004113796910000181
均乘法被函数g2(z)=sin(z/2)“吸收”了)。
除了g(z)=z+a型(常数a的加法)或者g(z)=az型(常数a的乘法)的一元函数外,其他情况会产生一元函数更快的评估。
Figure BDA0004113796910000191
表示在预计算步骤中对由f1,...,fq转换所产生的具有它们对应参数
Figure BDA0004113796910000192
的一组一元函数,某些一元函数可能是相同的。
考虑了三种优化类型:
1)相同的函数,相同的参数:
gk=gk,且
Figure BDA0004113796910000193
(类型1)。此优化是显而易见的。它包括重复使用先前计算的结果。因此,如果存在k′<k使得
Figure BDA0004113796910000194
已经被评估,且对于
Figure BDA0004113796910000195
Figure BDA0004113796910000196
一定不会被重新计算。
2)不同的函数,相同的参数
gk≠gk,且
Figure BDA0004113796910000197
(类型2)。在某些情况下,在相同的参数上同态评估两个或多个一元函数的成本可能小于单独考虑这些函数的成本的总和。典型地,需要单个自举步骤。在这种情况下,在两个包括相同数目的
Figure BDA0004113796910000198
型一元函数的一元函数网络中,在乘法容许度内,有利的是,优选共享最多参数的那个一元函数网络。一个实施例很好地例示了这种情况。考虑多元函数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),因此是优选的。
一元函数在相同的参数上的共享并不限于通过等价形式表示执行的转换。这也适用于数字转换。应记得,定义在
Figure BDA00041137969100002014
的平行六面体上的函数可以被转换为一元函数网络。特别是,对于具有p个变量x1,...,xp的函数f,Sprecher的算法允许获得具有以下形式的函数f的近似值:
Figure BDA0004113796910000201
其中
Figure BDA0004113796910000202
在此结构中,对于给定的定义域,所谓的“内部”函数Ψ和ξ不依赖于f。因此,如果定义在相同域上的几个多元函数f1,...,fq被同态评估,则当它们应用在相同的输入上时,函数Ψ和ξ的同态评估不需要重新计算。这种情况还出现在例如使用岭函数或径向函数对几个多元函数的分解中,此时分解的系数(aik)是固定的。
3)相同的函数,相差非零加性常数的参数
gk=gk′
Figure BDA0004113796910000203
已知常数ak≠0(类型3)。另一可以加速计算的情形是,当相同的一元函数被应用于相差非零加性常数的参数时。例如,还是在Sprecher的结构中,上述对f的同态评估涉及相同的一元函数Ψ在相差加性常数值的变量(即,xi+ka,(1≤i≤p且ka已知))上的几个同态评估。在这种情况下,Ψ(xi+ka)(1≤k≤K)的加密值可以从Ψ(xi)的加密中有效地获得;下文将详细介绍一个实施方案。
从形式上看,在由f1,...,fq在预计算步骤中的转换所产生的所有具有对应参数的一元函数
Figure BDA0004113796910000204
中,满足以下三个条件之一的元素
Figure BDA0004113796910000205
称为“冗余”,对于指数k′≤k,
1.gk=gk′且
Figure BDA0004113796910000206
2.gk≠gk′
Figure BDA0004113796910000207
3.gk=gk′
Figure BDA0004113796910000208
已知常数ak≠0。
如图3中所例示的,在任何实值变量的一元函数f在定义域
Figure BDA0004113796910000209
中具有任意精度且在图像
Figure BDA00041137969100002010
中具有实值的情况下,
Figure BDA00041137969100002011
根据本发明的方法使用两种同态加密算法,表示为E和E′。其明文原始空间分别表示为
Figure BDA00041137969100002012
Figure BDA00041137969100002013
该方法的参数是整数N≥1,它量化了所谓的用于评估函数f的输入的实际精度。事实上,尽管函数f的定义域
Figure BDA0004113796910000211
的输入可以具有任意精度,但是这些输入在内部最多可以由N个选定的值来表示。这带来的直接后果是,函数f将由N个可能的值中的最大值来表示。该方法也被编码函数encode和encode′所参数化,其中encode取
Figure BDA0004113796910000212
的元素作为输入,并将其与
Figure BDA0004113796910000213
的元素相关联,encode′取
Figure BDA0004113796910000214
均元素作为输入,并将其与
Figure BDA0004113796910000215
的元素相关联。该方法由所谓的离散化函数discretise参数化,该函数取
Figure BDA0004113796910000216
的元素作为输入,并将其与整数相关联。编码encode函数和离散化discretise函数是使得域
Figure BDA0004113796910000217
的图像通过编码encode之后离散化discretise,(discretise。encode)
Figure BDA0004113796910000218
或者从
Figure BDA0004113796910000219
中取一组最多N个指数。最后,该方法由具有加密算法εH的同态加密方案参数化,明文原始空间
Figure BDA00041137969100002110
具有至少N的基数,还有编码函数encodeH,它取整数作为输入并返回
Figure BDA00041137969100002111
的元素。在这种情况下,该方法包括以下步骤:
·预计算步骤,在预计算步骤中,对所述函数f进行离散化,并构造与此离散化函数f相对应的表格T。
ο具体而言,函数的域
Figure BDA00041137969100002112
被分解成N个子区间R0,...,RN-1,这些子区间的并集与
Figure BDA00041137969100002113
相等。对于每个指数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。
·对表格进行所谓的同态评估的步骤,在该步骤中,对于实值
Figure BDA00041137969100002114
给定x的加密密文E(encode(x)),其中函数encode将x编码为
Figure BDA00041137969100002115
的元素,将密文E(encode(x))转换为整数
Figure BDA00041137969100002116
的密文
Figure BDA00041137969100002117
如果x∈Ri,整数
Figure BDA00041137969100002118
将指数i在集合{0,...,N-1}中的i=(discretise。encode)(x)作为期望值。从密文
Figure BDA00041137969100002119
和表格T开始,对于元素
Figure BDA00041137969100002120
获得密文
Figure BDA00041137969100002121
元素
Figure BDA00041137969100002122
Figure BDA00041137969100002123
(其中
Figure BDA00041137969100002124
Figure BDA00041137969100002125
)作为期望值。返回密文
Figure BDA00041137969100002126
作为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的输入变量所表示的实际精度;
·编码函数encode,取域
Figure BDA0004113796910000221
的元素作为输入,且将该元素与
Figure BDA0004113796910000222
的元素相关联;
·编码函数encode′,取图像
Figure BDA0004113796910000223
的元素作为输入,且将该元素与
Figure BDA0004113796910000224
的元素相关联;
·离散化函数discretise,取
Figure BDA0004113796910000225
的元素作为输入,且将其与由整数表示的指数相关联;
·具有加密算法εH的同态加密方案,其明文原始空间
Figure BDA0004113796910000226
具有至少N的基数;
·编码函数encoden,取整数作为输入,且返回
Figure BDA0004113796910000227
的元素。
这样,通过编码encode和离散化discretise,域
Figure BDA0004113796910000228
的图像
Figure BDA0004113796910000229
是从
Figure BDA00041137969100002210
中选定的最多N个指数的集合。
在具有这些参数的情况下,所述一元函数f的近似同态评估需要由专门编程的信息处理计算机系统实施以下两个连续的步骤:
1.预计算与所述一元函数f相对应的表格的步骤,包括:
a.将域
Figure BDA00041137969100002211
分解为N个选定的子区间R0,...,RN-1,这些子区间的并集是
Figure BDA00041137969100002212
b.对于
Figure BDA00041137969100002213
中的每个指数i,在子区间Ri中确定代表x(i)且计算值y(i)=f(x(i));
c.返回包括由N个分量T[0|,...,T[N-1|的表格T,其中T[i]=y(i),0≤i≤N-1;
2.对表格进行同态评估的步骤,包括:
a.如果x∈Ri,将密文E(encode(x))转换为整数
Figure BDA00041137969100002214
的密文
Figure BDA00041137969100002215
整数
Figure BDA00041137969100002216
将集合
Figure BDA00041137969100002217
中的指数
Figure BDA00041137969100002218
Figure BDA00041137969100002219
作为期望值;
b.从密文
Figure BDA00041137969100002220
和表格T开始,获得元素
Figure BDA0004113796910000231
的密文
Figure BDA0004113796910000232
元素
Figure BDA0004113796910000233
具有期望值
Figure BDA0004113796910000234
c.返回密文
Figure BDA0004113796910000235
当待评估的函数f的定义域
Figure BDA0004113796910000236
是实数区间[xmin,xmax)时,覆盖
Figure BDA0004113796910000237
的N个子区间Ri(0≤i≤N-1)可以被选择作为半开区间:
Figure BDA0004113796910000238
以规律的方式分割
Figure BDA0004113796910000239
区间Ri的代表x:=x(i)可以有几种选择。例如,可以考虑每个区间的中点,由
Figure BDA00041137969100002310
Figure BDA00041137969100002311
给出。另一选择是在Ri中为x(i)选择值,使得f(x(i))接近f(x)在区间Ri上的平均值,或者针对每个0≤i≤N-1,使得f(x(i))接近由x在区间Ri上的给定先验分布所加权的平均值,或接近中值。
因此,在本发明的一个实施方案中,一元函数f的近似同态评估的特征进一步在于
·待评估的函数f的定义域由实数区间
Figure BDA00041137969100002312
给出;
·覆盖域
Figure BDA00041137969100002313
的N个区间Ri(0≤i≤N-1)是半开子区间
Figure BDA00041137969100002314
以规律的方式分割
Figure BDA00041137969100002315
编码函数encodeH的算法εH的选择在将E(encode(x))转换为
Figure BDA00041137969100002316
中具有主导作用。应记得,对于
Figure BDA00041137969100002317
我们有
Figure BDA00041137969100002318
其中
Figure BDA00041137969100002319
一个重要的情况是当
Figure BDA00041137969100002320
的元素被看作是加法群(groupe additif)的子集(sous-ensemble)(未必是子群(sous-groupe))的元素时。对于整数M≥N,此加法群被表示为
Figure BDA00041137969100002321
(提供模M加法的整数{0,...,M-1}的集合)。
因此,在本发明的一个实施方案中,一元函数f的近似同态评估的特征进一步在于是,对于整数M≥N,集合
Figure BDA00041137969100002322
是加法群
Figure BDA00041137969100002323
的子集。
有几种表示群
Figure BDA00041137969100002324
的方法。因此,Ducas和Micipanio在上述EUROCRYPT 2015的文章中将
Figure BDA00041137969100002325
的元素表示为变量X的指数;将
Figure BDA00041137969100002326
的元素i关联至元素Xi,XM=X0=1且对任意0<j<M,Xj≠1。可以说,X是单位的第M个原根。这种表示允许从加法符号转换为乘法符号:对于所有元素
Figure BDA00041137969100002327
元素i+j(mod M)被关联至元素Xi+j=Xi·Xj(mod(XM-1))。
模乘运算(XM-1)在加法群
Figure BDA0004113796910000241
与单位的M次根的集合{1,X,...,XM-1}之间诱导出群同构。当M是偶数时,关系XM=1意味着XM/2=-1。然后对于
Figure BDA0004113796910000242
我们具有Xi+j=Xi·Xj(mod(XM/2+1)),且单位的M次根的集合是{±1,±X,...,±X(M/2)-1}。
因此,在本发明的一个实施方案中,一元函数f的近似同态评估的特征进一步在于,群
Figure BDA0004113796910000243
被乘法地表示为单位(被表示为X)的原始M次根的幂,从而将
Figure BDA0004113796910000244
的元素i关联至元素Xi;单位{1,X,...,XM-1}的所有M次根形成与
Figure BDA0004113796910000245
的同构群,用于乘法取模(XM-1)。
在同态加密算法E是由应用于环
Figure BDA0004113796910000246
的LWE型加密算法给出的情况下,我们有
Figure BDA0004113796910000247
如果针对具有
Figure BDA0004113796910000248
中的值的编码函数encode,我们用
Figure BDA0004113796910000249
表示μ=encode(x),则我们有E(encode(x))=(a1,...,an,b)其中
Figure BDA00041137969100002410
Figure BDA00041137969100002411
e是
Figure BDA00041137969100002412
上的小的随机噪声。
因此,在本发明的一个实施方案中,一元函数f的近似同态评估的特征进一步在于,同态加密算法E是由应用于环
Figure BDA00041137969100002413
的LWE型加密算法给出的,且具有作为明文原始空间
Figure BDA00041137969100002414
对于整数M≥N,离散化函数discretise被参数化为一个函数,该函数将环的元素t关联到与乘积M×t modulo M的取整,其中M×t在
Figure BDA00041137969100002415
中计算;以数学形式写为
Figure BDA00041137969100002416
这个离散化函数自然延伸到环的向量。应用于
Figure BDA00041137969100002417
的向量c=(a1,...,an,b),我们得到
Figure BDA00041137969100002418
的向量
Figure BDA00041137969100002419
Figure BDA00041137969100002420
给出,其中
Figure BDA00041137969100002421
以更详细的方式,如果我们定义
Figure BDA00041137969100002423
以及
Figure BDA00041137969100002422
则我们有
Figure BDA0004113796910000251
有符号的整数Δ捕捉到了取整误差,被称为“漂移(drift)”。漂移的期望值为零。此外,如果|e|<1/(2M),那么
Figure BDA0004113796910000252
我们假设
Figure BDA0004113796910000253
其中
Figure BDA0004113796910000254
其中
Figure BDA0004113796910000255
的期望值为整数
Figure BDA00041137969100002518
编码函数encode被参数化,使其图像被包含在环的子区间
Figure BDA0004113796910000256
内。以这种方式,如果
Figure BDA0004113796910000257
Figure BDA0004113796910000258
且i=discretise(μ)=「M×μ」mod M∈[0,N)。事实上,可以验证,如果
Figure BDA0004113796910000259
则「M×μ」≥0且
Figure BDA00041137969100002510
因此,由于N≤M,「M×μ」mod M=「M×μ」∈[0,N)。因此,对于这些函数discretise和encode,我们实际上有
Figure BDA00041137969100002511
换句话说
Figure BDA00041137969100002512
是指数集合
Figure BDA00041137969100002513
的子集。
因此,在本发明的一个实施方案中,一元函数f的近似同态评估的特征进一步在于:
·编码函数encode的图像包含在环的子区间
Figure BDA00041137969100002514
内;以及
·离散化函数discretise将环的元素t应用于乘积M×t modulo M的取整,其中M×t在
Figure BDA00041137969100002515
中计算;以数学形式,
Figure BDA00041137969100002516
应注意,当待评估的函数f的定义域为实数区间
Figure BDA00041137969100002517
而明文原始空间
Figure BDA0004113796910000261
是环
Figure BDA0004113796910000262
时,编码函数encode的可能选择是
Figure BDA0004113796910000263
然后对于
Figure BDA0004113796910000264
我们有
Figure BDA00041137969100002623
我们注意到
Figure BDA0004113796910000265
因此,在本发明的一个实施方案中,一元函数f的近似同态评估的特征进一步在于,当函数f的定义域为实数区间
Figure BDA0004113796910000266
时,编码函数encode为
Figure BDA0004113796910000267
构造
Figure BDA0004113796910000268
产生了将E(encode(x))转换为
Figure BDA0004113796910000269
的第一实施方案。它假定集合
Figure BDA00041137969100002610
的元素直接被看作是
Figure BDA00041137969100002611
的整数。作为编码函数encodeH,我们考虑身份函数(fonction identité),
Figure BDA00041137969100002624
利用先前的符号,如果我们表示
Figure BDA00041137969100002612
Figure BDA00041137969100002613
且用
Figure BDA00041137969100002614
表示它在环c=(a1,...,an,b)上的LWE密文,则
Figure BDA00041137969100002615
被定义为:
Figure BDA00041137969100002616
其中
Figure BDA00041137969100002617
应注意,
Figure BDA00041137969100002618
Figure BDA00041137969100002619
在这种情况下,我们观察到εH是环
Figure BDA00041137969100002620
上的LWE型加密算法;加密密钥是(s1,..,sn)∈{0,1}n
因此,在本发明的一个实施方案中,一元函数f的近似同态评估的特征进一步在于,同态加密算法εH是LWE型加密算法,编码函数encodeH是身份函数。
将E(encode(x))转换为
Figure BDA00041137969100002621
的第二实施方案是通过考虑单位的M次根获得的;这允许以乘法方式工作。更具体地,假设M是偶数,
Figure BDA00041137969100002622
的任意多项式p:=p(X)是固定的。编码函数encodeH是函数
Figure BDA0004113796910000271
而加密算法εH是在
Figure BDA0004113796910000272
-取模
Figure BDA0004113796910000273
上的RLWE型加密算法。这种选择encodeH和εH的转换使用了重新加密技术。根据密钥
Figure BDA0004113796910000274
我们用
Figure BDA0004113796910000275
表示sj的RGSW型密文(1≤j≤n)。将
Figure BDA0004113796910000276
转换为
Figure BDA0004113796910000277
由以下过程给出:
·获得转换公钥bk[1],...,bk[n];
·计算
Figure BDA0004113796910000278
Figure BDA00041137969100002720
·初始化
Figure BDA0004113796910000279
·对于从1到n的j,评估
Figure BDA00041137969100002710
(在
Figure BDA00041137969100002711
中)
·返回c′n作为结果
Figure BDA00041137969100002712
在这种情况下,可以看到εH是在取模
Figure BDA00041137969100002713
上的RLWE型加密算法;加密密钥是
Figure BDA00041137969100002714
事实上,如果我们设定Cj
Figure BDA00041137969100002715
根据密钥(s′1,...,s′k)的RGSW型加密(1≤j≤n),数学形式为
Figure BDA00041137969100002716
我们有
Figure BDA00041137969100002717
因此,如果我们根据密钥(s′1,...,s′k)用RLWE(m)表示
Figure BDA00041137969100002718
的RLWE型加密,我们有
Figure BDA00041137969100002719
且通过归纳:
Figure BDA0004113796910000281
因此,在本发明的一个实施方案中,以偶数整数M为参数的一元函数f的近似同态评估的特征进一步在于,同态加密算法εH是RLWE型加密算法,对于
Figure BDA0004113796910000282
的任意多项式p,编码函数encodeH是函数
Figure BDA0004113796910000283
根据前面两个实施方案中的任一个,现在可以从
Figure BDA0004113796910000284
对表格T进行同态评估。在这两种情况下,我们假定E是环上的LWE型算法,且M是偶数,它等于2N。
1.第一种情况假定编码函数encodeH
Figure BDA0004113796910000285
且算法εH
Figure BDA0004113796910000286
上的LWE型加密算法。在此第一种情况下,我们有
Figure BDA0004113796910000287
第一子步骤包括:
·形成多项式
Figure BDA0004113796910000288
该多项式由
Figure BDA0004113796910000289
给出,其中T′[j]=encode′(T[j])(0≤j≤N-1);
·获得转换公钥bk[1],...,bk[n];
·初始化
Figure BDA00041137969100002810
·对于从1到n的j,评估
Figure BDA00041137969100002811
(在
Figure BDA00041137969100002812
中);
·假设d′=c″n
·返回
Figure BDA00041137969100002813
2.第二种情况是对于任意多项式
Figure BDA00041137969100002814
假定编码函数
Figure BDA00041137969100002815
且算法εH
Figure BDA00041137969100002818
上的RLWE型编码算法。在此第二种情况下,对于任意多项式
Figure BDA00041137969100002816
我们有
Figure BDA00041137969100002817
第一子步骤包括:
·选择多项式
Figure BDA0004113796910000291
使得P·p≈q其中
Figure BDA0004113796910000292
Figure BDA0004113796910000293
给出,其中T′[j]=encode′(T[j])(0≤j≤N-1);
·评估
Figure BDA0004113796910000294
·返回
Figure BDA0004113796910000295
其中P(X)·p(X)≈q(X)。
特别地,应注意,对于整数L>1,如果
Figure BDA0004113796910000296
则选择
Figure BDA0004113796910000297
其中
Figure BDA0004113796910000298
(其中乘以L在
Figure BDA0004113796910000299
中计算)意味着P(X)·p(X)≈T′[0]+T′[1]X+…+T′[N-1]XN-1。事实上,我们可以观察到,对于这个多项式p的选择,我们有
Figure BDA00041137969100002910
同时注意到,对于0≤r≤N-1,
Figure BDA00041137969100002911
Figure BDA00041137969100002912
以及
Figure BDA00041137969100002913
Figure BDA00041137969100002914
应注意,P·p≈q;在给定的漂移内验证了该等式,其期望值等于零。
在这两种情况下,作为对表格T进行同态评估的第一子步骤的回应,根据密钥
Figure BDA00041137969100002915
得到期望多项式
Figure BDA00041137969100002916
的RLWE型密文d′,该密钥是用于产生RGSW型密文bk[j](1≤j≤n)的密钥,对私钥(s1,...,sn)∈{0,1}n的比特sj进行加密。根据q(X)的形式,多项式
Figure BDA0004113796910000301
的常数项是
Figure BDA0004113796910000302
Figure BDA0004113796910000303
我们用
Figure BDA0004113796910000304
表示密文d′的组成部分。
表格T的同态评估的第二子步骤(两种情况都有)从所述RLWE密文中提取
Figure BDA0004113796910000305
的LWE型密文。
·对于每个1≤j≤k,将多项式
Figure BDA0004113796910000306
写成
Figure BDA0004113796910000307
Figure BDA0004113796910000308
其中
Figure BDA0004113796910000309
·将多项式
Figure BDA00041137969100003010
写成
Figure BDA00041137969100003011
其中
Figure BDA00041137969100003012
·定义环上的元素向量
Figure BDA00041137969100003013
其中
Figure BDA00041137969100003014
·返回环上的元素向量
Figure BDA00041137969100003015
其中b″=(b′)0是多项式b′的常数项。
如果对于每个1≤j≤k,多项式
Figure BDA00041137969100003016
被写成
Figure BDA00041137969100003017
其中
Figure BDA00041137969100003018
我们可以看到返回向量(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
Figure BDA00041137969100003019
的环上的LWE型密文。这定义了加密算法E′;因此我们有
Figure BDA00041137969100003020
在这种情况下,相应的明文原始空间是
Figure BDA00041137969100003021
因此,由于
Figure BDA00041137969100003022
Figure BDA00041137969100003023
我们实际上得到了具有f(x)近似值的LWE型加密密文。
在完成该计算后,密文
Figure BDA00041137969100003024
可以被解密和解码,得到f(x)的近似值。
因此,在本发明的一个实施方案中,以等于2N的偶数整数M为参数的一元函数f的近似同态评估的特征进一步在于,环上的LWE型密文
Figure BDA0004113796910000311
是从近似于多项式
Figure BDA0004113796910000312
的RLWE密文中提取的,其中在
Figure BDA0004113796910000313
Figure BDA0004113796910000314
Figure BDA0004113796910000315
且其中T′[j]=encode′(T[j])(0≤j≤N-1)。
当待评估的函数f的图像
Figure BDA0004113796910000316
为实数区间[ymin,ymax)且LWE型加密的明文原始空间
Figure BDA00041137969100003117
是环
Figure BDA0004113796910000317
时,编码函数encode′可能的选择是
Figure BDA0004113796910000318
在这种情况下,相应的解码函数由
Figure BDA0004113796910000319
给出。
因此,在本发明的一个实施方案中,一元函数f的近似同态评估的特征进一步在于,当函数f的图像为实数区间
Figure BDA00041137969100003110
时,
·同态加密算法E′由应用于环
Figure BDA00041137969100003111
的LWE型加密算法给出,且明文原始空间是
Figure BDA00041137969100003112
·编码函数encode′是
Figure BDA00041137969100003113
Figure BDA00041137969100003114
在添加密文期间应考虑到编码。如果我们用encode表示同态编码算法E的编码函数,则有E(μ12)=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(ε)。特别是,当编码由
Figure BDA00041137969100003115
定义时,修正相当于
Figure BDA00041137969100003116
对于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′符合加法时,修正ε′为零。对于编码
Figure BDA0004113796910000321
修正ε′相当于
Figure BDA0004113796910000322
另一重要的特殊情况是,当相同的一元函数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的同态评估的第一子步骤的结果中,我们得到期望多项式
Figure BDA0004113796910000323
的RLWE型密文d′,其中多项式q列出了函数f,且其中如果x1属于子区间
Figure BDA0004113796910000324
Figure BDA0004113796910000325
的期望值为i1=discretise(encode(x1))。例如,对于离散化函数
Figure BDA0004113796910000326
Figure BDA0004113796910000327
其中M=2N,我们得到
Figure BDA0004113796910000328
因此,
Figure BDA0004113796910000329
在这种情况下,期望多项式
Figure BDA00041137969100003210
的RLWE型密文可以像
Figure BDA00041137969100003211
那样更快速地得到。因此,E′(encode′(f(x2)))的值是由表格T的同态评估的第二子步骤推导出来的。
本发明还包括一种信息处理系统,该信息处理系统被专门编程以实施根据本文所述的替代方法中的任一个的同态加密评估方法。
另外,它还包括计算机程序产品,该计算机程序产品被专门设计用于实施本文所述的替代方法中的任一个,且由为此目的编程的信息处理系统加载和实施。
本发明的应用实施例
上述发明可以非常有利地用于保护某些数据的机密性,例如但不限于个人、健康、分类信息数据,或更普遍地,数据持有者希望保密但他希望第三方能够在该数据上进行数字处理的所有数据。将处理分散给一个或多个第三方服务提供商是有意义的,原因有几个:它允许执行一些需要昂贵或不可用的资源的操作;它也允许进行非公开的操作。反过来,实际上负责执行所述数字处理操作的第三方可能不希望传达处理的实际内容以及由此所实施的数字功能。
在这样的使用中,本发明涵盖了远程数字服务的实施,例如特别是云计算服务(cloud computing),其中负责在加密数据上应用数字处理的第三方服务提供商就其自身而言,执行上文所述的第一预计算步骤,该步骤包括对将用于处理加密数据的函数f1,...,fq中的每个多元函数fj预计算一元函数网络。在所有得到的一元函数(对于给定
Figure BDA0004113796910000331
其中k≥1)中,第三方在第二步中预选择一元函数gk以及它们对应的参数
Figure BDA0004113796910000332
使得k′<k满足以下三个标准之一:(i)gk=gk′
Figure BDA0004113796910000333
(ii)gk≠gk′
Figure BDA0004113796910000334
或者(iii)gk=gk′
Figure BDA0004113796910000335
已知常数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)+,其中
Figure BDA0004113796910000351
对应于一元函数
Figure BDA0004113796910000361
也可以参考非常流行的激活函数ReLU:
Figure BDA0004113796910000362
和sigmoid:
Figure BDA0004113796910000363
因此,在本发明的一个实施方案中,实施一个或多个先前描述的加密同态评估方法的远程服务旨在实施神经网络的数字处理。
本发明的公开内容的特征在于
本发明通过实施一个或多个数字信息处理系统的数据计算和处理能力,使得能够在加密数据上对一个或多个函数进行评估。根据情况,这个或这些函数可以是单元的或多元的。因此,在根据本发明的方法不同的变体中,它允许对这两种类型的函数进行评估。
在待评估的函数是一元类型的情况下,本发明在其实施方案之一中提供了在输入端和输出端分别实施两种同态加密算法,以及为每个所考虑的函数预计算出表格,然后对由此所获得的表格进行同态评估的步骤,如权利要求1所述。
当待评估的函数是多元类型时,本发明进一步提供了执行两个初步步骤:第一预计算步骤,接着是第二预选步骤,在完成这两个初步步骤之后,对所得到的一元函数网络应用第三步骤,该第三步骤是根据任何已知的用于一元函数同态评估的方法对所述一元函数网络进行同态评估。这是权利要求12的目的。

Claims (16)

1.一种通过至少一个信息处理系统以数字形式执行的加密方法,所述至少一个信息处理系统被专门编程为对实数变量x的一元函数f进行近似同态评估,该一元函数在定义域D中具有任意精度且在图像
Figure FDA00041137968900000120
中具有实值,取x的编码密文E(encode(x))作为输入且返回f(x)的近似值的编码密文E′(encode′(y)),其中y≈f(x),其中E和E′是同态加密算法,E和E′对应的明文原始空间是
Figure FDA0004113796890000011
Figure FDA0004113796890000012
参数为:
-整数N≥1,用于量化待评估的函数f的输入端的变量表示的实际精度;
-编码函数encode,取域
Figure FDA0004113796890000013
的元素作为输入且将所述域
Figure FDA0004113796890000014
的元素与
Figure FDA0004113796890000015
的元素相关联;
-编码函数encode′,取图像
Figure FDA0004113796890000016
的元素作为输入且将所述图像
Figure FDA0004113796890000017
的元素与
Figure FDA0004113796890000018
的元素相关联;
-离散化函数discretise,取
Figure FDA0004113796890000019
的元素作为输入且将所述
Figure FDA00041137968900000110
的元素与由整数表示的指数相关联;
-具有加密算法εH的同态加密方案,所述加密算法εH的明文原始空间
Figure FDA00041137968900000119
具有至少N的基数;
-编码函数encodeH,取整数作为输入且返回
Figure FDA00041137968900000112
的元素;
使得域
Figure FDA00041137968900000113
的图像通过编码encode和离散化discretise
Figure FDA00041137968900000114
是从
Figure FDA00041137968900000115
中所选定的最多N个指数的集合;
以及,其特征在于:
-a.预计算与所述一元函数f相对应的表格的步骤,包括:
ο将域
Figure FDA00041137968900000116
分解为N个选定的子区间R0,...,RN-1,这些子区间的并集组成了
Figure FDA00041137968900000117
ο对于
Figure FDA00041137968900000118
中的每个指数i,在子区间Ri中确定代表x(i)且计算值y(i)=f(x(i));
ο返回包括N个分量T[0],...,T[N-1]的表格T,其中对于0≤i≤N-1,T[i]=y(i);
-b.对表格进行同态评估的步骤,包括:
ο如果x∈Ri,将密文E(encode(x))转换为整数
Figure FDA0004113796890000021
的密文
Figure FDA0004113796890000022
所述整数
Figure FDA0004113796890000023
将集合
Figure FDA0004113796890000024
中的指数
Figure FDA00041137968900000226
Figure FDA00041137968900000227
作为期望值;
ο基于密文
Figure FDA0004113796890000025
和表格T,获得元素
Figure FDA0004113796890000026
的密文
Figure FDA0004113796890000027
所述元素
Figure FDA0004113796890000028
Figure FDA0004113796890000029
作为期望值;
ο返回密文
Figure FDA00041137968900000210
2.根据权利要求1所述的加密方法,其特征在于,
-待评估的函数f的定义域由实数区间
Figure FDA00041137968900000211
给出;
-覆盖域
Figure FDA00041137968900000212
的N个区间Ri(0≤i≤N-1)是半开子区间
Figure FDA00041137968900000213
以规律的方式分割
Figure FDA00041137968900000214
3.根据权利要求1所述的加密方法,其特征在于,对于一个整数M≥N,集合
Figure FDA00041137968900000215
是加法群
Figure FDA00041137968900000216
的子集。
4.根据权利要求3所述的加密方法,其特征在于,群
Figure FDA00041137968900000217
以乘法的方式表示为单位的原始M次根的幂,其中该单位被表示为X,从而将
Figure FDA00041137968900000218
的元素i关联至元素Xi;单位{1,X,...,XM-1}的所有M次根形成与
Figure FDA00041137968900000219
的同构群,用于乘法取模(XM-1)。
5.根据权利要求1至4中的任一项所述的加密方法,其特征在于,同态加密算法E是由应用于环
Figure FDA00041137968900000220
的LWE型加密算法给出的,且将
Figure FDA00041137968900000221
作为明文原始空间。
6.根据权利要求5所述的加密方法,参数为整数M≥N,其特征在于
-编码函数encode的图像包含在环的子区间
Figure FDA00041137968900000222
内;并且
-离散化函数discretise将环的元素t应用于乘积M×t modulo M的取整,其中M×t在
Figure FDA00041137968900000223
中计算;数学形式为:discretise:
Figure FDA00041137968900000224
7.根据权利要求6所述的加密方法,其特征在于,当函数f的定义域为实数区间
Figure FDA00041137968900000225
时,编码函数encode为
encode:
Figure FDA0004113796890000031
Figure FDA0004113796890000032
8.根据权利要求5所述的加密方法,其特征在于,同态加密算法εH是LWE型加密算法,编码函数encodeH是身份函数。
9.根据权利要求5所述的加密方法,以偶数整数M为参数,其特征在于,同态加密算法εH是RLWE型加密算法,对于
Figure FDA0004113796890000033
的任意多项式p,编码函数encodeH是函数encodeH
Figure FDA0004113796890000034
10.根据权利要求8或9中的任一项所述的加密方法,以等于2N的偶数整数M为参数,其特征在于,环上的LWE型密文
Figure FDA00041137968900000312
是从近似于多项式
Figure FDA0004113796890000035
的RLWE密文中提取的,其中在
Figure FDA00041137968900000313
Figure FDA0004113796890000036
Figure FDA0004113796890000037
且其中T′[j]=encode′(T[j]),0≤j≤N-1。
11.根据权利要求1至4中的任一项所述的加密方法,其特征在于,当所述函数f的图像为实数区间
Figure FDA0004113796890000038
时,
-同态加密算法E′由应用于环
Figure FDA0004113796890000039
的LWE型加密算法给出,且将
Figure FDA00041137968900000310
作为明文原始空间;
-编码函数encode′是
encode′:
Figure FDA00041137968900000311
12.根据权利要求1至11中的任一项的加密方法,其特征在于,经历所述近似同态评估的至少一个一元函数是从事先处理至少一个多元函数中得到的,该事先处理通过实施以下事先步骤:
-a.预计算步骤,包括将每个所述多元函数转换为一元函数网络,包括一元实值函数的复合以及和;
-b.预选择步骤,包括在所述预计算的一元函数网络中识别以下三种类型之一的冗余:
-应用于相同的参数的相同的一元函数;
-应用于相同的参数的不同的一元函数;
-应用于相差非零加性常数的参数的相同的一元函数;且选择上述的全部或部分;
-c.同态评估预计算的一元函数网络中的每个的步骤,其中当这些一元函数中的一个或多个的全部或部分被重新使用时,在预选择步骤中所选定的冗余以共享的方式进行评估。
13.根据权利要求1至11中的任一项的加密方法,其特征在于,输入的加密数据来自事先的重新加密步骤,从而以所述同态加密算法E的加密密文的形式设置。
14.一种信息处理系统,其特征在于,所述信息处理系统被编程以实施根据权利要求1至13中的一项或多项所述的同态评估加密方法。
15.一种计算机程序,所述计算机程序旨在通过根据权利要求14所述的信息处理系统来加载和实施。
16.一种云计算类型的远程服务,用于实施根据权利要求1至15中的一项或多项的加密方法,其中任务在数据持有者与作为数字处理服务提供商的一个或多个第三方之间共享。
CN202180060685.7A 2020-05-14 2021-05-14 用于在加密数据上评估一元或多元实值函数的加密方法、系统和服务 Pending CN116250208A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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分布随机近邻嵌入的过程监测可视化方法

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