珍惜現(xiàn)在的資源和時間口渔,堅持讓編程改變世界
密碼學(xué)
信息理論之父:克勞德 香農(nóng)
論文《通信的數(shù)學(xué)理論》
如果沒有信息加密,信息直接被中間人攔截查看、修改。
密碼學(xué)基礎(chǔ)概念
明文Plain text
密文Cipher text
加密Encryption/Encrypherment:將明文轉(zhuǎn)化為密文
解密Decrytion/Decipherment:講密文還原為明文
加密鑰匙EK Encryption Key:加密時配合加密算法的數(shù)據(jù)
解密鑰匙EK Encryption Key:解密時配合解密算法的數(shù)據(jù)
古典加密 - 凱撒密碼
各個字符按照順序進行n個字符錯位的加密方法耸弄。
(凱撒是古羅馬軍事家政治家)
明文AKEA
密匙2. 加密算法:每位+
密文CMFC
(大忌!密文中出現(xiàn)重復(fù)卓缰,是一種特征计呈,易被破解)
將123456每位數(shù)字都加1后得到234567
明文123456
密鑰:1 加密算法:每位+
密文234567
多次使用愷撒密碼來加密并不能獲得更大的安全性,因為使用偏移量A加密得到的結(jié)果再用偏移量B加密征唬,等同于使用A+B的偏移量進行加密的結(jié)果捌显。
凱撒密碼 - 解密
凱撒密碼最多只有25個密匙 +1到+25 安全強度幾乎為0
(密鑰為0或26時,明文在加密前后內(nèi)容不變)
暴力枚舉
根據(jù)密文总寒,暴力列出25個密匙解密后的結(jié)果扶歪。
凱撒密碼的變種 - 換字式
如
原文AB..
密文BV..
- 典型的rot13(密鑰為+13的凱撒加密)
26個字母 大小寫 替換對照表
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm
- 破解 rot13 再來一次rot13加密,就變回原文偿乖。
凱撒密碼的變種 - 多表替代 - 維吉尼亞密碼
如
明文分為5組
第1組密匙+2 第2組密匙+5
然后把密文連接起來
凱撒密碼的例子是所有 單字母替代式密碼 的典范击罪,它只使用一個密碼字母集哲嘲。
我們也可以使用多字母替代式密碼贪薪,使用的是多個密碼字母集媳禁。
加密由兩組或多組 密碼字母集 組成,加密者可自由的選擇然后用交替的密碼字母集加密訊息画切。
(增加了解碼的困難度竣稽,因為密碼破解者必須找出這兩組密碼字母集)
另一個多字母替代式密碼的例子“維吉尼亞密碼”,將更難解密
(法語:Vigenère cypher)霍弹,
它有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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
維吉尼亞密碼
如
明文: I LOVE CRYPTOGRAPHY
關(guān)鍵字(密鑰):W ORDW ORDWORDWORDW
則
密文: E ZFYA QIBLHFJNOGKU
第1位密文字母結(jié)果 =
維吉尼亞方格中W開頭的那一行典格,與第1行中的字母I相同列位置的那個字母 = E
維吉尼亞密碼 必須先選擇一個關(guān)鍵字岛宦,接著連續(xù)“復(fù)制”這個關(guān)鍵字,直到和明文長度相同耍缴。
然后看明文訊息下方是哪一行(密碼字母集)可供使用砾肺,就是明文的第一個字母下方對映到的關(guān)鍵字母。另外防嗡,每個密碼字母集由它自己的第一個字母作為名稱变汪。
維吉尼亞密碼引入了密匙概念。
同一明文在密文中的每個對應(yīng)蚁趁,可能都不一樣裙盾。
凱撒密碼的變種 - 移位式密碼
移位式密碼,明文中出現(xiàn)的字母依然出現(xiàn)在密文中他嫡,只有字母順序是依照一個定義明確的計劃改變番官。
許多移位式密碼是基于幾何而設(shè)計的。一個簡單的加密(也易被破解)钢属,可以將字母向右移1位鲤拿。
例如,明文"Hello my name is Alice."
將變成"olleH ym eman si ecilA."
密碼棒(英語:scytale)也是一種運用移位方法工具署咽。
如
明文分組近顷,按字符長度來分,每5個字母分一組宁否。
并將各組內(nèi)的字符的順序進行替換窒升。
如
明文 ILOVEFISH!
假設(shè) n = 5(每5個字母為1組)
變換規(guī)則(密匙):
第1個字母 -> 移動到位置 2
第2個字母 -> 移動到位置 4
第3個字母 -> 移動到位置 1
第4個字母 -> 移動到位置 5
第5個字母 -> 移動到位置 3
共有兩組明文 加密后組合起來 得到密文:OIELVSF!IH
具體例子
縱欄式移項密碼
先選擇一個關(guān)鍵字,把原來的訊息由左而右慕匠、由上而下依照關(guān)鍵字長度轉(zhuǎn)寫成長方形饱须。接著把關(guān)鍵字的字母依照字母集順序編號,例如A就是1台谊、B就是2蓉媳、C就是3等譬挚。例如,關(guān)鍵字是CAT酪呻,明文是THE SKY IS BLUE减宣,則訊息應(yīng)該轉(zhuǎn)換成這樣:
C A T
3 1 20
T H E
S K Y
I S B
L U E
最后把訊息以行為單位,依照編號大小調(diào)換位置玩荠。呈現(xiàn)的應(yīng)該是A行為第一行漆腌、C行為第二行、T行為第三行阶冈。然后就可以把訊息"The sky is blue"轉(zhuǎn)寫成HKSUTSILEYBE闷尿。
另一種移位式密碼是中國式密碼(英語:Chinese cipher),移位的方法是將訊息的字母加密成由右而左女坑、上下交替便成不規(guī)則的字母填具。范例,如果明文是:THE DOG RAN FAR匆骗,則中國式密碼看起來像這樣:
R R G T
A A O H
F N D E
密碼文將寫成:RRGT AAOH FNDE
絕大多數(shù)的移位式密碼與這兩個范例相類似劳景,通常會重新排列字母的行或列,然后有系統(tǒng)的移動字母绰筛。其它一些例子包括Vertical Parallel和雙移位式(英語:Double Transposition)密碼枢泰。
更復(fù)雜的算法可以混合替代和移位成為積密碼(product cipher);現(xiàn)代資料區(qū)段密碼像是DES反復(fù)位移和替代的幾個步驟铝噩。
柵欄密碼
行數(shù)=欄數(shù)
明文衡蚂,分為N欄(N行) 按照明文本來的順序,豎著從上往下填骏庸。
【實例1】
明文123456
欄數(shù)2(行數(shù)2)
密文135246
135
246
拆成2行(2欄)毛甲,豎著看密文——得到明文
【實例2】明文123456789abcdefghi 欄數(shù)9 (行數(shù))--->密文1a2b3c4d5e6f7g8h9i
拆成9行豎著看密文.
1a
2b
3c
4d
5e
6f
7g
8h
9i
古典密碼【柵欄密碼安全度極低】組成柵欄的字母一般一兩句話,30個字母具被。不會太多玻募! 加解密都麻煩
頻率分析
是指研究字母或者字母組合在文本中出現(xiàn)的頻率。應(yīng)用頻率分析可以破解古典密碼一姿。
工具
在線詞頻分析 http://textalyser.net/