情人节|致爱丽丝……
很久很久以前,有这样一对夫妇,他们密不可分,同时也是一对纠缠不清的欢喜冤家。有 A 出现的地方,就一定有 B,不管发生什么事,A 总是想方设法地给 B 发送消息,而 B 则小心翼翼地接受它。
你一定很好奇,这 A 和 B 都是谁?相信有人已经猜到了,他们就是密码学界的第一 CP :Alice and Bob。今天是情人节,我们就来重温一下他们的旷世网恋吧。
有人会问为什么不是 Peter and Jane 或者是 Mike and Linda,一定要是 Alice 和 Bob 呢?
其实 Alice 和 Bob 是两个虚构人物,他们诞生于 1978 年 2 月发表的一篇名叫《一种实现数字签名和公钥密码系统的方法》( A Method For Obtaining Digital Signatures And Public-key Cryptosystems )的论文里。
作者是三位密码学家 Rivest、Shamir 和 Adleman。如果你了解密码学的一些知识,你一定会知道一个著名的密码学体制——RSA 密码体制,就是由这三位作者姓名的首字母缩写而成。
Rivest、Shamir、Adleman 也因为提出了 RSA 密码体制,最终于 2002 年获得了计算机领域的最高奖项:ACM 图灵奖。
如果没有 Alice 和 Bob ,我们在跟别人讲解密码协议的时候,大概会这样描述:
A 与某个声称自己是 B 的人通信。为了确保无误,A 必须先看看 B 是否知道密码 K。因此 A 向 B 发送了一段随机的 X,B 用 K 将 X 加密后得到 Y 并将 Y 回传给 A。
人们通常的惯例是将信息的发送者标识为 A,将接收者标识为 B。 用 Alice 和 Bob 这样的称呼也是科技交流中最不寻常的方法,这种方法避免在描述中使用 A 和 B,而且创建了一男一女的角色,也能避免出现用 He 或者是 She 指代不明的情况。就这样 Alice 和 Bob 成为了行业惯例,甚至是多个行业的红人。
密码学家都喜欢传统。自从 Ron Rivest 在很多年前引入这两个名字后,几乎所有关于密码学的论文和书籍在叙述时都使用 Alice 和 Bob 作为虚拟主角。如果你使用 Amily 或者 Billy 作为主角的话,就没有人会相信这一章的内容了。
在 RSA 算法论文发表后,Alice 和 Bob 彻底走红了,人们开始用这两个名字代替 A 和 B,其中就有著名的《应用密码学》的作者 Bruce Schneier。
《应用密码学》的出版是 Alice 和 Bob 历史上的一个重要里程碑,主要是因为它确定了他们的其他社交圈。按照当时的习惯,Schneier 在整本书提供的示例中使用 Alice 和 Bob 作为发送者和接收者的替身。但是,鉴于本书的规模和范围,他的例子还需要其他许多参与者。因此,Schneier 创建了他的角色列表及其预期用途。以下是 Alice 和 Bob 的其他伙伴: 其中比较著名的是第三者 Eve 了。
Schneier 总结说:“Alice 和 Bob 共享过秘密,尝试过恋爱、结婚,甚至离婚。任何一件需要安全进行的事,Alice 和 Bob 都一定曾在某篇密码学文章中做过。”
1984 年 4 月,Alice 和 Bob 这对夫妻又一次名声大噪。密码学家 John Gordon 在他著名的《餐后演讲》上这样说:
多数人处于 Alice 的境地时都会选择放弃,但是 Alice 不会。她很有勇气,面对各种情况处变不惊。噪声嘈杂的电话线、税务机关和秘密警察的窃听,Alice 还是乐意去尝试和一个她并不信任、也听不清、还极有可能被别人冒充的人通信,来进行退税欺诈甚至策划政变,同时还要尽可能地减少电话费。
而编码学家则是一群认为 Alice 没疯的人。
这是第一个给 Alice 和 Bob 编故事的人。Gordon 的演讲使得使 Alice 和 Bob 成为了密码学界中的虚拟主人公。后来他回忆道:没人记得我做过什么,但是现在每个人都知道我写了有关 Alice 和 Bob 的故事。完整演讲:
https://urbigenous.net/library/alicebob.html
那么现在 Alice 和 Bob 怎么样了?是不是分手了或者是不再那么出名了。显然不是!2012 年,计算机科学家 Srini Parthasarathy 撰写了一篇题为“ Alice 和 Bob 可以去度假!”的文档。这位印度学者希望可以用印度教神话的中心人物 Sita and Rama 来代替 Alice 和 Bob,他认为,通过将 Alice 和 Bob 换成 Sita 和 Rama,可以更好地解释他们的背景,并且他们名字的首字母(“ S”和“ R”)直接对应于通信通道中的发送方和接收方。显然这无法撼动 Alice 和 Bob 在行业中的地位。因为 Alice 和 Bob 反映的是密码学历史上的规范和价值,我们也更希望看到他们的名字继续传承下去。希望在未来的日子里 Alice 和 Bob 能早日结束艰难的通信,幸福滴生活在一起,永远不分开。虽然这个情人节大部分人都只能宅在家中,体验了一次“异地恋”,但是还是要祝天下的有情人终成眷属!
图书推荐:
史上最好懂的密码学
《图解密码技术(第3版)》
作者:结城浩 译者:周自恒
豆瓣评分 9.3,本书以图配文的形式,详细讲解了 6 种最重要的密码技术:对称密码、公钥密码、单向散列函数、消息认证码、数字签名和伪随机数生成器。文末畅聊说说今天跟你的 Alice 或者 Bob 是怎样度过的?(Alice 和 Bob 也可以是任意物件)听说在家的日子让大家厨艺见长,你都收获哪些技能?精选留言选出 3 位获得任意一本图灵新书。留言截至 2020.2.19
题图来源:freepik.com
参考文献:
1. http://cryptocouple.com/#contact
2.https://blog.csdn.net/qq_31737339/article/details/53728201
推荐阅读:
- 点赞
- 收藏
- 分享
- 文章举报
- python Pandas Profiling 一行代码EDA 探索性数据分析
- 统一数据接入实践分享
- 《自然语言处理实战入门》 ---- 第三章 :中文分词原理及相关组件简介 之 汉语分词领域主要分词算法、组件、服务(中)
- 2019 初入IT十年(下)---- 视线所及只剩生活
- aws ec2 安装Elastic search 7.2.0 kibana 并配置 hanlp 分词插件
- 《自然语言处理实战入门》 第一章: 自然语言处理(NLP)技术简介
- 《自然语言处理实战入门》 第二章:NLP 前置技术----python开发环境搭建
- 《自然语言处理实战入门》 第二章:NLP 前置技术----正则表达式
- 《自然语言处理实战入门》 ---- 第三章 :中文分词原理及相关组件简介 之 汉语分词领域主要分词算法、组件、服务(下)
- 《自然语言处理实战入门》 ---- 第三章 :中文分词原理及相关组件简介 之 分词算法原理
- 如何优雅地打印一个Java对象?
- 教妹学Java(七):究竟什么是JVM?
- Lambda 表达式入门,看这篇就够了
- 教妹学Java(八):初识Java变量
- StackOverflow上87万访问量的问题:什么是“找不到符号”?
- 老哥,Java 中 final 和 effectively final 到底有什么区别?
- 强烈推荐 10 款珍藏的 Chrome 浏览器插件
- 神书《笛卡儿几何》读后感
- 2020 年区块链最具影响力人物 Top 20,孙宇晨也上榜了
- 大地震!某大厂“硬核”抢人,放话:只要AI人才,高中毕业都行!