古典密碼是什麼的內容
1. 密碼學 - 古典加密
信息理論之父:克勞德 香農
論文《通信的數學理論》
如果沒有信息加密,信息直接被中間人攔截查看、修改。
明文Plain text
密文Cipher text
加密Encryption/Encrypherment:將明文轉化為密文
解密Decrytion/Decipherment:講密文還原為明文
加密鑰匙EK Encryption Key:加密時配合加密演算法的數據
解密鑰匙EK Encryption Key:解密時配合解密演算法的數據
各個字元按照順序進行n個字元錯位的加密方法。
(凱撒是古羅馬軍事家政治家)
多次使用愷撒密碼來加密並不能獲得更大的安全性,因為使用偏移量A加密得到的結果再用偏移量B加密,等同於使用A+B的偏移量進行加密的結果。
凱撒密碼最多隻有25個密匙 +1到+25 安全強度幾乎為0
(密鑰為0或26時,明文在加密前後內容不變)
暴力枚舉
根據密文,暴力列出25個密匙解密後的結果。
凱撒密碼的例子是所有 單字母替代式密碼 的典範,它只使用一個密碼字母集。
我們也可以使用多字母替代式密碼,使用的是多個密碼字母集。
加密由兩組或多組 密碼字母集 組成,加密者可自由的選擇然後用交替的密碼字母集加密訊息。
(增加了解碼的困難度,因為密碼破解者必須找出這兩組密碼字母集)
另一個多字母替代式密碼的例子「維吉尼亞密碼」,將更難解密
(法語:Vigenère cypher),
它有26組不同用來加密的密碼字母集。
每個密碼字母集就是多移了一位的凱撒密碼。
維吉尼亞方格(替換對照表):
維吉尼亞密碼引入了密匙概念。
同一明文在密文中的每個對應,可能都不一樣。
移位式密碼,明文中出現的字母依然出現在密文中,只有字母順序是依照一個定義明確的計劃改變。
許多移位式密碼是基於幾何而設計的。一個簡單的加密(也易被破解),可以將字母向右移1位。
例如,明文"Hello my name is Alice."
將變成"olleH ym eman si ecilA."
密碼棒(英語:scytale)也是一種運用移位方法工具。
如
明文分組,按字元長度來分,每5個字母分一組。
並將各組內的字元的順序進行替換。
具體例子
縱欄式移項密碼
先選擇一個關鍵字,把原來的訊息由左而右、由上而下依照關鍵字長度轉寫成長方形。接著把關鍵字的字母依照字母集順序編號,例如A就是1、B就是2、C就是3等。例如,關鍵字是CAT,明文是THE SKY IS BLUE,則訊息應該轉換成這樣:
C A T
3 1 20
T H E
S K Y
I S B
L U E
最後把訊息以行為單位,依照編號大小調換位置。呈現的應該是A行為第一行、C行為第二行、T行為第三行。然後就可以把訊息"The sky is blue"轉寫成HKSUTSILEYBE。
另一種移位式密碼是中國式密碼(英語:Chinese cipher),移位的方法是將訊息的字母加密成由右而左、上下交替便成不規則的字母。範例,如果明文是:THE DOG RAN FAR,則中國式密碼看起來像這樣:
R R G T
A A O H
F N D E
密碼文將寫成:RRGT AAOH FNDE
絕大多數的移位式密碼與這兩個範例相類似,通常會重新排列字母的行或列,然後有系統的移動字母。其它一些例子包括Vertical Parallel和雙移位式(英語:Double Transposition)密碼。
更復雜的演算法可以混合替代和移位成為積密碼(proct cipher);現代資料區段密碼像是DES反復位移和替代的幾個步驟。
行數=欄數
明文,分為N欄(N行) 按照明文本來的順序,豎著從上往下填。
【實例1】
明文123456
欄數2(行數2)
密文135246
135
246
拆成2行(2欄),豎著看密文——得到明文
【實例2】明文123456789abcdefghi 欄數9 (行數)--->密文1a2b3c4d5e6f7g8h9i
拆成9行豎著看密文.
1a
2b
3c
4d
5e
6f
7g
8h
9i
古典密碼【柵欄密碼安全度極低】組成柵欄的字母一般一兩句話,30個字母。不會太多! 加解密都麻煩
是指研究字母或者字母組合在文本中出現的頻率。應用頻率分析可以破解古典密碼。
工具
在線詞頻分析 http://textalyser.net/
2. 古典密碼和網路安全之間的關系
古典密碼技術是傳統加密技術之一,是保護網路安全的一種技術。
同時古典密碼作為密碼學的基礎,是保證信息和信息系統能夠安全運行的防護性行為。
古典密碼包括兩個基本操作:代換技術和置換技術。
3. 什麼是古典密碼
乘積和迭代:多種加密方法混合使用 對一個加密函數多次迭代 古典密碼編碼方法: 置換,代替,加法 把明文中的字母重新排列,字母本身不變,但其位置改變了,這樣編成的密碼稱為置換密碼。 最簡單的置換密碼是把明文中的字母順序倒過來,然後截成固定長度的字母組作為密⑴單表代替密碼
①、加法密碼
A和B是有 n個字母的字母表。 定義一個由A到B的映射:f:A→B f(ai )= bi=aj j=i+k mod n 加法密碼是用明文字母在字母表中後面第 k個字母來代替。 K=3 時是著名的凱撒密碼。 愷撒密碼——歷史上第一個密碼技術 「愷撒密碼」是古羅馬愷撒大帝在營救西塞羅戰役時用來保護重要軍情的加密系統(高盧戰記)。
②、乘法密碼
?A和B是有n個字母的字母表。?定義一個由A到B的映射:f:A→B f(ai )= bi= aj j=ik mod n 其中,(n,k)=1。?注意:只有(n,k)=1,才能正確解密。
③密鑰片語代替密碼
隨機選一個詞語,去掉其中的重復字母,寫到矩陣的第一行,從明文字母表中去掉這第一行的字母,其餘字母順序寫入矩陣。然後按列取出字母構成密文字母表
編輯本段⑵、多表代替密碼
?單表代替密碼的安全性不高,一個原因是一個明文字母只由一個密文字母代替。?構造多個密文字母表,?在密鑰的控制下用相應密文字母表中的一個字母來代替明文字母表中的一個字母。一個明文字母有多種代替。? Vigenere密碼:著名的多表代替密碼
(3)、代數密碼:
① Vernam密碼
明文、密文、密鑰都表示為二進制位: M=m1,m2,… ,mn K =k1,k2,… ,kn C =c1,c2,… ,cn
② 加密
c1= mi⊕ ki ,i=1,2,… ,n 解密 : m1= ci⊕ ki ,i=1,2,… ,n
③
因為加解密演算法是模2加,所以稱為代數密碼。
④對合運算
f=f-1,模 2加運算是對合運算。 密碼演算法是對和運算,則加密演算法=解密演算法,工程實現工作量減半。
⑤ Vernam密碼經不起已知明文攻擊
。
⑥
如果密鑰序列有重復,則Vernam密碼是不安全的。
⑦一種極端情況
一次一密 ? 密鑰是隨機序列。 ? 密鑰至少和明文一樣長。 ? 一個密鑰只用一次。
⑧
一次一密是絕對不可破譯的,但它是不實用的。
⑨
一次一密給密碼設計指出一個方向,人們用序列密碼逼近一次一密。