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

文档序号:34454510发布日期:2023-06-13 23:18阅读:51来源:国知局
用于在加密数据上评估一元或多元实值函数的加密方法、系统和服务与流程

本发明涉及改进应用于事先加密的数据的一个或多个函数的同态评估(l’évaluation homomorphe)。基于近来的密码学工作,此可能包括在存在保密限制的所有活动领域中的许多应用(诸如但不限于,隐私保护的应用、商业秘密的应用或医疗数据的应用)。更特别地,本发明涉及用于实现由一个或多个专门编程的计算机系统自动完成一个或多个函数的同态评估所需的计算的方法。因此,有必要考虑有限的存储和计算时间能力,或者在云计算类型的远程处理的情况下还要考虑传输能力,该传输能力可由应当执行这种类型的评估的信息处理系统知晓。如下文将描述的,同态加密方法的发展迄今一直受到与计算机处理能力相关的且由文献提出的大多数方案所固有的这种技术限制的极大阻碍,特别是在为了执行不同的计算阶段所要实施的机器资源和要支持的计算时间的方面。


背景技术:

1、全同态加密方案(fully homomorphic encryption,缩写为fhe)使任何参与者能够将一组密文(对应于明文x1,…,xp)公开转换为对应于明文的给定函数f(x1,…,xp)的密文,而这个参与者本身没有权限访问明文。众所周知,这种方案可以用于构建符合私人生活(privacy preserving)的协议:用户可以将加密数据存储在服务器上,且授权第三方对加密数据执行运算,而不必向服务器公开数据本身。

2、第一代全同态加密方案仅在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方案中,密文包括少量的随机噪声,该随机噪声对于安全而言是必要的。当对噪声密文执行运算时,噪声会增加。在评估给定数目的运算后,这个噪声会变得太高,可能会危及计算的结果。因此,自举是构造同态加密方案的基础,但无论是在所使用的内存还是计算时间方面,此技术都是非常昂贵的。

3、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性能是显著的。他们对该领域的研究进展以及使同态加密更加实用做出了贡献。所提出的新技术使有可能在几毫秒内计算一个自举。

4、技术问题

5、尽管取得了进展,已知的计算程序允许将一组密文(对应于明文x1,…,xp)公开转换为对应于明文的给定函数f(x1,…,xp)的密文,但仍然限于某些情况下,或者仍然不实用。事实上,目前主要的通用手段包括以布尔电路的形式表示此函数,所述布尔电路由and、not、or或xor类型的逻辑门组成,然后包括使用表示该函数f的输入(明文)的比特的密文作为输入,同态评估此电路。对布尔电路的复杂性的衡量是它的乘法深度,乘法深度被定义为为了获得计算的结果而应当计算的连续and门的最大数目。为了在此计算期间保持对噪声的控制,有必要在其过程中定期执行自举运算。如上文所指示的,即使使用最新的技术,这些自举运算也涉及复杂的计算,且由于乘法深度很大,使整个计算甚至更慢。这种方法仅对在二进制输入上运算且具有简单的布尔电路的函数是可行的。

6、一般而言,待评估的函数取一个或多个实数变量x1,...,xp作为输入。甚至可能存在几个函数f1,...,fq待在一组实数变量上进行评估。因此,寻找一种方法具有重大的技术和经济利益,该方法允许在不动用过于庞大的计算手段的情况下,快速执行上述运算,即将一组密文(对应于明文x1,...,xp)公开转换为对应于明文的多个实值函数f1,...,fq的一组密文。事实上,到目前为止,gentry在2009年取得的理论进展还没有已知实际的具体化,因为缺乏对此技术问题的有效的解决方案。本发明正是针对此问题提供了答复。


技术实现思路

1、本技术描述了一组方法,该组方法旨在由至少一个专门编程的信息处理系统以数字形式执行,以将一组密文(对应于明文x1,...,xp)有效且公开地转换为对应于明文的多个函数f1,...,fq的一组密文。此新方法将多元函数f1,...,fq转换为一元函数的和与一元函数的复合的组合的形式。优选地,从函数f1,...,fq的转换得到的中间值在评估中被重复使用。最后,每个一元函数优选地以表格的形式表示,而非通常以布尔电路的形式表示。

