同态加密的基本概念
所谓的加密,其实是明文空间到密文空间的映射关系。明文空间里面的元素,叫做明文,是我们想要保护的信息,通常会含有一些特殊的信息。常见的明文有图像,视频、个人资料等等。明文空间里面的元素,我们通常叫做密文,是用来保护明文的。对于一个安全的加密来说,如果不知道解密密钥,密文应该是十分接近随机数,其分布在密文空间应该是均匀随机的。密文本身不应该含有明文的任何信息,也就是语义安全性。
同态加密是一种特殊的加密方法。他可以允许我们直接对密文进行运算,其解密后的结果就是对应明文运算后的结果。这对于隐私计算是一个非常好用的工具,使得很多隐私计算协议变得简单直接。
假设加密函数为 c = E n ( m , P k ) c=\mathtt{En}(m,P_k) c=En(m,Pk),输入为明文 m m m和加密密钥(通常是公钥) P k P_k Pk.输出一个密文 c c c.
解密函数为 m = D e ( c , S k ) m=\mathtt{De}(c,S_k) m=De(c,Sk),输入为密文 c c c和解密密钥 S k S_k Sk.
加法同态是说 m 1 + m 2 = D e ( E n ( m 1