天天看點

古典密碼算法------替代密碼算法

替代密碼算法的原理是使用替代法進行加密,就是将明文中的字元用其它字元替代後形成密文。例如:明文字母a、b、c、d ,用d、e、f、g做對應替換後形成密文。

替代密碼包括多種類型,如單表替代密碼、多明碼替代密碼、多字母替代密碼、多表替代密碼等。下面我們介紹一種典型的單表替代密碼,恺撒(caesar)密碼,又叫循環移位密碼。它的加密方法,就是将明文中的每個字母用此字元在字母表中後面第k個字母替代。它的加密過程可以表示為下面的函數:

e(m)=(m+k) mod n

其中:m為明文字母在字母表中的位置數;n為字母表中的字母個數;k為密鑰;e(m)為密文字母在字母表中對應的位置數。

例如,對于明文字母h,其在字母表中的位置數為8,設k=4,則按照上式計算出來的密文為l:

e(8) = (m+k) mod n = (8+4) mod 26 = 12 = l