2、值得注意的是,定义在实数上且具有实值的任何多元函数都被支持。输入经过在先编码,以便确保与底层加密算法的消息的原始空间的兼容性。在解密之后,解码也可以在输出端处应用于所考虑的函数的图像。

3、本发明的技术效果是显著的,因为无论是独立考虑还是组合考虑,它所实施的技术都将允许对应用于加密数据的多个函数f1,...,fq的结果执行评估,同时大大降低了复杂性且减少了必要的计算时间。如下文所描述的,这种减轻特别是由于以下事实:(i)待评估的多元函数被转换为一元函数,而非直接处理几个变量的函数;(ii)这些函数可以被分解,以便共享中间计算的结果,而非进行单独的评估;以及(iii)所产生的一元函数由表格表示,而非由布尔电路表示。

4、当函数f具有几个变量x1,...,xp时,根据本发明的方法是将函数f转换为一元函数的和与一元函数的复合的组合。应注意,一元函数的和与一元函数的复合这两种运算允许表达仿射变换或其他线性组合。通过与神经网络的类比,表达“一元函数网络”被用于指在完成从多变量到单变量的转换时,将一元函数的和与一元函数的复合组合的表示,该网络将对多个加密值进行同态评估。所述转换可以是精确的或近似的;尽管如此,应注意,精确转换是元误差的近似转换。在实践中,由此获得的网络与实现相同功能性的布尔电路相比具有低深度的特点。然后此函数f的新表示被用于对加密输入e(encode(x1)),...,e(encode(xp))进行评估,其中e指的是加密算法,encode指的是编码函数,这将允许从e(encode(zk))类型的输入开始,以对一些一元函数gj的e(encode(gj(zk)))类型的计算为结束,其中zk是中间结果。这些计算利用了加密算法的同态特性。

5、当相同的一元函数网络被多次重复使用时,不必重新进行所有的计算阶段是有意义的。因此,根据本发明,第一步包括预计算所述一元函数网络;然后在后续步骤中对加密数据进行同态评估。

6、任何连续的多元函数都可以写成一元函数的和与一元函数的复合这一事实已由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]。

7、此结果长期以来一直停留在理论上,但算法版本已经特别是被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]中找到其详细的描述。此外,应注意,待分解的函数的连续性假设可以通过考虑后者的近似值来放宽。

8、另一种可能的方法包括通过根据英文术语被称为岭(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]。

9、使用所谓的ga(x)=g(||x-a||)类型的径向函数来代替岭函数也是一种可能性[d.s.broomhead和david lowe,“multivariable functional interpolation andadaptive networks”,complex systems,2,pp.321-355,1988],且其他的基本函数族也可以类似的近似质量(收敛速度)使用。

10、在某些情况下,形式分解是可能的,而不需要通过kolmogorov定理或其算法版本之一(诸如sprecher算法版本)或通过岭函数、径向函数或其变体。例如,函数g(z1,z2)=max(z1,z2)(特别是作为由神经网络使用的所谓的“最大池化”层)因此可以被这样分解:max(z1,z2)=z2+(z1-z2)+,其中对应于一元函数

11、给定函数f1,...,fq的数据,当这些函数中的每个函数都是由一元函数网络(所述一元函数网络之后旨在对加密数据进行同态评估)表示,此评估可以在这些一元函数中的一个或多个的全部或部分被重复使用时以优化的方式执行。因此,对于在该组一元函数网络中观察到的每个冗余,对加密值进行一元函数同态评估的某些程序将仅需进行一次。知晓这种函数同态评估典型地联机完成且极大地增加了处理速度,共享中间值会产生非常显著的性能提升。

12、考虑了三种可能的优化类型:

13、相同的函数,相同的参数

14、在一元函数数目相同的情况下,这种优化包括优选地一元函数网络,最大次数重复应用于相同参数的相同一元函数。事实上,每当一元函数与评估所述一元函数所用的输入是相同的,在此输入上同态评估此一元函数就不需要重新计算。

15、不同的函数,相同的参数

16、当在相同的输入上同态评估两个或多个一元函数基本上可以以单个同态评估的成本完成时,这种优化是适用的,一个实施方案允许共享大部分的计算。在上述ct-rsa2019的文章中以多输出版本为名考虑到了类似的情况。在“具体实施方式”部分提出了这种实施方案的一个实施例。在多变量情况下,这种情形出现在例如当分解系数(aik)固定时以岭函数或径向函数的和的形式对几个多元函数的分解中。

