幾種經典密碼(classic cipher)

H0_0P發表於2017-10-16

凱撒密碼(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)

隨機生成每個數的移位數字
(隨機序列的長度與資訊序列的長度相同)
原理:每個字母的移位都是隨機生成的
分析:一次一密具有完美安全(又叫絕對安全,perfect security)

相關文章