前言

密码学是一门古老的学科,最初只在很小的范围内使用,如军事、外交、情报等需要对信息严格保密的部门内部。随着现代计算机技术的飞速发展,密码技术不断向更多其他应用领域扩展。基于密码学原理的密码技术不仅可以用于信息的机密性保护、完整性保护、用户身份的确认、行为的不可否认,更成为构建安全的复杂网络场景(包括各类安全协议和安全方案)的利器,在区块链、隐私计算等新兴领域起着重要的作用。

同态加密是目前密码学领域中在学术界和工业界都非常热门的一个研究方向,并且仍然在不断发展中,新的成果、新的应用不断涌现。同态加密可以让人们在加密的数据中进行诸如检索、比较等操作,得出正确的结果,而在整个处理过程中无须对数据进行解密。这一优良特性使得同态加密在各行各业的数据融合挖掘场景中具有广阔的应用前景,在人们越来越注重数据隐私保护、数据合规监管日渐严格的今天,这一特性体现出其对信息技术产业的重大价值。

目前还没有系统介绍同态密码技术的中文书籍,许多研究人员、技术开发人员有心学习相关知识,但是苦于没有系统的中文学习资料,而自己搜集、翻译、汇总英文学习材料又会大量占用本来就不够用的时间。本书编写的目的有三个方面:其一是填补同态加密技术中文书籍缺失的空白;其二是希望借此书向更多技术开发人员介绍同态加密技术;其三是通过编程实例介绍同态加密技术的实现方法,从而推动同态加密技术在应用领域的发展,提升国内隐私计算、用户隐私保护技术等新兴方向的发展水平。

本书首先介绍了密码学的一些基本概念,然后分章节分别介绍了同态加密基本概念、半同态加密、全同态加密、部分同态加密,最后通过编程实例向读者展示了charm-crypto、HElib、SEAL、TFHE等著名同态加密算法库的用法。

值得注意的是,如果读者想要进一步深挖知识,第3、4、5章所述的同态加密算法均可以进一步研究,书后给出的参考文献可以帮助读者了解在学有余力之时可以进一步阅读哪些资料。

本书在编写过程中,参考了许多相关资料,吸收了许多专家同仁的观点和例句,但为了行文方便,不便一一注明。书后所附参考文献是本书重点参考的论著。在此,特向在本书中引用和参考的教材、专著、报刊、文章的编者和作者表示诚挚的谢意。

本书虽经几次修改,但由于作者能力所限,不足之处在所难免,敬请读者批评指正。

本书编写过程中得到多位朋友的大力支持,其中叶芬芬女士绘制了第2、4、5章的大部分插图,在此一并表示感谢。

作者