Mã nén
1X Thông tin quan trọng cầnbímật không nên trao cho mộtngườinắmgiữ, mà phải chia thông tin đó thành nhiềumảnh và trao chomỗingườimộthay mộtsố mảnh. X Thông tin gốcchỉ có thểđượcxemlại, khi mọingườigiữ cácmảnh thông tin đềunhấttrí. Các mảnh thông tin được khớplại đểđược thông tin gốc. X Để thực hiện công việc trên, phải sử dụng một sơ đồ gọi làSơ đồ chia sẻ bí mật.Lecture 10 : Sơđồchia sẻ Bí mật 2Chia sẻ bí mậtX Khái niệmchiasẻ bí mậtX Sơđồchia sẻ bí mật- Sơđồngưỡng ShamirX Tính chấtmở rộng của các sơđồchia sẻ bí mật 3Khái niệmchiasẻ bí mậtX Khái niệm:Sơđồchia sẻ bí mậtdùngđể chia SẺ một thôngtin cho m thành viên, sao cho chỉ những tậpcon hợpthức các thành viên mớicóthể khôi phụclại thông tin bí mật, còn lại không ai có thể làm được điều đó.X Ứng dụng:-Chiasẻ Thông tin mật thành nhiềumảnh.-Chiasẻ PassWord, Khoá mật thành nhiềumảnh.Mỗinơi, mỗingườihay mỗimáytínhcấtdấu1 mảnh. 4Sngng Shamir1. S chia s ngng A(t, m)Cho t, m nguyên dơng, t m. S ngng A(t, m) l Phng pháp phân chia khoá K cho mt tp gm m thnh viên, sao cho t thành viên bt k có th tính c K, nhng không mt nhóm gm (t-1) thnh viên no có th lm c iu ó. Ngời phân chia cácmảnh khoá không đợc nằm trong số m thnh viên trên.Ví dụ: Có m=3 thủ quĩ giữ két bạc. Hãy xây dựng hệ thống sao chobất kì t=2 thủ quĩ nào cũng có thể mở đợc két bạc, nhng từng ngờimột riêng rẽ thì không thể.Đó là sngng A(2, 3). 5Sngng ShamirSngng Sharmir 1979.Bài toán- Chia khoá bí mật K trong Zp thành t mảnh, phân cho mỗi ngời giữ 1 mảnh, t m.- t thành viên khớp t mảnh sẽ nhận đợc K. 6Sơđồngưỡng Shamir2.Phân mảnh khoá K củaChủ khoá D.Khởitạo: Chọn sè nguyªn tè p.1. Chủ khóa D sẽ chọn m phầntử xikhác nhau, ≠ 0 trong Zp, 1≤i≤m (điều kiện:m <p).Sau đóDsẽ trao xicho thành viên Pi . Giá trị xilà công khai.Phân phốimảnh khoá K ∈ Zp2. Chủ khóa D sẽ chọnbímật(ngẫu nhiên, độclập) t-1 phầntử∈Zplà a1, …, at-1.3. Với1≤i≤m, D tính: yi= P(xi), P(x) = K + ∑j=1t -1ajxjmod p4. Với1≤i≤m, D sẽ trao mảnh yicho Pi. 7Vớ d 1 Chia mảnhKhoá K=13 cần chia thành 3 mảnh cho 3 ngời P1 , P3 , P5. 1. Chn số nguyên tố p =17, chọn m=5 phnt xi = i trong Zp , i =1, 2, 3, 4, 5. D trao giá tr công khai xi cho Pi.2. D chn bớ mt, ngu nhiờn t -1 = 2 phn t trong Zpa1 =10, a2= 2.3. D tính yi = P( x i), 1 i m, trong ó:P(x)=K + t-1 j=1ajxj (mod p) =13 + a1x + a2x2 (mod 17).y1 =P(x1 )=P(1)=13 + a1.1 + a2.12=13 + 10 .1 + 2 .12= 8y3 =P(x3 )=P(3)=13 + a1.3 + a2.32=13 + 10 .3 + 2 .32=10y5 =P(x5 )=P(5)=13 + a1.5 + a2.52=13 + 10 .5 + 2 .52=114. D trao mnh yi cho Pi .Sngng Shamir 8Sơđồngưỡng Shamir3. Cách khôi phục khoá K từ t thành viênPhương pháp 1: Giảihệ phương trình tuyến tính t ẩn, t phương trìnhVì P(x) có bậclớnnhất là (t-1) nên ta có thể viết:P(x) = K + a1x 1+ a2x 2+…+ at-1x t-1Các hệ số K, a1,…,at-1là các phầntử chưabiếtcủa Zp, a0= K là khoá. Vì yij= P (xij), nêncóthể thu được t phương trình tuyếntínht ẩn a0, a1,…,at-1, Nếu các phương trình độclậptuyếntínhthìsẽ có mộtnghiệm duy nhấtvàtađược giá trị khoá a0= K. Chúý:cácphéptínhsố học đềuthựchiệntrênZp. 9Ví dụ 2B ={P1, P3, P5} cần kthpcỏcmnh khoỏ cah: y1 =8, y3 = 10, y5 = 11, để khôi phục lại khoá K.Theo sơ đồ khôi phục khoá K, yij= P(xij), 1 j t. Thay x1 = 1, x3 = 3, x5 = 5 vàoP(x) = a0+ a1x + a2x2 (mod 17), a0= K.ta nhận đợc 3 phơng trình với 3 ẩn số a0 , a1, a2.y1 =P(x1 )=P(1)= a0+ a1.1 + a2.12= 8 (mod 17).y3 =P(x3 )=P(3)= a0+ a1.3 + a2.32=10 (mod 17).y5 =P(x5 )=P(5)= a0+ a1.5 + a2.52=11 (mod 17). Giải hệ 3 phng trình tuyntínhtrongZ17, nghim duy nhtlà: a0=13, a1=10, a2=2.Khoá đợc khôi phục l: K= a0=13.Sngng Shamir 103. Khôi phục khoá K của t thành viênPhng pháp 2: Dùng công thc ni suy Lagrangre.Ta biết công thc ni suy Lagrange có dng: P(x)=tj=1yij1k t, k j(x - xik)/(xij-xik) (mod p).Có các tính chất nh đa thức P(x) ở trên :yij= P(xij), 1 j t.K=P(0)=tj=1yij1k t, k j(0 -xik) / (xij-xik).Nếu ta đặt bj= 1k t, k j-xik/ (xij-xik) (mod p).Khi đó K = tj=1yijbjSngng Shamir 123doc.vn