280 likes | 510 Views
密碼學概論. 電機四 b90901041 吳秉寰. OUTLINE. 何謂密碼學,為何需要它 密碼學基礎定義理論 對稱及非對稱式密碼系統的簡介與分析 常見的密碼系統 網路安全實例 (SSL 加密 ) 結論. 何謂密碼學 ?. 密碼學 (Cryptography). !~$@#%???. F**K YOU. 破密學 (Cryptanalysis). F**K YOU. 密碼學的應用. 機密通訊 軍事國防等重要機密文件 電子商務 私密訊息等等 登入服務的帳號密碼 總而言之,就是讓訊息只能讓特定的人取得,而他人無法輕易的得知。.
E N D
密碼學概論 電機四 b90901041 吳秉寰
OUTLINE • 何謂密碼學,為何需要它 • 密碼學基礎定義理論 • 對稱及非對稱式密碼系統的簡介與分析 • 常見的密碼系統 • 網路安全實例 (SSL加密) • 結論
密碼學(Cryptography) !~$@#%???
F**K YOU • 破密學(Cryptanalysis) F**K YOU
密碼學的應用 • 機密通訊 • 軍事國防等重要機密文件 • 電子商務 • 私密訊息等等 • 登入服務的帳號密碼 總而言之,就是讓訊息只能讓特定的人取得,而他人無法輕易的得知。
密碼系統提供之功能 • 秘密性 (Secret of Privacy) • 鑑定性 (Authenticity) • 完整性 (Integrity) • 不可否認性 (Nonrepudiation)
密碼學基礎簡介 • 流程
明文(M)--實際資料 任何類型的未加密資料。 密文(C)—加密後的消息 'C = E(M)' 加密 M C 解密'M = D(C)' M = D(E(M)) E是一把加密的鑰匙 D是一把解密的鑰匙
以函數例子說明 • 對稱 (反運算容易) y = x + 3 → x = y – 3 y = e^x →x = ln y • 非對稱 (反運算不易) y = anx^n + an-1x^(n-1) + …+ a0 → x = ? 1.051103774764883380737596422798e+1000 * 1.0763302653592405818752987369452e+1003 = bla (兩個大質數乘積) → bla = which two prime’s product ?
對稱式 VS 非對稱式密碼系統 • 對稱式 (秘密金鑰) DES、IDEA、RC2 、RC4…… • 非對稱式 (公開金鑰) RSA、DSA、Diffie-Hallman……
對稱式密碼系統 • 加密以及解密鑰匙可以互相推得(若加密鑰匙不幸外漏,則解密鑰匙等於一併外漏) ,故鑰匙分配需透過安全管道,又稱秘密金鑰。
對稱加密常見方法(傳統式) • 換位 (Transposition) ex : strike out while the iron is hot 相反順序 : tohsinoriehtelihwtuoekirts 先奇再偶 : srkothlternsotieuwiehioiht
對稱加密常見方法(Con’t) 路遊 編碼前 : Principles of CMOS VLSI 編碼後:csOisMenilCLVfprPioS
對稱加密常見方法(Con’t) • 替換 (Substitution) Shift right 3 : bohn is strong → erkq lv vwurqj Using Key : (π=3.1415 ) 314153141531.. bohn is strong → eplo nv txstqh
DES • 對稱加密系統美國數據加密標準DES(Data Encryption Standard)。1977年美國國家標準局正式公布實施了美國的數據加密標準DES,公開它的加密算法,並批準用非機密單位和商業上的保密通信。隨DES成為全世界使用最廣泛的加密標準。加密與解密的密鑰和流程是完全相同的,區別僅僅是加密與解密使用的子密鑰序列的施加順序剛好相反。但是,經過20多年的使用,已經發現DES很多不足之處,對DES的破解方法也日趨有效,但仍然無法完全徹底地破解DES,故DES仍堪稱為安全的系統。
優缺點比較 (對稱式) • 優點 : 保護資訊機密 鑑定發送方身分 確保資訊完整性 • 缺點 : 金鑰傳輸問題 鑰匙的數目太大 無法達到不可否認性
非對稱式密碼系統 • 相對於對稱式系統,又稱為公開金鑰密碼系統。鑰匙分有公開金鑰 (public key) 以及私有金鑰 (private key),這兩把鑰匙無法 (輕易地) 互相推得,其中private key 只有自己知道,public key 是公開的。任何人都可以利用public key 加密,而自己便可利用 private key 解密。
秘密性 : 公鑰加鎖,私鑰解開 可驗證 : 私鑰加密 (簽章),公鑰解開(驗證) B Private key B Public key A Private key A Public key B A
RSA • 金鑰產生 : 強質數因數分解對 任意選擇兩個大質數 p、q,求出其乘積pq。任意選擇一 e,使得 e 與 (p-1)(q-1)互質,再找到一 d,能使 (ed-1) 被 (p-1)(q-1)整除。則可以令 (n,e) 為公開金鑰,(n,d) 為私密金鑰。
混合式密碼系統 B Public key A Private key A B Private key A Public key B
同時達到秘密通訊與數位簽署 A 欲傳送資訊給 B • 數位簽署 A 以自己的 private key 加密,若 B 能以 A 的 public key 解開,則可驗證為 A 所發。 • 秘密通訊 A 以 B 的 public key 加密,B 以自己的 private key 解開(同前)。
優缺點比較 (非對稱) • 優點 資訊機密性高 (加密機制較嚴密) 鑰匙方便管理 (一公一私) 不可否認性 (數位簽署認證) • 缺點 運算複雜耗時長,速度慢
SSL(Secure Socket Layer)是Netscape所提出來的資料保密協定,採用了RC4、MD5,以及RSA等加密演算法。如果您想登入的網站具有SSL功能,而且您是使用較新版的瀏覽器,那麼您與網站之間所傳的資料都可以使用SSL協定來保密,除非能破解傳輸密碼,否則其他任何人都無法得到這些機密資料。 • 那SSL的密碼會被破解嗎?答案是『非常非常不容易』,而且保密鑰匙的長度(key-length)越長,安全度越高!由於美國的軟體出口限制,美加地區的瀏覽軟體是128-bit,而其他地區只有40-bit;而40-bit的key應該已經足以保障網路信用卡交易安全了。
SSL (Con’t) • 使用SSL 安全方法時,使用者產生一把對稱金鑰(session key),將待傳送的資料「加密」成亂碼,網站接收資料後再使用同一把對稱金鑰「解密」出原來的資料。為了將使用者產生的這一把加解密用的對稱金鑰安全地傳給伺服器,SSL 於使用者傳送這一把對稱金鑰前,先使用伺服器的公開金鑰(publickey)將對稱金鑰「加密」成亂碼,網站接收資料後再使用伺服器的私密金鑰(private key)「解密」出原來的對稱金鑰。
結論 • 加密過程越複雜,安全性更高,但相對的速度也越慢 (trade off) • 安全性 → 即使破祕者知道加密演算法,也無法輕易破解密文 • 沒有絕對破解不了的演算法 (假如有無限時間),只要相對安全即可 (10^16 年 ……) • 小心駛得萬年船 (不要輕易透露密碼……) (使用完畢記得登出……)