320 likes | 778 Views
密碼學. 黃胤誠. OUTLINE. 對稱與非 對稱加密系統 應用最廣泛的加密系統 ── RSA 日常生活應用實例 SSL 電子投票 量子密碼學. 對稱式系統. 一對私密金鑰 通常是函數與反函數(雙向函數) 容易破解. Private key. Private key. A. B. 非對稱加密系統. 兩把不同的鑰匙 單向函數的概念 私密金鑰 公開金鑰 知道公開金鑰無法在合理時間內求出私密金鑰. 加密系統. 使用對方的公開金鑰加密,只有對應的私密金鑰才能解密。. Public key B. Private key B. A. B.
E N D
密碼學 黃胤誠
OUTLINE • 對稱與非對稱加密系統 • 應用最廣泛的加密系統 ── RSA • 日常生活應用實例 • SSL • 電子投票 • 量子密碼學
對稱式系統 • 一對私密金鑰 • 通常是函數與反函數(雙向函數) • 容易破解 Private key Private key A B
非對稱加密系統 • 兩把不同的鑰匙 • 單向函數的概念 • 私密金鑰 • 公開金鑰 • 知道公開金鑰無法在合理時間內求出私密金鑰
加密系統 • 使用對方的公開金鑰加密,只有對應的私密金鑰才能解密。 Public key B Private key B A B Public key B ?
數位簽章 • 並不是為了隱藏訊息 • 反相操作: • 傳送者用secret key加密送出,接收者用public key解開。 Private key A Public key A A B
非對稱加密系統能達到秘密性和完整性 • 只有指定的接收者才能解開密文 • 經過加密解密的過程後,不會改變原文 • 每個人都能傳送密文,不知道是誰傳的 • 數位簽章能達到鑑定性、完整性和不可否認性 • 知道是什麼人傳的 • 每個人都能用傳送者的公開金鑰解開密文 • 同時達到秘密性、鑑定性、完整性和不可否認性?
混合式加密系統 Private Key A Public Key B A PrivateKey B Public Key A B
目前最常見的非對稱加密演算法 RSA
RSA • 由 Rivest, Shamir, Adleman 三位MIT學者公開演算法,並取得專利權 • 應用:電子商務交易 軟體及硬體認證 智慧卡(smart card)
RSA - 原理 • 取兩個大質數 p, q • N = pq Φ=(p-1)(q-1) • 算出 N 和Φ就能把 p 和 q 丟棄 • 隨機產生 e • 找出 e 的乘法反元素 d, 也就是 ed = 1 mod Φ
RSA - 原理 (con’d) • Public key – (e, N) • Secret key – (d, N) • P是明文,C是密文 • 加密:C = Pe mod N • 解密:P = Cd mod N = Ped mod N = P1 mod N • 即使有e仍然無法在合理時間解出P!
RSA 原理 (con’d) • 大質因數分解相當困難 • 只要p、q不差太多也不差太少 • 在合理的時間內無法解出 • RSA 目前還是相當安全
知道了原理之後… 來賺錢吧!
RSA數 • RSA security 公司懸賞的大數分解問題 • N = pq • 目前最大的數為RSA-2048 懸賞金額 US$200,000
RSA – 640(193 decimal digits) (3107418240490043721350750035888567930037346022842727545 7201619488232064405180815045563468296717232867824379162 7283803341547107310850191954852900733772482278352574238 6454014691736602477652346609) = (1634733645809253848443133883865090859841783670033092312 181110852389333100104508151212118167511579) * (1900871281664822113126851573935413975471896789968515493 666638539088027103802104498957191261465571)
網路資料保密-SSL • SSL ( Security Socket Layer ) • 由 Netscape 提出的資料保密協定 • 可動態選擇加密的演算法(例如RSA) • 提供保密和認證功能
SSL (con’d) • 左圖為一般的 TCP/IP 架構,右圖則加入了一層SSL。 • 由應用層送出的資訊經SSL加密後,再送到傳輸層傳送。 • 而接收端接到傳輸層的封包後,先經由SSL解密後,再傳到應用層。
SSL (con’d) A B 可選擇的演算法 得到演算法清單 確認演算法 決定演算法 得到公開金鑰 (B) 送出公開金鑰 (B) 送出公開金鑰 (A) 得到公開金鑰 (A) 隨機做出私密金鑰 以B的公開金鑰加密 收到私密金鑰 以A的公開金鑰加密 送出確認訊息 以私密金鑰進行安全的傳輸
身處電機系… • 走在科技的尖端 • 系學會長選舉電子化 !! • 在網路上就能投票? • 公正?安全?
電 子 投 票 傳 統 • 需滿足以下特性 • 合法性 • 隱私性 • 不可重複性 • 公正性 • 完整性 • 正確性 • 可驗證性 • 強固性
電子投票 (con’d) • 機制相當複雜 • 目前研究出有許多理論都能達到上述要求 • 遲早會來的
現今相當熱門的研究主題 量子密碼學
量子電腦 • 量子物理被引入計算理論 • 未來可能發展出的量子電腦,擁有超強平行運算能力,效率大躍進 • 能夠輕易求解困難的數學問題 • 使用數學作為加密金鑰的方法不再安全
量子密碼學 • 因應對策-量子密碼學 • 不使用數學函式作為金鑰 • 使用量子物理的原理加密 • 比現在的密碼系碼更安全 • 問題的難度更困難
量子密碼學 (con’d) • 利用光子偏振方向原理 • 一旦竊聽就會改變偏振方向 • 合法的接收者能發現是否被竊聽
參考資料 • 張真誠,韓亮,賴溪松,近代密碼學及其應用,松崗出版社,1998 • http://www.rsasecurity.com/rsalabs/node.asp?id=2093 • http://www.cs.nctu.edu.tw/~rjchen/crypto/chap5.ppt • http://www.sciam.com.tw/read/readshow.asp?FDocNo=621&DocNo=997