Ví dụ minh họa

Một phần của tài liệu LUẬN VĂN: NGHIÊN CỨU MỘT SỐ CHỮ KÝ SỐ ĐẶC BIỆT VÀ ỨNG DỤNG docx (Trang 45 - 46)

Trong ví dụ này, Alice là ngƣời ký, Bob là ngƣời cần xin chữ ký.

1/. Chuẩn bị các tham số

Alice chuẩn bị các tham số cho việc ký

- Chọn số nguyên tố p = 59747 = 2 * q + 1, q = 29873 cũng là số nguyên tố - G là nhóm nhân con của 𝑍𝑝∗ cấp q. Chọn phần tử sinh của nhóm G là g = 3. - Đặt P = A = G, K = {(p, g, a, h ): a ∈ 𝑍𝑞∗, h ≡ 𝑔𝑎 mod p }

Chọn a = 11, h = 311mod 59747 = 57653

2/. Thuật toán ký

Dùng khóa bí mật sk = a để ký lên x = 229

Chữ ký thu đƣợc là y = sigsk (x) = xa mod p = 22911mod 59747 = 30179.

3/. Giao thức kiểm thử chữ ký

Dùng khóa công khai pk = ( p, g, h ) = ( 59747, 3, 57653 ) - Bob chọn ngẫu nhiên 𝑒1 = 11, 𝑒2 = 15 ∈ 𝑍𝑞∗

- Bob tính c = 𝑦𝑒1𝑕𝑒2mod p = 30179115765315mod 59747 = 55601

- Alice tính d = 𝑐𝑎−1 mod q𝑚𝑜𝑑 𝑝 = 5560111−1mod 29873𝑚𝑜𝑑 59747 = 43319

- Bob kiểm tra điều kiện 𝑑 ≡ 𝑥𝑒1g𝑒2𝑚𝑜𝑑 𝑝

Có 𝑥𝑒1g𝑒2𝑚𝑜𝑑 𝑝 = 22911315mod 59747 = 43319 ≡ 43319 mod 59747

 Bob kết luận chữ ký là đúng.

4/. Giao thức chối bỏ chữ ký

Giả sử Bob gửi tài liệu x = 229, với chữ ký y = 30178

- Bob chọn ngẫu nhiên 𝑒1 = 11, 𝑒2 = 15 ∈ 𝑍𝑞∗

- Bob tính c = 𝑦𝑒1𝑕𝑒2 mod p = 30178115765315 𝑚𝑜𝑑 59747 = 19071

- Alice tính d = 𝑐𝑎−1mod q𝑚𝑜𝑑 𝑝 = 1907111−1mod 29873𝑚𝑜𝑑 59747 = 33692

- Bob kiểm tra điều kiện 𝑑 ≡ 𝑥𝑒1g𝑒2𝑚𝑜𝑑 𝑝

Có 𝑥𝑒1α𝑒2𝑚𝑜𝑑 𝑝 = 22911315mod 59747 = 43319 33692 mod 59747

39 - Bob chọn ngẫu nhiên 𝑓1 = 17, 𝑓2 = 19 ∈ 𝑍𝑞∗

- Bob tính C = 𝑦𝑓1𝑕𝑓2 mod p = 30178175765319mod 59747 = 9217 và gửi cho Alice

- Alice tính D = 𝐶𝑎−1mod q𝑚𝑜𝑑 𝑝 = 921711−1mod 29873𝑚𝑜𝑑 59747 = 33028 và gửi cho Bob

- Bob kiểm tra 𝐷 ≢ 𝑥f1g𝑓2𝑚𝑜𝑑 𝑝 - Bob kiểm tra:

(𝒅𝒈−𝒆𝟐)𝒇𝟏 ≡ (𝑫𝒈−𝒇𝟐)𝒆𝟏 𝒎𝒐𝒅 𝒑

Có (𝒅𝒈−𝒆𝟐)𝒇𝟏mod p = (33692 * 3-15)17 (mod 59747) = 40635

(𝑫𝒈−𝒇𝟐)𝒆𝟏 ( mod p ) = (33028 * 3-19)11 ( mod 59747 ) = 40635

 (𝒅𝒈−𝒆𝟐)𝒇𝟏 ≡ (𝑫𝒈−𝒇𝟐)𝒆𝟏 𝒎𝒐𝒅 𝒑

 Bob kết luận chữ ký là giả mạo (adsbygoogle = window.adsbygoogle || []).push({});

Ví dụ này đƣợc trình bày với mục đích minh họa, nên chỉ sử dụng các số nguyên tố p, q nhỏ. Trong thực tế ứng dụng, để đảm bảo an toàn, ngƣời ta dùng các số p, q rất lớn, chẳng hạn các số có biểu diễn nhị phân cỡ 512 bits. Khi đó ta có q ≥ 2512 tức là 1/q ≤ 2−512, một xác suất rất bé, có thể bỏ qua; và vì vậy, các yêu cầu đối với các giao thức kiểm thử và giao thức chối bỏ nhƣ trong phần đặt vấn đề có thể xem nhƣ là đƣợc thỏa mãn.

Một phần của tài liệu LUẬN VĂN: NGHIÊN CỨU MỘT SỐ CHỮ KÝ SỐ ĐẶC BIỆT VÀ ỨNG DỤNG docx (Trang 45 - 46)