230 likes | 331 Views
所以我們需要 密碼學 …. 每個人都有秘密 …. 安俐的體重. OUTLINE. 密碼元件與架構 對稱式 非對稱式 混合式 結語. 密碼元件與架構. 明文 (M)-- 實際資料 不必是 ASCII 文字;它可以是任何類型的未加密資料。 密文 (C)— 加密後的消息. 'C = E(M)' 加密. M. C. 解密 'M = D(C)'. M = D(E(M)). E 是一把加密的鑰匙 D 是一把解密的鑰匙. 傳統密鑰系統 -- 對稱密碼學 (Symmetric Key) Example1,2 簡單的取代與重組 DES
E N D
所以我們需要 密碼學…. 每個人都有秘密….. 安俐的體重
OUTLINE • 密碼元件與架構 • 對稱式 • 非對稱式 • 混合式 • 結語
明文(M)--實際資料 不必是 ASCII 文字;它可以是任何類型的未加密資料。 密文(C)—加密後的消息 'C = E(M)' 加密 M C 解密'M = D(C)' M = D(E(M)) E是一把加密的鑰匙 D是一把解密的鑰匙
傳統密鑰系統--對稱密碼學(Symmetric Key) • Example1,2 簡單的取代與重組 • DES • 現代公開密鑰系統—非對稱密碼學(Asymmetric Key) • RSA • 混合式密鑰系統
(對稱式)Symmetric Key: EX:DES,IDEA,…… 定義:如果在一個密碼系統中,對每一對鑰匙(e,d),只要知道其中一把d(或e),即可經由簡易計算求出另一把e(或d).
Example 1:傳統密碼系統—取代其中加密的密鑰E是”3”,而解密的密鑰D是”-3”
Example 2:傳統密碼系統—重排其中加密的密鑰E是”4-2-1-3”,而解密的密鑰D是3-2-4-1”
DES(Data Encryption Standard) 1.每種現代對稱加密演算法都在兩種基本運算中尋找工作方式:擴散(diffusion)和替換(substitution)。 2.XOR如果我們有 Cb = Pb XOR Kb,那麼就自動知道 Pb = Cb XOR Kb。 3.屬區塊加密法 金鑰區 Ri=Li-1XOR f(Ri-1,Ki,); Li=Ri-1 i =1,2,…16 L塊 R塊 64位元區塊
(對稱式)Symmetric Key 缺點 1.鑰匙分配問題— 如何跟不認識的人交換鑰匙? A和B換鑰匙時可能被C騙走. 2.太多鑰匙— 假如網路中有n人,兩人打一式兩把,則每人要有(n-1)把鑰匙,網上有n(n-1)/2把鑰匙. 3.無法達到不可否認性 因為兩邊有一樣的鑰匙,接收方可以捏造發送方的訊息,發送方亦可否認送出的訊息.
定義:一個密碼系統,若對每一對鑰匙(e,d),其中加密鑰e可公開,稱為public key;解密鑰d保密,稱為private key;d不可能經由e計算而得. 每個人有兩把鑰匙: k-priv 為“私鑰”, 只有自己知道. k-pub 為“公鑰”,任何人皆可取得. M = D{k-priv}(E{k-pub}(M)) 不用跟別人分享秘密了!! (非對稱性)Asymmetric Key: EX:RSA,Rabin,迷袋,McEliece,機率式…… 觀念:單純的鎖上不一定要鑰匙!!
Case 1--密碼系統(任何人用公鑰加鎖,我用私鑰解開) 只有我看的到!!秘密性
Case 2 我用私鑰加鎖(簽章),任何人可用公鑰解開(驗證): 解的開就證明是我本人!數位簽署(Digital Signature) :可確認性和不可抵賴性
RSA —建立在對大質數難以因數分解 • 「用兩個很大的質數,p 和 q,計算它們的乘積 n = pq;n 是模數。選擇一個比 n 小的數 e,它與 (p - 1)(q - 1) 互為質數,即,除了 1 以外,e 和 (p - 1)(q - 1) 沒有其它的公因數。找到另一個數 d,使 (ed - 1) 能被 (p - 1)(q - 1) 整除。值 e 和 d 分別稱為公共指數和私有指數。公開金鑰是這一對數 (n, e);私密金鑰是這一對數 (n, d)。」 • P,q最好same order,相差不遠
(非對稱式)Asymmetric Key 優點:1.達到秘密性 2.網上每人只需要一把Public Key和一把 Private Key 3.數位簽署確保資料的鑑定性,完整性,和不可否認性 缺點:加解密運算複雜,速度緩慢.
單向函數 EX:密碼雜湊 特點:1.計算容易,但反向計算幾不可行。 EX:將擠出的牙膏弄回管子�要比把牙膏擠出來困難得多。 2.輸入只要差一點點,就會產生完全不同的輸 出. 3.接收長消息並產生相對簡短的輸出. 用途:允許作出關於消息的抽像宣告而不必實際揭示 消息本身
混合型密碼系統—集大成的運用 1.認證我的數位簽名 • 我對明文訊息應用一個適當的處理,以生成一個用作 訊息摘要的雜湊值。 • 我用我的私密金鑰加密這個摘要,而不是訊息本身,向任何可以用我的公開金鑰解密它的人確認訊息是我發出的。 2.加密我欲傳送的內文 • 我生成一個一次性使用的對稱性秘密金鑰,用來迅速加密訊息純文字。 3.秘密的送到他手上 • 我使用接收方的公開金鑰加密這個金鑰並將整個包傳送給他。
結語: • 理論上密鑰長度越長越安全,但計算也更為繁瑣. --你願意把一百塊存在十萬元的保險箱嗎? • 模糊性不等於安全性. • --當敵方也完全知道加密演算法時仍難以破解才行 • 假如有無限的時間,任何密碼都可被破解.所以安全指的 • 是“相對而言不可能”被破解. • 傳送的過程如果有一部分是不保密的,全部都不保密了. • --如果你下雨天從後門走到系館時有撐傘,從系館走到 • 大門沒撐傘,最後你還是被淋濕了.
參考資料來源: http://www2.tw.ibm.com/developerWorks/tutorial/ http://dado.thu.edu.tw/ http://www.imwar.2u.com.tw/O-4-12-3.htm http://www.pcnet.idv.tw/pcnet/network/network_enscp.htm http://sna.csie.ndhu.edu.tw/~cnyang/RecentCrypto/ 近代密碼學及其應用-------------賴溪松,韓亮,張真誠 著 特別感謝助教慷慨借書及大力指導 Thanks for your attending!