對稱式密碼系統

Download Report

Transcript 對稱式密碼系統

Description of Symmetric
and Asymmetric
Encryption
Speaker: Johnny
Date: 2012-11-07
Outline
•
•
•
•
•
•
•
安全性程度
Symmetric Cryptosystem
Asymmetric Cryptosystem
Digital signature
DES
RSA
Reference
資訊安全服務
• 為了達到資訊安全目標和避免安全攻擊的安全服務標準已
經被制定,有五種常見的安全服務:資料機密性(data
confidentiality)、資料完整性(data integrity)、認證
(authentication)、不可否認性(nonrepudiation)及存取
控制(access control)。
密碼系統之安全性程度
• 無條件安全(Unconditionally Secure):
非法使用者不管擷取多少個密文,還是沒有足夠
資訊可以導出明文。
• 計算安全(Computationally Secure):
以目前或未來預測之技術,要破解密碼系統需要
一段相當長的時間。
Symmetric Cryptosystem
• 對稱式密碼系統:
在對稱金鑰密碼學中,加
密和解密使用相同的金鑰。
由於每對通訊方都必須使
用異於他組的金鑰,當成
員的數量增加時,金鑰數
量增加,將面臨金鑰管理
的難題。
Asymmetric Cryptosystem
• 非對稱式密碼系統:
加密與解密所使用的金鑰
不同,一把公開給所有人
知道,稱為公開金鑰
(Public Key) 。另一把則
自己隱密保管,稱為私密
金鑰(Secret Key)金鑰。
• 訊息傳送者必須使用接收
者對外開放之公開金鑰對
訊息進行加密。
• 接收者取得訊息後,使用
不對外公開之私密金鑰進
行解密
Digital signature
• 公開金鑰密碼系統除了可以
用來加密,以確保訊息的機
密性以外,更可以用來做數
位簽章
• 一般數位簽章具有下列功能:
– 鑑別性(Authentication):
可鑑別文件來源的合法性,
而非經他人偽造
– 完整性(Integrity):可確
保文件內容不會被新增或
篡改
– 不可否認性(Nonrepudiation):簽章者事
後無法否認曾簽署過此文
件
對稱式加密
非對稱式加密
key保管問題
如果與N個人交換訊息,
需保管好N把加解密鑰匙
無論與多少人交換訊息,
只需保管自己的私密鑰匙
加解密速度
快
慢
演算法
DES、 AES
RSA
其他名稱
祕密金鑰密碼系統
(Symmetric Encryption)
或稱為
單金鑰密碼系統
公開金鑰密碼系統
雙金鑰密碼系統
優點
較快速
沒有金鑰管理的問題
高安全性
有數位簽章功能
缺點
有金鑰管理的問題
傳送者與接收者雙方必須
找到一個安全交換秘密金
鑰的方法
加解密速度慢
DES(Data Encryption Standard)
回合金鑰產生運算過程
•
•
假設選定[science]作為秘密金鑰
[science]之ASCII編碼為:[ 73 63 69
65 6e 63 65]
•
一個字母需要8個位元來作編碼,
所以[science]
其二進位表示法為:
[(01110011) (01100011) (01101001)
(01100101) (01101110) (01100011)
(01100101)]共56個位元
•
•
•
•
加入奇同位檢查碼後之結果如下:
[ (01110011) (10110000) (11011010)
(00101100) (01010111) (01110011)
(10001100) (11001011) ]共64個位元
DES的金鑰排列表-KP 56
(01110011) (10110000) (11011010) (00101100) (01010111)
1
9
17
25
33
(01110011) (10001100) (11001011)
41
49
57
作初始金鑰排列(KP),其結果如下:
[(11000110) (10110101) (00101011) (00111011) (01010101)
(10001100) (11000111)]
(11000110) (10110101) (00101011) 0011
1011 (01010101) (10001100) (11000111)
接著,將排列後的結果分成兩半,分別為KL0及KR0,它們的內容分別為:
KL0=[11000110 10110101 00101011 0011]
KR0=[10110101 01011000 11001100 0111]
向左循環一位元之後可分別得到:
KL1=[10001101 01101010 01010110 0111]
KR1=[01101010 10110001 10011000 1111]
縮減排列表-CP 48
經過壓縮排列後(CP)後,就可得
到第一回合的回合金鑰K1:
K1=[ 00101101 11011000
11001110 00110111 01111111
01000000]
DES加密流程
•
•
•
將輸入的64位元訊息以初始排列表
(IP)規則排列重組
重組後將結果分成L及R,各為32位
元
執行16次後,將R16及L16合併成64
位元,依照最後排列表(FP,IP¯¹)排列
重組,所得結果就是密文。
DES解密流程
改成
RSA密碼系統
• RSA為目前最著名的公開金鑰密碼系統,是由三位MIT的學
者Rivest、Shamir與Adleman於1978年提出。
• RSA密碼系統可作為加解密、數位簽章等用途,其安全性
是建立於因數分解(factorization)的困難度。
• 因數分解(FAC)問題是指給定一合成數n為兩個大質數p與q
的乘積,欲分解n為計算上不可行,此問題是一個NPcomplete問題。
RSA加解密機制
•
•
•
•
•
1. 選兩個大質數 p 和 q (至少100位數),令 N = p • q
2. 再計算Ø(N)=(p-1)(q-1),並選一個與Ø(N)互質數 e
Ø(N)為Euler’s Totient函數,其意為與N互質之個數
3. (e,N) 即為公開金鑰
加密法為 C = Me mod N
•
•
•
4. 選一個數 d,滿足 e • d mod Ø(N) = 1
5. d 即為解密金鑰(亦稱私有金鑰或祕密金鑰)
解密法為 M = Cd mod N
RSA演算法例子
•
•
•
•
•
例子:(明文為688)
p=47,
q=71  n  47  71  3337
1
1
e=79  d  e mod( p  1)(q  1)  79 mod 3220  1019
79
加密: c  688 mod 3337  1570
1019
mod 3337  688
解密: m  1570
i
1
2
3
4
5
qi
ri
bi
ai
3
6
3
1
40
3220
1019
163
41
40
1
0
1
0
1
-6
19
-25
0
1
-3
19
- 60
79
擴展歐幾理德演算法 (Extended
Euclidean Algorithm)
計算反元素 x = a-1 mod b 的前提是
a 與 b 互質
而根據擴展歐幾理德演算法,若 a
與 b 兩數互質,一定可以找到
兩個整數 s 與 t,讓gcd(a, b) =
sa + tb = 1,而其中的 s 就是我
們想要求的反元素 x
1 = (sa + tb) mod b = sa mod b  s =
a-1 mod b
= (1, 0) – 3  (0, 1)
= (0, 1) – 6  (1, -3)
= (1, -3) – 3  (-6, 19)
= (-6, 19) – 1  (19, -60)
RSA Digital signature
Reference
•
•
•
•
http://david50.pixnet.net/blog/post/28798505-%5B%E7%AD%86%E8%A8%98%5Ddigitalsignature-%E6%95%B8%E4%BD%8D%E7%B0%BD%E7%AB%A0
http://avp.toko.edu.tw/docs/class/3/%E5%AF%86%E7%A2%BC%E5%AD%B8%E5%8E%9F%E
7%90%86%E8%88%87%E6%8A%80%E8%A1%93.pdf
http://chi-yuan.itstudy.tw/Web_Site_Page/Teaching_Resources/Course_Data_Information%20Network/Teachi
ng_Resources/Kingsinfo_Internet%20Introduction_N8034/N8034_PDF/%E7%AC%AC15%E7%
AB%A0%20%E7%B6%B2%E8%B7%AF%E5%AE%89%E5%85%A8.pdf
資訊與網路安全概論(第三版)
黃明祥 林詠章 著