本书介绍密码编码学和密码分析方法,对破译密码的方法提出了许多建议。本书从密码学的历史中摘录了大量史料,内容丰富,叙述生动,不仅适合密码学研究人员和网络安全技术人员参考,也适合想了解密码学的普通读者阅读。\r\n\r\n
\r\n
目 录\r\n译者序\r\n前言\r\n第一部分 密码编码学\r\n第1章 导论 5\r\n1.1 密码编码学和隐写术 5\r\n1.2 符号码 5\r\n1.3 公开代码:伪装 8\r\n1.4 暗示 11\r\n1.5 公开代码:利用虚码掩蔽 12\r\n1.6 公开代码:采用栅格的隐藏 15\r\n1.7 密码编码的方法的分类 16\r\n第2章 密码编码学的方法和目标 18\r\n2.1 密码编码学的本质 18\r\n2.1.1 加密与解密方法 18\r\n2.1.2 加密与解密机 20\r\n2.1.3 密码技术与文学 20\r\n2.1.4 密码研究机构 21\r\n2.2 加密 22\r\n2.2.1 词汇表. 字符集 22\r\n2.2.2 加密和解密 22\r\n2.2.3 归纳定义 23\r\n2.3 密码体制 23\r\n2.3.1 基本概念 23\r\n2.3.2 加密和编码 24\r\n2.3.3 文本流 24\r\n2.4 多音码 25\r\n2.4.1 多音码 25\r\n2.4.2 字间空格 26\r\n2.5 字符集 26\r\n2.5.1 明文字符集 26\r\n2.5.2 技术字符集 27\r\n2.5.3 同态的情形 28\r\n2.6 密钥 28\r\n2.6.1 密钥需要变化 28\r\n2.6.2 分组 28\r\n2.6.3 同构 29\r\n2.6.4 香农 29\r\n第3章 加密方法:简单代替 30\r\n3.1 V(1)→W的情形 30\r\n3.1.1 V→W:没有多名码和空字符的加密 30\r\n3.1.2 V(1)→W:有多名码和空字符的加密 31\r\n3.2 特殊情况:V玍 31\r\n3.2.1 自反置换 32\r\n3.2.2 电路实现 33\r\n3.2.3 单循环置换 33\r\n3.2.4 混合密表 34\r\n3.2.5 借助口令字构造密表 35\r\n3.2.6 记数 35\r\n3.2.7 圆盘加密和滑尺加密 36\r\n3.2.8 带滑动窗的循环字符 36\r\n3.3 V(1)→Wm:多叶简单代替 36\r\n3.3.1 m=2双叶简单代替:V(1)→W2 36\r\n3.3.2 m=3三叶简单代替:V(1)→W3 38\r\n3.3.3 m=5五叶简单代替:V(1)→W5 38\r\n3.3.4 m=8八叶简单代替:V(1)→W8 39\r\n3.4 V(1)→W(m)的一般情况:夹叉式加密 39\r\n3.4.1 约束条件 39\r\n3.4.2 俄国的接合 41\r\n第4章 加密方法:多字母代替和编码 42\r\n4.1 V2→W(m)的情形 42\r\n4.1.1 字母 42\r\n4.1.2 双叶双码加密步V2玍2 42\r\n4.1.3 三叶双码代替V2→W3 46\r\n4.2 Playfair和Delastelle的特殊情况:\r\n分层方法 47\r\n4.2.1 Playfair密码 47\r\n4.2.2 修改后的PLAYFAIR 49\r\n4.2.3 Delastelle密码 49\r\n4.3 V3→W(m)的情形 50\r\n4.3.1 GioPPi 50\r\n4.3.2 Henkels 50\r\n4.4 V(n)→W(m)的一般情况:密本 51\r\n4.4.1 词汇手册 52\r\n4.4.2 两部本密本 53\r\n4.4.3 现代密本 55\r\n4.4.4 电报代码 56\r\n4.4.5 商用密本 57\r\n4.4.6 检错和纠错编码 58\r\n4.4.7 短命的密本 58\r\n4.4.8 战壕密码 58\r\n第5章 加密方法:线性代替 60\r\n5.1 自反线性代替 61\r\n5.2 齐次线性代替 62\r\n5.2.1 希尔 62\r\n5.2.2 非齐次情况 62\r\n5.2.3 计数 63\r\n5.2.4 矩阵对的构造 64\r\n5.2.5 自反矩阵的构造 65\r\n5.3 二元线性代替 65\r\n5.4 一般线性变换 65\r\n5.5 线性代替的分解 66\r\n5.6 十选一字母表 68\r\n5.7 带有十进制和二进制数的线性代替 69\r\n5.7.1 N=10的情况 69\r\n5.7.2 N=2的情况: 69\r\n5.7.3 图灵 70\r\n第6章 加密方法:换位 71\r\n6.1 最简单的方法 71\r\n6.1.1 Crab 71\r\n6.1.2 首字母互换 71\r\n6.1.3 路径抄写 72\r\n6.1.4 格子变换 73\r\n6.2 纵行换位 74\r\n6.2.1 口令字 74\r\n6.2.2 矩形方案 75\r\n6.2.3 两步法 75\r\n6.2.4 Ubchi 76\r\n6.2.5 置换的构造 76\r\n6.3 变位字 77\r\n6.3.1 历史 77\r\n6.3.2 惟一性 78\r\n第7章 多表加密:加密表族 80\r\n7.1 迭代代替 80\r\n7.1.1 同态 80\r\n7.1.2 循环置换 81\r\n7.2 移位和旋转密表 81\r\n7.2.1 移位加密表 81\r\n7.2.2 旋转加密表 82\r\n7.2.3 伴随加密表 82\r\n7.2.4 加密表的数量 83\r\n7.3 转轮密码机 83\r\n7.3.1 背景 84\r\n7.3.2 自反转轮机 85\r\n7.3.3 国防军的方案 86\r\n7.3.4 TYPEX 89\r\n7.3.5 ENIGMA代替 89\r\n7.4 移位标准加密表:维吉尼亚密表\r\n和博福特密表 91\r\n7.4.1 维吉尼亚加密步 91\r\n7.4.2 EYRAUD 92\r\n7.4.3 博福特加密步 92\r\n7.4.4 逆向维吉尼亚加密步和\r\n逆向博福特加密步 92\r\n7.4.5 波他加密步 93\r\n7.5 非相关加密表 93\r\n7.5.1 置换 94\r\n7.5.2 Gripenstierna 94\r\n7.5.3 MULTIPLEX 95\r\n7.5.4 拉丁方要求 98\r\n第8章 多表加密:密钥 101\r\n8.1 早期使用周期密钥的方法 101\r\n8.1.1 艾伯蒂 101\r\n8.1.2 特理特米乌斯 101\r\n8.2 双密钥 103\r\n8.2.1 波他 103\r\n8.2.2 维吉尼亚 103\r\n8.2.3 三重密钥 103\r\n8.3 弗纳姆加密 103\r\n8.3.1 逐比特加密 104\r\n8.3.2 弗纳姆 104\r\n8.3.3 进位问题 104\r\n8.4 准非周期密钥 105\r\n8.4.1 繁琐的多表加密 105\r\n8.4.2 多表加密的安全性 105\r\n8.4.3 渐进加密 106\r\n8.4.4 “规则”的转轮运动 106\r\n8.5 密钥序列的产生机器—密钥生成器 106\r\n8.5.1 惠斯通 106\r\n8.5.2 不规则的尝试 106\r\n8.5.3 由缺口和棘轮控制的轮运动 108\r\n8.5.4 打字密码机 109\r\n8.5.5 赫本 110\r\n8.5.6 亚德利 111\r\n8.5.7 绿密. 红密和紫密 112\r\n8.6 线外形成密钥序列 115\r\n8.6.1 矩阵方幂 115\r\n8.6.2 二元序列 115\r\n8.7 非周期密钥 116\r\n8.7.1 错觉 116\r\n8.7.2 自身密钥 117\r\n8.7.3 明文函数 119\r\n8.7.4 流密码 119\r\n8.8 单个的一次性密钥 120\r\n8.8.1 弗纳姆 120\r\n8.8.2 无尽头和无意义 120\r\n8.8.3 坏习惯 120\r\n8.8.4 不可破译的加密 121\r\n8.8.5 不可破译密钥序列的生成 121\r\n8.8.6 实际使用 121\r\n8.8.7 误用 121\r\n8.9 密钥协商和密钥管理 122\r\n8.9.1 背景 122\r\n8.9.2 密钥协商 122\r\n8.9.3 密钥管理 124\r\n第9章 方法类的合成 125\r\n9.1 群性质 125\r\n9.1.1 密钥群 125\r\n9.1.2 方法的合成 126\r\n9.1.3 T52 126\r\n9.1.4 SZ 126\r\n9.2 复合加密 127\r\n9.2.1 复合加密 127\r\n9.2.2 复台加密的需求 127\r\n9.2.3 插接板 128\r\n9.2.4 ADFGVX 128\r\n9.2.5 ENIGMA复合加密 128\r\n9.3 加密方法的相似性 128\r\n9.4 香农的“和面团法” 128\r\n9.4.1 混淆和扩散 129\r\n9.4.2 Heureka 130\r\n9.4.3 香农 133\r\n9.4.4 分层方法 133\r\n9.4.5 Polybios 133\r\n9.4.6 Koehl 133\r\n9.4.7 其他方法 134\r\n9.5 数学运算产生的混淆和扩散 134\r\n9.5.1 剩余运算 134\r\n9.5.2 方幂 135\r\n9.5.3 双向通信 137\r\n9.5.4 普利尼·厄尔·蔡斯 137\r\n9.6 DES和IDEA 137\r\n9.6.1 DES算法 137\r\n9.6.2 雪崩效应 140\r\n9.6.3 DES的操作模式 141\r\n9.6.4 DES的安全性 141\r\n9.6.5 DES的继承者 142\r\n9.6.6 密码系统和芯片 143\r\n第10章 公开加密密钥体制 145\r\n10.1 对称和非对称的加密方法 145\r\n10.1.1 对称方法 145\r\n10.1.2 非对称方法 146\r\n10.1.3 加密和签名方法 146\r\n10.2 单向函数 147\r\n10.2.1 严格单向函数 147\r\n10.2.2 陷门单向函数 148\r\n10.2.3 效率界限 148\r\n10.2.4 已知单向函数的例子 149\r\n10.3 RSA方法 152\r\n10.4 对RSA的密码分析攻击 153\r\n10.4.1 qi的分解攻击 153\r\n10.4.2 迭代攻击 154\r\n10.4.3 ei较小时的攻击 156\r\n10.4.4 风险 156\r\n10.4.5 缺陷 157\r\n10.5 保密与认证 157\r\n10.6 公钥体制的安全性 158\r\n第11章 加密安全性 159\r\n11.1 密码错误 159\r\n11.1.1 加密错误 159\r\n11.1.2 技术错误 159\r\n11.1.3 可能字攻击 160\r\n11.1.4 填充 161\r\n11.1.5 压缩 162\r\n11.1.6 人为错误 162\r\n11.1.7 使用容易记忆的口令和密钥 162\r\n11.1.8 密钥的规律性 163\r\n11.1.9 冒名顶替 163\r\n11.1.10 通过非法手段获得密码资料 163\r\n11.1.11 通过战争获得密码资料 163\r\n11.1.12 细节泄露 164\r\n11.2 密码学的格言 164\r\n11.2.1 格言1 165\r\n11.2.2 格言2 166\r\n11.2.3 格言3 166\r\n11.2.4 格言4 167\r\n11.2.5 格言5 167\r\n11.3 香农的标准 168\r\n11.4 密码学和人权 169\r\n11.4.1 问题 169\r\n11.4.2 解决方案 170\r\n11.4.3 托管加密标准 170\r\n11.4.4 NSA 171\r\n11.4.5 国家权力 171\r\n11.4.6 出口政策 171\r\n第二部分 密 码 分 析\r\n第12章 穷尽法的组合复杂度 175\r\n12.1 单表简单加密 175\r\n12.1.1 通常的简单代替\r\n(12.2.1中n=1的特例) 175\r\n12.1.2 十选一采样字母表 176\r\n12.1.3 CAESAR加法(12·2·3中n=1\r\n的情况) 176\r\n12.2 单表多字母加密 176\r\n12.2.1 一般的多字母代替 177\r\n12.2.2 多字母齐次线性代替 177\r\n12.2.3 多字母变换 177\r\n12.2.4 换位 178\r\n12.2.5 单表代替总结 178\r\n12.3 多表加密 179\r\n12.3.1 d个字母表的PERMUTE加密 179\r\n12.3.2 d张表的MULTIPLEX加密 179\r\n12.3.3 d张表的艾伯蒂加密 179\r\n12.3.4 d张表的维吉尼亚或博福特加密 179\r\n12.3.5 多表加密总结 179\r\n12.4 组合复杂度注记 180\r\n12.4.1 杰斐逊和巴泽里埃斯的圆柱加密 180\r\n12.4.2 双重换位 181\r\n12.4.3 维吉尼亚加密 181\r\n12.5 穷尽密码分析 181\r\n12.6 惟一解距离 183\r\n12.7 穷尽攻击的实现 184\r\n12.8 机械化穷尽 185\r\n12.8.1 代替的穷尽 185\r\n12.8.2 换位的穷尽 187\r\n12.8.3 蛮力与不变性 187\r\n第13章 语言分析:模式 188\r\n13.1 重码模式的不变性 188\r\n13.2 加密方法的排除 190\r\n13.3 模式查找 190\r\n13.3.1 例子 190\r\n13.3.2 Aristocrats 191\r\n13.3.3 字母脱漏 192\r\n13.4 多字母模式查找 193\r\n13.5 可能字方法 194\r\n13.5.1 对照表 194\r\n13.5.2 Murphy和J奼er 194\r\n13.5.3 F焗rerbefehl 194\r\n13.5.4 代替选取的不变性 198\r\n13.6 模式词例的自动化穷尽 198\r\n13.6.1 单词列表 198\r\n13.6.2 模式查找 199\r\n13.6.3 模式连接 199\r\n13.6.4 搜索空间的减小 200\r\n13.7 Pangrams 200\r\n第14章 多表情形:可能字 202\r\n14.1 可能字位置的非重合穷尽 202\r\n14.2 可能字位置的二元非重合穷尽 204\r\n14.3 德维亚里攻击 206\r\n14.3.1 部分解密 206\r\n14.3.2 完整解密 207\r\n14.3.3 字母组合 209\r\n14.3.4 德维亚里和吉维埃格 210\r\n14.3.5 历史 211\r\n14.4 可能字位置的Z字形穷尽 212\r\n14.5 同构方法 213\r\n14.5.1 Knox和Candela 213\r\n14.5.2 条形方法 214\r\n14.5.3 部分考查 214\r\n14.5.4 可插接反射器 217\r\n14.5.5 对策 217\r\n14.6 隐藏明文—密文泄露 217\r\n第15章 语言分析:频率 219\r\n15.1 加密方法的排除 219\r\n15.2 模式的不变性 220\r\n15.3 直觉方法:频率轮廓 220\r\n15.4 频率排序 222\r\n15.4.1 频率排序的缺陷 223\r\n15.4.2 频率计数 224\r\n15.5 小集团和模式匹配 225\r\n15.5.1 波动 225\r\n15.5.2 小集团 228\r\n15.5.3 例子 228\r\n15.5.4 经验频率 229\r\n15.6 最优匹配 230\r\n15.6.1 平方距离 230\r\n15.6.2 最优化 230\r\n15.7 多字母频率 231\r\n15.7.1 频率表 231\r\n15.7.2 单词频率 233\r\n15.7.3 位置 235\r\n15.7.4 单词长度 235\r\n15.7.5 单词的格式 235\r\n15.7.6 空格 236\r\n15.8 频率匹配的结合方法 236\r\n15.8.1 例之一 236\r\n15.8.2 例之二 238\r\n15.8.3 最后结果 240\r\n15.8.4 匹配一个尾部 241\r\n15.8.5 一个不同的方法 241\r\n15.9 多字母代替的频率匹配 242\r\n15.9.1 可约情况 242\r\n15.9.2 利用隐含的对称性 242\r\n15.10 各式各样的其他方法 243\r\n15.10.1 一个著名的密码 243\r\n15.10.2 注记 244\r\n15.11 再谈惟一解距离 244\r\n第16章 Kappa和Chi 246\r\n16.1 Kappa的定义和不变性 246\r\n16.1.1 常用语言的Kappa值 247\r\n16.1.2 两个结论 247\r\n16.1.3 Kappa的期望值 248\r\n16.2 Chi的定义和不变性 248\r\n16.2.1 一般结果 249\r\n16.2.2 特殊情形 249\r\n16.2.3 两个结论 249\r\n16.2.4 Chi的期望值 250\r\n16.3 Kappa-Chi定理 250\r\n16.4 Kappa-Phi定理 251\r\n16.4.1 Kappa-Phi定理 251\r\n16.4.2 Phi(T)与Psi(T)的区别 252\r\n16.4.3 两个结论 252\r\n16.4.4 Phi的期望值 253\r\n16.5 字符频率的对称函数 253\r\n第17章 周期性检验 255\r\n17.1 弗里德曼的Kappa试验 256\r\n17.2 多字母的Kappa试验 258\r\n17.3 用机器进行的密码分析 259\r\n17.3.1 穿孔卡的使用 259\r\n17.3.2 锯木架 260\r\n17.3.3 Robinson方法 261\r\n17.3.4 比较器 262\r\n17.3.5 快速分析机RAM 262\r\n17.4 卡西斯基试验 263\r\n17.4.1 早期的方法 263\r\n17.4.2 巴贝奇对破解密码的贡献 264\r\n17.4.3 例子 264\r\n17.4.4 机器 266\r\n17.5 建立深度和库尔巴克的Phi试验 267\r\n17.5.1 列的形成 267\r\n17.5.2 Phi试验忧于Kappa试验 268\r\n17.5.3 例子 268\r\n17.6 周期长度的估计 270\r\n第18章 伴随加密表的校准 272\r\n18.1 轮廓匹配 272\r\n18.1.1 使用深度 272\r\n18.1.2 绘制轮廓图 274\r\n18.2 根据已知加密表校准 275\r\n18.2.1 利用Chi 275\r\n18.2.2 条形方法 276\r\n18.2.3 额外的帮助 276\r\n18.2.4 滑尺方法 278\r\n18.2.5 方法总结 278\r\n18.3 Chi试验:伴随字母表的互相校准 278\r\n18.3.1 例子 279\r\n18.3.2 获得中间密文 279\r\n18.3.3 一个附带结果 282\r\n18.4 原始加密表的恢复 282\r\n18.5 克尔克霍夫斯的位置对称性 284\r\n18.5.1 例子 284\r\n18.5.2 Volap焝 287\r\n18.5.3 令人吃惊的例子 287\r\n18.6 剥离复合加密:求差方法 289\r\n18.6.1 剥离 289\r\n18.6.2 位置的对称性 289\r\n18.6.3 使用机器 290\r\n18.7 密本的破解 291\r\n18.8 口令字的恢复 291\r\n18.8.1 弗里德曼 291\r\n18.8.2 再论弗里德曼 292\r\n第19章 泄露 293\r\n19.1 克尔克霍夫斯的重叠法 293\r\n19.1.1 例子 293\r\n19.1.2 位置对称性 294\r\n19.2 用密钥群加密情况下的重叠法 294\r\n19.2.1 纯加密 295\r\n19.2.2 差 296\r\n19.2.3 循环密钥群 296\r\n19.2.4 其他密钥群 299\r\n19.2.5 特殊情况C52- 299\r\n19.2.6 Tunny 301\r\n19.2.7 Sturgeon 306\r\n19.3 复合加密代码的同相重叠法 307\r\n19.3.1 指标的使用 307\r\n19.3.2 孔策 309\r\n19.4 密文-密文泄露 310\r\n19.4.1 密钥的密文-密文泄露 310\r\n19.4.2 化简为明文-明文的泄露 311\r\n19.5 辛科夫方法 314\r\n19.5.1 密钥的直积 314\r\n19.5.2 中间加密 316\r\n19.5.3 还原 318\r\n19.6 密文-密文泄露:双倍法 319\r\n19.6.1 法国 320\r\n19.6.2 波兰I 321\r\n19.6.3 波兰II 324\r\n19.6.4 英国 327\r\n19.7 明文-密文泄露:反馈循环 330\r\n19.7.1 图灵BOMBE 331\r\n19.7.2 Turing-Welchman BOMBE 334\r\n19.7.3 更多的BOMBE 335\r\n19.7.4 计算机的出现 337\r\n第20章 线性分析 339\r\n20.1 线性多码代替的化简 339\r\n20.1.1 例子 339\r\n20.1.2 一个缺憾 340\r\n20.2 密钥还原 340\r\n20.3 线性移位寄存器的还原 341\r\n第21章 猜字法 344\r\n21.1 换位 344\r\n21.1.1 例子 344\r\n21.1.2 移位的列 346\r\n21.1.3 说明 346\r\n21.1.4 代码组模式 346\r\n21.1.5 虚幻的复杂 346\r\n21.2 双重纵行换位 347\r\n21.3 复合猜字法 347\r\n21.3.1 例子 347\r\n21.3.2 实际应用 348\r\n21.3.3 Hassard. Grosvenor. Holden 348\r\n第22章 总结 350\r\n22.1 成功的破译 350\r\n22.1.1 海军侦察破译处和外交部\r\n密码服务处 351\r\n22.1.2 日本的密码分析机构 353\r\n22.1.3 前苏联陆军总情报局 354\r\n22.2 非授权解密者的操作方式 354\r\n22.2.1 魅力与不幸 354\r\n22.2.2 个性 355\r\n22.2.3 策略 355\r\n22.2.4 隐藏的危险 356\r\n22.2.5 解密的层次 356\r\n22.2.6 暴力 357\r\n22.2.7 预防 357\r\n22.3 虚假的安全 357\r\n22.4 密码学的重要性 358\r\n22.4.1 顾虑 358\r\n22.4.2 新思想 359\r\n22.4.3 破解秘密的实质 359\r\n附录A 公理化信息论 361 \r\n
\r\n
译 者 序
近20年来, 密码学的理论发展和技术进步都相当迅速. 国际上有关密码学的会议接连不断, 文章. 书刊层出不穷. 随着我国信息化进程的加快, 信息安全问题备受社会各界的重视, 密码学著作在最近3年来呈现出一个出版高潮, 图书市场上的大部头专著已超过10种. 其中译著居多, 像Denning. Stallings. Schneier. Simomons等大家的著作名列其中. 这些专著有一个十分显著的特点, 那就是都是以密码学为主的, 对密码分析或破译, 要么掠鸿而过, 要么只字不提, 究其原因:一方面是受产业应用影响, 另一方面则是因为密码分析问题至为敏感, 总让人读来不过瘾, 有缺或一半之感.
德国学者F. L. Bauer所著《密码编码和密码分析:原理与方法》一书弥补了这一不足. 他从“只有密码分析者才能评判密码体制的安全性”这一理念出发, 将密码编码与密码分析熔为一炉. 几乎使用平等的篇幅, 全面系统地介绍了密码学两大部分的原理和方法. 前十一章讨论的是密码编码学, 内容涉及编码学的方法和目标. 加密方法. 加密体制和加密的安全性等, 后十一章讨论的是密码分析学, 内容涉及穷举法. 语言分析. Kappa和Chi方法. 周期检验. 线性分析. 解码破译. 猜字和泄露等. 全书内容丰富. 结构严谨. 深入浅出. 逻辑严密. 不仅适合密码学和网络安全的专业人士参考, 也适合广大学生和信息安全管理者和爱好者阅读, 我们谨将这部书翻译. 推荐给广大读者, 希望读者能够有所启发, 有所收益.
本书由吴世忠. 宋晓龙. 李守鹏主持翻译, 其他参与翻译工作的还有刘晖. 李鹤田等, 葛静. 马醒轩等同志在校稿和录入方面作了大量工作, 在此一并表示感谢.
由于水平所限, 翻译不妥或错误之处在所难免, 敬请广大读者批评指正.
译者
2001年9月
中国信息安全产品测评认证中心
前 言
20世纪60年代末, 受电子科学快速发展的影响, 机械密码机开始被使用大规模集成电路的电子数据加密设备所取代. 这使得低成本的安全加密设备成为可能. 随后, 在1976年, Diffie和Hellman开辟了公钥密码体系的崭新领域. 从此, 密码术揭开了神秘的面纱, 成为公开讨论的话题. 此外, ENIGMA(恩尼格码)的破译也唤起了公众极大的兴趣.
计算机科学是一个空前繁荣的新领域, 而且计算机科学家也开始关注密码学的发展, 但他们大多对密码学几个世纪的历史以及它所达到的深度了解不多. 我看到有人开始琢磨并试图重新发明轮盘密码机, 也有人对安全加密持有令人难以置信的天真想法. 所以我对专业密码学在计算机科学领域的商业和科学发展, 以及官方安全机构对此问题的复杂态度, 开始感到担忧.
我曾在慕尼黑技术学院举办密码学的讲座. 首期讲座是在1977-1978学年的冬季学期, 采用的教材是戴维·卡恩(David Kahn)于1967年写的一本较综合. 全面的书—《The Codebreakers》(破译者). 当时讲座的名称叫Special Problems Of Information Theory(信息论中的特殊问题), 因此既没有激发校内学生的兴趣, 也没有吸引学校以外的持怀疑态度的人.
第二期, 是在1981年夏季学期举办的, 讲座的名称正式公开宣布为“Cryptology”(密码学). 似乎这是在德国首次正式公开以“Cryptology”命名的讲座, 即使它不是在欧洲大陆的第一次.
这个系列讲座重复了多次, 而且在1986-1987学年, 该讲义出版发行, 即本书的第一部分. 到1988年夏季学期, 由于学生对此方面知识的浓厚兴趣, 又举办了密码分析方法的讲座班, 这部分内容形成了本书的第二部分.
1993年我的《Cryptologie》(密码学)一书出了第一版, 尽管写书的初衷是针对计算机科学专业的学生, 但这本书也引起了其他专业学生的极大兴趣. 经过几位科技新闻记者热心的评审后, 于1995年出版了精装本, 书名改为《Decrypted Secrets》(破解秘密), 在这个版本中我完善了某些主题的论述. 美国的评论杂志建议推出本书的英文版, 这便产生了本书的英文版.
通常, 密码学家有个惯例, 就是要解释他们是如何涉足并熟悉这一领域的. 依我看, 这与第二次世界大战没有什么关系. 实际上, 我从来不是任何官方机构的成员—我认为这也是我最大的优势, 因为我不必受保密誓约的束缚. 另一方面, 可以保持眼界开阔, 博览群书, 从各种谈话中获取很多有益的东西(这是我科学生涯的良好起点), 尽管我从来就不知道我碰巧获知的信息是否为允许我所知道的信息.
我对密码学的兴趣开始于1951年, 当时我告诉我的老师Wilhelm Britzemayr—慕尼黑大学的形式逻辑学教授, 说我发明了电传码的纠错码. 这使他产生了错误的联想, 他就给我了一本刚刚出版的Sacco(萨索)的书. 幸运的是, 这是当时能够找到的最好的一本书. 尽管我还不知道, 我仍通读了这本书. 我的朋友. 同事—Paul August Mann, 注意到了这些, 他还知道我熟悉香农(Shannon)的冗余化简编码, 他给了我香农的一篇著名文章—Theory of Secrecy System(保密系统的通信理论)(当时这篇文章是Bell系统实验室的技术报告, 在德国根本是不可能得到的)的复印件. 我对香农信息论的这一背景简直着了迷, 尽管以前我对香农信息论有所耳闻. 这极大地激发了我的兴趣, 当时密码学还是编码理论和形式化语言理论的一个分支, 它们也是我多年来研究兴趣之所在.
奇怪的事件—或许是敏锐的观察力, 使我同更多的密码学爱好者建立了联系. 起初, 在1955年, 有Willi Jensen(Flensburg). Karl Stein(Munich), 在1959年, 有Hans Rohrbach—我在Mainz大学的同事, 还有Helmut Grunsky. Gisbert hasenj er和Ernst Witt. 在1957年, 我认识了Erich H焧tenhain(Bad Godesberg), 但我们关于计算机对密码工作的适宜性讨论在当时受到一定的限制. 在我熟知从事数值分析和计算机科学的英美等国的同事中, 有些在二战中参与了密码技术的研究, 但从未有人提及, 特别是在1974年以前, 那一年Winterbotham的书《The Ultra Secret》(超级机密)正式出版. 到1976年, 我听说B.Randall和I.J.Good在Los Alamos的一次专家研讨会披露了有关Colossi的情况. 作为一名密码学界从事科学研究的普通成员, 我研究密码学的兴趣从开始就一直集中于计算机化的密码分析. 通信情报的其他方面, 比如流量分析和方向定位, 不在本书讨论范围之列. 同样, 对密码机的电磁辐射的问题也不做讨论.
本书的第一部分介绍密码编码学的方法, 第二部分介绍密码分析. 总之, 这些对密码学方法的论述, 其本意是让用户从意想不到的缺陷中解脱出来. 这正好印证了克尔克霍夫斯(Kerckhoffs)原理:“只有密码分析者才能评判密码体制的安全性”. 单一的密码方法的理论教程对我似乎没有吸引力. 因为某些密码分析教程存在太多问题, 要么就是结论不太充分, 其中的例证也毫无用处, 要么就是结论很充分, 却涉及到敏感问题, 二者之间很少有平衡. 我试图囊括至少是公开文献中的所有重要事实或者由它们推断出的事实, 所以不涉及任何保密审查.
密码学是一门具有国际交流和特定术语的学科. 因此有时用外语给出参考文献是非常有 益的.
我在研究密码学方面的乐趣还在于我发现了其实际的应用, 即在Deutsches博物馆收藏的“信息化和自动化”设备. Deutsches博物馆是于1984~1988年创建的, 它里面有一个陈列室专门陈列密码设备和密码机, 这里我要感谢Deutsches博物馆提供了那里展出的部分实物的彩色 插图.
我要感谢我以前在慕尼黑的学生和合作人, 感谢Manfred Broy. Herbert Ehler和Anton Gerold多年来一如继往的支持, 感谢Hugh Casement语言学方面的指导, 感谢我的妹夫Alston S.Householder指导我的英语, Karl Stein和Otto Leiberich为我提供了ENIGMA故事的详情. 我与Ralph Erskine. Heinz Ulbricht. Tony Sale. Frode Weierud. Kjell-Ove Wideman. J.Horak和Fritz-Rudolf G焠tsch进行了有益的讨论和信件交流, Kirk H.Kirchhofer也为我在CRYPTO. AG. Zug方面提供了较大帮助. Hildegard Bauer-Vogg帮助翻译了难懂的拉丁文字, Martin Bauer. Ulrich Bauer和Bernhard Bauer做了大量计算并绘制了图表. 对他们的热情帮助, 在此表示感谢.
J.Andrew Ross对本书英文版做了全面的审校工作, 和他共事是我莫大的荣幸. 此外, 诚挚的谢意还要献给David Kahn, 他极力鼓励(这本书非常优秀, 值得大力推广)我并提出了许多宝贵的改进意见. 最后, 我要感谢Springer-Verlag出版社的Hans W歴sner, 我们长期的友好合作促成了本书的出版, 出版社为此付出了大量的心血. 最后, 欢迎热心的读者指出书中的错误和疏漏.
F.L.Bauer
于2000年新年