导 读
同态加密是数据加密中最常见的加密方案之一,也是MPC常用的通用算法之一,主要由同态性质和加密性质两个性质构成。加密性质可保证被加密的数据无法被其他方复原,同态性质能让加密数据可以直接进行计算,且保证运算结果的正确性。近年,微软等互联网巨头纷纷成立同态加密的研究院,并对其进行研究。
传统的MPC(安全多方计算)需要依靠交互实现数据安全保护,而同态加密这项算法不依托于别人,属于非交互式安全多方计算,这种加密方案的数学性质极其优美,基于此可快速构建出对应的隐私计算方案。
▲ 数学定义
同态性质使用数学的语言表达,即如果存在一个映射f:
我们称映射f具有同态性质,如果只满足性质1则称为加法同态,如果只满足性质2则称为乘法同态。
同态加密的含义分为两层,即同态性质和加密性质。同态性质保证了密文的可运算行,加密性质则保证了密文的安全性。其中,加密性质要求一个映射输出的结果必须是不可区分的。也就是说,对于x和y而言,f(x)和f(y)对观看者来说必须是无法区分的,如果映射f(x)=x(一个最简单的全同态函数),则该映射对数据x就没有起到加密的效果。因此,构建一个具有同态性质又具有加密性质的映射是同态加密中的难点。
▲ 同态加密的分类
同态加密分为三大类:半同态加密,部分同态加密和全同态加密。
1)半同态加密:仅支持密文乘或者加的操作;