在这篇文章中,我们将了解同态加密的基本概念,介绍常用的同态加密开发库,学习同态加密应用开发的一般步骤,了解如何在Web应用中添加同态加密支持。
1、同态加密概述
同态加密改变了隐私保护的游戏规则,它允许直接操作加密数据而无需先进行解密。这一概念可以追溯到RSA加密 —— RSA也具备有限的同态加密功能。不过同态加密很长时间都局限在学术界,直到2009年Craig Gentry的论文发表后,才涌现了大量的同态加密库。
现在已经有很多可用的同态加密库了。下面列出了一些比较流行的同态加密开发包以及它们支持的方案类型,当然这个清单是不完整的:
Microsoft SEAL: BFV, CKKS (C++)
HElib: BGV (with GHS), CKKS (C++)
PALISADE: BFV, BGV, CKKS, FHEW (C++)
TFHE: Ring-variant of GSW (C++)
HEAAN: CKKS (with bootstrapping) (C++)
为你的web'应用找到合适的同态加密开发包以及方案类型需要进行大量的研究工作:
这些不同的同态加密实现代码有什么区别?
安装这些同态加密开发包需要什么依赖?
我如何在自己的web应用中使用同态加密库?
一个加密方案对性能有什么影响?
这个加密方案对数据有什么特殊的要求?
什么是自举?为什么我需要这个环节?
在你开始设计一个隐私保护的应用之前,有些问题就需要先找出答案。
在这个教程里ÿ