enter image description here

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

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

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

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

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

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

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

本文来自《图解密码技术》一书的译者周自恒。

推荐图书:《图解密码技术》