前言:这篇文章是由陈智罡博士于2013年写的博客文章,当时全同态加密研究刚起步,方案非常复杂。陈博士的这篇博客文章,成为了每个进入全同态加密领域同学的必读文章,也为很多学习全同态加密的同学解答了很多学习困惑。今天读起来,会让我们很好的了解当初全同态加密是如何被解决的。
———————————这是一条美丽的分割线——————————————
4、 电路复杂度
前面的方案中大家看到了是按“位”来加密的(即m∈ {0,1}),加密后得到的是一个整数,密文膨胀的很厉害,那么为什么明文不取整数来加密呢?例如取明文m∈Z。我想原因是这样的:每个研究全同态的人们都想过了,但是没有找到一个方案可以把明文按照整数来加密。并不是说没有这种方案,估计只是现在还没有找到。
又有人会问:为什么全同态方案要用电路来描述呢?
首先我们来说说什么叫一个方案是全同态的?如果一个方案能够对密文做任意功能的运算,而且运算结果所得密文是紧凑的,同时Evaluate算法(即运算)是有效地,那么我们就称该方案是全同态的。可以用下式说明:

上式太重要了,我觉得只要把上面的式子牢记在心,那么全同态的概念就装在心里了。“紧凑的”在这里就不说了,论文里有解释,而且也很好理解。正确性当然是必须的。
那么如何衡量Evaluate的有效性呢?最直观的方法可以通过复杂度来衡量。显然Evaluate的复杂度依赖于所运算的函数f。那么f的复杂度如何衡量呢?当然最直接的方法是通过在图灵机上运算f的时间来衡量。但是函数f又是什么呢?我想应该是五花八门的功能函数,如果想用功能去描述它恐怕是一言难尽,但是如果用布尔电路的大小(the size of boolean circuit,即门电路的数量)来衡量,那么f就能够被拆解成一些简单的布尔电路:例如“与”电路、“或”电路、“非”电路。而这些电路是可以组合成任意电路的,也就是说可以表示任意功能的电路。
同样我们也可以选择用AND电路和XOR电路,因为这两个电路是具有完备性质的,也就是说这两个电路的组合也可以表出任意功能的电路(而且用这两个电路来描述更加直观,它们直接对应的算术运算就是乘法和加法)。
显然AND电路和XOR电路是属于permitted functions集合里的(为什么?因为AND电路是对应的是两个二进制位相乘,XOR对应的是两个二进制位相加,上述同态方案肯定能够正确执行这两个运算,因为就是一次乘法或者一次加法,既然能够正确执行,所以它们就属于permitted functions集合)。
又由于AND电路和XOR电路是完备的,所以任意功能都可以用这两个电路组合表出,也就是说该同态方案可以对密文做任意功能的运算,这不就是传说中的全同态定义么!任意功能的问题解决了,但是还缺一点:必须是正确的才行。你对密文一阵蹂躏后,如果结果解密后不是同样对明文蹂躏的结果,你有什么感觉?
那么上述同态方案能够保证计算的正确性么?上面我们已经看到由于噪音的存在,该方案只能做有限次的运算,也就是说只能够对permitted functions集合里的功能函数保证是正确的,在此之外保证不了,现在你知道permitted functions集合里有什么东西了吧。那如何能够保证对密文做任意功能的运算还是正确的呢?
前面说过可以通过重加密技术降低噪音呀!具体如何做呢?很简单:给AND电路上接一个解密电路,给XOR电路上也接一个解密电路,任何密文在进入AND电路或XOR电路之前,先让它进入解密电路进行重加密,之后从解密电路里出来的密文就是一个类似于新鲜密文的密文,噪音比进来前降低了,然后再让这个新的密文进入AND电路或XOR电路,这样我们就可以对密文正确的做任意功能的计算了!而接了解密电路的AND电路或XOR电路就称为增强电路。
总结一下:任意函数功能拿来,先用增强型AND电路和增强型XOR电路表示出来,这样就可以对密文做任意功能的计算了,由于是增强型的,我们不再害怕噪音的阻碍,可以无限运算下去。OK,全同态的蓝图终于在纸上实现了。
但是还有一个问题(问题真多,难怪人说科学是由问题产生的,现在我才理解),解密电路是属于permitted functions集合里的么?可能有人会说,方案中不是有解密电路么,Evaluate应该可以运行它吧。另外还有人说,按照上面方法把解密电路表示成增强电路不就行了。别忘了,增强型电路是含有解密电路的,所以这样说等于由果来推因了。AND电路、XOR电路、解密电路都可看成是“原电路”(这个名字是我自己取的),就是说它们是构成任意功能函数的基石,permitted functions集合里含有它们就完全够了。
前面我们已经解释了AND电路和XOR电路属于permitted functions集合的原因。唯一缺的就是没有证实解密电路也在permitted functions集合里。下面就来分析分析解密电路。
==========================================================================
文章首发在微信公众号:btc201800知识星球ID:28018093
音频发布在喜马拉雅上“区块链杂谈 (第2季)” http://xima.tv/Bjq4se
解读区块链白皮书 http://xima.tv/RNU1Q8
宁波格密链网络科技有限公司,专注于区块链上的密码技术研发。