Enigma ABC encode decode Morse code Morse code
Enigma 原理(訊息未加密) ABC 訊息 encode . - -. . . -. -. decode Morse code 攔截並解碼 Morse code sounder ABC 訊息 ABC
Enigma 原理(訊息已加密) KQX ABC 明文 密文 encode -. - -. . Morse code Enigma加密 ABC 明文 KQX Enigma解密 密文 decode
Enigma 構造 反射器(Reflector) 滾輪(rotor) 燈泡(lamp) 按鍵(keyboard) 接線板(stecker, plug board)
滾輪 In: 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 Rotor I Out: E K M F L G D Q V Z N T O W Y H X U S P A I B R C J In: 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 Rotor II Out: A J D K S I R U X B L H W T M C Q G Z N P Y F V O E In: 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 Rotor III Out: B D F H J L C P R T X V Z N Y E I W G A K M U S Q O Reflector In: 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 Out: Y R U H Q S L D P X N G O K M I E B F Z C W V J A T
Enigma 圖集 • 製於 1944年,德軍懷疑 3 -rotor的Enigma被破解, 因此製造 4 -rotor Enigma
Enigma 圖集 • Enigma上觀圖
Enigma 圖集 • Plug-board近照
Enigma 圖集 • Plug-board近照
Enigma 圖集
Enigma 圖集
Enigma 圖集
竊取Enigma事蹟 • 1941年 5月9日,由Joe船長佔領德軍 U-110,並取走船上的 Enigma Captain Joe Baker-Cresswell (1902 -1997)
竊取Enigma事蹟 I still wake up at night fifty-six years later to find myself going down that ladder. David Balme
波蘭嚐試破解Enigma • 早在 1932年,波蘭便開始研究Enigma如何破解 o Marian Rejewski等人已可破解Enigma,並製造 Bomba 加快破解 速度 Marian Rejewski Jerzy Rozycki Henryk Zygalski
Bomba
Initial code breaker – Marian Rejewski • 德軍將金鑰藏在前2組的3碼字母中 DMQ VBN QBLTW LDAHH YEOEF PTWYB LENDP MKOXL DFAMU DWIJD XRJZ • 搜集更多密文,可得到許多金鑰組 PUC FMQ VON PUY DMQ VBN
Bletchley Park • http: //www. bletchleypark. org. uk/
Alan Turing • Alan Mathison Turing, 1912~1954 • 英國數學家
破解Enigma E w e T t W
Bombe
Enigma 模擬器練習 • 請下載: o http: //entry. hust. edu. tw/~chhuang/952 -is/files/Enigma. Sim. zip • 試解密: 題別 密碼 1 接線 滾輪順序 滾輪微調 滾輪初始位置 QXF JI RSXC VWBR GZ GPNTC O-R B-L Y-Z 4 -5 -1 1 4 25 G Q P 2 FBWVSZX RRZQJ PPAQHY BQUP HFYWW G-Q W-P T-X 2 3 1 15 5 3 A Q P 3 UNF ILSRM OJWA XD UUBC U-I M-A N-G 1 3 5 1 2 3 Z B W 4 C BFA IKJ WGLS IY V NHTW B-L A-V E-H U-N 3 -2 -1 23 22 20 R O X 5 Q XTTN OTUIIV DW VFTF JVGRHKGGR H-S I-U P-N 1 2 3 3 5 19 X C Y 6 WFQHXJ XRCW ALNS L-H W-X M-N EMWHPL MM UXVBW TWJZKG 5 4 3 22 20 12 U B Z 7 GIF ZI PTGK LPDM UAMW QKBJ X-Y H-P B-L 3 2 1 14 17 4 M O W 8 R THSVUP TE CMUM DH D CUNSHN RYEYRP E-X H-Y T-Z 2 5 3 2 15 8 U G W 9 F XEZWIC HE AUXJ XMWFK QDLT V-A X-I N-U 5 3 1 10 8 3 R P Q 10 F TBX HTVFO VYCQSD OSIIX CQKP I-V X-U K-J 4 1 2 1 8 18 Z M Y
對稱式加密系統 • 加密程序 C = EK(P) o P 為明文(Plaintext)訊息 o K 為金鑰(Key) o E 為加密演算法(Encrypt algorithm) o C 為密文(Ciphertext) • 解密程序 P = DK(C) o D 為解密演算法(Decrypt algorithm) 72/46
暴力破解 金鑰長度 (bit) 可能的金鑰數 費時 每微秒測試一次 32 232=4. 3*109 2. 15毫秒 56 256=7. 2*1016 10. 01小時 128 2128=3. 4*1038 5. 4*1018年 秒=1000毫秒=1000000微秒 76/46
Polybius Square • Polybius (201 BC~120 BC)希 臘人,發明一 5 x 5 方格加密,將字母轉 換成數字。 o 先取得列號,再取得 欄號 o “TAIWAN” o o “ 441124521133” 1 2 3 4 5 1 A B C D E 2 F G H I/J K 3 L M N O P 4 Q R S T U 5 V W X Y Z 82/46
凱撒加密法 • 將每一字母設定為數字(A=0, B=1…) • 加密方法 o C=E(P)=(P + 3) mod 26 • 解密方法 o 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 84/46 25
凱撒加密法暴力破解 密文 o PHHW PH DIWHU WKH WRJD SDUWB o oggv og chvgt vjg vgic rctva k=1 o nffu nf bgufs uif uphb qbsuz k=2 k=3 o meet me after the toga party o ldds ld zesdq sgd snfz ozqsx o kccr kc ydrcp rfc rmey nyprw k=4 o jbbq jb xcqbo qeb qldx mxoqv k=5 : o qiix qi ejxiv xli xske tevxc k=6 k=25 86/46
破解Mono alphabetic • 密文 o UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ • 明文=? • 利用統計方式,分析字母出現頻率 P 13. 33 H 5. 83 F 3. 33 B 1. 67 C 0. 00 Z 11. 67 D 5. 00 W 3. 33 G 1. 67 L 0. 00 S 8. 33 E 5. 00 Q 2. 50 Y 1. 67 K 0. 00 U 8. 33 V 4. 17 T 2. 50 I 0. 83 N 0. 00 O 7. 50 X 4. 17 A 1. 67 J 0. 83 R 0. 00 M 6. 67 89/46
破解Mono alphabetic o 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 o 逐一測試解密: o it was disclosed yesterday that several informal but direct contacts have been made with political representatives of the viet cong in moscow 91/46
跳舞小人歷險記 • 摘自福爾摩斯(Sherlock Holmes) “the Adventure of the Dancing Men” • 住在英國的Hilton Cubitt先生最近娶了美國Chicago的Elsie Patrick • Cubitt在花園發現一張畫有跳舞的小人字條,Elsie一看, 臉色大變 92/46
跳舞小人歷險記 • 最後一張 o ELSIE _RE_ARE TO MEET THY GO_ o ELSIE PREPARE TO MEET THY GOD 101/46
仿射密碼(Affine Cipher) • 將字母轉換成數字(a=0, b=1, …, z=25) • 加密: o C=E(M)=(a. M+b) mod 26 o a, b為整數,a必須與 26 互質 • 解密: o M=D(C)=a-1(C-b) mod 26 a 1 3 5 7 9 11 15 17 19 21 23 25 a-1 1 9 21 15 3 19 7 23 11 5 17 25 104/46
仿射密碼(Affine Cipher) • “HIT” “DGN” (3, 6, 13) • 解密: o 9(3 – 8) mod 26 = 7 “H” o 9(6 – 8) mod 26 = 8 “I” o 9(13 – 8) mod 26 = 19 “T” 106/46
仿射密碼(Affine Cipher) • 課堂練習 o C=E(M)=(a. M+b) mod 26 o K = (7, 4) o M = “HIT” (7, 8, 19) o C=? o M=D(C)=a-1(C-b) mod 26 107/46
Vigenère密碼 • 16世紀法國人Vigenère發展的多套字母替代法 (Polyalphabetic substitution) • 使用區塊加密 • 加密 o C=E(M)=M+k (mod 26) • 解密 o M=D(C)=C-k (mod 26) 108/46
Vigenère密碼 • 舉例 o 金鑰: “hsiuping” (7, 18, 8, 20, 15, 8, 13, 6) 明文 金鑰 密文 w e a r e f a m i l y 22 4 0 17 4 5 0 12 8 11 24 7 18 8 20 15 8 13 6 7 18 8 3 22 8 11 19 13 13 18 15 3 6 D W I L T N N S P D G 109/46
Hill 加密法 • 加密範例 o 明文為 “hsiuping” (7, 18, 8, 20, 15, 8, 13, 6) o Ek(M)= o “hsiuping” 加密成 “ZPCAXZUL” 112/46
Playfair加密法 • 金鑰: “HSIUPING” • 加密 “computer” o 兩兩一組 “co mp ut er” o “co” “GT” o “mp” “TH” o “ut” “PR” o “er” “KO” H S I/J U P N G A B C D E F K L M O Q R T V W X Y Z 118/46
Playfair加密法 • 課堂練習 o 密鑰: “PLAYFAIR” o 明文 “understood” o 密文? 119/46
RSA • 舉例 o 選定 p=17, q=11 o n=pq=17*11=187 o Φ(n)=(p-1)(q-1)=16*10=160 o 選出 e 與 Φ(n) 互質,且 e<Φ(n),e=7 o 計算 d,使得 de mod 160=1,d=23 124
RSA • 若明文 M = 88 o C = Me mod n= 887 mod 187 = 11 • 解密 o M = Cd mod n = 1123 mod 187 = 88 125
RSA安全分析 • RSA 663 -bit (200個十進位數字) o n= 279978339112213278708294676387226016210704467869554285375 600099293261284001076093456710529553608560618223519109513 657886371059544820065767750985805576135790987349501441788 63178946295187237869221823983 o p = 35324619344027701212726049781984643686711974001976250 23649303468776121253679423200058547956528088349 o q= 792586995447833303334708584148005968773797585736421996073 4330341455767872818152135381409304740185467 o 因式分解極為困難 130
RSA安全分析 • RSA 1024 -bit (309個十進位數字) o n= 13506641086599522334960321627880596993888147560 56670275244851438515265106048595338339402871505 71909441798207282164471551373680419703964191743 04649658927425623934102086438320211037295872576 23585096431105640735015081875106765946292055636 85529475213500852879416377328533906109750544334 999811150056977236890927563 o p=? o q=? o 獎金 100, 000 美金 131
破解RSA 155 -bit • 使用設備 o 160部 175 -400 MHz SGI and Sun workstations o 8部 250 MHz SGI Origin 2000 processors o 120部 300 -450 MHz Pentium II PCs o 4部 500 MHz Digital/Compaq boxes • 破解時間 o 1999年 3月17開始 o 1999年 8月22因式分解成功 132
RSA因式分解挑戰 Challenge Number Prize ($US) Status Submission Date Submitter(s) RSA-576 $10, 000 Factored December 3, 2003 J. Franke et al. RSA-640 $20, 000 Factored November 2, 2005 F. Bahr et al. RSA-704 $30, 000 Not Factored RSA-768 $50, 000 Not Factored RSA-896 $75, 000 Not Factored RSA-1024 $100, 000 Not Factored RSA-1536 $150, 000 Not Factored RSA-2048 $200, 000 Not Factored http: //www. rsasecurity. com/rsalabs/node. asp? id=2092 133
- Slides: 134