幾種經典密碼(classic cipher)
阿新 • • 發佈:2018-12-26
凱撒密碼(Caesar Cipher)
Alice和Bob通訊,Alice和Bob共享一個移位數字,所有的明文都移動相同的位置。
最早的置換密碼(substitution cipher)
原理:簡單的將字母移位
例如:
位移k=3時,對應的置換表如下:
明文 | A | B | C | … | X | Y | Z |
---|---|---|---|---|---|---|---|
密文 | D | C | D | … | A | B | C |
分析:該加密方式能被頻率分析(frequency analysis)所破解
多表密碼(維吉尼亞密碼, Vigenere Cipher)
Alice和Bob共享一個私密的移位單詞
原理
例子:
如果移位單詞為:HELLO
明文為:NICETOMEETYOU
加密方式為:
注意:結果需要mod26
所以Alice要傳送的密文為:UMNPHVQPPHFSF
Bob收到密文解密:將對應的密文減去移位單詞就可以還原明文
分析:該方式的加密使得簡單的頻率分析不能再使用;Eve要破解密文,首先得知道移位單詞的長度,然後破解移位單詞本身(相當於多個Caesar cipher)
移位單詞越長,破解越困難
一次一密(One Time Pad-OTP)
隨機生成每個數的移位數字
(隨機序列的長度與資訊序列的長度相同)
原理:每個字母的移位都是隨機生成的
分析