CHƢƠNG 10 .MÃ HÓA ĐƢỜNG CONG ELLIPTIC
10.5 Chuẩn chữ ký điện tử (Digital Signature Standard – DSS)
Trong chương 5, chúng ta đã tìm hiểu về cách sử dụng hàm hash cùng với mã hóa RSA để tạo chữ ký điện tử. Hình bên dưới trình bày lại mơ hình này:
158
M
Bên gửi Bên nhận
M M Tính Hash HA Mã hóa DS Giải mã HA TínhHash HB KRA So sánh KUA Bộ sinh khóa
DS: Data signature – chữ ký điện tử
với RSA, DSS không thể dùng để mã hóa hay trao đổi khóạ Tuy nhiên về cơ bản DSS cũng thuộc lĩnh vực khóa cơng kháị Mơ hình thực hiện của DSS được minh họa trong hình bên dướị
Bên gửi Bên nhận
M M M Tính Hash HA Sign s r H B Tính Hash k KUG Verify So sánh KRA KUA KUG Bộ sinh khóa
Phương pháp DSS cũng dùng hàm Hash. k là một số ngẫu nhiên do bên gửi tự chọn. KUG là một tập các tham số công khai sử dụng chung cho tất cả các bên. Thủ tục Sign sử dụng khóa bí mật để cho ra chữ ký gồm hai tham số s và r. Thủ tục Verify sử dụng khóa cơng khai để cho ra một thông số. Thông số này được so sánh với r để kiểm tra chữ ký. Chi tiết của thủ tục Sign và Verify được gọi là thuật toán ký (Digital Sinature Algorithm – DSA), được trình bày trong phần tiếp theọ
DSA cũng sử dụng hàm một chiều là phép logarith rời rạc như được dùng trong trao đổi khóa Diffie-Hellman. Tuy nhiên cách thức thực hiện thì theo sơ đồ Elgamal-Schnor. Sơ đồ này gồm các thơng số như sau:
• Thơng số cơng khai tồn cục (KUG):
- p là số ngun tố, 2 2 512 1 24 và L chia hết cho 64. (nghĩa là số bít của p từ 512 đến 1024 và chia hết cho 64)
- q là một thừa số ngun tố của p-1, q có chiều dài 160 bít
- với h là số nguyên bất kỳ trong khoảng (1, p-1) và
1.
• Khóa riêng của người gửi (KRA): là số ngẫu nhiên 1
159 • Khóa cơng khai của người gửi (KUA): . Do tính một chiều của
logarith rời rạc từ y, g và p khơng thể tính lại khóa riêng x • Số ngẫu nhiên 1
• Hàm Sign:
- 1 .
- 2 M là thông điệp cần gửi,
H là hàm SHA-1
- Output của hàm Sign là cặp (r, s) đóng vai trị là chữ ký điện tử • Hàm Verify (s’ , r’, M’ là các giá trị người nhận nhận được):
- 3 .
- 1 [ ]
- Output của hàm verify: 4 [ ]
• được so sánh với , nếu khớp thì M’ = M chính là thơng điệp của người gửị Chúng ta có thể biểu diễn lại hàm Sign và Verify trên bằng hình bên dưới:
p q g
k f1 r s' Hash p q g
M Tính
s r' f3 f4 v
x q so sánh
a) Quá trình ký b) Quá trình kiểm tra
160