TT CNTT HN Wednesday, April 25, 2012
CCIT/RIPT 1
VIN KHOA HC K THUT BƯU ĐIN
TRUNG TÂM TƯ VN ĐẦU TƯ CHUYN GIAO CÔNG NGH
TS. Phm Vit Hà
MT MÃ HÓA HIN ĐẠI
Chương 4: Hmt khóa công khai
MT MÃ HÓA HIN ĐẠI
Chương 4: Hmt khóa công khai
Trang 2© 2009 | CCIT/RIPT
VIN KHOA HC K THUT BƯU ĐIN
TRUNG TÂM TƯ VN ĐẦU TƯ CHUYN GIAO CÔNG NGH
4. Hmt khoá công khai4. Hmt khoá công khai
4.1 HmtRSA
4.2 Htng khóa công khai PKI
TT CNTT HN Wednesday, April 25, 2012
CCIT/RIPT 2
Trang 3© 2009 | CCIT/RIPT
VIN KHOA HC K THUT BƯU ĐIN
TRUNG TÂM TƯ VN ĐẦU TƯ CHUYN GIAO CÔNG NGH
4.1 HmtRSA4.1 HmtRSA
RSA là mã công khai đượcsángtobi Rivest, Shamir & Adleman
MIT (Trường Đạihc Công nghMassachusetts) vào năm 1977.
RSA là mã công khai đượcbiếtđến nhiunhtvàsdng rng rãi
nhthinnay.
RSA da trên các phép toán lũytha trong trường huhn các s
nguyên theo modulo nguyên t. Cth, mã hoá hay gii các
phép toán lutha theo modulo srtln.
Victhámmã, tc tìm khoá riêng khi biết khoá công khai, datrên
bài toán khó phân tích mtsrtlnđórathasnguyên t. Nếu
không thông tin gì, thì ta philnlượtkim tra tính chia hếtcas
đóchottccác snguyên tnhhơncănca nó. Đây viclàm
không khthi!
Trang 4© 2009 | CCIT/RIPT
VIN KHOA HC K THUT BƯU ĐIN
TRUNG TÂM TƯ VN ĐẦU TƯ CHUYN GIAO CÔNG NGH
4.1 HmtRSA4.1 HmtRSA
Người ta chng minh đượcrng, phép lũythacn O((log n)3) phép toán,
nên thcoi lũytha bài toán d.
Cn chú ý rng đây ta sdng các srtln khong 1024 bit, tclàc
10350.
Tính an toàn davàođộ khó ca bài toán phân tích ra thascác sln. Bài
toán phân tích ra thasyêu cuO(e
logn log logn) phép toán, đây bài toán
khó.
TT CNTT HN Wednesday, April 25, 2012
CCIT/RIPT 3
Trang 5© 2009 | CCIT/RIPT
VIN KHOA HC K THUT BƯU ĐIN
TRUNG TÂM TƯ VN ĐẦU TƯ CHUYN GIAO CÔNG NGH
4.1 HmtRSA4.1 HmtRSA
Khito khoá RSA
Mingườisdng tomtcp khoá công khai riêng nhưsau:
Chnngu nhiên 2 snguyên tlnp vàq
Tính slàm modulo cahthng: N = p.q
Ta đãbiếtФ(N)=(p-1)(q-1)
thdùng Định Trung Hoa để gimbt tính toán
Chn ngu nhiên khoá mã e
Trong đó 1<e< Ф(N), gcd(e,Ф(N))=1
Gii phương trình sau để tìm khoá gii mã d sao cho
e.d=1 mod Ф(N) vi 0d Ф(N)
In khoá mã công khai KU={e,N}
Gi khoá riêng bí mt KR={d,p,q}
Trang 6© 2009 | CCIT/RIPT
VIN KHOA HC K THUT BƯU ĐIN
TRUNG TÂM TƯ VN ĐẦU TƯ CHUYN GIAO CÔNG NGH
4.1 HmtRSA4.1 HmtRSA
S dng RSA
Để mã hoá mu tin, người gi:
Ly khoá công khai ca người nhn KU={e,N}
Tính C=Memod N, trong đó 0M<N
Để gii mã hoá bn mã, người s hu nhn:
S dng khóa riêng KR={d,p,q}
Tính M=Cdmod N
Lưu ý rng bn tin M < N, do đó khi cn chia khi bn rõ.
TT CNTT HN Wednesday, April 25, 2012
CCIT/RIPT 4
Trang 7© 2009 | CCIT/RIPT
VIN KHOA HC K THUT BƯU ĐIN
TRUNG TÂM TƯ VN ĐẦU TƯ CHUYN GIAO CÔNG NGH
4.1 HmtRSA4.1 HmtRSA
CơscaRSA
Theo Định Ole
a(n) mod N = 1 trong đó gcd(a,N)=1
Ta có N=p.q
Ф(N)=(p-1)(q-1)
e.d=1 mod Ф(N)
e.d=1+k.Ф(N) đốivimt g trk nào đó.
Suy ra
Cd= (Me)d= M1+k.(N) = M1.(M(n))ksuy ra
CdmodN = M1.(1)kmodN = M1modN = M modN
Trang 8© 2009 | CCIT/RIPT
VIN KHOA HC K THUT BƯU ĐIN
TRUNG TÂM TƯ VN ĐẦU TƯ CHUYN GIAO CÔNG NGH
4.1 HmtRSA4.1 HmtRSA
Ví d
Chn các s nguyên t: p=17 & q=11.
Tính n = pq, n = 17×11=187
Tính Ф(n)=(p–1)(q-1)=16×10=160
Chn e : gcd(e,160)=1; Ly e=7
Xác định d: de=1 mod 160 và d < 160
Giá trcn tìm d=23, vì 23×7=161= 10×160+1
In khoá công khai KU={7,187}
Gikhoá riêng mt KR={23,17,11}
TT CNTT HN Wednesday, April 25, 2012
CCIT/RIPT 5
Trang 9© 2009 | CCIT/RIPT
VIN KHOA HC K THUT BƯU ĐIN
TRUNG TÂM TƯ VN ĐẦU TƯ CHUYN GIAO CÔNG NGH
4.1 HmtRSA4.1 HmtRSA
dáp dng mã RSA trên nhưsau:
Cho mu tin M = 88 (vy 88<187)
C = 887mod 187 = 11
GiimãM = 11
23 mod 187 = 88
th dùng định phndưTrung Hoa để gii cho nhanh nhưsau:
Tính 1123 mod 11 = 0
Tính 1123mod 17 = (-6)23 mod 17 = (-6)16(-6)4(-6)2(-6) mod 17 =
c1= 3
Vì (-6)2mod 17 = 2, nên (-6)4mod 17 = 4, (-6)8mod 17 = -1,
(-6)16 mod 17 = 1
11-1 mod 17 = (-6)-1 mod 17 = 14 nên 11(11-1 mod 17) = 11(14 mod
17) = c2= 154
Vy M = (3.154) mod 187 = 462 mod 187 = 88
Trang 10 © 2009 | CCIT/RIPT
VIN KHOA HC K THUT BƯU ĐIN
TRUNG TÂM TƯ VN ĐẦU TƯ CHUYN GIAO CÔNG NGH
4.1 HmtRSA4.1 HmtRSA
Mã hiu qu:
Mã s dng lũy tha ca khoá công khai e, nếu giá tr ca e nh thì
tính toán s nhanh, nhưng d b tn công. Thường chn e nh hơn
hoc bng 65537 (216-1), tc là độ dài khoá công khai là 16 bit.
Chng hn trong ví d trên ta có th la chn e = 23 hoc e = 7.
Ta có th tính mã hoá nhanh, nếu biết n=pq và s dng Định lý phn
dư Trung Hoa vi mu tin M theo các Modulo p và q khác nhau. Nếu
khoá công khai e c định thì cn tin tưởng rng khi chn n ta luôn có
gcd(e,Ф(n)) = 1. Loi b mi p, q mà làm cho Ф(n) không nguyên t
cùng nhau vi e.