这个问题持续了四百年
Alice怎样才能设计一个密码 可以隐藏她的指纹
因而 停止泄漏信息
答案是随机性
假设Alice投掷了一个26面的骰子
来生成一列长长的随机位移
并与Bob分享 而不是一个码词
现在 给她的消息加密
Alice用了一列随机位移
重要的是 这个位移列表和消息一样长
以避免任何重复
然后她将消息发给Bob 他将消息解密
用她给他的同样的随机位移列表
现在Eve将会有个问题
因为加密的消息
有两个强大的特性
第一 位移没有重复的规律
第二 加密的消息将有一个均匀的频率分布
因为没有频率差异
因此 没有泄漏
那么 Eve不可能破解密码
这就是可能的方法中最强大的加密法
它出现在19世纪末期
现在被称为一次性码本
为了视觉化一次性码本的强度
我们必须了解所发生的组合爆炸
例如 凯撒密码对每一个字母进行了同样的位移
位移是1到26之间的某一个数
所以如果Alice要将她的名字加密
将会是26种可能的加密中的一种
可能的变化不多 容易全部排查
称为暴力搜索
这个和一次性码本相比
后者每个字母被移动
位移的大小是1到26之间的一个
想像一下可能的加密结果
将会是26乘以自己5次
几乎等于1千2百万
有时很难视觉化
假设她将名字写在一页纸上
上面叠放上每一种可能的加密结果
你想想可能有多高呢?
差不多有1千2百万个5字母组合
这一堆纸会很高
高于一公里
当Alice用一次性码本加密她的名字
就像从这个纸堆中随机抽一张纸
从密码破解者Eve的角度来看
她掌握的每个5字母密词
同等可能是这一堆词中的任何一个
所以 这是一个实践中的完美秘密