第1章 整除性、同余与经典密码 1
1.1整数的整除性 1
1.1.1整除的概念 1
1.1.2最大公因数 2
习题1.1 6
1.2不定方程 6
1.2.1二元一次不定方程 6
1.2.2三元一次不定方程 8
习题1.2 8
1.3素数、取整函数 8
1.3.1素数、算术基本定理 8
1.3.2取整函数 10
习题1.3 11
1.4同余 11
1.4.1同余的概念和性质 11
1.4.2弃九法 12
习题1.4 13
1.5完全剩余系、简化剩余系 13
1.5.1剩余类、完全剩余系 13
1.5.2欧拉函数、简化剩余系 14
1.5.3欧拉定理、费马定理 15
习题1.5 16
1.6经典密码 17
1.6.1恺撒密码 17
1.6.2仿射密码 19
1.6.3维吉尼亚密码 20
1.6.4费尔南密码 20
1.6.5普莱费尔密码 21
1.6.6希尔密码 22
1.6.7置换密码 23
习题1.6 23
第2章 同余式、原根与公钥系统 24
2.1背包公钥系统 24
2.1.1背包问题 24
2.1.2Merkle-Hellman背包公钥算法 25
2.1.3沙米尔对背包公钥的攻击 26
2.2RSA公钥系统 26
2.2.1RSA公钥的算法 26
2.2.2对RSA公钥算法的分析 27
习题2.2 28
2.3一次同余式、孙子定理 28
2.3.1一次同余式求解 28
2.3.2孙子定理 29
2.3.3一般同余式的求解 30
习题2.3 32
2.4二次同余式 32
2.4.1奇素数模的二次同余式 32
2.4.2欧拉判别条件 32
2.4.3勒让德符号 34
2.4.4雅可比符号 37
习题2.4 40
2.5拉宾公钥系统 40
2.5.1平方剩余的求解 40
2.5.2拉宾公钥的算法 41
习题2.5 41
2.6原根、指数及ElGamal公钥系统 42
2.6.1原根与指数 42
2.6.2ElGamal公钥的算法 43
习题2.6 43
第3章 代数、多项式及公钥 45
3.1映射、等价关系 45
3.1.1映射、单射与满射 45
3.1.2等价关系与分类 46
习题3.1 47
3.2群 47
3.2.1群的定义与性质 47
3.2.2置换 48
3.2.3加群、子群 49
习题3.2 51
3.3环 51
3.3.1环的定义 51
3.3.2域 52
习题3.3 53
3.4域上多项式环 53
3.4.1域上一元多项式环 53
3.4.2置换多项式及公钥 55
习题3.4 57
3.5理想、环的同态 57
3.5.1理想与剩余类环 57
3.5.2环的同态映射 58
3.5.3极大理想 59
习题3.5 60
3.6有限域 60
习题3.6 62
第4章 对称密码、椭圆曲线公钥密码 63
4.1对称密码 63
4.1.1对称密码概述 63
4.1.2分组密码DES 63
习题4.1 71
4.2高级加密标准AES 71
4.2.1AES中的基本算法 72
4.2.2AES的加密过程 75
4.2.3AES的密钥扩展 79
4.2.4AES解密算法 81
4.2.5AES的安全性 81
习题4.2 81
4.3中国商用密码算法SM4 81
4.4流密码 87
4.4.1流密码的加密过程 87
4.4.2密钥流产生器 88
4.4.3RC4算法 90
习题4.4 91
4.5椭圆曲线公钥密码 91
4.5.1椭圆曲线 91
4.5.2ElGamal椭圆曲线公钥算法 93
4.5.3中国商用公钥算法SM2 93
习题4.5 95
4.6密码攻击、陷门 95
习题4.6 100
第5章 其他信息安全知识 101
5.1消息认证与数字签名 101
5.1.1消息认证 101
5.1.2数字签名 106
5.1.3生日攻击 108
5.1.4盲签名、代理盲签名 109
5.1.5零知识证明 111
5.1.6数字水印 112
习题5.1 113
5.2校正码 114
5.2.1信息码与检定码 114
5.2.2Hamming距离与离散度 115
5.2.3校正码的检定码 117
5.2.4线性码 117
5.2.5循环码与BCH码 120
习题5.2 122
5.3秘密共享 122
习题5.3 124
5.4公钥基础设施 124
5.4.1PKI基础设施 124
5.4.2密码算法 125
5.4.3PKI组成 125
习题5.4 127
5.5访问控制 128
5.5.1身份认证 128
5.5.2授权 130
5.5.3防火墙 131
5.6协议 132
5.7病毒和木马 134
附录A 课程实验 136
A.1实验1维吉尼亚密码的实现 136
A.2实验2RSA公钥密码的实现 138
A.3实验3ElGamal公钥密码的实现 139
A.4实验4流密码密钥生成程序设计 141
A.5实验5序列码生成程序设计 141
A.6实验6Windows7自带防火墙的配置 142
附录B 实验参考程序 146
B.1维吉尼亚密码加密Java程序 146
B.2维吉尼亚密码加密MATLAB程序 149
B.3RSA公钥密钥生成Java程序 153
B.4RSA公钥加密Java程序 157
B.5RSA公钥解密Java程序 160
B.6RSA公钥密钥生成MATLAB程序 163
B.7RSA公钥加密MATLAB程序 164
B.8RSA公钥解密MATLAB程序 165
B.9RSA公钥密钥生成Maple程序 166
B.10RSA公钥加密Maple程序 166
B.11RSA公钥解密Maple程序 167
B.12ElGamal公钥密钥生成Maple程序 167
B.13ElGamal公钥加密Maple程序 167
B.14ElGamal公钥解密Maple程序 168
B.15ElGamal公钥密钥生成MATLAB程序 168
B.16ElGamal公钥加密MATLAB程序 170
B.17ElGamal公钥解密MATLAB程序 170
B.18序列码生成Java程序 171
B.19序列码生成MATLAB程序 175
参考文献 181