17、相同的函数,相差非零加性常数的参数

18、另一允许加速计算的情形是当在已知差值的参数上评估相同的一元函数时。例如当使用kolmogorov类型的分解时,特别是sprecher的近似算法版本,就会发生这种情况。在这种情况下,分解涉及所谓的“内部”一元函数;特别参见“具体实施方式”部分中对内部函数ψ的应用。在后者的情况下,附加的成本是最小的。

19、这些优化适用于应当评估几个函数f1,…,fq的情况,但它们也适用于待评估的单个函数的情况(q=1)。在所有情况下,有意义的是产生一元函数网络,它不仅减少了一元函数的数目,而且优选在相同的参数上使用不同的函数,或者在相差非零加性常数的参数上使用相同的函数,从而减少评估成本。这种性质是一元函数网络在加密输入上进行同态评估时所特有的。

20、无论根据本发明进行评估的函数是多元的且已经形成了上文提出的第一步骤,还是旨在处理原始的一元函数,本发明都提供了用于对这些一元函数执行同态评估的方法,且在一个有利的变体中,为此目的使用了表格形式的表示。

21、一元函数的同态评估,或更普遍的一元函数的组合的同态评估,是基于同态加密方案的。

22、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或其子集的函数;优选地,该函数是单射的。

23、如前述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)的了解允许找到作为的元素。应记得,环面的两个元素可以相加,但它们的内积未被定义。符号“·”表示整数和环面元素之间的外积。

24、在同一篇文章中,作者还描述了基于的方案,其中和分别是多项式环和对于严格的正整数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]中被提出。

25、最后,此同一篇文章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中给出了证明。

26、如所示出的,前述方案是所谓的对称或私钥加密方案。这绝不是一种限制,因为如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]中所示出的,任何加法同态的私钥加密方案都可以变换为公钥加密方案。

27、如上所述,自举指的是一种允许降低密文中所存在的任何可能的噪声的方法。在gentry前述stoc 2009的创始文章中,他通过现在通常称为-重新加密(re-encryption)”的技术来实施自举,并由此引入。重新加密包括在密域中同态评估解密算法。在明域中,加密算法取密文c和私钥k作为输入,且返回相应的明文x。在密域中,通过同态加密算法e和编码函数encode,所述解密算法的评估取c的加密密文e(encode(c))和k的加密密文e(encode(k))作为输入,从而根据算法e的加密密钥,给出同一明文的新的加密密文e(encode(x))。因此,假设密文是作为同态加密算法e的输出给出的,并不构成限制,因为重新加密技术允许在这种情况下结束。

28、lwe型加密方案及其变体的同态性质允许通过对相应的密文运算来操纵明文。待评估的一元函数f的定义域被离散成涵盖其定义域的几个区间。每个区间由值xi与函数f(xi)的相应值表示。因此,函数f是由一系列形式为(xi,f(xi))的对来列表显示。这些对实际上是用于从x的密文开始,针对函数定义域中的x的任意值,同态计算f(x)的密文或近似值。

29、在本发明中,此同态计算的核心是一种新的结合了自举和编码的通用技术。在“具体实施方式”部分中描述了几个实施方案。

30、前述来自asiacrypt 2016的文章中所描述的同态评估技术以及前述后续工作中所引入的同态评估技术并不能够同态评估在任意定义域上的任意函数。首先,这些都严格限制于单变量类型函数。现有技术还未知在多变量的情况下的响应。此外,在单变量情况下,现有技术在输入值上或在待评估的函数上假设了条件。在这些限制中,注意例如输入限制于二进制值(比特)或待评估的函数所需的负循环(négacyclique)性质(例如,通过环面上的“符号”函数验证)。对于具有任意实值的函数,现有技术中没有描述允许在这些特殊情况下结束的输入值和输出值的通用处理。

31、相反,本发明的实施方式能够在控制在输出端的噪声(自举)的同时,在实数的lwe型密文的输入上同态评估具有实值变量的函数,而不管函数的形式或它们的定义域。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1