WEBVTT 00:00:04.947 --> 00:00:08.157 一个强大的密码能够隐藏你的指纹 00:00:08.957 --> 00:00:10.840 将指纹变得轻微 00:00:10.840 --> 00:00:14.274 等于将字幕频率的分布变得平滑 00:00:17.597 --> 00:00:18.935 15世纪中叶 00:00:18.935 --> 00:00:21.266 我们进步到多字母密码 00:00:21.266 --> 00:00:23.357 来达到这个目的 00:00:23.357 --> 00:00:28.167 假设Alice和Bob分享同一个秘密的位移码词 00:00:28.167 --> 00:00:30.766 首先 Alice将码词转换成一组数字 00:00:30.766 --> 00:00:33.223 根据它的字母在字母表中的位置 00:00:33.223 --> 00:00:37.830 下一步 这个数字序列沿着消息不断重复 00:00:39.476 --> 00:00:41.981 然后消息中每个字母通过位移加密 00:00:41.981 --> 00:00:44.160 位移的多少参照它下面的数字 00:00:45.129 --> 00:00:48.809 现在 她使用多个位移 而不是单个位移 00:00:48.809 --> 00:00:53.637 在全部消息中 像凯撒以前做的那样 00:00:53.637 --> 00:00:56.626 然后 加密的消息 被公开送给Bob 00:00:58.488 --> 00:01:01.626 Bob解密消息 通过减去位移 00:01:01.626 --> 00:01:04.859 按照他也知道的秘密单词计算位移 00:01:06.121 --> 00:01:08.042 现在假设有一个密码破解者Eve 00:01:08.042 --> 00:01:10.173 截获了一系列消息 00:01:10.173 --> 00:01:12.642 并算出了字母频率 00:01:13.673 --> 00:01:18.043 她将发现一个较为平滑的分布 或一个轻微的指纹 00:01:18.043 --> 00:01:20.592 那么她怎样能够破解这个? 00:01:22.546 --> 00:01:26.169 记住 密码破解者寻找泄漏的信息 00:01:26.169 --> 00:01:29.382 比如找出部分指纹 00:01:29.382 --> 00:01:32.411 任何时候有一个字母频率的差异 00:01:32.411 --> 00:01:34.929 一个信息泄漏就发生了 00:01:36.129 --> 00:01:39.826 这个差异是由加密信息中的重复引起的 00:01:41.703 --> 00:01:45.911 在这个情形下 Alice的密码包含一个重复的码词 00:01:47.219 --> 00:01:51.096 为了破解密码 Eve首先需要决定 00:01:51.096 --> 00:01:55.567 位移码词的长度 而不是码词本身 00:01:55.567 --> 00:01:56.922 她需要查看 00:01:56.922 --> 00:02:00.487 和检查不同区间的频率分布 00:02:00.487 --> 00:02:04.430 当他检查以五个字母为周期的频率分布时 00:02:04.430 --> 00:02:07.648 指纹自己现身了 00:02:07.648 --> 00:02:10.144 现在的问题是 同时破解五个凯撒密码 00:02:10.144 --> 00:02:12.821 在一个重复序列中 00:02:12.821 --> 00:02:14.726 单独来看 这是个简单的任务 00:02:14.726 --> 00:02:17.136 就像我们以前见过的那样 00:02:17.136 --> 00:02:19.740 密码增加的强度等于所需的时间 00:02:19.740 --> 00:02:22.909 用来算出所用位移码词的长度 00:02:22.909 --> 00:02:26.909 位移码词越长 密码则越强