同态加密——精选推荐
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
同态加密
同态加密是指这样⼀种加密函数,对明⽂进⾏环上的加法和乘法运算再加密,与加密后对密⽂进⾏相应的运算,结果是等价的。
全同态加密是指同时满⾜加同态和乘同态性质,可以进⾏任意多次加和乘运算的加密函数。
⽤数学公式来表达,即Dec(f(En(m1),En(m2),…,En(mk)))=f(m1,m2,…,mk),或写成:f(En(m1),En(m2),…,En(mk))=En(f(m1,m2,…,mk)),如果f是任意函数,称为全同态加密。
加法同态,如果存在有效算法⊕,E(x+y)=E(x)⊕E(y)或者 x+y=D(E(x)⊕E(y))成⽴,并且不泄漏 x 和 y。
乘法同态,如果存在有效算法,E(x×y)=E(x) E(y)或者 xy=D(E(x) E(y))成⽴,并且不泄漏 x 和 y。
加密就是将消息或原始信息,⽤数学⽅法打乱,然后将其保存或传递给另⼀⽅,后者将使⽤另⼀种数学⽅法对信息进⾏解密并读取它。
理想情况下,加密可以增加数据的安全性,因为只有我们授权的⼈可以读取消息。
信息在解密之前都是很难辨认的,⼀旦加密后,则只有给定密钥才可以解密。
虽然不同形式的加密已存在⼏个世纪,但它仍然是有效果的:加密的数据⼀定⽐不加密的数据安全得多,哪怕是在防⽕墙和杀毒软件之后也⼀样。
加密是保护您的数据避免第三⽅窥探的⽅法,就像你的⽹上购物车⾥,填满了商品。
Gentry发现了⼀个⽅法:Boostrapping,该⽅法我把它称之为:同态解密。
(他为什么可以构造全同态加密⽅案呢)
这个⽅法的作⽤是约减噪⾳。
因为格上加密法案是噪⾳⽅案,即在密⽂中含有噪⾳,所以每次密⽂计算后,噪⾳都会增加,尤其是密⽂乘法导致噪⾳增长的⾮常快。
即使你构造了⼀个具有同态性的加密⽅案,由于噪⾳增长,导致⽆法获得同态性。
因此,约减密⽂计算后的噪⾳变得异常关键。
当然在此之前应该构造⼀个具有同态性的⽅案
Gentry是在格上⾸先构造⼀个具有同态性的加密⽅案,该⽅案能够做加法,也能够做乘法,但是只能做有限次的乘法。
为什么呢?因为噪⾳的增长。
噪⾳增长太快,使得⽆法继续密⽂计算。
这样的⽅案称为:有限同态加密⽅案(Somewhat HE)。
如果想做更多的计算,怎么办呢?约减噪⾳,我想连⼩孩都会的有的常规想法。
路线并不新颖,不知道是否让你失望了。
关键是怎么约减?Gentry观察到⼀个现象:如果解密的时候,输⼊的不是密⽂,⽽是对密⽂加密后的密⽂,同样,不是解密密钥,⽽是加密后的密钥,解密会输出什么东西呢?
答案:⼀个新的密⽂,该新密⽂依然是对原明⽂的加密。
最重要的是新密⽂的噪⾳总是恒定的。
说到这⾥,你反应过来了么。
这意味着每次密⽂计算后,如果使⽤同态解密操作,将会输出⼀个噪⾳恒定的新密⽂,这个新密⽂可以继续计算,计算后再同态解密,再计算,周⽽复始,⽆穷尽也,所谓任意计算实现了。
把密⽂再加密,密钥再加密后,输⼊到解密函数中,输出新的密⽂,这个⽅法就是Boostrapping技术,即:同态解密
Gentry构造的加密⽅案中,解密电路的深度太深,导致⽆法同态解密。
为此,Gentry⼜发明出⼀个⽅法:压缩电路,将解密电路的复杂度降低,使得可以同态执⾏解密电路。
你说复杂不复杂。
随后⼈们遵循Gentry 的思想提出了整数上的,⼩主理想上的,⽽且还进⾏了实现。
但是依然很复杂。
然⽽,2012年有⼀个⼈Brakerski将全同态加密推上了顶峰,使之变的简单了,⽽且将全同态加密构件建在LWE问题之上。
LWE问题是⼀个格上的平均性困难问题,可以被归约到格上标准困难问题。
也是抗量⼦的。
⽬前主流的格上加密⽅案都是构建在LWE之上。
由于使⽤Boostrapping实现任意计算代价太⾼,⽽且现实中并不太需要任意计算,所以退⽽求其次,如果能够执⾏多项式深度的同态计算,也是能够满⾜⼤多数需求的。
所以随后的LWE上的全同态加密不使⽤Boostrapping技术约减噪⾳,⽽是使⽤其它噪⾳约减技术,使得能够进⾏多项式深度的密⽂计算,代价⼤⼤降低了。
总之,⽬前只有在格上建⽴的全同态加密⽅案是安全的。
建⽴的⽅法就是⾸先建⽴⼀个有限同态加密⽅案(SWHE),然后使⽤噪⾳约减技术,使之成为⼀个能够执⾏多项式深度同态计算的⽅案,称之为层次型全同态加密。
全同态加密的效率也是飞速提⾼,⽬前执⾏⼀次乘法在毫秒级,密⽂与明⽂之⽐约为10^2。
微软去年初在⼈⼯神经⽹络上执⾏密⽂计算,效果是令⼈满意的。
全同态加密⽬前处在⼯程化研究阶段,相信全同态加密很快就会进⼊实践。
基于理想格提出⼀个全同态加密⽅案
理想格为何物?通俗的说就是⼀种困难问题,就像⼤整数难题⼀样。
所谓的格(Lattice)就是整系数基的线性组合构成的点,通俗地说就是⼀个空间中的⼀些离散有规律的点。
既然是离散的点,那么点之间⼀定有距离,距离产⽣美,从⽽产⽣了⼀些困难问题,例如:最短向量问题(SVP)。
如果是⼀个⼆维平⾯,那么寻找在格上寻找最短向量问题是简单的,但是当维数变⼤的时候,例如200多维,寻找格上的最短向量问题就变的异常困难,称之为格上标准困难问题,是⼀个指数级的困难问题。
你可以想象⼀下,当你在迷宫⾥时(现实世界是3维的),找出⼝还不算很困难,但是当在⼀个200多维的迷宫⾥时,困难程度⽴刻指数级上升。
最令⼈感兴趣的是,格上标准困难问题⾄今没有量⼦算法可以破解或者撼动它,因此格上标准困难问题被认为是抗量⼦的。
格上的加密⽅案最⼤特征:是⼀个含有噪⾳的⽅案。
加密时往⾥添加噪⾳,主要是为了进⼀步提⾼安全性。
然⽽恰好是这个噪⾳,导致加密的形式与解密形式⽐较简单。
这种特性为构造全同态加密埋下了伏笔。