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
25 trang |
Chia sẻ: vutrong32 | Lượt xem: 1071 | Lượt tải: 0
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:
- 06a_chukydientu_2916.pdf