目錄
置換密碼/換位密碼
列置換
周期置換
代換密碼
單表代換密碼
多表代換密碼
參考
置換密碼(permutation cipher)又叫換位密碼(transposi-tioncipher),它根據一定的規則重新排列明文,以便打破明文的結構特性。置換密碼的特點是保持明文的所有字元不變,隻是利用置換打亂了明文字元的位置和次序。
最常見的置換密碼有兩種:
列置換密碼(明文p遵照密鑰的規程按列換位并且按列讀出序列得到密文c);
周期置換密碼(将明文p按固定長度m分組,然後對每組按1,2…,m的某個置換重排位置進而得到密文c)。
加密過程
将明文p以設定的固定分組寬度m按行寫出,即每行有m個字元。若明文長度不是m的整數倍,則不足部分用雙方約定的方式填充,如雙方約定用空格代替空缺處字元,不妨設最後得字元矩陣
;
按1,2…,m的某一置換
交換列的位置次序得字元矩陣
把矩陣
按列1,2…,n的順序依次讀出得密文序列c。
舉例
2022年北京冬季奧運會,英文為"the xxiv olympic winter games",假定m為5,發送時沒有空格,
1列内容換到4,4列内容換到3,3列内容換到1,2、5列互換。
明文:thexxivolympicwintergames
密文:eoitmxywrsxlceetimighvpna
加密密鑰:
解密過程
将密文c按與加密過程相同的分組寬度m按列寫得到字元矩陣
。
按加密過程用的置換
的逆置換
把矩陣
按1,2,…,m行的順序依次讀出得明文p。
解密密鑰:
周期置換密碼是将明文串p按固定長度m分組,然後對每組中的子串按1,2…,m的某個置換重排位置進而得到密文c。其中密鑰
包含分組長度資訊。解密時同樣對密文c按長度m分組,并按口的逆置換
把每組子串重新排列位置進而得到明文p。
加密“state key laboratory of networking and switching",不含空格,m為7。加密密鑰
=(15623)
明文分7組:
(statek)(eylabo)(ratory)(ofnetw)(orking)(andswi)(tching)
加密變換:
(akttse)(loyaeb)(tyaorr)(nwfeot)(kgrion)(dinsaw)(hgcitn)
最終密文:
akttseloyaebtyaorrnwfeotkgriondinsawhgcitn
由加密密鑰易知解密密鑰:
=(13265),解密易實作,請讀者自行嘗試。
所謂代換,就是将明文中的一個字母由其它字母、數字或符号替代的一種方法。
代換密碼是指建立一個代換表,加密時将需要加密的明文依次通過查表,替換為相應的字元,明文字元被逐個替換後,生成無任何意義的字元串,即密文。這樣的代換表,通常稱為密鑰。
對明文消息中出現的同一個字母,在加密時都使用同一固定的字母來代換,不管它出現在什麼地方。如凱撒、仿射等。
凱撒密碼
明文中的所有字母都在字母表上向後(或向前)按照一個固定數目(密鑰n)進行偏移後被替換成密文。
加解密方法如下:
當密鑰n是3時:
明文字母表:abcdefghijklmnopqrstuvwxyz。
密文字母表:defghijklmnopqrstuvwxyzabc。
加密過程如下:
明文:the quick brown fox jumps over the lazy dog ;
密文:wkh txlfn eurzq ira mxpsv ryhu wkh odcb grj。
解密逆過程即可,可以自己寫個小程式,輸入明文/密文、密鑰,得到結果,當然,也有線上工具箱。
找的線上加解密工具箱,網址在參考部分
明文消息中出現的同一個字母,在加密時不是完全被同一固定的字母代換,而是根據其出現的位置次序,用不同的字母代換。多表代換密碼是利用多個單表代替密碼構成的密碼體制,它在對明文進行加密的過程中依照密鑰輪流使用多個單表代替密碼。如維吉利亞、playfair、轉輪等。
維吉尼亞密碼
是使用一系列凱撒密碼組成密碼字母表的加密算法,屬于多表密碼的一種簡單形式。
假設明文為:
attackatdawn
選擇某一關鍵詞并重複而得到密鑰,如關鍵詞為lemon時,密鑰為:
lemonlemonle
對于明文的第一個字母a,對應密鑰的第一個字母l,于是使用表格中l行字母表進行加密,得到密文第一個字母l。類似地,明文第二個字母t,在表格中使用對應的e行進行加密,得到密文第二個字母x。以此類推,即:
明文:attackatdawn
密鑰:lemonlemonle
密文:lxfopvefrnhr
解密過程相反
加解密線上工具-一個工具箱
千千秀字-維吉尼亞加解密
更多内容檢視:網絡安全-自學筆記
有問題請下方評論,轉載請注明出處,并附有原文連結,謝謝!如有侵權,請及時聯系。