Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.

Slides:



Advertisements
Similar presentations
不定積分 不定積分的概念 不定積分的定義 16 不定積分的概念 16.1 不定積分的概念 以下是一些常用的積分公式。
Advertisements

變數與函數 大綱 : 對應關係 函數 函數值 顧震宇 台灣數位學習科技股份有限公司. 對應關係 蛋餅飯糰土司漢堡咖啡奶茶 25 元 30 元 25 元 35 元 25 元 20 元 顧震宇 老師 台灣數位學習科技股份有限公司 變數與函數 下表是早餐店價格表的一部分: 蛋餅 飯糰 土司 漢堡 咖啡 奶茶.
密碼學與網路安全 第2章 古典加密技術.
音樂之旅 第一冊 單元二 音名、唱名.
08 CSS 基本語法 8-1 CSS 的演進 8-2 CSS 樣式規則與選擇器 8-3 連結HTML 文件與CSS 樣式表
遞迴關係-爬樓梯.
認識倍數(一) 設計者:建功國小 盧建宏.
第四章 數列與級數 4-1 等差數列與級數 4-2 等比數列與級數 4-3 無窮等比級數 下一頁 總目錄.
日常生活的資訊安全 修平科技大學-資訊處-黃志雄.
基本程式範例.
常见农田杂草.
9/28號專題報告 Web網頁遊戲 曾建瑋.
2-3 基本數位邏輯處理※.
4B冊 認識公倍數和最小公倍數 公倍數和最小公倍數的關係.
第二讲:密码学与计算机安全 -----密码学历史
SQL Stored Procedure SQL 預存程序.
第十四單元 弧長與旋轉體的表面積.
MEDLINE with full text (EBSCO)
Wavelet transform 指導教授:鄭仁亮 學生:曹雅婷.
Chap3 Linked List 鏈結串列.
虎克定律與簡諧運動 教師:鄒春旺 日期:2007/10/8
密碼學 網多實驗第二組 B 翁秉義.
Topic Introduction—RMI
第二次電腦實習課 說明者:吳東陽 2003/10/07.
UpToDate Anywhere 設定方法
第一章 直角坐標系 1-3 函數圖形.
3.3 換位加密法 換位加密法並不是更換符號,而是改變符號的位置。 注意 換位加密法就是重新安排符號的順序。
數學 近似值 有效數值.
Definition of Trace Function
第一次Labview就上手 參考書籍: LabVIEW for Everyone (Jeffrey Travis/Jim Kring)
CH05. 選擇敘述.
大綱:加減法的化簡 乘除法的化簡 去括號法則 蘇奕君 台灣數位學習科技股份有限公司
Word – 排版 資訊教育.
3.3 換位加密法 換位加密法並不是更換符號,而是改變符號的位置。 注意 換位加密法就是重新安排符號的順序。
挑戰C++程式語言 ──第8章 進一步談字元與字串
如何使用Gene Ontology 網址:
算獨教學 范國祥製作 於新湖國小 算獨資料來源
數字獨樂樂 --數獨原來這麼簡單.
第七課 第一格變式的陽性名詞, 介詞.
中三生物科 生物的七個特徵.
淺淺談密碼學 2018/12/27.
資訊安全技術 課程簡介.
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
第二章 傳統對稱式金鑰加密.
MiRanda Java Interface v1.0的使用方法
10115: Automatic Editing ★★☆☆☆
12797: Letters ★★★☆☆ 題組:Problem Set Archive with Online Judge
認識英文字母『J』.
11058: Encoding ★☆☆☆☆ 題組:Problem Set Archive with Online Judge
Commando War ★★☆☆☆ 題組:Problem Set Archive with Online Judge
1-1 二元一次式運算.
10328: Coin Toss ★★★☆☆ 題組:Problem Set Archive with Online Judge
1757: Secret Chamber at Mount Rushmore
13194: DPA Number II ★★☆☆☆ 題組:Problem Set Archive with Online Judge
6.1 動畫檔案的格式 6.2 建立合適的動畫元素.
資料表示方法 資料儲存單位.
Quiz1 繳交期限: 9/28(四).
第一章 直角坐標系 1-3 函數及其圖形.
10599: Robots(II) ★★★★☆ 題組:Problem Set Archive with Online Judge
非負矩陣分解法介紹 報告者:李建德.
第十三章 彩色影像處理.
在直角坐標平面上兩點之間 的距離及平面圖形的面積
張仁俊 (Jen-Chun Chang) 國立台北大學 資訊工程學系 通訊工程研究所 電機工程研究所
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
Zotero_搞定中文、英文格式 中臺圖書館.
10303: How Many Trees? ★★☆☆☆ 題組:Contest Archive with Online Judge
Chapter 4 Multi-Threads (多執行緒).
11621 : Small Factors ★★☆☆☆ 題組:Problem Set Archive with Online Judge
7. 三角學的應用 正弦公式 餘弦公式 a2 = b2 + c2 - 2bc cos A b2 = a2 + c2 - 2ac cos B
第三章 比與比例式 3-1 比例式 3-2 連比例 3-3 正比與反比.
Presentation transcript:

Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown

