2. Chương 2: CHỮ KÝ SỐ BỘI TRÊN ĐƯỜNG CONG ELLIPTIC
2.1.2.1 Mô hình tổng quát
Hình 2.1 Hoạt động của hệ thống chữ ký số
Tạo chữ ký số (Digital signature creation):
Đầu vào của quá trình này chính là bản tin cần ký, bằng cách sử dụng khóa bí mật của người gửi, ta có thể tạo ra chữ ký cho bản tin hiện thời. Bản tin gửi đi bao gồm bản tin ban đầu được ký bằng chữ ký vừa tạo ra.
Xác minh chữ ký số (Digital signature verification):
Đây là quá trình sử dụng khóa công khai của người nhận giải để xác thực chữ ký
1./ Quá trình tạo chữ ký
Quá trình tạo chữ ký thực hiện tại bên gửi, gồm hai bước sau đây:
Hình 2.2 Quá trình tạo chữ ký
Tính toán giá trị băm
Bước đầu tiên của quá trình tạo chữ ký là tạo giá trị băm của bản tin cần gửi. Các hàm băm có thể sử dụng là MD2, MD4, MD5, SHA-1, SHA-256…Kết quả thu được là một message digest có chiều dài cố định, nhỏ hơn r t nhiều lần bản tin ban đầu. Theo tính ch t của hàm băm, xác su t để hai bản tin khác nhau có cùng một giá trị băm là r t nhỏ và có thể bỏ qua. Vì vậy nếu giá trị băm của hai bản tin trùng nhau thì bản tin ban đầu cũng trùng nhau (Xem hình 2.1 ).
Tính toán chữ ký số
Kết quả băm thu được (message digest) được ký bằng khóa bí mật (private key) của bên nhận. Kết quả thu được này chính là chữ ký số. Các thuật toán tạo khóa có thể sử dụng là RSA (dựa trên bài toán số nguyên tố), Elgamal (dựa trên lí thuyết logic rời rạc), ECDSA (dựa trên bài toán logarit trên EC). Chữ ký này được gắn vào bản tin ban đầu (ký) và truyền đến người gửi trên môi trường mạng.
2./ Quá trình xác thực
Hình 2.3 Quá trình xác thực chữ ký
Tính toán giá trị băm hiện thời
Sau khi nhận được bản tin bao gồm bản tin ban đầu (nói chính xác là bản tin mà bên nhận cho là bản tin ban đầu) và chữ ký gửi kèm, bên nhận tiến hành tách riêng hai phần của bản tin ra. Phần bản tin ban đầu trở thành đầu vào của thuật toán băm giống với thuật toán băm khi tạo chữ ký số. Giá trị băm nhận được gọi là giá trị băm hiện thời vì nó được tính từ bản tin hiện thời.
Tính toán giá trị băm ban đầu
Trong bước thứ hai của quá trình giải mã, chữ ký số đính kèm được giải mã bằng khóa công khai (public key) tương ứng với khóa bí mật (private key) dùng để tạo chữ ký ở bên gửi. Kết quả thu được giá trị băm ban đầu.
So sánh giá trị băm hiện thời với giá trị băm ban đầu
Trong bước này ta tiến hành so sánh giá trị băm thu được từ bước 1 và bước 2 của quá trình xác thực.
Nếu hai giá trị băm này trùng nhau: quá trình xác thực thành công, bản tin đã được ký bằng khóa bí mật tương ứng với khóa công khai khi xác minh, đồng thời bản tin cũng không bị thay đổi trong quá trình truyền đi.
Nếu hai giá trị băm không trùng nhau: quá trình xác thực th t bại, có hai trường hợp m t an toàn đã xảy ra:
- Khóa bí mật của người gửi không được sử dụng khi tạo chữ ký. - Bản tin đã bị thay đổi trong quá trình truyền đi.