本书以全新的视角“维数提升法”论述全同态加密算法的构造本质。全面介绍目前主流的全同态加密算法,以及全同态加密在机器学习和生物特征密文认证中的应用。
本书适合广大工程技术人员,以及高校师生和科研工作者。为业界人员提供全同态加密技术从理论到应用的全方面指导。
第1章全同态加密入门1
1.1全同态加密引言1
1.1.1为什么需要全同态加密1
1.1.2第一个全同态加密的诞生3
1.1.3为什么采用电路模型4
1.1.4全同态加密的构造框架5
1.2全同态加密入门7
1.2.1全同态加密的4部分8
1.2.2同态解密控制噪声10
1.2.3LWE上的全同态加密12
1.3详解同态解密思想16
1.3.1一个简化的整数上的加密算法16
1.3.2可怕的噪声17
1.3.3同态解密: 一个生硬的思路18
1.3.4解密电路的复杂度19
1.3.5压缩解密电路21
1.3.6实现算法24
1.4格密码学介绍25
第2章格密码理论基础27
2.1格密码在后量子密码中的优势27
2.2数学基础知识31
2.2.1向量空间简介31
2.2.2矩阵和行列式的一些重要概念33
2.3格理论基础33
2.3.1格的定义及性质33
2.3.2格上的计算问题35
2.4构建格公钥密码系统的方法38
2.4.1陷门单向函数38
2.4.2随机格39全同态加密——从理论到实践目录2.4.3构造单向哈希函数39
2.4.4构造陷门单向函数40
2.4.5格公钥密码系统的框架42
2.5LWE问题43
2.5.1LWE搜索问题43
2.5.2LWE判定问题44
2.5.3构造LWE单向哈希函数46
2.5.4构造LWE陷门单向函数46
2.5.5LWE问题的困难性48
2.5.6高斯分布49
2.6LWE私钥加密算法50
2.7LWE上公钥加密算法52
2.7.1LWE上Regev公钥加密算法 52
2.7.2LWE上Regev公钥加密变形53
2.7.3LWE上多位Regev公钥加密算法53
2.8环LWE问题54
2.9基于环LWE的公钥加密56
2.9.1环LWE上公钥加密算法 56
2.9.2环LWE上公钥加密算法变形56
2.9.3环LWE上的NTRU加密算法57
2.10最坏情况下的困难问题58
第3章全同态加密的噪声依赖分析与安全参数分析60
3.1全同态加密61
3.1.1全同态加密定义61
3.1.2全同态加密分类61
3.2全同态加密关键技术62
3.2.1同态解密技术62
3.2.2模交换技术 62
3.2.3位展开技术63
3.2.4密钥交换 64
3.3基于噪声依赖分析的全同态加密算法研究66
3.3.1噪声依赖分析方法66
3.3.2噪声增长依赖于密文中噪声的全同态加密算法: BGV算法67
3.3.3噪声增长依赖于密钥的全同态加密算法: Bra12算法70
3.3.4噪声增长依赖于密文的全同态加密算法: GSW13算法75
3.3.5算法参数尺寸与噪声增长分析比较77
3.4全同态加密具体安全参数分析78
3.4.1具体的安全参数分析方法79
3.4.2Bra12算法和GSW13算法的具体安全参数80
第4章使用提升维数法设计NTRU型无须密钥交换的全同态加密83
4.1问题的提出83
4.2解决问题的主要思想84
4.3提升维数法85
4.4环LWE上NTRU基本加密方案与扩展加密方案87
4.4.1判定小多项式比问题87
4.4.2NTRU基本加密方案87
4.4.3NTRU扩展加密方案88
4.5同态属性89
4.5.1NTRU基本加密方案的同态性89
4.5.2扩展加密方案的乘法同态性89
4.5.3扩展加密方案的加法同态性90
4.6密文同态计算的噪声分析90
4.6.1加法噪声分析90
4.6.2乘法噪声分析91
4.6.3乘法计算优化91
4.7层次型全同态加密91
4.8选择具体安全参数92
4.8.1方案的参数属性92
4.8.2具体参数93
4.9总结94
第5章使用提升维数法设计环LWE上的无须密钥交换的全同态加密96
5.1问题的提出96
5.2解决问题的主要思想97
5.3提升维数法98
5.4密文是矩阵的环LWE上的加密方案99
5.5环LWE上的扩展加密方案100
5.6环LWE上扩展加密方案的同态性101
5.6.1加法同态性101
5.6.2乘法同态性101
5.7密文同态计算的噪声分析102
5.7.1加法噪声分析102
5.7.2乘法噪声分析102
5.8环LWE上扩展加密方案上的层次型全同态加密方案102
5.9密文是矩阵的LWE上加密方案103
5.10LWE上的扩展加密方案104
5.11LWE上扩展加密方案的同态性106
5.11.1加法同态性106
5.11.2乘法同态性106
5.12密文同态计算的噪声分析107
5.12.1加法噪声分析107
5.12.2乘法噪声分析107
5.13LWE上扩展加密方案上的层次全同态加密方案107
5.14选择具体的安全参数108
5.14.1方案的参数属性108
5.14.2具体参数109
5.15总结111
第6章一个基于BinaryLWE的全同态加密方案113
6.1问题的提出113
6.2解决问题的主要思路114
6.3BinaryLWE问题114
6.4改进的基本加密方案115
6.5方案的同态性116
6.5.1加法同态性116
6.5.2乘法同态性117
6.5.3密钥交换117
6.6层次型全同态加密方案118
6.7密文同态计算的噪声分析119
6.7.1加法噪声分析119
6.7.2乘法噪声分析119
6.8选择具体安全参数120
6.8.1方案的参数属性120
6.8.2具体参数121
6.9总结122
第7章基于BinaryLWE噪声控制优化的全同态加密方案改进123
7.1问题的提出123
7.2解决问题的主要思路123
7.3改进的基本加密方案124
7.4方案的同态性125
7.4.1加法同态性126
7.4.2乘法同态性126
7.4.3密钥交换127
7.5层次型全同态加密方案127
7.6密文同态计算的噪声分析128
7.6.1加法噪声分析128
7.6.2乘法噪声分析128
7.7选择具体安全参数129
7.7.1方案的参数属性129
7.7.2具体参数130
7.8总结131
第8章一个LWE上的短公钥多位全同态加密132
8.1一个多位的LWE加密方案132
8.2方案的同态性134
8.2.1加法同态性134
8.2.2乘法同态性134
8.3密钥交换135
8.4层次型全同态加密方案136
8.5噪声分析137
8.6具体安全参数138
第9章基于抽象解密结构的全同态加密构造方法分析141
9.1解密结构与同态性141
9.1.1抽象解密结构142
9.1.2密文乘法期盼解密结构的构造143
9.1.3解密结构与噪声增长依赖主要项144
9.1.4最终解密结构145
9.2密文矩阵的解密结构146
9.2.1密文矩阵的解密结构147
9.2.2密文矩阵的最终解密结构147
9.3密文堆叠的加密形式148
9.3.1密文矩阵的零次同态加密形式148
9.3.2密文矩阵的全同态加密形式149
9.4通用构造方法150
9.4.1构造思想150
9.4.2通用构造方法介绍150
9.5全同态加密的形式比较151
9.5.1解密结构151
9.5.2密文乘法同态计算形式152
9.5.3噪声控制153
9.5.4最终解密结构153
第10章浮点数上的全同态加密算法CKKS155
10.1浮点数同态计算的重要性与挑战155
10.2近似同态计算例子158
10.3分圆多项式159
10.4编码与解码161
10.4.1瘙綇[X]/(XN+1)→瘙綇N的编码与解码161
10.4.2瘙綄[X]/XN+1→瘙綇N/2的编码与解码162
10.5再缩减技术163
10.6CKKS算法164
第11章SEAL全同态加密库的使用166
11.1设置参数166
11.2密钥生成与加密解密168
11.3示例169
11.4批处理编码172
11.5模交换链174
11.6CKKS算法的使用175
11.7密文中的向量旋转176
参考文献178
附录A注释表187
附录B如何学习全同态加密188