古典密码学知识
古典密碼學
古典密碼主要關心信息的保密書寫和傳遞以及與其相對應的破解方法。
加密方式有:凱撒加密、關鍵詞加密、防射加密、維吉尼亞加密等。其中凱撒加密、關鍵詞加密、仿射加密都為單表加密。
凱撒加密
屬于代替加密,明文中的所有字母都在字母表上向前或者向后發生固定數目的偏移從而形成密文。
a = input() k=ord('f')-ord(a[0]) for i in a:if(ord(i)< 97 or ord(i)> 122):print(i,end='')else:d=(ord(i)-97+26+k)%26print(chr(d+97),end='')在線加密解密網址:https://www.qqxiuzi.cn/bianma/kaisamima.php
關鍵詞加密
也是一種單表替代加密,比凱撒加密復雜一點,加密時需要一個關鍵詞,可以是隨便一個去重后的單詞,講這個去重后的關鍵詞寫在字母表下面,然后按字母表順序將其余關鍵詞中沒有出現的字母在后面補齊,然后將明文中字母表上的字母對應代替為寫在字母表下的字母,得到密文。
仿射加密
在防射加密中每個字母都對應一個數字,a-z分別對應0-25, 密鑰為0-25中的一個數字對(a,b),其中a與26的最大公約數必須為1。設p為明文字母對應的數字,則此字母相對的密文為c ≡ a*p + b ( mod 26 )
解密時需要計算密鑰數字對中a的逆元,即a對于26的模反數。模反數可以簡單理解為整數環中的倒數,a乘以a的模反數對26取模為1。所以一個數乘以a再乘a的逆元就等于原來的數。
解密時已知密鑰對(a,b)和密文c,則p ≡ a^-1 (c-b) mod 26
單表加密分析:
可以利用不同的字母出現頻率來判斷被替換成了某個字母的可能性。
 詞頻分析不僅針對于字母,也有很多連續兩個字母(雙聯字母)出現頻率較高的現象,可作為輔助分析。
 
 除此之外,也可以通過單詞的格式進一步縮小范圍,因為單表加密只改變字母不改變格式。
維吉尼亞加密
維吉尼亞密碼是使用一系列凱撒密碼組成密碼字母表的多表加密算法。為了生成密碼,需要使用表格,而這一表格要包括了26行字母表,每一行都由前一行向左移一位得到。具體使用哪一行字母表進行編譯是基于密鑰進行的,在過程中會不斷地變換。
 例:明文:ATTACKATDAWN,選擇關鍵詞:LEMON,重復關鍵詞,直到長度和明文相同,作為密鑰:LEMONLEMONLE,然后通過等長的明文和密鑰,依次查表得到密文:LXFOPVEFRNHR。
而解密過程正與加密相反,例如:根據密鑰第一個字母 L 所對應的 L 行字母表,發現密文第一個字母 L 位于 A 列,則明文第一個字母為 A 。密鑰第二個字母 E 對應 E 行字母表,而密文第二個字母 X 位于此行 T 列,則明文第二個字母為 T。
維吉尼亞加密可以避免直接的詞頻分析攻擊,密文在統計上沒有明顯的規律,但是仍然有方法可以對其進行破解。
 Frederick Kasiski 基于觀察得出結論:“密鑰的重復部分與明文中的重復部分的連接,在密文中也產生一個重復部分”。即,如果一個字符串在明文中重復,并且被密鑰相同的部分加密,那么在密文中也會出現重復的字符串。
替換和編碼
古典加密還有很多種形式的簡單替換和編碼,這些替換也常常出現雜項中,例如:摩爾斯電碼、福爾摩斯跳舞的小人、敲擊碼、培根密碼等。
中文電碼
 中文電碼,又稱標準中文電碼、中文商用電碼、中文電報碼或中文電報明碼,原本是于電報之中傳送中文信息的方法。它是第一個把漢字化作電子訊號的編碼表。
歷史:1873年,法國駐華人員威基杰(S·A·Viguer)參照《康熙字典》的部首排列方法,挑選了常用漢字6800多個,編成了第一部漢字電碼本,名為《電報新書》。后由我國的鄭觀應將其改編成為《中國電報新編》。這是中國最早的漢字電碼本。中國人最早研制的電報機華僑商人王承榮從法國回國后,與福州的王斌研制出我國第一臺電報機,并呈請政府自辦電報。清政府拒不采納。
原理:中文電碼表采用了四位阿拉伯數字作代號,從0001到9999按四位數順序排列,用四位數字表示最多一萬個漢字、字母和符號。漢字先按部首,后按筆劃排列。字母和符號放到電碼表的最尾。后來由于一萬個漢字不足以應付戶籍管理的要求,又有第二字面漢字的出現。在香港,兩個字面都采用同一編碼,由輸入員人手選擇字面;在臺灣,第二字面的漢字會在開首補上“1”字,變成5個數字的編碼。
解碼:http://code.mcdvisa.com/
 例題:606046152623600817831216121621196386
柵欄密碼
 ①把將要傳遞的信息中的字母交替排成上下兩行。
 ②再將下面一行字母排在上面一行的后邊,從而形成一段密碼。
 ③例如:
 密文:felhaagv{ewtehtehfilnakgw}
 明文:flag{wethinkwehavetheflag}
 解題:https://www.qqxiuzi.cn/bianma/zhalanmima.php
總結
 
                            
                        