愷撒密碼的加密、解密方法還能夠通過同余的數學方法進行計算。首先將字母用數字代替,A=0,B=1,...,Z=25。此時偏移量為n的加密方法即為: E(x) = (x + n) mod 26.
解密就是:
D(x) = (x - n) mod 26.
顯而易見,壹旦確定了某兩個字母的對應關系(即n的值),這種移位密碼很容易被破解。
因此,為了使密碼有更高的安全性,單字母替換密碼就出現了。
明碼表:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密碼表:T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
但是這種加密方式依然可以破解,根據字母使用頻度表,分析密文中的字母頻率,將其對照即可破解。
不僅如此,凱撒加密對加密數據也是有要求的,壹般情況下,它只支持對基本的英文字母進行加密,如果對中文等亞太地區的文字進行加密,結果可想而知,妳的隱私將毫無保留的出現在眾人面前。有人說,我們可以擴展這個算法,使它支持所有的文字,這麽做是可行的,如果采用同余式的方式實現,代碼幾乎不怎麽需要改動,只要字符集本身是Unicode就可以了。但是這種加密的安全性很難滿足應用的要求。如果采用單字母替換的方式,程序將需要構建兩個巨大的字符數組去保存他們的映射關系,而且擴展性也不好,當然也是不可行的。這樣看來,凱撒加密豈不是壹無是處了,其實對於壹般的應用,凱撒加密還是足以應付的,只要我們對它稍作改進。