第二章 – 古典加密技術 現今很多人都將自己的名字視為很重要的 一部份,並且會花很大的功夫來隱藏自己 的姓名,唯恐心術不正之輩用它來傷害自 己。 —The Golden Bough, Sir James George Frazer

對稱式加密 或 傳統 / 私密鑰匙 / 單一鑰匙 傳送者與接收者共享一把鑰匙 所有的傳統加密演算法都是私密鑰匙加密 法 在 1970 年代的公開鑰匙加密法發明之前, 這是唯一的加密方式

基本專有名詞 明文 plaintext – 原始訊息 密文 ciphertext – 編碼過的訊息 加密 cipher – 將明文轉換為密文的演算法 鑰匙 key – 只有傳送者與接受者才知道的加密用資訊 加密 encipher (encrypt) – 將明文轉為密文 解密 decipher (decrypt) – 將密文解開成明文 密碼學 cryptography – 研究加密的原理與方法 密碼破解 cryptanalysis (codebreaking) – 在不知道鑰匙 的情況下,研究破解密文的原理與方法 密碼技術 cryptology – 整合密碼學與密碼破解這兩個領 域

對稱式加密模型

必要條件 使用對稱式加密的兩個必要條件 : – 一個強固的加密演算法 – 只有傳送者與接收者才知道的一把秘密鑰匙 Y = E K (X) X = D K (Y) 假設加密演算法是已知的 意味著,需要一個分送鑰匙的安全管道

密碼學 可依下列觀點來分類: – 加密的方法 取代 / 置換 / 前兩者混用 – 鑰匙個數 單一鑰匙或私密鑰匙 / 雙鑰匙或公開鑰匙 – 明文的處理方式 區段 / 資料流

密碼破解的方式 只知道密文 – 只知道演算法與密文,利用統計方法來求出明文 已知明文 – 藉由已知或推測的明文 - 密文組合來破解 自選明文 – 藉由自選的明文與對應的密文來破解 自選密文 – 藉由自選的密文與對應明文的來破解 自選文字 – 藉由加密自選的明文或解開自選的密文來破解

暴力搜尋法 理論上可以嘗試所有的鑰匙 最基本的破解法,所需成本與鑰匙大小成正比 前提是,可以看懂或辨識明文

更多的定義 絕對安全 – 不論具備多少計算能力都無法破解,因為密文 本身提供的資訊不足以唯一決定其密文 計算上的安全 – 在計算能力有限的情況下(例如,計算所需的 時間比宇宙生成的時間還久),無法破解此密 文

古典取代加密法 將明文中的字元用其他的字元、數字或符 號來取代 如果我們將明文視為一連串的字元,那麼 取代就是將明文的字元樣式代換成密文的 字元樣式。

Caesar 加密法 我們所知道最早的取代加密法 由 Julius Caesar 所發展出來的 最早用在軍事單位 將每個字母用其後的第三個字母來取代 範例 : meet me after the toga party PHHW PH DIWHU WKH WRJD SDUWB

Caesar 加密法 可將轉換方式定義如下 : 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 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 指定一個數字給每個字元 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 則可將 Caesar 加密法定義如下 : C = E(p) = (p + k) mod (26) p = D(C) = (C – k) mod (26)

Caesar 加密法的破解方式 只有 26 種可能的加密方式 –A 對應到 A,B,..Z 可以逐一地測試 採用 暴力搜尋法 給定密文之後,只需測試所有可能的移位 距離 當明文出現時,必須可以辨識出來 例如,請破解密文 “GCUA VQ DTGCM”

Monoalphabetic 加密法 不只是單純對字元移位 可以任意地弄亂字元 每個明文字元都會隨機地對應到另一個密文字元 因此,鑰匙的長度就是 26 個字元 明文 : abcdefghijklmnopqrstuvwxyz 密文 : DKVQFIBJWPESCXHTMYAUOLRGZN 明文 : ifwewishtoreplaceletters 密文 : WIRFRWAJUHYFTSDVFSFUUFYA

