[r]
(1)Chủ đề 4:
Mã hóa bất đối xứng
Chủ đề 4:
(2)Mở đầu
Mở đầu
V
Vấấnn đđềề phpháátt sinhsinh trongtrong ccáácc hhệệ ththốốngng mãmã hhóóaa quyquy ưướớcc l
làà viviệệcc quyquy ướướcc chungchung mãmã khókhóaa kk gigiữữaa ngngườườii ggửửii A vA vàà ngư
ngườờii nhnhậậnn B B Trên
Trên ththựựcc ttếế, , nhunhu ccầầuu thaythay đđổổii nnộộii dung dung ccủủaa mãmã khkhóóaa kk l
làà ccầầnn thithiếếtt, , đđóó, , ccầầnn ccóó ssựự traotrao đđổổii thơngthơng tin tin vvềề mãmã kh
khóóaa kk gigiữữaa A A vvàà B B
Đ
Đểể bbảảoo mmậậtt mãmã khkhóóaa kk, A , A vvàà B B phphảảii traotrao đđổổii vvớớii nhaunhau
trên mmộộtt kênhkênh liênliên llạạcc ththậậtt ssựự an an totồànn vvàà bbíí mmậậtt Tuy
Tuy nhiênnhiên, , rrấấtt khókhó cócó ththểể bbảảoo đđảảmm đượđượcc ssựự an an tồtồnn c
củủaa kênhkênh liênliên llạạcc nênnên mãmã khkhóóaa kk vvẫẫnn ccóó ththểể bbịị phpháátt hi
(3)Martin Hellman, Ralph
Martin Hellman, Ralph MerkleMerkle vvàà Whitfield Whitfield DiffieDiffie ttạạii
Đ
Đạạii hhọọcc Stanford Stanford gigiớớii thithiệệuu vvààoo nnăămm 1976 1976 Sau
Sau đđóó, , phphươươngng phpháápp DiffieDiffie Hellman Hellman ccủủaa Martin Martin Hellman
Hellman vvàà Whitfield Whitfield DiffieDiffie đđãã đưđượợcc côngcông bbốố Năm
Năm 1977, 1977, trêntrên bbááoo ""The Scientific AmericanThe Scientific American", ", nhnhóómm t
táácc gigiảả Ronald Ronald RivestRivest, , AdiAdi ShamirShamir vvàà Leonard Leonard Adleman
Adleman đđãã côngcông bbốố phphươươngng phpháápp RSA, RSA, phphươươngng phpháápp mã
mã hhóóaa khókhóaa cơngcơng ccộộngng nnổổii titiếếngng vvàà đưđượợcc ssửử ddụụngng rrấấtt nhi
nhiềềuu hihiệệnn nay trongtrong ccáácc ứứngng ddụụngng mãmã hhóóaa vvàà bbảảoo vvệệ
thông
(4)Mở đầu
Mở đầu
M
Mộộtt hhệệ ththốốngng khkhóóaa cơngcơng ccộộngng ssửử ddụụngng haihai loloạạii khkhóóaa
trong cùcùngng mmộộtt ccặặpp khkhóóa: a: kh
khóóaa cơngcơng ccộộngng (public key) (public key) đưđượợcc côngcông bbốố rrộộngng rãirãi v
vàà đưđượợcc ssửử ddụụngng trongtrong mãmã hhóóaa thơngthơng tin, tin, kh
khóóaa riêngriêng (private key) (private key) chchỉỉ do mmộộtt ngngưườờii nnắắmm gigiữữ
v
vàà đưđượợcc ssửử ddụụngng đđểể gigiảảii mãmã thôngthông tin tin đđãã đưđượợcc mãmã h
hóóaa bbằằngng khkhóóaa cơngcơng ccộộngng C
Cáácc phphươươngng phpháápp mãmã hhóóaa nnààyy khaikhai ththáácc nhnhữữngng áánhnh xxạạ
f
f màmà viviệệcc ththựựcc hihiệệnn ánhánh xxạạ ngngượượcc f f ––11 rrấấtt khkhóó so so vvớớii vi
việệcc ththựựcc hihiệệnn áánhnh xxạạ ff ChChỉỉ khikhi bibiếếtt đưđượợcc mãmã khkhóóaa riêng
(5)(6)Phương pháp RSA
Phương pháp RSA
Năm
Năm 1978, 1978, R.L.RivestR.L.Rivest, , A.ShamirA.Shamir vvàà L.AdlemanL.Adleman đđãã đđềề
xu
xuấấtt hhệệ ththốốngng mãmã hhóóaa khkhóóaa cơngcơng ccộộngng RSA (hay cịnRSA (hay cịn
đư
đượợcc ggọọii llàà ““hhệệ ththốốngng MITMIT””) ) Trong
Trong phphươươngng phpháápp nnààyy, , ttấấtt ccảả ccáácc phphéépp ttíínhnh đđềềuu
đư
đượợcc ththựựcc hihiệệnn trêntrên ZZnn vvớớii nn llàà ttííchch ccủủaa haihai ssốố nguyênnguyên t
tốố llẻẻ pp vvàà qq khkháácc nhaunhau Khi
(7)Cho
Cho P = C = P = C = ZZn n vàvà địđịnhnh nghnghĩĩa:a: K
K = {(= {((n, p, q, a, b(n, p, q, a, b): ): n n = = pqpq, , pp, , qq llàà ssốố nguyênnguyên ttốố, , ab
ab ≡≡ (mod (mod φφ((nn))}))} V
Vớớii mmỗỗii k = (n, p, q, a, bk = (n, p, q, a, b) ) ∈∈ KK, , đđịịnhnh nghnghĩĩaa:: e
ekk(x(x) = ) = xxbb mod mod nn vvàà dd k
k(y(y) = y) = yaa mod mod nn, , vvớớii xx, y, y ∈∈ ZZnn
Gi
Giáá trtrịị nn vvàà bb đưđượợcc côngcông bbốố (public key) (public key) Gi
(8)Sử dụng phương pháp RSA
Sử dụng phương pháp RSA
Ph
Pháátt sinhsinh haihai ssốố nguyênnguyên ttốố ccóó gigiáá trtrịị llớớnn pp vvàà qq T
Tíínhnh n n = = pqpq vvàà φφ((nn) = () = (p p –– 1) (1) (q q –– 1)1) Ch
Chọọnn ngngẫẫuu nhiênnhiên mmộộtt ssốố nguyênnguyên bb (1 < b (1 < b < < φφ((nn)) )) ththỏỏaa gcd(
gcd(bb, , φφ((nn)) = 1)) = T
Tíínhnh gigiáá trtrịị aa = = bb–1–1 mod mod φφ(n(n) () (bbằằngng thuthuậậtt totoáánn EuclideEuclide m
mởở rrộộngng)) Gi
Giáá trtrịị nn vvàà bb đưđượợcc côngcông bbốố ((khkhóóaa cơngcơng ccộộngng) ) gi
(9)b = b =
a = 29 , (29x5
a = 29 , (29x5 ––1) 1) chiachia hhếếtt chocho 24 24 C
Cặặpp khókhóaa đưđượợcc xáxácc đđịịnhnh nhnhưư sau:sau: Kh
Khóóaa cơngcơng ccộộngng: (: (n,bn,b) = (35,5)) = (35,5) Kh
Khóaóa riêng: (riêng: (n,a) = (35, 29)n,a) = (35, 29) Mã
Mã hhóóaa ttừừ lovelove ssửử ddụụngng côngcông ththứứcc (e = (e = xxbb mod n)mod n)
Gi
Giảả ssửử cácácc kýký ttựự Alphabet nAlphabet nằằmm trongtrong khokhoảảngng ttừừ 11ỈỈ2626
Plain Text
Plain Text Numeric Numeric Representation Representation
x
xbb Cipher Text (e = xCipher Text (e = xbb
mod n) mod n) l
l 1212 248832248832 1717
o
o 1515 759375759375 1515
v
v 2222 51536325153632 2222
e
(10)Ví
Ví ddụụ
Gi
Giảảii mãmã ttừừ lovelove ssửử ddụụngng côngcông ththứứcc (d = (d = yyaa mod n)mod n)
n = 35, a=29 n = 35, a=29
Cipher
Cipher
Text
Text
y
yaa (d = (d = yyaa
mod n) mod n) Plain Plain Text Text 17
17 1212
15 15 22 22 5 15 15 l l o o v v 22 22 10
10 ee