Chủ đề 6: Chữ ký điện tử

Phương pháp DSA Tính hiệu quả Tạo chữ ký Một thao tác tính lũy thừa modulo Một số thao tác 160-bit (nếu p ~ 768 bit) Việc tính lũy thừa có thể được tính sẵn trước Nhanh hơn phương pháp RSA Kiểm tra chữ ký Hai thao tác tính lũy thừa modulo Châm hơn phương pháp RSA

pdf25 trang | Chia sẻ: vutrong32 | Ngày: 16/10/2018 | Lượt xem: 309 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Chủ đề 6: Chữ ký điện tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chủ đề 6: Chữ ký điện tử Nội dung Mở đầu Chữ ký điện tử Phương pháp RSA Phương pháp DSA Mở đầu Nhắc lại Hàm Băm Mật Mã Hàm băm mật mã Tính chất của hàm băm mật mã Hạn chế ??? Mở đầu Mục tiêu của chữ ký điện tử (Digital Signature) : Xác nhận người dùng (Authentication) Tính toàn vẹn thông tin (Data Integrity) Không thể từ chối trách nhiệm (Non-Repudiation) Demo1 Người gửi: Văn phòng B Người nhận: Ngân hàng A Ngày gửi: 10 / 10 / 2007 Nội dung: .. Rút $5,000,000 Mã tài khoản: NHB-212551245 .... Người gửi: Văn phòng B Người nhận: Ngân hàng A Ngày gửi: 1 0/ 10 / 2007 Nội dung: .. Rút $5,000,000 Mã tài khoản: NHB-212551245 .... Văn phòng B Ngân hàng A Văn phòng B cần thực hiện giao dịch rút tiền với Ngân hàng A $ 5,000,000 Gửi bằng email Gửi ? ?Khá hàng phải đếntận nơi để giao dịch. OK ! Demo2 Người gửi: Văn phòng B Người nhận: Ngân hàng A Ngày gửi: 10 / 10 / 2007 Nội dung: .. Rút $5,000,000 Mã tài khoản: NHB-212551245 .... Người gửi: Văn phòng B Người nhận: Ngân hàng A Ngày gửi: 10 / 10 / 2007 Nội dung: .. Rút $5,000,000 Mã tài khoản: NHB-212551245 .... $ 5,000,000 email Mã hóa & Ký Giải mã & kiểm tra chữ ký Ok! Chấp nhận yêu cầu & gửi tiền Mở đầu Một số khái niệm cơ bản: Chữ ký điện tử: chuỗi dữ liệu cho phép xác định nguồn gốc/xuất xứ/thực thể đã tạo ra 1 thông điệp. Thuật toán phát sinh chữ ký điện tử: phương pháp tạo ra chữ ký điện tử Chiến lược chữ ký điện tử: bao gồm thuật toán phát sinh chữ ký điện tử và thuật toán tương ứng để kiểm chứng chữ ký điện tử. Digital Signature Scheme = Digital Signature Generation Algorithm + Digital Signature Verification Algorithm Mở đầu Một số ký hiệu: M Không gian thông điệp MS Không gian thông điệp được ký S Không gian chữ ký R Ánh xạ 1-1 từM vào MS (redundancy function) MR Ảnh của R R-1 Hàm ngược của R h Hàm một chiều với tập nguồnM Mh Không gian giá trị hash (h: M→ Mh) Mở đầu Phân loại chữ ký điện tử Chiến lược chữ ký Khôi phục thông điệp (Message Recovery) Đính kèm (Appendix) Mở đầu Các chiến lược chữ ký với phần đính kèm (appendix) Chữ ký điện tử đi kèm với thông điệp gốc Cần có thông điệp (gốc) cho quá trình kiểm tra chữ ký điện tử Sử dụng hàm băm mật mã (thay vì redundancy function) Ví dụ: DSA, ElGamal, Schnorr Mở đầu Chữ ký điện tử với phần đính kèm M m mh Mh h s* S SA,k Mh x S u ∈ {true, false}VA s* = SA,k(mh) u = VA(mh, s*) Mở đầu Yêu cầu: Với mỗi k ∈ R, có thể dễ dàng tính SA,k Phải dễ dàng tính được VA Rất khó để một người không phải là signer có thể tìm ra m ∈ M và s*∈ S sao cho VA(m’, s*) = true, với m’ = h(m) Mở đầu Chữ ký điện tử có khả năng cho phép khôi phục lại thông điệp M m mr MR R s* S SA,k, MS M mmr MR R-1s* S VA Mở đầu Yêu cầu: Với mỗi k ∈ R, có thể dễ dàng tính SA,k Có thể dễ dàng tính VA Rất khó (computationally infeasible) để một người không phải là A có thể tìm ra s* ∈ S sao cho VA(s*) ∈MR VD: RSA Mở đầu Chuyển từ Chữ ký điện tử có khả năng cho phép khôi phục lại thông điệpÆ Chữ ký điện tử với phần đính kèm mr MR R s* S SA,k MS M m mh Mh h Tạo Chữ ký điện tử Tạo chữ ký Dữ liệu Hash MessageHash Sign Signature Khoá bí mật Dữ liệu Kiểm tra Chữ ký điện tử Kiểm tra chữ ký Dữ liệu Hash VerifySignature Khoá công cộng ? Phương pháp RSA Phương pháp RSA Phát sinh khóa n, p, q, e, d Tạo chữ ký Tính mr = R(m) Tính s = mrd mod n Chữ ký tương ứng với m là s Kiểm tra chữ ký Nhận được public key (n, e) Tính mr = se mod n Kiểm tra mr ∈ Mr Khôi phục m = R-1(mr) Phương pháp DSA Digital Signature Algorithm Digital Signature Standard (DSS) Phương pháp DSA Phát sinh khóa: 1. Chọn 1 số nguyên tố q 160 bit 2. Chọn 0≤t≤8, chọn 2511+64t <p< 2512+64t với q|p-1 3. Chọn g trong Zp*, và α = g(p-1)/qmod p, α≠1 (α là phần tử sinh của nhóm con bậc q của Zp*) 4. Chọn 1 ≤ a ≤q-1, tính y= αamod p 5. public key (p,q, α,y), private key a Phương pháp DSA Tạo chữ ký: Chọn ngẫu nhiên số nguyên k, 0 < k < q Tính r=(αkmod p) mod q Tính k-1 mod q Tính s=k-1 ∗(h(m) + ar) mod q Chữ ký = (r, s) Phương pháp DSA Kiểm tra chữ ký Kiểm tra 0<r<q và 0<s<q, nếu không thỏa thì kết luận là không chữ ký hợp lệ Tính w= s-1mod q và h(m) Tính u1=w∗h(m)mod q, u2=r∗w mod q Tính v = (αu1yu2 mod p) mod q Chữ ký hợp lệ⇔ v = r Phương pháp DSA Tính hiệu quả Tạo chữ ký Một thao tác tính lũy thừa modulo Một số thao tác 160-bit (nếu p ~ 768 bit) Việc tính lũy thừa có thể được tính sẵn trước Nhanh hơn phương pháp RSA Kiểm tra chữ ký Hai thao tác tính lũy thừa modulo Châm hơn phương pháp RSA

Các file đính kèm theo tài liệu này:

  • pdf06a_chukydientu_2916.pdf