Chữ ký điện tử
Chữ ký điện tửKèm thông điệp Kèm thông điệp
- Mỗi cá thể A chọn một khóa k = (k’,k’’) K, là thuật toán ký với mỗi khóa k (mỗi là một ánh xạ 1-1 từ Mh tới Ms).
-Thuật toán tương ứng là một ánh xạ từ Mh Ms đến tập hợp {True, False} sao cho:
Với m ∈ Mh , s ∈ Ms : ở đây m = h(P) với P ∈ M . đượ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).
Với khóa k= (k’, k’’), trong đó khóa công khai của A là k’’, khóa bí mật là k’. Verk’’ (m,s) =
Thuật toán sinh chữ ký và chứng thực chữ ký
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 minh chữ ký đó có đúng là của A hay không?
Quá trình sinh chữ ký:
- Chọn một chữ ký k= (k’, k’’) ∈ K - Tính m = h(P) và s = (m)
- Chữ ký của A cho thông điệp P là s, P và s được gửi đến B. Quá trình xác nhận chữ ký:
- Xác thực đúng khoá công khai của A là k’’ - Tính m =h(P) và u = (m,s)
- Chấp nhận chữ ký của A nếu u = True
Hình 2.6. Mô hình lược đồ chữ ký kèm thông điệp b) Lược đồ chữ ký khôi phục thông điệp
Đặc trưng cho lược đồ này là thông điệp ban đầu có thể được khôi phục từ chính bản thân chữ ký. Trong thực tế lược đồ ký kiểu này thường được ký cho các thông điệp nhỏ.
Định nghĩa
Lược đồ chữ ký khôi phục thông điệp là lược đồ chữ ký số không đòi hò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 từ chính chữ ký đó.
Một số lược đồ chữ ký khôi phục thông điệp như: Rabin, RSA, …
Thuật toán sinh khoá
Mỗi cá thể tạo một khóa riêng dùng để ký thông điệp và một khóa 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 , là thuật toán ký với mỗi khóa k (mỗi là một ánh xạ 1-1 từ Mh tới Ms).
R là một hàm sao cho R(M) = MR và có nghịch đảo là R -1
- Thuật toán tương ứng là một ánh xạ từ Ms đến MR sao cho: * là một ánh xạ trên MR, k ∈ K. 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ý và xác nhận chữ ký
Thuật toán sinh chữ ký
Thực thể A ký một thông điệp P ∈ M với chữ ký s. Một thự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ý đó.
- Chọn khóa k= (k’,k’’) ∈ K
- Tính m = R(P) và s = (m) (R,R-1 là các hàm được công khai). - 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 nhận chữ ký
B thực hiện các bƣớc sau để xác minh chữ ký: - Xác thực đúng khóa công khai của A là k'' - Tính m = (s)
- Xác thực m = MR (Nếu m ∈ MR thì từ chối chữ ký) - Phục hồi thông điệp P từ m bằng cách tính R-1(m)
Hình 2.7. Mô hình lược đồ chữ ký khôi phục thông điệp
2.4.3. Một số lược đồ chữ ký số cơ bản