Monoalphabetic 加密法的安全性 現在共有 26! = 4 x 1026 把鑰匙 有那麼多把鑰匙,該應該算是安全了 但是這樣想是 !!! 錯的 !!! 問題出在語言本身的特性

語言的贅詞與密碼破解的關係 人類的語言是充滿贅詞的 例如 “th lrd s m shphrd shll nt wnt” 字元的使用頻率並不均等 在英文中, e 的使用次數最高 其次是 T,R,N,I,O,A,S 其他字元其實很少用到 例如 Z,J,K,Q,X 單字元、雙字元以及三字元的出現頻率都已經有 現成的統計表格

英文字元的出現頻率

應用在密碼破解上 關鍵概念 - monoalphabetic 取代加密法並不會改 變字元間的相對出現頻率 阿拉伯科學家在九世紀時就已經發現這個破解法 計算密文的字元出現頻率 將結果與已知的頻率數值互相比對 如果針對 Caesar 加密法的統計圖形來找尋波峰 與波谷 – 波峰出現在 A-E-I 三字元, NO 雙字元, RST 三字元 – 波谷出現在 : JK, X-Z 如果是針對 monoalphabetic 加密法,就必須逐一 辨識每個字元 – 常用的雙字元與三字元統計表格可以幫助我們來破解

破解範例 給定密文 : UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ 計算字元相對頻率 ( 請見書中內文 ) 猜測 P 與 Z 就是 e 與 t 猜測 ZW 就是 th ,而 ZWP 就是 the 邊試邊改的情況下,最後可得 : it was disclosed yesterday that several informal but direct contacts have been made with political representatives of the vietcong in moscow

Playfair 加密法 即使像 monoalphabetic 加密法中那麼多的 鑰匙,也無法確保安全性 提升安全性的一個方法是:一次加密多個 字元 Playfair 加密法 就是一個例子 此法是 Charles Wheatstone 在 1854 年所 提出,但是以其朋友 Baron Playfair 的名字 來命名

Playfair 鑰匙矩陣 根據一個關鍵字來產生一個 5X5 階的字元矩陣 將關鍵字的字元填入矩陣中 ( 刪除重複字元 ) 將剩餘字原填入矩陣中 例如,使用關鍵字 MONARCHY MONAR CHYBD EFGIK LPQST UVWXZ

加密與解密 每次加密明文中的兩個字元 : 1. 如果這兩個字元一樣,則在其間插入一個 ‘X’ ,例如 “balloon” 變成 “ba lx lo on” 2. 如果這兩個字元落在矩陣中的同一列,則用它們右邊 的字元來取代它們 ( 把第一個字元當成是最後一個字 元的右邊字元 ) 。例如 “ar” 變成 “RM” 3. 如果這兩個字元落在矩陣中的同一行,則用它們下方 的字元來取代它們 ( 把第一個字元當成是最後一個字 元的下方字元 ) 。例如 “mu” 變成 “CM” 4. 在其他的情況下,每個字元都換成與它自己同一列, 但是與另一個字元同一行的那個字元。例如, “hs” 變成 “BP” , “ea” 變成 “IM” 或是 “JM” ( 由加密者自行 決定 ) 。

Playfair 加密法的安全性 比 monoalphabetic 安全許多 因為有 26 x 26 = 676 那麼多雙字元 表格中需要 676 個項目才足以分析 (monoalphabetic 的表格只需要 26 個項目 ) 相對地產生更多的密文 已經廣泛地使用許多年 ( 例如,第一次世界大戰時, 美軍與英軍都採用此法 ) 在給定幾百個字元的密文的情況下,此法仍可破 解 因為其中仍存有不少明文的結構

Polyalphabetic 加密法 另一個提升安全性的方法就是採用多重取 代法則 稱為 polyalphabetic 取代加密法 在具備多重取代法則與較一致的頻率分佈 的情況下,讓破解者更難得逞 藉由一把鑰匙來決定:每個明文字元在轉 換時,該選用那個取代法則 依序使用不同的取代法則 當遇到鑰匙結尾時,再重頭開始

Vigenère 加密法 最簡單的 polyalphabetic 取代加密法就是 Vigenère 加密法 其實就是多重 caesar 加密法 key 具備多個字元 K = k1 k2... kd 第 i 個字元決定第 i 次所使用的取代法則 逐一使用每個取代法則 在第 d 個字元之後,又從頭開始 以相反方式運算就可以解密

