4. Nội dung luận văn
2.3.2 Phân loại các lược đồ chữ ký số
Dựa vào các lược đồ sinh chữ ký số, có thể chia lược đồ chữ ký số thành hai loại là lược đồ chữ ký số kèm theo bản rõ và lược đồ chữ ký số khôi phục bản rõ. [9][10]:
2.3.2.1 Lược đồ chữ ký số kèm theo bản rõ
Loại lược đồ chữ ký số này cũng được dùng phổ biến trong thực tế. Chúng dựa vào các hàm băm mật mã [9] và ít bị tấn công giả mạo hơn.
Verk’’(x; y) =
True, nếu y = Sigk‟(x) False, nếu y # Sigk‟(x)
False, nếu y <>
Định nghĩa
Lược đồ chữ ký số mà yêu cầu phải có thông điệp là đầu vào cho thuật toán chứng thực chữ ký được gọi là lược đồ chữ ký số kèm theo bản rõ.
Một số lược đồ chữ ký kèm theo bản rõ như: Lược đồ chữ ký ELGamal, lược đồ chữ ký DSA. [9]:
Thuật toán sinh khóa cho các lƣợc đồ chữ ký số kèm theo bản rõ.
Tóm lược: Mỗi cá thể tạo một khóa riêng để ký thông điệp và một khóa công khai tương ứng để các cá thể khác trong hệ thống dùng trong quá trình xác thực chữ ký.
(1). Mỗi cá thể A chọn một khóa k = (k‟, k‟‟)K, Sigk‟ là thuật toán ký với khóa k (mỗi Sigk‟ là một ánh xạ 1-1 từ Mhtới Ms).
(2). Thuật toán Verk‟‟ tương ứng là một ánh xạ từ MhxMs đến tập hợp {True, False} sao cho:
Với mMh, sMs:ở đây m = h(P) với PM. Verk‟‟ được gọi là thuật toán kiểm thử để chứng thực chữ ký, h là hàm một chiều từ M đến Mh (Mh là tập hợp các giá trị băm).
(3). Với khóa k = (k‟, k‟‟), trong đó khóa công khai của A là k‟‟; khóa bí mật của A là k‟.
Thuật toán sinh chữ ký và chứng thực chữ ký
Tóm lược: Cá thể A ký một thông điệp PM với chữ ký s. Một các thể B bất kỳ có thể xác minh chữ ký đó có đúng là của A hay không?
Sinh chữ ký, cá thể A thực hiện:
(a)Chọn một khóa k = (k‟; k‟‟) K (b)Tính m = h(P) và s = Sigk‟(m).
(c)Chữ ký của A cho thông điệp P là s, P và s được gửi đến B.
Để chứng thực chữ ký B thực hiện các bước sau:
(a)Xác thực đúng khóa công khai của A là k‟‟. Tính (P) và
Verk‟‟(m; s) =
True, nếu Sigk‟(m) = s False, nếu Sigk‟(m) # s
False, nếu Sigk’(m) <>
(c)Chấp nhận chữ ký của A nếu u = True.
Các thuộc tính sau là yêu cầu cần thiết cho thuật ký và chứng thực chữ ký: (i) Với mỗi khóa k = (k‟; k‟‟) K, Sigk‟ được tính toán hiệu quả.
(ii) Verk‟‟ cần tính toán một cách hiệu quả.
(iii) Không một cá thể nào khác ngoài A có thể tìm được bản rõ P M và
s Mssao cho Verk‟‟(m; s) = True, ở đây m = h(P).
Hình 2.6: Mô hình tổng quát lược đồ chữ ký có kèm bản rõ
2.3.2.2 Lược đồ chữ ký số tự khôi phục bản rõ
Đặc điểm của loại lược đồ chữ ký số tự khôi phục bản rõ là thông điệp được ký có thể phục hồi từ ngay chữ ký đó, loại lược đồ này thường được dùng để ký những thông điệp nhỏ.
Lược đồ chữ ký số tự khôi phục bản rõ là lược đồ chữ ký số không đòi hỏi phải có thông điệp gốc làm đầu vào để chứng thực chữ ký mà thông điệp gốc sẽ được phục hồi chính từ chữ ký đó [9].
Một số lược đồ chữ ký tự khôi phục bản rõ như: Lược đồ chữ ký khóa công khai Rabin, lược đồ chữ ký RSA [9].
Thuật toán sinh khóa
Tóm lược: Mỗi cá thể tạo một khóa riêng dùng để ký thông điệp và một khóa
Mh m ● Ms ● s M P ● (a) Quá trình ký. h Sigk’ Verk’ Mh xMs ●True ●False (b) Quá trình chứng thực.
công khai tương ứng để cá thể khác trong hệ thống dùng để xác thực chữ ký.
Mỗi cá thể A chọn một khóa k = (k‟, k‟‟) K. Sigk‟ là thuật toán ký với khóa
k (mỗi Sigk là một ánh xạ 1-1 từ Mhtới Ms).
R là một hàm sao cho R(M) = MRvà có nghịch đảo là R-1
Thuật toán Verk‟‟ tương ứng là một ánh xạ từ Msđến MR sao cho:
Verk‟‟ Sigk‟ là một ánh xạ trên MR,kK. Verk‟‟ là thuật toán chứng thực chữ ký.
Cặp khóa k = (k‟, k‟‟), trong đó khóa công khai của A là k‟‟; khóa bí mật của A là k‟.
Thuật toán sinh chữ ký
Tóm lược: Cá thể A ký một thông điệp P M với chữ ký s. Một cá thể B bất kỳ có thể xác thực chữ ký và phục hồi thông điệp P từ chữ ký đó.
(a) Chọn khóa k = (k‟, k‟‟) K
(b) Tính m = R(P) và s = Sigk‟(m). (R, R-1 là các hàm được công khai) (c) Chữ ký của A lên thông điệp P là s, và sau đó A gửi s cho B.
Thuật toán xác thực chữ ký
B thực hiện các bước sau:
(a) Xác thực đúng khóa công khai của A là k‟‟. (b) Tính m = Verk‟‟(s).
(c) Xác thực m = MR (nếu mMR thì từ chối chữ ký). (d) Phục hồi thông điệp P từ m bằng cách tính R-1(m).
(i) Với mỗi khóa k = (k‟; k‟‟) K, Sigk‟ được tính toán hiệu quả. (ii) Verk‟‟ cần tính toán một cách hiệu quả.
(iii) Không một cá thể nào khác ngoài A có thể tìm được s Mssao cho
Verk‟‟(s) MR. Hình 2.7: Lược đồ chữ ký số tự khôi phục bản rõ Sig k’ R MR ● m Ms ● s M P ●
Sigk’ R h Ms ● s M P ● MR ●R(m) Mh m ● Nhận xét:
Hầu hết các lược đồ chữ ký số tự khôi phục bản rõ được áp dụng cho các thông điệp có độ dài cố định (dùng các hàm băm trước khi ký), trong khi các lược đồ chữ ký số kèm theo bản rõ được áp dụng cho các thông điệp có độ dài tùy ý.
Một lược đồ chữ ký tự khôi phục bản rõ bất kỳ có thể chuyển thành một lược đồ chữ ký kèm theo bản rõ bằng cách dùng hàm băm để băm thông điệp sau đó ký lên giá trị băm. Thông điệp lúc là yêu cầu đầu vào cho quá trình xác thực chữ ký, một sơ đồ hình 2.7 Minh họa cho sơ đồ hình 2.6
Hình 2.8: Lược đồ chữ ký số kèm theo bản rõ thu được