4. Những nội dung nghiên cứu chính
1.3.2 Quy trình tạo và kiểm tra chữ ký số
a) Quy trình tạo ra chữ ký số: Quy trình này được thực hiện bởi người gửi - Tạo giá trị băm tài liệu cần gửi bằng MD5 hay SHA
- Chữ ký số của người gửi là kết quả mã hoá giá trị băm bằng khoá riêng (Private key) của người gửi.
- Gửi thông điệp được gửi đi bao gồm tài liệu gốc và chữ ký người gửi
Hashing (SHA, MD5) Thông tin gốc
(bản rõ)
M Mã băm Mã hóa
PR (Private Key) Chữsoos ký số h = H(M)
Hình 1.4: Sơđồ tổng quát tạo chữ ký số
b) Quy trình kiểm tra chữ ký số
- Người nhận tạo giá trị băm cho tài liệu gốc trong thông điệp. Giá trị này gọi là giá trị băm người nhận.
- Giải mã chữ ký người gửi bằng khoá công khai của người gửi, kết quả là giá trị băm tài liệu của người gửi, gọi là giá trị băm người gửi. Chỉ người gửi nào có khoá riêng tương ứng với khoá công khai của người nhận mới có thể tạo ra chữ ký số. Do đó người nhận có thể xác minh được nguồn gốc người gửi.
- Nếu giá trị băm người gửi và người nhận trùng nhau, nghĩa là người nhận đã nhận đúng đối tượng cần mong đợi. Ngược lại, người nhận đã nhận thông tin từ đối tượng không mong đợi.
Hình 1.5: Sơđồ tổng quát kiểm tra chữ ký số
Có thể tóm tắt các quy trình tạo chữ ký số và kiểm tra chữ ký số khi thực thể A gửi một bản tin M đến thực thể B như sau:
1. Thực thể A tạo một chữ ký số: E (H(M), PRA)
2. Thực thể A gửi thông điệp đến thực thể B: (M, E(H(M), PRA) 3. Thực thể B nhận (M, E(H(M), PRA)
4. Giải mã, khôi phục giá trị băm người gửi:h= D[E(H(M), PRA)),PUA] 5. Tạo giá trị băm người nhận: h’ = H(M)
6. So sánh h và h’. Nếu hai thông tin này giống nhau, thì bản tin nhận được xem như hợp lệ.