天天看點

現代密碼學-傳統密碼技術(置換、代換密碼)

目錄

置換密碼/換位密碼

列置換

周期置換

代換密碼

單表代換密碼

多表代換密碼

參考

        置換密碼(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

 解密過程相反

現代密碼學-傳統密碼技術(置換、代換密碼)

加解密線上工具-一個工具箱

千千秀字-維吉尼亞加解密

更多内容檢視:網絡安全-自學筆記

有問題請下方評論,轉載請注明出處,并附有原文連結,謝謝!如有侵權,請及時聯系。

繼續閱讀