第第第 第第第第第第 第第第 第第第第第第 第第第第 第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第第 第第第第第第第 , 第第 第第第第第第第第第第 。 Internet 第第第第第第第第第第第第第第第第第 第第第第 一, 第第第第第第第第第。
第五章 公開金鑰系統第五章 公開金鑰系統
課前指引現階段的著名資訊與網路安全演算法所使用的密碼機制則大都以數論為安全理論的基礎,尤其是公開金鑰系統。公開金鑰系統已是現在 Internet公開金鑰基礎建設發展中的重要核心之一,值得讀者探索並加以推廣應用。
章節大綱
備註:可依進度點選小節
5-1 公開金鑰密碼系統 5-2 數位簽章
5-3 密碼分析模式 5-4 結語
3
Diffie 與 Hellman提出的公開金鑰密碼系統 (Public-Key Cryptosystem)概念:若數學上的單向暗門函數 (One-way Trapdoor Function)存在,則任何單向暗門函數F 均可用來設計公開金鑰密碼系統。
5-1 公開金鑰密碼系統
4
公開金鑰密碼系統的優點加密金鑰可以公開 可以達到不可否認性 金鑰分配及管理方便
5-1 公開金鑰密碼系統
5
基礎公開金鑰系統 ( 一 ) Diffie and Hellman (DH) 公開金鑰系統
5-1 公開金鑰密碼系統
B
: ,條件令存在一個大質數 與一個生成數 。
: 設定使用者 擁有一組金鑰 , 為自選,而 ;
B ( ), 使用者 亦有一組 為私鑰 為公鑰。
:1.加密 利用 的公鑰與自己的私鑰造成一共同加密金鑰 ,並對資料進行加密。
2. 密文
:1.U解密 利
- {0}( , ) mod
, ,
( ) mod , ( ) mod
A
A AB
p
xA A A A A
B B B B
A B ABx K
AB B
p g z
U x y x y g px y x y
U U KK y p C M p
gAU Z用 的公鑰與自己的私鑰造成一共同的解密金鑰 ,並對資料進行解密。
2. , ,明文 其中 須滿足( ) mod ( ) mod 1modBx wAB AZ y p M C p Z w p
6
基礎公開金鑰系統 ( 二 ) RSA (Rivest, Shamir and Adleman’s Scheme)
RSA是 Rivest, Shamir及 Adleman 三位學者在西元 1978年共同提出的數學演算法,其是基於大型因數分解的困難性做為單向暗門函數
5-1 公開金鑰密碼系統
g
條件 若存在二個大質數 計算
計算尤拉數 指小於 但與 互質的正整數個數計算二整數 使得
:設定使用者 金鑰 使用者 金鑰
n=p*q p q ,安全度 的安全度是基於大整數 中的 與 是大質數不易被分解出來。
:規約使
: , 1. * 2. ( ) ( - 1)( - 1), ( ) 3. , 1mod ( )
( , , ) , ( , , ):
A A A A B B B B
p qn p q
n p q n n ne d e d n
U n e d U n e dRSA
B
用者 以 做為私鑰 做為公鑰。
C U加密 使用者 傳送密文 給使用者 。
M解密 使用者 收到密文,並還原成明文 。
( , ) ,: ( ) mod: ( ) mod
B
B
A A A Ae
A Bd
B B
U n e d
U C M n
U M C n
7
RSA系統定理給定 e , d , M 使得 ed mod (n) = 1, M [0, n -1] , gcd(M,n) = 1,則 (Me mod n)d mod n = M 。
1.(M e mod n) d mod n = M ed mod n 。 2.ed mod (n) = 1 ed = t (n) + 1 。 藉由 (1)與 (2) 可導出關係如下 :Med mod n = Mt(n)+1 mod n = M *Mt(n) mod n = M *(Mt(n) mod n) mod n
= M
5-1 公開金鑰密碼系統
8
ElGamal公開金鑰密碼系統1984被學者 ElGamal所提出,並在爾後在數位簽章的研究與應用上發揮極大的影響。 做法說明如下:A傳送訊息 M 給 B加密: 1.A選擇 1 個隨機數 rZp ;
2.計算一個使用金鑰 k=(yBr) mod p
3.產生一組 (C1,C2)4.傳送解密:
5-1 公開金鑰密碼系統
的公開金鑰使用者的公開金鑰使用者的祕密金鑰使用者的祕密金鑰使用者
一個大質數一個生成數
ByAyBxAx
pg
B
A
B
A
::::
(Prime):)(Generator:
pgypgy
B
A
xB
xA
modmod
pmkcpgc r
modmod
2
1
.mod
modmodmod
modmodmod
1
2
1
2
1
2
1
2
1
1
mpmkk
pcypcpg
pcpgpccrB
rx
xrx
B
BB
9
數位簽章 (Digital Signature)對於通訊的雙方 ( 送方與收方 ) 需滿足三項需求 收方需能對送方所簽署的訊息進行驗證,以確定傳送源的真實性。對於包含收方在內的任何人皆無法對送方所產生的簽署文件進行偽造。一旦在雙方在通訊上產生簽署訊息上的爭議,無法釐清送 / 收方的責任時,可由第三者的公正人( 機構 ) 解決簽署合法性的爭議。
5-2 數位簽章 ( 一 )
10
數位簽章應用在數位網路下,即可達到密碼系統所強調的多樣功能,諸如完整性 (Integrity)、鑑定性(Authentication)、不可否認性(Non-repudiation),另亦要求不可偽造性 (Unforgeablility )
5-2 數位簽章 ( 一 )
11
訊息 M 以 RSA與 DSA的簽章處理流程RSA簽章
5-2 數位簽章 ( 二 )
( )送方 簽章者 : MAd
E )( MHEMAd
即送出
( )收方 驗證者 :
M MHESAd
H
AeD
比對
Yes( )接受
No( )拒絕相同
H
12
DSA簽章5-2 數位簽章 ( 三 )
( )送方 簽章者 : M 簽章處理r,s ),( srM
送出
( )收方 驗證者 :
M sr,
H
比對
Yes( )接受
No( )拒絕
H
簽章
r s
驗證 判斷相同與否
13
盲簽章倘使簽章者並不知道所簽署內容,仍可進行簽章,此種形式簽章稱為盲簽章( Blind Signature)。在一般性的數位簽章裡,簽章者事先得知道所簽署的文件內容。在盲簽章裡,一般要求兩項訴求 : 第一為簽章者可不知所簽署文件 / 訊息之內容 ; 第二為當資料所簽署的資料公布時,無法關連簽章者與文件的關係。條件: RSA 的相關參數 n, p, q, e, d , 其中 n=pq, e與 d 互為反元素。通訊的雙方為 Alice 與 Bob, Alice 將送訊息 M 給 Bob, 過程以盲簽章處理。
5-2 數位簽章 ( 四 )
14
協定:Alice: 選擇訊息 M 與亂數 r , 並計算 S=M *re mod n 。Alice: 傳送 S 給 Bob。Bob: 計算 U=Sd mod n (i.e. Md *r mod n) , Bob 將 U 送給 Alice。Alice:計算 V=r-1*U mod n (i.e. Md mod n) 。Alice:進行驗證比對 Ve=? M 。
5-2 數位簽章 ( 四 )
15
攻擊方式密文攻擊 (Ciphertext-only Attack) :
由給定的 n 組密文,可推導出金鑰 k ,或者可由密碼演算法中,藉由密文與明文的關係,得到明文。 已知明文攻擊 (Known-plaintext Attack) 由給定的 n 組明文,可推導出金鑰 k ,或者可由密碼演算法中,藉由密文與明文的關係,得到密文。
5-3 密碼分析模式
16
選擇明文攻擊 (Chosen-plaintext Attack) :破密者自行選擇適當的明文以推導出金鑰 k ,或者可由密碼演算法中,藉由密文與明文的關係,得到明文。選擇密文攻擊 (Chosen-ciphertext
Attack)依據可選定的密文所形成的配對,可推導出金鑰k 。
5-3 密碼分析模式
17
本章介紹公開金鑰系統 / 非對稱式的金鑰系統,諸如 DH/RSA/ECC/ElGamal 等為現在各科技應用領域關於資訊與網路安全安全考量的主要技術。 DH/RSA用於電子商務安全, ECC用於無線通訊安全, ElGamal用於數位簽章機制的改良與應用,在在都凸顯新世紀資訊科技安全得依賴優良密碼機制的技術研發才得以保障資料得隱私與訊息傳遞的真實性。
5-4 結論
18
Q&A討論時間
本章結束