经典加密方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
32 56 128
232=4.3*109 256=7.2*1016
2.15毫秒 10.01小時
2128=3.4*1038 5.4*1018年
8/46
秒=1000毫秒=1000000微秒
埃及象形文字
西元前19世紀,埃及人將象形文字寫在 各處以聯絡族人
9/46
埃及象形文字
因此埃及象形文字乃是我們有知以來最 早的加密系統
C=E(M)=M+k (mod 26) M=D(C)=C-k (mod 26)
39/46
解密
Vigenère密碼
舉例
金鑰: “hsiuping” (7, 18, 8, 20, 15, 8, 13, 6)
e 4 18 22 W a 0 8 8 I r 17 20 11 L e 4 15 19 T f 5 8 13 N a 0 13 13 N m 12 6 18 S i 8 7 15 P l 11 18 3 D y 24 8 6 G
it was disclosed yesterday that several informal but direct contacts have been made with political representatives of the viet cong in moscow
22/46
跳舞小人歷險記
可能為 “LEVER(槓桿)”, “NEVER(絕不)”, “SEVER(分開)”。Holmes猜測是NEVER。
因此大膽假設 便是 “Come Elsie”
29/46
跳舞小人歷險記
所以第一張字條
可以解開成
_M _ERE __E SL_NE_ AM _ERE A_E SL_NE_ AM HERE ABE SLANEY
破解密文所需成本 > 密文本身價值 破解密文所需時間 > 訊息有效壽命
6/46
暴力破解
逐一嚐試可能的金鑰
如學生Email密碼僅設成數字四位數 猜測:0000~9999 最大猜測數:10000次 每秒猜測10次,需10000/10秒 約17分鐘內便能破解
7/46
暴力破解
金鑰長度 (bit) 可能的金鑰數 費時 每微秒測試一次
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
21/46
破解Mono alphabetic
UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ t a e e te a that e e a a VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX e t ta t ha e ee a e th z a EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ e e e tat e the t 逐一測試解密:
9(3 – 8) mod 26 = 7 “H” 9(6 – 8) mod 26 = 8 “I” 9(13 – 8) mod 26 = 19 “T”
1 1 3 9 5 21 7 15 9 3 11 19 15 7 17 23 19 11 21 5 23 17 25 25 37/46
10/46
舊約聖經
西元前5世紀,Adbash密文轉換成希伯來 文 使用 “替換” 方式加解密
“HSIUPING” “SHRFKRMT”
11/46
斯巴達加密
西元前5世紀,於希臘斯巴達,使用一種 名為 “Sc仗,並將長條皮革寫上訊息, 捲在權仗上便能解密。
12/46
Polybius Square
Polybius (201BC~120BC)希臘 x 5 方格加密,將字 母轉換成數字。
1 1 A
2 B
3 C
4 D
5 E
先取得列號,再取得 欄號 “TAIWAN” “441124521133”
2 F
3 L
G
M
H I/J K
N O P
4 Q
5 V
R
W
S
X
T
Y
U
Z
13/46
凱撒加密法
古典加密系統
传统加密方法介绍
1
对称式加密技术
使用同一種演算法及金鑰進行加密、解 密
加密 明文 演算法及金鑰
以密文傳輸 演算法及金鑰
解密 明文
2/46
對稱式加密系統
加密程序 C = EK(P) P 為明文(Plaintext)訊息 K 為金鑰(Key) E 為加密演算法(Encrypt algorithm) C 為密文(Ciphertext) 解密程序 P = DK(C) D 為解密演算法(Decrypt algorithm)
WRJD vgic uphb toga snfz rmey qldx
SDUWB rctva qbsuz party ozqsx nyprw mxoqv
xske tevxc
17/46
凱撒加密法
凱撒加密法課堂練習
密文為 “QXFTXK” 明文為?
18/46
Mono alphabetic 加密法
有別於Caesar加密法的全部位移k個位置
改為單一字母個別位移固定的位置 如 aS bA cH dV
19/46
破解Mono alphabetic
密文
UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ
Julius Caesar (100BC~44AD),羅馬皇帝, 發明「凱撒加密法」,亦稱「凱撒位移」 將每個字元往後推三個字元
明文:Meet 密文:PHHW
me after the toga party PH DIWHU WKH WRJD SDUWB
14/46
凱撒加密法
將每一字母設定為數字(A=0, B=1…) 加密方法
跳舞小人歷險記
幾番調查後,Holmes終將案情查清楚, 便寫下一紙條,派馬童送至一間叫 “Elriges” 旅館的 Abe Slaney 先生 警察詢問Holmes為何對案情這麼了解, Holmes才開始說明如何破解小人紙條
28/46
跳舞小人歷險記
Holmes分析所有的圖,發現 出現次數最多,便將此符號換成 “E” 因此圖4 能解讀成 “_E_E_”
僅知密文(Ciphertext only) 已知明文(Plaintext only) 自選明文(Known plaintext) 自選密文(Chosen ciphertext) 自選文字(Chosen text)
5/46
計算上的安全
計算上的安全(Computationally secure)
C=E(P)=(P + 3) mod 26 P=D(C)=(C – 3) mod 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
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
傳輸明文 “HIT” (7, 8, 19)
加密: (3*7 + 8) mod 26 = 3 “D” (3*8 + 8) mod 26 = 6 “G” (3*19 + 8) mod 26 = 13 “N”
36/46
仿射密碼(Affine Cipher)
“HIT” “DGN” (3, 6, 13) 解密:
15/46
凱撒加密法應用
將 Caesar 加密演算法表示為
C=Ek(P)=(P + k) mod 26 P=Dk(C)=(C – k) mod 26
解密
暴力破解必須嘗試25種k值
k=1, 2, …, 25
16/46
凱撒加密法暴力破解
密文 k=1 k=2 k=3 k=4 k=5 k=6
3/46
對稱式加密系統介绍
加解密演算法原則
取代(substitution):將明文中的每個元素, 對應到另一個元素(如一個位元、字母) 置換(transposition):將明文中的元素重新排 列
4/46
wenku.baidu.com
密碼破解
想還原 P 或 K 的行為就稱為「密碼破解」 密碼破解方式
a a-1
仿射密碼(Affine Cipher)
課堂練習
C=E(M)=(aM+b) mod 26 K = (7, 4) M = “HIT” (7, 8, 19) C=? M=D(C)=a-1(C-b) mod 26
38/46
Vigenère密碼
16世紀法國人Vigenère發展的多套字母 替代法(Polyalphabetic substitution) 使用區塊加密 加密
跳舞小人歷險記
Cubitt寄給Holmes,並前往Holmes家說 明所知的一切 Holmes直覺認為這是一個訊息,而非小 孩子的塗鴉 因提供的字條太少,Holmes請Cubitt有 看到新的,再傳給Holmes看
24/46
跳舞小人歷險記
幾日後,Cubitt又在工具室門上發現粉筆 畫的小人,並來寄給Holmes
PHHW oggv nffu meet ldds kccr jbbq
k=25
WKH vjg uif the sgd rfc qeb : qiix qi ejxiv xli
PH og nf me ld kc jb
DIWHU chvgt bgufs after zesdq ydrcp xcqbo
L
K N R
0.00
0.00 0.00 0.00
20/46
M
6.67
破解Mono alphabetic
14 12 10
8.5 9.25 7.75 7.75 7.5 6
一般英文文章中,字元相對出現頻率
12.75
8 7.25 6
4.25
4 2 0
A B 1.25
3.5
3 2
3.5
3.75 2.75 2.75 3 2.25 1.5 1.5 0.25 0.5 0.5 0.5 0.25 Y Z
25/46
跳舞小人歷險記
接下來的幾天,陸續在工具室發現小人 圖,Cubitt全寄給Holmes看
26/46
跳舞小人歷險記
Holmes將全部小人字條研究數天後,發 現大事不妙,立即趕往Cubitt家,欲阻擋 悲劇發生 抵達Cubitt家後,Cubitt已受槍傷身亡, Elsie也身受重傷
27/46
30/46
跳舞小人歷險記
第二張字條亦可解讀
A_ ELRI_ES AT ELRIGES
31/46
跳舞小人歷險記
最後一張
ELSIE _RE_ARE TO MEET THY GO_ ELSIE PREPARE TO MEET THY GOD
32/46
跳舞小人歷險記
警察擔心兇手跳跑,Holmes說:「他等 會兒就自己過來了」 Holmes稍早早已寫了字條請兇手過來
明文=? 利用統計方式,分析字母出現頻率
H 5.83 F 3.33 B 1.67 C 0.00
P 13.33
Z 11.67
S U O 8.33 8.33 7.50
D
E V X
5.00
5.00 4.17 4.17
W
Q T A
3.33
2.50 2.50 1.67
G
Y I J
1.67
1.67 0.83 0.83
COME HERE AT ONCE
33/46
跳舞小人歷險記
Abe Slaney到場即被逮捕,才道出他是 Elsie在Chicago的未婚夫。Elsie發現 Slaney
34/46
仿射密碼(Affine Cipher)
將字母轉換成數字(a=0, b=1, …, z=25) 加密:
C=E(M)=(aM+b) mod 26 a, b為整數,a必須與 26 互質
解密:
a
M=D(C)=a-1(C-b) mod 26
1 1 3 9 5 21 7 15 9 3 11 19 15 7 17 23 19 11 21 5 23 17 25 25 35/46
a-1
仿射密碼(Affine Cipher)
A與B事先協定好密鑰為 K=(3, 8) (M) = (3M+8) mod 26
摘自福爾摩斯(Sherlock Holmes) “the Adventure of the Dancing Men” 住在英國的Hilton Cubitt先生最近娶了美 國Chicago的Elsie Patrick Cubitt在花園發現一張畫有跳舞的小人字 條,Elsie一看,臉色大變
23/46