替代密碼演算法
的原理是使用替代法進行加密,就是將明文中的字元用其它字元替代後形成密文。例如:明文本母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
package cn.hdu.edu.encrypt;/* * 古典密碼演算法之 替代演算法
* */
public
class replace
//以下就是加密後的字元
string targetcode = sb.tostring();
system.out.println(targetcode);
return crypt_ok;
} /*
* @param targetcode 加密前的字串
* @crypt_ok 解密成功
* @crypt_error 解密失敗
*/public
static
int decrypt(string targetcode)throws exception
//以下就是解密後的字元
string initcode = sb.tostring();
system.out.println(initcode);
return crypt_ok;
} }
古典密碼演算法 替代密碼演算法
替代密碼演算法 的原理是使用替代法進行加密,就是將明文中的字元用其它字元替代後形成密文。例如 明文本母a b c d 用d e f g做對應替換後形成密文。替代密碼包括多種型別,如單錶替代密碼 多明碼替代密碼 多字母替代密碼 多表替代密碼等。下面我們介紹一種典型的單錶替代密碼,愷撒 caesar 密...
古典密碼 置換密碼
置換密碼是一種通過一定規則改變字串中字元的順序從而實現加密的密碼演算法。常見的是將明文本串按照n個一行形成矩陣,然後再按列讀出,矩陣的列數 n 和按列讀出的順序便是金鑰。我們以字串 hello my cipher 為例來演示加密過程 選擇金鑰,我們這裡使用 4213 作為金鑰。該金鑰共4位,表示中間...
古典密碼之置換密碼
古典密碼編碼方法主要有兩種,即置換和代換。置換密碼 換位密碼 是一種早期的加密方法,與明文的字母保持相同,區別是順序被打亂了。加密方法 縱行換位密碼,在簡單的縱行換位密碼中,明文以固定的寬度水平的寫在一張圖表紙上,密文按垂直方向讀出,解密就是密文按相同的寬度垂直的寫在圖表紙上,然後水平的讀出明文。例...