1.1 密码学的发展概况 1
1.2 密码学的基本概念 1
第1章 引言 1
第2章 古典密码 4
2.1 古典密码中的基本加密运算 4
2.1.1 单表古典密码中的基本加密运算 4
2.1.2 多表古典密码中的基本加密运算 5
2.2 几种典型的古典密码体制 6
2.2.1 几种典型的单表古典密码体制 7
2.2.2 几种典型的多表古典密码体制 7
2.3.1 单表古典密码的统计分析 12
2.3 古典密码的统计分析 12
2.3.2 多表古典密码的统计分析 16
习题 21
第3章 Shannon理论 23
3.1 密码体制的数学模型 23
3.2 熵及其性质 25
3.3 伪密钥和惟一解距离 31
3.4 密码体制的完善保密性 34
3.5 乘积密码体制 37
习题 38
4.1 分组密码的基本原理 40
第4章 分组密码 40
4.2 数据加密标准DES 41
4.2.1 DES加密算法 42
4.2.2 DES的解密过程 48
4.2.3 DES的安全性 48
4.3 多重DES 49
4.3.1 双重DES 49
4.3.2 三重DES 50
4.4 DES的工作模式 50
4.5 高级加密标准AES 53
4.5.1 AES的数学基础 54
4.5.2 AES的输入输出和中间状态 57
4.5.3 AES的加密过程 59
4.5.4 密钥扩展 62
4.5.5 AES的解密过程 63
习题 66
第5章 公钥密码 69
5.1 公钥密码的理论基础 69
5.2 RSA公钥密码 70
5.2.1 基本的数论知识 70
5.2.2 RSA公钥密码体制 73
5.2.3 RSA的安全性讨论 74
5.2.4 模n求逆的算法 75
5.2.6 因子分解 77
5.2.5 模n的大数幂乘的快速算法 77
5.3 大素数的生成 78
5.3.1 素数的分布 79
5.3.2 Legendre符号和Jacobi符号 80
5.3.3 Solovay-Strassen素性测试法 81
5.3.4 Miller-Rabin素性测试法 84
5.4 EIGamal公钥密码 86
5.4.1 EIGamal公钥密码体制 86
5.4.2 EIGamal公钥密码体制的安全性 87
5.4.3 有限域上离散对数的计算方法 88
5.5.1 有限域上的椭圆曲线 93
5.5 椭圆曲线上的Menezes-Vanstone公钥密码 93
5.5.2 Menezes-Vanstone公钥密码体制 96
习题 98
第6章 序列密码与移位寄存器 100
6.1 序列密码的基本原理 100
6.2 移位寄存器与移位寄存器序列 101
6.3 线性移位寄存器的表示 103
6.4 线性移位寄存器序列的周期性 105
6.5 线性移位寄存器的序列空间 106
6.6 线性移位寄存器序列的极小多项式 108
6.7 m序列的伪随机性 112
6.8 B-M算法与序列的线性复杂度 116
6.9 线性移位寄存器的非线性组合 119
习题 121
第7章 数字签名 122
7.1 基于公钥密码的数字签名 122
7.2 EIGamal签名方案 123
7.3 数字签名标准DSS 125
7.4 基于离散对数问题的一般数字签名方案 126
习题 128
第8章 Hash函数 129
8.1 Hash函数的性质 129
8.2 基于分组密码的Hash函数 130
8.3 Hash函数MD4 132
8.4 安全Hash算法SHA 135
习题 137
第9章 密码协议 139
9.1 密钥分配与密钥协商 139
9.1.1 密钥分配 140
9.1.2 密钥协商 143
9.2 秘密分享 146
9.3 身份识别 148
9.4 零知识证明 151
习题 153
主要参考文献 155