绪论 1
第1章 分组密码 5
1.1 分组密码 5
1.1.1 基本概念 5
1.1.2 设计原则 6
1.1.3 安全性分析 8
1.2 数据加密标准 10
1.2.1 设计思想 10
1.2.2 算法描述 11
1.2.3 安全性分析 17
1.3 高级数据加密标准 23
1.3.1 产生背景 23
1.3.2 数学基础 24
1.3.3 算法描述 25
1.3.4 安全性分析 29
1.4 SM4密码算法 31
1.4.1 产生背景 31
1.4.2 算法描述 32
1.4.3 密钥生成 33
1.4.4 安全性分析 34
1.5 工作模式 34
思考题 36
第2章 公钥密码 38
2.1 公钥密码体制 38
2.1.1 公钥密码体制的原理 38
2.1.2 公钥密码体制的优缺点 39
2.2 RSA密码算法 40
2.2.1 算法描述 40
2.2.2 算法介绍 40
2.2.3 安全性分析 41
2.3 ElGamal公钥密码 43
2.3.1 ElGamal密钥对的生成 43
2.3.2 ElGamal加解密算法 43
2.3.3 ElGamal公钥密码的安全性 45
2.4 椭圆曲线密码 47
2.4.1 椭圆曲线基础 47
2.4.2 有限域上的椭圆曲线 47
2.4.3 参数选择 49
2.5 SM2密码算法 49
2.5.1 产生背景 49
2.5.2 算法描述 49
2.5.3 算法示例 56
思考题 65
第3章 密码杂凑函数 66
3.1 密码杂凑函数 66
3.1.1 密码杂凑函数简介 66
3.1.2 密码杂凑函数的分类 67
3.1.3 密码杂凑函数的应用 68
3.2 MD5算法 69
3.2.1 算法描述 69
3.2.2 安全性分析 72
3.3 SHA-1算法 72
3.4 SM3算法 74
3.4.1 算法描述 74
3.4.2 算法示例 76
思考题 79
第4章 数字签名 80
4.1 数字签名基础 80
4.1.1 基本概念 80
4.1.2 数字签名的分类 82
4.1.3 基于离散对数的数字签名 84
4.1.4 基于因子分解的数字签名 88
4.2 代理签名 89
4.2.1 基本概念 90
4.2.2 基于离散对数的代理签名 93
4.2.3 基于因子分解的代理签名 96
4.3 多重签名 98
4.3.1 基本概念 98
4.3.2 代理多重签名 100
思考题 104
第5章 认证与访问控制 105
5.1 口令认证 105
5.1.1 基本概念 105
5.1.2 攻击手段 106
5.1.3 口令认证系统 108
5.2 身份认证 111
5.2.1 挑战握手认证协议 112
5.2.2 多因子身份认证 114
5.2.3 S/ KEY认证协议 116
5.2.4 Kerberos认证协议 117
5.3 访问控制 119
5.3.1 访问控制模型 120
5.3.2 简单访问控制 122
5.3.3 基于角色的访问控制 126
5.4 密钥管理 129
5.4.1 密钥分配 129
5.4.2 密钥协商 130
5.4.3 密钥认证 135
5.4.4 密钥共享 138
5.4.5 密钥托管 141
思考题 146
第6章 云计算安全 147
6.1 云计算安全简介 147
6.1.1 云计算简介 147
6.1.2 云计算的安全问题 149
6.1.3 云计算安全基本架构 149
6.1.4 关键技术分析 150
6.2 同态加密 152
6.2.1 基本概念 152
6.2.2 同态加密方案 153
6.2.3 同态加密的应用 155
思考题 156
参考文献 157
英文缩略语 160