1 / 63

CÁC LƯỢC ĐỒ CHỮ KÝ SỐ (DIGITAL SIGNATURE SCHEMES)

CÁC LƯỢC ĐỒ CHỮ KÝ SỐ (DIGITAL SIGNATURE SCHEMES). Khái niệm Lược đồ RSA/ DSA Hàm băm SHA-1 Một số lược đồ chữ ký khác. LƯỢC ĐỒ CHỮ KÝ SỐ. Định nghĩa : Một lược đồ là một bộ 5 (P,C,K,E,D) thỏa mãn các điều kiện sau: M là tập các thông điệp dữ liệu S là tập các chữ ký

wayne
Download Presentation

CÁC LƯỢC ĐỒ CHỮ KÝ SỐ (DIGITAL SIGNATURE SCHEMES)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CÁC LƯỢC ĐỒ CHỮ KÝ SỐ(DIGITAL SIGNATURE SCHEMES) Khái niệm Lược đồRSA/DSA Hàm bămSHA-1 Một sốlược đồ chữ ký khác http://fit.mta.edu.vn/~dunglh/info.aspx

  2. LƯỢC ĐỒ CHỮ KÝ SỐ • Định nghĩa: Một lược đồ là một bộ 5 (P,C,K,E,D) thỏa mãn các điều kiện sau: • M là tập cácthông điệp dữ liệu • S là tập các chữ ký • K là tập cáckhóa • A là tập cácthuật toán ký • V là tập cácthuật toán xác minh • Đối với mỗi:tồn tại mộtthuật toán ký: và mộtthuật toán xác minhtương ứng: , và là những hàmsao chovớimỗi:và:thỏa mãn: . http://fit.mta.edu.vn/~dunglh/info.aspx

  3. LƯỢC ĐỒ CHỮ KÝ SỐ • Nguyên tắc: • Sử dụng khóa bí mật để hình thành chữ ký. • Sử dụng khóa công khai để xác minh chữ ký. http://fit.mta.edu.vn/~dunglh/info.aspx

  4. LƯỢC ĐỒ CHỮ KÝ RSA • RSA = Rivest, Shamir, Adelman, MIT, 1977. • Hình thành tham số và khóa • p, q: số nguyên tố lớn. • n= p xq, ɸ(n) = (p-1) x (q-1). • Chọn khóa công khai e thỏa mãn: 1<e <ɸ(n) và gcd(e, ɸ(n)) =1. • Tính khóa bí mật:d=e-1modɸ(n). • Bí mật: d; Công khai: e,n; Hủy: p,q,ɸ(n). http://fit.mta.edu.vn/~dunglh/info.aspx

  5. LƯỢC ĐỒ CHỮ KÝ RSA • Thuật toán ký • m = H(M) • S=mdmodn http://fit.mta.edu.vn/~dunglh/info.aspx

  6. LƯỢC ĐỒ CHỮ KÝ RSA • Thuật toán xác minh • m = H(M) • m’=Semodn • m’=m S hợp lệ http://fit.mta.edu.vn/~dunglh/info.aspx

  7. LƯỢC ĐỒ CHỮ KÝ RSA • Tính đúng đắn m’ = (S)e mod n = {(m) d mod n}e mod n =(m)e.d mod n = (m)k.ɸ(n)+1 mod n = {(m)ɸ(n))}k . (m)1 mod n = {1} k . (m)1 mod n= m http://fit.mta.edu.vn/~dunglh/info.aspx

  8. LƯỢC ĐỒ CHỮ KÝ DSA • DSA = DigitaSignatureAlgorithm, NIST, FIPS 186 1994. • Hình thành tham số và khóa • p, q: số nguyên tố lớn, với: q|(p-1). • 1 <h<p, g=h(p-1)/qmodp. • Khóa bí mật : 1<x<q. • Khóa công khai :y=gxmodp. • Bí mật: x; Công khai: p, q, g, y. • Hàm băm SHA-1: {0,1}*—›Zq. http://fit.mta.edu.vn/~dunglh/info.aspx

  9. LƯỢC ĐỒ CHỮ KÝ DSA • Thuật toán ký • 1 < k <q & không lặp lại. • R =(gkmodp)mod q • S=k-1.(H(M) + x.R)mod q • Chữ ký (R,S) http://fit.mta.edu.vn/~dunglh/info.aspx

  10. LƯỢC ĐỒ CHỮ KÝ DSA • Thuật toán xác minh • W=S-1modq • U =W.H(M)mod q • V=W.Rmod q • R’=(gU.yVmodp)modq • R’= R (R,S)hợp lệ. http://fit.mta.edu.vn/~dunglh/info.aspx

  11. LƯỢC ĐỒ CHỮ KÝ DSA • Tính đúng đắn R’ = (gU. (y)V mod p) mod q = (gW.H(M).gx.W.Rmod p) mod q = (gS-1.H.gx. S-1.R mod p) mod q = (gkmod p) modq = R http://fit.mta.edu.vn/~dunglh/info.aspx

  12. HÀM BĂM • Định nghĩa:Hàm băm là hàm một chiều có các tính chất: • Từ M dễ tính được: m = H(M). Ngược lại, cho trước m rất khó tìm được M thỏa mãn: m = H(M).(1) • Kích thước của m (Lm) không đổi và không phụ thuộc kích thước của M (LM).(2) http://fit.mta.edu.vn/~dunglh/info.aspx

  13. HÀM BĂM • Định nghĩa: (tiếp) • Cho trước M rất khó tìm được M’ sao cho: H(M’) = H(M). (3) • Rất khó tìm được M và M’ bất kỳ thỏa mãn: H(M) = H(M’).(4) http://fit.mta.edu.vn/~dunglh/info.aspx

  14. HÀM BĂM • Chú ý: • Hàm băm có các tính chất (1), (2) & (3) được gọi là hàm băm có tính kháng va chạm yếu. • Hàm băm có các tính chất (1), (2) & (4) được gọi là hàm băm có tính kháng va chạm mạnh. http://fit.mta.edu.vn/~dunglh/info.aspx

  15. HÀM BĂM SHA-1 • SHA = SecureHashAlgorithm, NSA, FIPS 180-1 1993. • Tham số kỹ thuật • LM≤264bit. • Lm=160bit. http://fit.mta.edu.vn/~dunglh/info.aspx

  16. HÀM BĂM SHA-1 • Mở rộng bản tin Biểu diễn nhị phân của LM Biểu diễn nhị phân của M 100 ... 00 l -bit k -bit 64-bit l + kmod512 = 448 l + k + 64=nx512 M = {M1,M2,...,Mi,...Mn} http://fit.mta.edu.vn/~dunglh/info.aspx

  17. HÀM BĂM SHA-1 • Các bộ đệm • A, B, C, D, E: 32bit. • H0, H1, H2, H3, H4: 32bit. • W0,W2,...,Wt,...,W79: 32bit. • Khởi tạo bộ đệm • H0= 67452301,H1= EFCDAB89 • H2= 98BADCFE,H3= 10325476 • H4= C3D2E1F0. http://fit.mta.edu.vn/~dunglh/info.aspx

  18. HÀM BĂM SHA-1 • Xử lý dữ liệu:Mi , 1≤ i ≤n • Mi = {M[0],M[1],..., M[j],...,M[15]}, 0 ≤ j ≤ 15, LM[j] = 32 bit. • For t = 0to15do Wt=M[t]; • For t =16to79do Wt=S1(Wt-3XORWt-8XORWt-14 XORWt-16) • A = H0, B = H1, C = H2, D = H3, E = H4. http://fit.mta.edu.vn/~dunglh/info.aspx

  19. HÀM BĂM SHA-1 • Xử lý dữ liệu: (tiếp) • For t =0to79do Temp = S5(A) + Ft(B,C,D) + E + Wt+ Kt. E = D, D = C, C = S30(B), B = A, A = Temp • H0= H0+A, H1= H1+B, H2= H2+C, H3= H3+D, H4= H4+E. http://fit.mta.edu.vn/~dunglh/info.aspx

  20. HÀM BĂM SHA-1 • Các hàm: • Ft(B,C,D) = (B AND C) OR ((~B) AND D), 0≤ t ≤19 • Ft(B,C,D) = (B XOR C XOR D), 20≤ t ≤39 • Ft(B,C,D) = (B AND C) OR (B AND D) OR (C AND D) , 40≤ t ≤59 http://fit.mta.edu.vn/~dunglh/info.aspx

  21. HÀM BĂM SHA-1 • Các hàm: (tiếp) • Ft(B,C,D) = (B XOR C XOR D), 60 ≤ t ≤79 • Sn(x) = (x) <<n http://fit.mta.edu.vn/~dunglh/info.aspx

  22. HÀM BĂM SHA-1 • Các hằng số: • Kt = 5A827999, 0 ≤ t ≤ 19 • Kt = 6ED9EBA1, 20 ≤ t ≤ 39 • Kt = 8F1BBCDC, 40 ≤ t ≤ 59 • Kt = CA62C1D6, 60 ≤ t ≤ 79 http://fit.mta.edu.vn/~dunglh/info.aspx

  23. HÀM BĂM SHA-1 • Kết quả Xử lý dữ liệu: • M = {Mi | i= 1,2,…,n} • SHA-1(Mi) = {H0,H1,H2,H3,H4} • SHA-1(M)=SHA-1(Mn) http://fit.mta.edu.vn/~dunglh/info.aspx

  24. LƯỢC ĐỒ CHỮ KÝ LD – 01A • Hình thành tham số và khóa • p, q: số nguyên tố lớn, n = p x q. • Khóa bí mật: 1 <x<n. • Chọn H(.): {0,1}* → Zm,m < n. • Chọn: n/2<t<(p-1).(q-1). • Khóa công khai:y=xtmod n. • Bí mật:x; Công khai:n,t,y; Hủy:p, q. http://fit.mta.edu.vn/~dunglh/info.aspx

  25. LƯỢC ĐỒ CHỮ KÝ LD – 01A • Thuật toán ký • 1<k<n • R = (k)tmod n • E = H(M) • S=kE . xRmodn • Chữ ký(R,S) http://fit.mta.edu.vn/~dunglh/info.aspx

  26. LƯỢC ĐỒ CHỮ KÝ LD – 01A • Thuật toán xác minh • E = H(M) • U = Stmodn • V = RE . yRmodn • U = V(R,S)hợp lệ ! http://fit.mta.edu.vn/~dunglh/info.aspx

  27. LƯỢC ĐỒ CHỮ KÝ LD – 01A • Tính đúng đắn St mod n = = (kE.xR mod n)tmod n = (kE.xR)t mod n = kt.E. xt.R mod n = Rt. yR mod n http://fit.mta.edu.vn/~dunglh/info.aspx

  28. LƯỢC ĐỒ CHỮ KÝ LD – 01A • Mức độ an toàn • Khóa x, kkhông đủ lớn • Khóa k bị sử dụng lại • Chọn t không hợp lý • Chọn p, q không đủ lớn http://fit.mta.edu.vn/~dunglh/info.aspx

  29. LƯỢC ĐỒ CHỮ KÝ LD – 01B • Hình thành tham số và khóa • p, q: số nguyên tố lớn, n = p x q. • Khóa bí mật: 1 <x<n. • Chọn H(.): {0,1}* → Zm,m < n. • Chọn: m/2<t<(p-1).(q-1). • Khóa công khai:y=x-tmod n. • Bí mật:x; Công khai:n,t,y; Hủy:p, q. http://fit.mta.edu.vn/~dunglh/info.aspx

  30. LƯỢC ĐỒ CHỮ KÝ LD – 01B • Thuật toán ký • 1<k<n • R = (k)tmod n • E = H(R||M) • S=k . xEmodn • Chữ ký(E,S) http://fit.mta.edu.vn/~dunglh/info.aspx

  31. LƯỢC ĐỒ CHỮ KÝ LD – 01B • Thuật toán xác minh • R’ = St . yEmodn • E’ = H(R’||M) • E’ = E(E,S)hợp lệ ! http://fit.mta.edu.vn/~dunglh/info.aspx

  32. LƯỢC ĐỒ CHỮ KÝ LD – 01B • Tính đúng đắn • R’ = St . YE mod n = = (k.xE mod n)t. (x-t mod n)E mod n = (k.xE)t . (x-t)E mod n = kt. xt.E . x-t.E mod n = kt mod n = R • E’ = H(R’||M) = H(R||M) = E http://fit.mta.edu.vn/~dunglh/info.aspx

  33. LƯỢC ĐỒ CHỮ KÝ LD – 01B • Mức độ an toàn • Khóa x, kkhông đủ lớn • Khóa k bị sử dụng lại • Lựa chọn t không hợp lý • Chọn p, q không đủ lớn http://fit.mta.edu.vn/~dunglh/info.aspx

  34. LƯỢC ĐỒ CHỮ KÝ LD – 02A • Hình thành tham số và khóa • p, q: số nguyên tố lớn, q|(p-1). • 1 <h<p, g=h(p-1)/qmodp. • Khóa bí mật : 1<x<q. • Khóa công khai :y=g-xmodp. • Bí mật: x; Công khai: p, q, g, y. • Hàm băm H(.): {0,1}*—›Zq. http://fit.mta.edu.vn/~dunglh/info.aspx

  35. LƯỢC ĐỒ CHỮ KÝ LD – 02A • Thuật toán ký • 1 < k < q; • E= H(M) • R=(gkmodp)modq • S = E-1.(k+ x.R)modq • Chữ ký (R,S) http://fit.mta.edu.vn/~dunglh/info.aspx

  36. LƯỢC ĐỒ CHỮ KÝ LD – 02A • Thuật toán xác minh • E = H(M) • R’=(gS.E. yRmodp)mod q • R’ = R (R,S) hợp lệ ! http://fit.mta.edu.vn/~dunglh/info.aspx

  37. LƯỢC ĐỒ CHỮ KÝ LD – 02A • Tính đúng đắn R’=(gS.E . yR mod p) mod q = (gk + x.R . yR mod p) mod q = (gk. gx.R . yR mod p) mod q = (gk . gx.R . g-x.R mod p) mod q = (gk mod p) mod q = R http://fit.mta.edu.vn/~dunglh/info.aspx

  38. LƯỢC ĐỒ CHỮ KÝ LD – 02A • Mức độ an toàn • Khóa x, kkhông đủ lớn • Khóa k bị sử dụng lại http://fit.mta.edu.vn/~dunglh/info.aspx

  39. LƯỢC ĐỒ CHỮ KÝ LD – 02B • Hình thành tham số và khóa • p, q: số nguyên tố lớn, q|(p-1). • 1 <h<p, g=h(p-1)/qmodp. • Khóa bí mật : 1<x<q. • Khóa công khai :y=g-xmodp. • Bí mật: x; Công khai: p, q, g, y. • Hàm băm H(.): {0,1}*—›Zq. http://fit.mta.edu.vn/~dunglh/info.aspx

  40. LƯỢC ĐỒ CHỮ KÝ LD – 02B • Thuật toán ký • 1 < k < q; E= H(M) • R=(gkmodp)modq • S = R-1.(k+ x.E)modq • Chữ ký (R,S) http://fit.mta.edu.vn/~dunglh/info.aspx

  41. LƯỢC ĐỒ CHỮ KÝ LD – 02B • Thuật toán xác minh • E = H(M) • R’=(gS.R. yEmodp)mod q • R’ = R (R,S) hợp lệ ! http://fit.mta.edu.vn/~dunglh/info.aspx

  42. LƯỢC ĐỒ CHỮ KÝ LD – 02B • Tính đúng đắn R’ = (gS.R . yE mod p) mod q = (gk + x.m . yE mod p) mod q = (gk. gx.E . yE mod p) mod q = (gk . gx.E . g-x.E mod p) mod q = (gk mod p) mod q = R http://fit.mta.edu.vn/~dunglh/info.aspx

  43. LƯỢC ĐỒ CHỮ KÝ LD – 02B • Mức độ an toàn • Khóa x, kkhông đủ lớn • Khóa k bị sử dụng lại http://fit.mta.edu.vn/~dunglh/info.aspx

  44. LƯỢC ĐỒ CHỮ KÝ LD – 03A • Hình thành tham số và khóa • p, q: số nguyên tố lớn, q|(p-1). • 1 <h<p, g=h(p-1)/qmodp. • Khóa bí mật : 1<x<q. • Khóa công khai :y=gxmodp. • Bí mật: x; Công khai: p, q, g, y. • Hàm băm H(.): {0,1}*—›Zq. http://fit.mta.edu.vn/~dunglh/info.aspx

  45. LƯỢC ĐỒ CHỮ KÝ LD – 03A • Thuật toán ký • 1 < k < q; E= H(M) • R=(gkmodp)modq • S = k.(E+ x.R)-1modq • Chữ ký (R,S) http://fit.mta.edu.vn/~dunglh/info.aspx

  46. LƯỢC ĐỒ CHỮ KÝ LD – 03A • Thuật toán xác minh • E = H(M) • R’=(gS.E. yS.Rmodp)mod q • R’ = R (R,S) hợp lệ ! http://fit.mta.edu.vn/~dunglh/info.aspx

  47. LƯỢC ĐỒ CHỮ KÝ LD – 03A • Tính đúng đắn R’ = (gS.E . yS.R mod p) mod q = (gS.E. gx.S.R mod p) mod q = (gS.(E + x.R) mod p) mod q = (gk mod p) mod q = R http://fit.mta.edu.vn/~dunglh/info.aspx

  48. LƯỢC ĐỒ CHỮ KÝ LD – 03A • Mức độ an toàn • Khóa x, kkhông đủ lớn • Khóakbị sử dụng lại http://fit.mta.edu.vn/~dunglh/info.aspx

  49. LƯỢC ĐỒ CHỮ KÝ LD – 03B • Hình thành tham số và khóa • p, q: số nguyên tố lớn, q|(p-1). • 1 <h<p, g=h(p-1)/qmodp. • Khóa bí mật : 1<x<q. • Khóa công khai :y=gxmodp. • Bí mật: x; Công khai: p, q, g, y. • Hàm băm H(.): {0,1}*—›Zq. http://fit.mta.edu.vn/~dunglh/info.aspx

  50. LƯỢC ĐỒ CHỮ KÝ LD – 03B • Thuật toán ký • 1 < k < q; E= H(M) • R=(gkmodp)modq • S = k.(R+ x.E)-1modq • Chữ ký (R,S) http://fit.mta.edu.vn/~dunglh/info.aspx

More Related