译者序 1
第一章 技术与术语 1
一、密码与编码 1
二、密码术语 3
1 明文与密文 3
2 加密 3
3 解密 4
4 密钥与密钥空间 4
5 加密系统类型 6
6 密钥生成、管理与分配 7
三、密码类型 8
1 替换密码系统 9
2 换位密码系统 10
四、电子函件传输问题 10
五、例程与程序 10
六、文件命名规则 11
第二章 单表替换概念 13
一、历史进展 13
二、字母表 14
1 字母表之间的关系 14
2 字母换位 15
3 加密过程 18
4 解密过程 18
1 字母操作密钥 19
三、自动加解密操作 19
2 转换为密文 24
3 误差限制 31
4 多道信息处理 39
第三章 基于密钥的单表替换技术 72
一、创建 72
二、程序自动实现密钥创建 72
三、结合一个字母移位键 79
四、解密操作 97
1 解密过程 97
2 程序DCIPHER5.BAS 98
3 程序DCIPHER5.CPP 102
五、可选的映射关系 103
六、缺点 105
第四章 换拉单表替换 106
一、基于矩阵的换位 106
1 简单换位 107
2 数字换位 108
二、基于矩阵的自动系统 110
1 加密 110
2 解密 170
三、组合单表替换技术 174
第五章 多表替换 176
2 POLY1.BAS程序 177
1 Vigenere程序 177
一、 简单多表替换系统 177
3 POLY1.CPP程序 179
4 加密 182
二、 其他多表替换加密方法 182
1 周期多表替换系统 183
2 POLY2.BAS程序 185
3 COUNT.CPP程序 189
4 POLY2.CPP程序 194
5 DPOLY2.BAS程序 209
6 DPOLY2.CPP程序 212
一、 随机数与随机数序列 217
第六章 使用随机数 217
1 随机数序列的产生 218
2 伪随机数序列 218
3 用随机数工作 220
4 模26运算法则 230
二、构造一个加密程序 238
1 扩展随机数处理 238
2 扩展组合数 239
3 创建自己的随机数发生器 240
4 程序开发 241
5 可选的随机处理 275
一、模块用法 280
第七章 开发实用程序 280
二、加密程序ENCIPHER.EXE 281
三、解密程序DECIPHER.BAS 289
四、挑战 290
第八章 公共密钥加密 292
一、基本操作 292
二、认证问题 292
三、公钥与私钥加密 293
四、数学问题理解 295
1 模数算法 295
2 质数问题 298
3 欧几里德(Euclidean)算法 299
4 Totient函数 300
五、RSA密码体系 301
1 公钥生成 301
2 私钥生成 301
3 消息加密 302
4 指数运算 303
5 密钥生成过程 304
6 大素数定位 305
六、小结 305
附录A 306
附带光盘文件介绍 306
关于CD 309
译者注 310