An toàn và An ninh thông tin
Nguy n Linh Giang
B môn Truy n thông
và M ng máy tính
Khoa CNTT, HBK HN
M t s h m t khóa công khai
N i dung
Trao đ i khóa Diffie-Hellman
Ch ký ElGamal
H m t Knapsack
Khái quát h Diffie-Hellman
c đ c p trong m t h i th o do DiffieHellman đ a ra vào 1976
Là s k t h p c a hai mô hình xác th c và
m t c a h KCK
Vi c sinh ra các c p khoá là hoàn toàn khác
nhau đ i v i ng i s d ng
S d ng c ch trao đ i khoá tr c ti p không
qua trung gian xác th c
M c đích ra đ i
S d ng đ áp d ng cho các ng d ng có đ
m t cao b ng ph ng pháp trao đ i khoá
(key exchange)
V i nguyên t c hai ng i s d ng có th trao
đ i m t khoá an toàn - đ c dùng đ mã hoá
các tin nh n
Thu t toán t gi i h nch dùng cho các ng
d ng s d ng k thu t trao đ i khoá
C s hình thành thu t toán
D a trên nguyên t c toán h c :v i m là m t s
nguyên t thì
“Có th tính toán d dàng y=ai mod m nh ng
vi c tính ng c l i là r t khó và v i m l n thì
d ng nh là không th ”
D a trên phép tính logarit r i r c
Thu t toán logarit r i r c
M t s nguyên t p
M t g c nguyên thu a c a p : là các s mà
lu th a c a nó thu c (1,p-1)
V i b b t kì nguyên s luôn ∃i sao cho b= ai
mod p
ây thu t toán logarit r i r c .
c coi là c s đ hình thành thu t toán
này .
Mô hình chung c a thu t toán
Avaible infor
A
B
Kpb
K
Generator
K
Thu t toán sinh khóa
L a ch n s nguyên t p và g c nguyên thu a
Khoá c a ng i i
–
–
Khóa riêng xi : ch n sao cho xi
Khoá công khai yi : yi= axi mod p
Khoá c a ng
–
–
ij
Khoá riêng xj : ch n sao cho xj
Khoá công khai yj : yj= axj mod p
Khoá m t chung : K=(yj)ximod p=(yi)xjmod p
Trao đ i khóa Diffie-Hellman
Thu t toán trao đ i khoá
Tính an toàn c a h m t
Thám mã có s n các thông tin :p,a,Yi,Yj
có th gi i đ c K ,X b t bu c thám mã
ph i s d ng thu t toán logarit r i r c : r t khó
n upl n
N u ch n p l n: vi c tính toán ra X, K d ng
nh không th trong th i gian th c
H m t và thám mã
Thám mã có th t n công vào các thông tin : p
,a,Yj,Yj
Và s d ng thu t toán r i r c đ tính ra X, sau
đó tính ra K
Quan tr ng nh t là đ ph c t p c a thu t toán
logarit ph thu c vào ch n s nguyên t p
L nh v c
ng d ng
T quá trình thu t toán đã h n ch
ng d ng
ch s d ng cho quá trình trao đ i khoá m t là
ch y u
S d ng trong ch kí đi n t .
Các ng d ng đòi h i xác th c ng i s
d ng.
ElGamal
T o khóa: p, q, α, a, y=αa mod p
T o ch ký:
–
–
–
–
–
Ch n ng u nhiên k, 1 ≤ k ≤ p-1, gcd(k, p-1)=1
Tính r = αk mod p
Tính k-1 mod (p-1)
Tính s = k-1 ∗ (h(m) - ar) mod (p-1)
Ch ký là (r,s)
El Gamal (cont)
Xác minh ch ký
–
–
–
–
Xác minh 1 ≤ r ≤ p-1
Tính v1 = yrrs mod p
tính h(m) and v2= αh(m) mod p
Đ ng ý n u v1=v2
−1
s ≡ k {h(m) − ar} (mod p − 1)
ks ≡ h(m) − ar (mod p − 1)
α h ( m ) ≡ α ar + ks ≡ (α a ) r r s (mod p )
ElGamal (cont)
Chú ý:
–
k ph i đ n nh t đ i v i m i b n tin đ
(s1-s2)k=(h(m1)-h(m2))mod (p-1)
–
c ký
T n công gi m o có th đ c thi t l p n u các
hàm băm không đ c dùng
ElGamal (cont)
Hi u năng
–
T o ch ký
M t module theo hàm m
M t thu t toán clid
C hai có th đ c th c hi n offline
–
Xác minh
Three modular exponentiations
Các ch ký ElGamal đ c t o ra cho các bài
toán xác th c, ch ng th c
Thu t toán mã hoá công khai
Knapsach
Bài toán Subset Sum
Mô t thu t toán Knapsack
Bài toán Subset Sum
Thu t toán Knapsach đ
Sum
c xây d ng d a trên bài toán Subset
Thu t toán Knapsack
Thu t toán Knapsack
KU = {t} là khoá công khai.
KR = {p, a, s} là khoá m t.
Hàm mã hoá
Hàm gi i mã