Presentation is loading. Please wait.

Presentation is loading. Please wait.

公開鑰匙加密演算法 密碼學大革命 public key所想要解決的問題 public key密碼系統特性

Similar presentations


Presentation on theme: "公開鑰匙加密演算法 密碼學大革命 public key所想要解決的問題 public key密碼系統特性"— Presentation transcript:

1 公開鑰匙加密演算法 密碼學大革命 public key所想要解決的問題 public key密碼系統特性
RSA演算法 key管理

2 密碼學大革命 密碼理論兩大革命 幾個錯誤的觀念 旋轉加解密機:擺脫手工加解密的束縛,可以使用 複雜的加解密方法。
Public Key方法:擺脫取代和重排的方法,且使用 兩把不對稱的key。 幾個錯誤的觀念 public key比傳統加密法更安全(事實上這跟key 長度與破密的計算量有關) public key可以淘汰傳統加密法(因為計算量太大, 所以不適合大量的保密工作) public key會讓key交換變成非常簡單(不一定如 此)

3 public key所想要解決的問題 解決key分送的問題:KDC可能成為密碼系統的大漏 洞,可否不透過KDC交換key。
解決數位簽章的問題:如何可以確定某份文件就是某 個人發出來的?

4 public key密碼系統特性 用一把key來加密,用另一把不同但相關的key來解密。 知道加密演算法與加密key,無法求出解密的key。
RSA演算法則具備兩把key中的任一把都可以拿來加密, 而用另一把解密。 因為取得公開key不能算出私密的key,所以只要用公開 key能夠解開密文,就表示加密的人擁有私密的key(可 以用來身份確認)。參考運作模型三 不過如果要身份確認,就必須保存密文全文,太過浪費空間。 通常會將本文用雜湊函數所產生的一段資料拿來做簽章。

5 與傳統加密法的比較 public key加密法的運作要求 傳統加密法的運作要求
2.不能或很難在沒有其他資料的情況下解密 3.對於演算法、密文與其中一把key的資料必須不足以找出另一把key 傳統加密法的保密要求 1.key必須保密 2.不能或很難在沒有其他資料的情況下解密 3.對於演算法與密文的知識必須不足以找出key

6 public key密碼系統運作模型(一)
KEYa KEYb KEYc KEYd Public KEYb Private KEYb Encryption Algorithm (e.q. RSA) Decryption Algorithm (reverse of encryption algorithm) 傳送用的密文 Plaintext 明文 Plaintext 明文 A B

7 public key密碼系統運作模型(二)
安全性模型 X 意圖 破密者 KRb 加密演算法 解密演算法 信息 來源 X Y X 收信端 A 保密密碼 KRb B 加密密碼 KUb 密碼對 來源

8 public key密碼系統運作模型(三)
確認性模型 但不安全 X 意圖 破密者 KRb 加密演算法 解密演算法 信息 來源 X Y X 收信端 B A 保密密碼 KUa 加密密碼 KRa 密碼對 來源

9 public key密碼系統運作模型(四)
又安全又可以身份確認 X 加密 演算法 加密 演算法 解密 演算法 解密 演算法 信息 來源 Z Y X Y 收信端 KRb A KUb B KUa KRa 密碼對 來源 密碼對 來源

10 RSA演算法(一) 1977年由Ron Rivest, Adi Shamir和Len Adleman發展出來。
是一個區段加密法 key的長度如果要阻止暴力破解法,計算速度就 會太慢,難以用在一般的傳輸加密中。 基本原理 保密區段是k個位元,2k<n<2k+1,明文區段M,密文區 段C C=Me mod n M=Cd mod n=Med mod n Med mod n=M必須成 立 由e n算出d必須很困難

11 RSA演算法(二) Mk(p-1)(q-1)+1=M mod n d=e-1 mod (p-1)(q-1) 所以RSA機制如下
如果有兩個質數p q, n=pq,k是任意正整數 Mk(p-1)(q-1)+1=M mod n 也就是 ed=k(p-1)(q-1)+1 d=e-1 mod (p-1)(q-1) 但d,e必須與 (p-1)(q-1)互質 所以RSA機制如下 選定 p q兩質數,n=pq 選定與(p-1)(q-1)互質的e 私密key就是{dn} 公開key就是{en} 公開 私密

12 RSA演算法(三) 找大質數(其實多半是測試亂數值是否是質數),計算 最大公因數,是RSA產生key的重要運算。
目前RSA的key長度應該定在 bit間比較合理。 其他注意事項如下: p,q長度不可差異太大 p-1與q-1 都應含有一個很大的質因數 p-q與q-1的最大公因數應該要很小

13 key管理(一) public key的分送
直接公開散佈:駭客可以冒名散發public key(說他 自己的public key是某某人的public key) 利用key管理中心來負責維護、分送。使用者註冊 public key時是透過安全的通訊方式。 使用憑證 certificate(這是目前比較常用的方法)

14 key管理(二) CA=EKRauth[T,IDA,KUa] public key憑證的要求:
任何使用者可以讀取憑證來取得擁有者的名稱 (IDA) 與 public key(KUa) 任何使用者可以檢查憑證是否由憑證管理中心發出 只有憑證管理中心可以產生並更新憑證 任何使用者都可以檢查憑證的有效期限(T) CA=EKRauth[T,IDA,KUa] KRauth是憑證管理中心的Private key。使用者可 以透過管理中心的Public key來解密取得資料, 且認證這是來自管理中心的憑證

15 key管理(三) 可以利用運作模型四的方法來傳送傳統加密法的 session key,達成保密與確認的要求。真正傳 送大量資料時,則使用傳統加密法配合該 session key來運作。 橢圓曲線(Elliptic Curve)密碼學:因為用比較短 的key就可以達成與RSA相當的安全性,所以 最近開始受注意。


Download ppt "公開鑰匙加密演算法 密碼學大革命 public key所想要解決的問題 public key密碼系統特性"

Similar presentations


Ads by Google