這個問題持續了四百年
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字母密詞
同等可能是這一堆詞中的任何一個
所以 這是一個實踐中的完美秘密