密码学科普小说 · 第 1 章

选修课翻车:锁都没了,还谈什么隐私

周三下午 · 选修课《密码学导论》 · 教室最后一排 AliceBob 日记本小锁=安全!请给出证明。 教授的旧硬件钱包 ⚡ 灯一闪……
一切从一场关于“日记本小锁到底算不算安全”的争论开始。

Alice 是中文系大一新生,人生信条是“凡事得有个说法”。Bob 是数学系大一新生,人生信条是“凡事得有个证明”。两个人在选课系统里都点了《密码学导论》,理由也都很朴素:Alice 听说这门课期末是开卷,Bob 听说这门课老师从不点名。

第一节课他们就吵起来了。起因是 Alice 说她初中那本带小铜锁的日记本“很安全”。

Bob:“那把锁用一根回形针就能捅开。”

Alice:“但我妈不会用回形针。”

Bob:“所以你的安全模型是‘攻击者是你妈,而且你妈不会回形针’。”

前排同学回头看了他们一眼。教授却笑了,说:“这位同学说得很好。谈安全,第一件事就是先说清楚你在防谁。”说完,他从包里掏出一个巴掌大、磨得发亮的小盒子——一台老旧的硬件钱包,说下节课讲“数字时间胶囊”。

那天下午下着暴雨。投影仪嗡嗡响,硬件钱包的小屏幕忽然自己亮了一下。灯管闪了三闪,空气里有股烧焦电线和湿粉笔混在一起的味道。Alice 只记得 Bob 说了半句“这不符合物理……”,然后整间教室像被人从桌布底下猛地一抽——

再睁眼,脚下是泥,鼻子里是马粪味,耳边是车轮压过车辙的吱呀声。没有教学楼,没有电线杆,没有外卖小哥。一个骑马的信差从他们身边飞驰而过,腰上的皮口袋一颠一颠。

Bob 下意识掏出手机。没信号,再一看——没电了,屏幕黑得像块砚台。

Alice:“我们在哪?”

Bob:“这个问题有问题。应该问‘我们在什么时候’。”

他们很快就发现:这里不是度假村,也不是剧组。这是一个还没有密码学的世界。

穿越第一天,他们在集市上见证了四件事。第一件,一个商人指控仓库伙计调包了记账用的陶筹,双方各执一词,最后由官差裁决——谁塞的钱多谁有理。第二件,酒馆里有个无聊的书生把邻居姑娘的情书拿出来当众朗读,全场哄笑,姑娘哭着跑了。第三件,城门口有个信差被拦下,他送的军令原文是“明日卯时进兵”,可他识字,收了别人好处,顺手改成了“明日按兵不动”。第四件,有人拿着一枚刻着家族纹样的蜡封说“这是我家老爷的信”,可那纹样早被街边的孩子用树枝在泥地上描了八百遍。

穿越后第一天的“新闻联播” 📜 情书被当众朗读🐎 军令半路被改🏺 陶筹被调包💰 官差只认红包 = 缺的不是技术,是三样东西: 🔒 机密性:别人看不懂🧩 完整性:改了能发现✍️ 真实性:确实是我发的
穿越第一天的所见所闻,总结起来就是:机密、完整、真实,三样全缺。

那天晚上,他们在一座废弃磨坊里躲雨。Alice 用烧黑的木炭在墙上写下三个词,然后转身问 Bob:“你是数学系的,你说,这些事的根子在哪?”

Bob 想了想,在三个词底下画了一张图:左边一个人叫“发送方”,右边一个人叫“接收方”,中间一条线叫“通道”,通道上面画了一只大耳朵。

“通道上永远有耳朵。”Bob 说,“信差、驿站、酒馆、官差……谁都可能偷看、偷改、冒充。古人能做的,只有找个靠得住的信差,然后祈祷。”

📌 课堂小结:信息安全的三个基本目标

机密性(Confidentiality):信息只让该看的人看懂。
完整性(Integrity):信息被改了,接收方能发现。
真实性(Authenticity):能确认信息确实来自声称的那个人。
后面你会看到:加密主要解决第一条,哈希主要帮第二条,数字签名同时解决第二、三条。

第二天,两个人决定先自力更生。

Alice 去河边捡了块滑石,刻了一朵歪歪扭扭的花,当作自己的“私人印章”,盖在蜡上。结果下午就被一个七岁小孩照着描了出来,还描得比她好看。

Bob 则发明了一套“超级密码”:每个字母往后挪三位,A 变 D,B 变 E。他得意洋洋地用这套密码写了一张纸条:“今晚磨坊见。”结果被磨坊主的书吏捡到。书吏闲得发慌,对着纸条数了一下午:哪个符号出现得最多,哪两个符号老是挨在一起……傍晚的时候,书吏敲开磨坊门:“二位是在等我吗?”

Alice:“……他怎么做到的?”

Bob(脸红):“频率分析。每种语言里,有些字母天生出现得多。我只是换了个字母的‘马甲’,没换掉它的‘出场频率’。”

后来他们才知道,这招在历史上真的有人用过——凯撒就这么干,而几百年后,阿拉伯学者肯迪(Al-Kindi)就系统地写下了怎么用频率分析破解这类密码。频率分析不需要显卡,只需要一个闲得发慌的聪明人。

夜里,雨停了,满天星星,一颗卫星都没有。两个人坐在溪边,开始一项一项地数自己想念的东西。

Alice:“我想念不用当面,也能证明‘这封信是我写的’。”

Bob:“我想念一种数字:谁都能验证,但谁都伪造不了。”

Alice(停了好一会儿):“我还想念……锁匠死了以后,锁还能正常用。”

Bob 知道她在想什么。Alice 的奶奶去年住院,家里人翻遍了抽屉,才找到奶奶写在旧挂历背面的银行密码。那张挂历差一点就被当成废纸卖了。

“如果我们回得去,”Alice 说,“我想把这一路写下来。不是写给专家看的,是写给我奶奶那样的人看的。让他们知道钥匙为什么重要,又该怎么管。”

Bob 点点头,从地上捡起一块扁平的石头,在上面刻了一个“1”。

“第一章。”他说,“我们从最古老的把戏学起。而且——不美化它们。”

远处传来驿站的号角声。他们还不知道,前面等着他们的是斯巴达人的木棍、恩尼格玛的转轮、图灵的机器、冯·诺依曼的内存、一场不用对暗号的握手、二百五十六扇门后面的一颗颗小星球,以及很多很多年以后,一个叫 getPassKeyS.org 的小网站。

📌 思考题(给同学们)

1. 你手机的锁屏密码,在防谁?防小偷、防同学,还是防警方取证?三者需要的强度一样吗?
2. Bob 的“挪三位”密码一共有多少种不同的挪法?如果书吏一种种试,要试几次?