古典加密演算法分為替代演算法和置換移位法。
1、替代演算法
替代演算法用明文的字母由其他字母或數字或符號所代替。最著名的替代演算法是愷撒密碼。凱撒密碼的原理很簡單,其實就是單字母替換。
例子:
明文:abcdefghijklmnopq
密文:defghijklmnopqrst
2、置換移位法
使用置換移位法的最著名的一種密碼稱為維吉尼亞密碼。它以置換移位為基礎的周期替換密碼。
在維吉尼亞密碼中,加密密鑰是一個可被任意指定的字元串。加密密鑰字元依次逐個作用於明文信息字元。明文信息長度往往會大於密鑰字元串長度,而明文的每一個字元都需要有一攜鉛個對應的密鑰字元,因此密鑰就需要不斷循環,直至明文每一個字元都對應一個密鑰字元。
其他常見的加密演算法
1、DES演算法是密碼體制中的對稱密碼體制,把64位的明文輸入塊變為64位的密文輸出塊,它所使用的密鑰也是64位。
2、3DES是基於DES的對稱演算法,對一塊數據用三個不同的密鑰進行三次加密,強度更高。
3、RC2和RC4是對稱演算法,用變長密鑰對大量數據進行加密,比DES快。
4、IDEA演算法是在DES演算法的基礎上發展辯衡好出來的,是作為迭代的分組密碼實現的,使用128位的密鑰和8個循環。
5、RSA是由RSA公司發明,是一個支持變長密鑰的公共密鑰演算法,需要加密的文件塊的長度也是可變的,非對稱演算法。
6、DSA,即數字簽名算攔拆法,是一種標準的 DSS(數字簽名標准),嚴格來說不算加密演算法。
7、AES是高級加密標准對稱演算法,是下一代的加密演算法標准,速度快,安全級別高,在21世紀AES 標準的一個實現是 Rijndael演算法。
㈡ 愷撒密碼的維吉尼亞密碼
很明顯,凱撒密碼的密度是很低的,只需簡單地統計字頻就可以破譯。於是人們在單一愷撒密碼的基礎上擴展出多表密碼,稱為「維吉尼亞」密碼。它是由16世紀法國亨利三世王朝的布萊瑟·維吉尼亞發明的,其特點是將26個愷撒密表合成一個,見下表:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
A -A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
B -B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
C-C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D- D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E- E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F- F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G- G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
H- H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I- I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J- J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K- K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L -L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M- M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N- N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O- O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P- P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q- Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R- R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S- S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T- T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U- U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V- V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W- W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X- X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Y- Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z- Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
維吉尼亞密碼(類似於今天我們所說的置換密碼)引入了「密鑰」的概念,即根據密鑰來決定用哪一行的密表來進行替換,以此來對抗字頻統計。假如以上面第一行代表明文字母,左面第一列代表密鑰字母,對如下明文加密:
TO BE OR NOT TO BE THAT IS THE QUESTION
當選定RELATIONS作為密鑰時,加密過程是:明文一個字母為T,第一個密鑰字母為R,因此可以找到在R行中代替T的為K,依此類推,得出對應關系如下:
密鑰:RELAT IONSR ELATI ONSRE LATIO NSREL
明文:TOBEO RNOTT OBETH ATIST HEQUE STION
密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY
歷史上以維吉尼亞密表為基礎又演變出很多種加密方法,其基本元素無非是密表與密鑰,並一直沿用到二戰以後的初級電子密碼機上。
㈢ 請比較凱撒密碼維吉尼亞密碼普萊費爾密碼的異同點
比較凱撒密碼維吉羨基尼亞密碼普萊費爾密碼的異同點:
1、維吉尼亞密碼運派運是使用一系列凱撒密碼組成密碼字母旁梁表的加密演算法,屬於多表密碼的一種簡單形式。
2、凱撒密碼作為一種最為古老的對稱加密體制,在古羅馬的時候都已經很流行,他的基本思想是:通過把字母移動一定的位數來實現加密和解密。
㈣ 密碼學 - 古典加密
信息理論之父:克勞德 香農
論文《通信的數學理論》
如果沒有信息加密,信息直接被中間人攔截查看、修改。
明文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/