範例 寫下明文 在明文之上重複地寫下鑰匙 將每個鑰匙字元當成 caesar 加密法的鑰匙 加密相對應的明文字元 例如,使用關鍵字 deceptive 鑰匙 : deceptivedeceptivedeceptive 明文 : wearediscoveredsaveyourself 密文 : ZICVTWQNGRZGVTWAVZHCQYGLMGJ

Vigenère 加密法的安全性 每個明文字元可以對應到好幾個密文字元 因此字元頻率就被弭平了 但並未完全消除 從字元頻率著手 – 察看是否為 monoalphabetic 的頻率分佈 如果不是的話,就必須找出取代法的個數, 這樣就可以逐一求出

Kasiski 破解法 此法是由 Babbage / Kasiski 所發展出來的 重複的密文透露了週期的訊息 因此,找出距離間隔一樣的相同明文 當然其產生的密文也相同 當然,這可能是運氣好剛好一樣 例如,前一個範例中的 “VTW” 告訴我們關鍵字長度可能為 3 或 9 接下來,用先前提到的技巧來逐一破解 monoalphabetic 加密法

Autokey 加密法 理論上,希望鑰匙跟訊息一樣長 Vigenère 提出了 autokey 加密法 將關鍵字接在訊息前端,藉此形成鑰匙 如果知道關鍵字的話,就可以解開前幾個字元 根據這些解開的字元,就可以解開後續的所有字 元 但是仍舊殘存可供破解的頻率資訊 例如,給定鑰匙 deceptive 鑰匙 : deceptivewearediscoveredsav 明文 : wearediscoveredsaveyourself 密文 : ZICVTWQNGKZEIIGASXSTSLVVWLA

One-Time Pad 如果隨機鑰匙的長度真的跟訊息一樣,那麼這個 加密法就是安全的 此法稱為 One-Time pad 無法破解的原因是:密文與明文間沒有任何統計 上的關係 因為對 任意的明文 與 任意的密文之間, 都存在 一把對應彼此的鑰匙 一把鑰匙只能使用一次 但是如何安全地分送鑰匙,就是一個大問題

置換加密法 現在我們來看古典的置換與重排加密法 藉由重新安排字元的順序來隱藏訊息 並未換掉實際使用的字元 因為頻率分佈與原始文字一樣,所以仍可 破解

柵欄加密法 將明文寫成一連串的對角形式 然後一列一列地讀出 例如,將訊息寫成 : m e m a t r h t g p r y e t e f e t e o a a t 得到密文 MEMATRHTGPRYETEFETEOAAT

列置換加密法 一個較為複雜的機制 在行數固定的情況下,將訊息一列一列地寫下 然後在一列一列讀出之前,根據某把鑰匙來重排 行的順序 鑰匙 : 明文 : a t t a c k p o s t p o n e d u n t i l t w o a m x y z 密文 : TTNAAPTMTSUOAODWCOIXKNLYPETZ

混合式加密法 因為語言特性的關係,採用取代或置換加 密法並不安全 因此,我們可以採用一連串的加密法讓破 解更困難,但是 : – 取代兩次比取代一次複雜 – 置換兩次比置換一次複雜 – 但是取代之後再置換會更加複雜 這就是古典與當代加密法的橋樑

旋轉機 在當代加密法出現之前,旋轉機是最常用的混合 式加密法 旋轉機在第二次世界大戰時被廣泛地使用 –German Enigma, Allied Hagelin, Japanese Purple 是一個非常複雜,變化多端的取代加密法 使用一系列的轉軸,每個轉軸就是一個取代加密 法。每個字元加密後,這個轉軸都會旋轉一個刻 度來改變 三個轉軸的旋轉機就提供了 26 3 =17576 個取代法

資訊隱藏 加密的另一種選擇 將「訊息存在」這件事隱藏起來 – 利用某種方式將一個訊息中的部分字元標示起 來 – 利用不可視的墨水 – 利用影像或音效檔中的最低位元來隱藏訊息 缺點 – 用極高的成本來隱藏極少量的資訊位元

總結 我們已知道 : – 古典加密技巧與專有名詞 –monoalphabetic 取代加密法 – 利用字元頻率來破解密碼 –Playfair 加密法 –polyalphabetic 加密法 – 置換加密法 – 混合式加密法與旋轉機 – 資訊隱藏