译者序

译者序

中文里的“密码”是个有点难以捉摸的词汇,你认为它很简单,其实它却包含着几种看似差不多但本质上却完全不同的含义,还真的是不简单呢。

我们平时登录淘宝或者 QQ 时都需要输入用户名和密码,刷信用卡或者在 ATM 上取钱时也需要输入密码。一提到“密码”,大多数人都会想到上面这些情形。然而很不巧的是,上面这种“密码”跟我们在这本书中要探讨的“密码”几乎是完全不同的两码事。无论是上淘宝还是刷卡时输入的密码,都只是一种身份验证的凭据,换句话说,也就是向系统证明你才是这个账号或银行卡的主人的一种证据——跟“天王盖地虎!”“宝塔镇河妖!”差不多是一回事。严格来说,这种“密码”应该叫作“口令”(对应英文中的 password、passcode 或者 pin),在本书中我们也是这样叫的。

我们还习惯把 DNA 称作“遗传密码”,这里的“密码”又代表什么意思呢?其实,DNA 的功能是将一种信息(主要是蛋白质的构成信息)转换成另一种信息(碱基的序列)并记录下来。这就像将人们说的话转换成文字,将歌曲转换成 MP3 文件一样,本质上是一种“编码”(encoding)的过程,只不过我们还没有完全搞清楚这种编码机制的所有细节,因此这里的“密码”实际上应该理解为“神秘的编码”吧!很遗憾,这也不是我们在这本书中要探讨的那个“密码”。

那么这本书里所说的“密码”到底是什么呢?简单来说,密码(对应英文中的 cryptography)是一个非常庞大而复杂的信息处理体系,涉及信息的机密性、完整性、认证等许多方面,由此衍生出的技术无时无刻不在保卫着我们生活中的各种信息的安全。密码技术如此重要,但它们又是那么的不起眼,我们很少注意到它们的存在,更鲜有人知道我们为什么需要它们,以及它们究竟是怎样工作的。对于密码技术,可以说大多数人都处于一种“既不知其然,亦不知其所以然”的状态。

在如今这个信息爆炸的时代,我们每个人都和信息安全脱不了干系,因此正确理解“密码能做到什么,不能做到什么”对于培养安全意识是非常重要的。况且密码技术其实并没有那么枯燥,密码攻守双方交锋的过程更可谓是步步惊心。当然,密码技术的背后存在着非常复杂的数学原理。不过别担心,本书的作者结城浩曾经出版过《数学女孩》《程序员的数学》等多本数学方面的读物,深谙如何将复杂的数学问题用通俗易懂的方式讲给读者,这本《图解密码技术》自然也不例外,比如其中用时钟来讲解数论中的模运算这一部分就十分形象,让人印象深刻。

最后留给大家一段密文权当消遣。这是一段用经典的恺撒密码加密的文字,大家读完这本书之后,要破译它应该是轻而易举,有兴趣的话来试试看吧!

ZW PFL NREK KF CVRIE DFIV RSFLK TIPGKFXIRGYP Z IVTFDDVEU RE FECZEV TFLIJV ZEJKILTKVU SP
GIFWVJJFI URE SFEVY WIFD JKREWFIU LEZMVIJZKP ALJK JVRITY TIPGKFXIRGYP RK TFLIJVIR.FIX

周自恒

2014 年 9 月于上海

写于第3 版发行之际

这本《图解密码技术》的第 1 版是 2003 年在日本出版的,2008 年在日本发行了第 2 版,2015 年才正式引进发行中文版,其实已经算是姗姗来迟了。不过俗话说“好饭不怕晚”,中文版出版之后,在读者当中的评价还是非常不错的,而且我个人也从这本书的翻译过程中学到了非常多的东西,这本书可以说是我的译作中让我收获最多的一本了。

有些读者在评论中指出,这本书漏掉了一些重要的技术细节,比如对 CBC 模式的填充提示攻击。的确,这本书的中文版引进得有点晚了,其实里面的内容还是 2008 年的嘛。然而说好的福利还是来了,作者结城浩先生对这本书又做了修订并发行了第 3 版,于是我也抓紧时间把中文版修订了一遍,从修订的文字量来看大约占到了原书的 20%,应该说还是非常有料的,至于具体的修订内容,请大家看结城浩先生的前言吧。

最后说点题外话。我在上一版译者序的最后写的那段密文大家破译出来了吗?其实那段是跟大家推荐一个 Coursera 上的公开课,那门课叫“密码学 1”,是斯坦福大学的 Dan Boneh 教授主讲的,然而传说中的续集“密码学 2”一直在跳票,都跳了快两年了还没开课呢,只好在这里吐吐槽……

周自恒

2016 年 4 月于上海

目录

  • 译者序
  • 前言
  • 第 1 部分 密码
  • 第 1 章 环游密码世界
  • 第 2 章 历史上的密码——写一篇别人看不懂的文章
  • 第 3 章 对称密码(共享密钥密码)——用相同的密钥进行加密和解密
  • 第 4 章 分组密码的模式——分组密码是如何迭代的
  • 第 5 章 公钥密码——用公钥加密,用私钥解密
  • 第 6 章 混合密码系统——用对称密码提高速度,用公钥密码保护会话密钥
  • 第 2 部分 认证
  • 第 7 章 单向散列函数——获取消息的“指纹”
  • 第 8 章 消息认证码——消息被正确传送了吗
  • 第 9 章 数字签名——消息到底是谁写的
  • 第 10 章 证书——为公钥加上数字签名
  • 第 3 部分 密钥、随机数与应用技术
  • 第 11 章 密钥——秘密的精华
  • 第 12 章 随机数——不可预测性的源泉
  • 第 13 章 PGP ——密码技术的完美组合
  • 第 14 章 SSL/TLS ——为了更安全的通信
  • 第 15 章 密码技术与现实社会——我们生活在不完美的安全中
  • 附录 椭圆曲线密码——密码技术综合测验
  • 附录 A 椭圆曲线密码
  • 附录 B 密码技术综合测验
  • 参考文献