Tìm hi u v S đ ể ề ơ ồ
chia s bí m t Shamirẻ ậ
Giảng viên hướng dẫn: PGS.TS Trịnh Nhật Tiến
Học viên: Nguyễn Quang Hiệp
Lớp: K19HTTT
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
ĐẠI HỌC QUỐC GIA HÀ NỘI
ĐẠI HỌC QUỐC GIA HÀ NỘI
2
Gi i thi u v chia s bí m tớ ệ ề ẻ ậ
●
Chia s bí m t là s d ng các ph ng pháp đ phân ẻ ậ ử ụ ươ ể
ph i m t bí m t gi a m t nhóm ng i, m i ng i ố ộ ậ ữ ộ ườ ỗ ườ
đ c phân b 1 ph n c a bí m t.ượ ố ầ ủ ậ
●
Bí m t có th đ c ph c h i l i ch khi đ s l ng, ậ ể ượ ụ ồ ạ ỉ ủ ố ượ
các ph n bí m t không th s d ng riêng.ầ ậ ể ử ụ
●
Có các s đ chia s bí m t thông d ng:ơ ồ ẻ ậ ụ
–
S đ chia s bí m t Shamirơ ồ ẻ ậ
–
S đ chia s bí m t Blackleyơ ồ ẻ ậ
–
S đ chia s bí m t d a trên Đ nh lý s đ ng d ơ ồ ẻ ậ ự ị ố ồ ư
Trung Qu c.ố
3
Chia s bí m t Shamirẻ ậ
●
Tác gi : Adi Shamir - ả
đ ng tác gi c a thu t ồ ả ủ ậ
toán Mã hóa công khai
RSA
●
Đ c phát minh đ c l p ượ ộ ậ
b i Adi Shamir và ở
George Blakley vào năm
1979
4
Ý t ng s đưở ơ ồ
●
Trung tâm s chia bí m t thành n ẽ ậ
ph n, c n t i thi u k ph n đ có ầ ầ ố ể ầ ể
th khôi ph c l i bí m t (0<k<=n)ể ụ ạ ậ
●
D a trên ý t ng k đi m phân ự ưở ể
bi t đ xác đ nh m t đa th c b c ệ ể ị ộ ứ ậ
k – 1 đ phân chia bí m t. V i bí ể ậ ớ
m t đ c coi là h s b c 0.ậ ượ ệ ố ậ
●
D a trên ý t ng h ph ng ự ưở ệ ươ
trình b c k có nghi m duy nh t đ ậ ệ ấ ể
t ng h p bí m tổ ợ ậ
5
Phân chia bí m tậ
●
Gi s bí m t c n phân chia là S → S đ c ả ử ậ ầ ượ
chuy n v d ng s .ể ề ạ ố
●
Ch n P là m t s nguyên t sao cho P > S và ọ ộ ố ố
0 < k <= n < P
●
Ch n ng u nhiên k-1 s nguyên d ng ọ ẫ ố ươ
(a[1] a[k-1]) v i a[i] < P và a[0] = S. Ta có:ớ
●
Ta ch n n đi m (i, f(i)) là các thành ph n bí ọ ể ầ
m tậ
6
Ph c h i bí m tụ ồ ậ
●
Đ ph c h i bí m t, ta c n có t i thi u k thành ể ụ ồ ậ ầ ố ể
ph n bí m t.ầ ậ
●
Các thành ph n khóa có d ng (x[i], y[i]) ấ ạ (hình
bên v i k = 3)ớ
●
S d ng đa th c Lagrange đ t ng h p bí m t. ử ụ ứ ể ổ ợ ậ
H s t do S chính là bí m t c n tìm.ệ ố ự ậ ầ
7
ng d ngỨ ụ
●
Chia s bí m t Shamir có nhi u ng d ng ẻ ậ ề ứ ụ
trong th c t . VD: hành chính đi n t , b ự ế ệ ử ỏ
phi u đi n t …ế ệ ử
●
Đ chia tách đ c bí m t, vi c đ u tiên là ể ượ ậ ệ ầ
ph i chuy n đ i bí m t thành S nguyên.ả ể ổ ậ ố
●
S l ng k càng tăng → kh năng gi bí ố ượ ả ữ
m t càng cao. S l ng n càng tăng → ậ ố ượ
kh năng gi bí m t càng th p. Thông ả ữ ậ ấ
th ng, có th s d ng k= n.ườ ể ử ụ
8
Ch ng trình th nghi mươ ử ệ
●
Vi t b ng ngôn ng Javaế ằ ữ
●
Bí m t t n t i d i d ng 1 fileậ ồ ạ ướ ạ
●
Các m nh chia s bí m t n m trong 1 th ả ẻ ậ ằ ự
m c đ c sinh ra sau khi ch y Phân tách ụ ượ ạ
bí m tậ
●
Các m nh ghép đ ph c h i bí m t đ c ả ể ụ ồ ậ ượ
đ t trong 1 th m c riêng bi t.ặ ự ụ ệ
●
Bí m t đ c ph c h i t n t i d i d ng 1 ậ ượ ụ ồ ồ ạ ướ ạ
file sinh ra sau.
9
Xin chân thành cảm ơn!