Chữ ký chống chối bỏ trên EC

Một phần của tài liệu tìm hiểu chữ ký số và ứng dụng của nó (Trang 79 - 82)

4.4.4.1 Ký chống chối bỏ trên EC

Năm 2001, C.H. Lin công bố lược đồ chữ ký chống chối bỏ trên đường cong Elliptic để làm tăng sức mạnh của lược đồ chữ ký chống chối bỏ. Lược đồ gồm 3 bước như sau [25]:

Alice muốn ký lên thông điệp M Є [1, n-1], các bước thực hiện như sau: Bước 1: Chọn đường cong E trên trường Zp.

Bước 2: Lựa chọn điểm cơ sở B Є E(Zp) bậc n. Bước 3: Chọn một số ngẫu nhiên x Є [1, n-1].

Bước 4: Chọn một số ngẫu nhiên r Є [1, n-1] và sử dụng M và r để tìm một điểm T trên EC sao cho (M r mod n) x T = B. Alice lấy (x, r, T) là khoá bí mật.

Bước 5: Chọn một số ngẫu nhiên s Є [1, n-1] và tính t = rx mod n, Q = t x (r

x T + s x B) là khoá công khai. b. Giai đoạn ký: Alice tính

t1 = t2 mod n = r2 x2 mod n; t2 = ts mod n = rxs mod n;

Z = (Mt1 mod n) x (r x T + s x B) + t2 x B = (X1, Y1)

Là chữ ký chống chối bỏ của Alice, Z và M gửi cho người thẩm định Bob

c. Giai đoạn thẩm định

Bước 1: Bob chọn 2 số ngẫu nguyên ngẫu nhiên a, b Є [1, n - 1] và tính

W = a x Z + b x Q = (X2, Y2)

W và (a + b) được gửi cho người ký.

Bước 2: Sau khi nhận W, Alice tính

R = (r1x-1 mod n) x W - [s (a + b) mod n] x B

Ở đây d-1 là nghịch đảo của d. Kết quả R được gửi cho Bob. Bước 3: Người thẩm định Bob tính

u = aM mod n, v = bM-1 mod n,

R’ = u x Q + v x B.

Nếu R = R thì M được xác thực. 4.4.4.2 Ký nhóm chống chối bỏ trên EC

Giả thiết rằng có k ≥ 2 người dùng trong nhóm, và mỗi người dùng trong nhóm có một khoá riêng. Các người dùng được biểu diễn bằng U1, U2, U3, …, Uk.

a. Sinh khoá:

Để ký lên thông điệp M Є [1, n-1], mỗi người dùng trong nhóm sinh cho mình khoá riêng; việc sử dụng khoá riêng của người dùng trong cùng nhóm, khoá công khai nhóm được tính như sau:

Bước 2: Lựa chọn điểm cơ sở G Є E(Zp) mà bậc của nó phải là một số

nguyên tố lớn, định nghĩa là n.

Bước 3: Mỗi người dùng trong nhóm lựa chọn một số nguyên ngẫu nhiên di

Є [1, n-1] là khoá bí mật. Ở đây, i = 1, 2, 3, .., k.

Bước 4: Lấy Q1 = d1 x G, khoá công khai Q của nhóm sẽ được tính như sau:

Q = Qk = dk x (Qk-1) = (d1d2d3…dk mod n) x G

b. Giai đoạn ký

Lấy Z1 = (d1M mod n) x Q, khi đó chữ ký chống chối bỏ nhóm Z có thể được

tính toán như sau thông qua việc kết hợp các người dùng: Z = Zk = dk x (Zk-1) = (d1d2d3…dk mod n) x Q = (X1, Y1). Sau đó Z và M được gửi sang cho Bob để thẩm định.

c. Giai đoạn thẩm định

Bước 1: Bob lựa chọn 2 số nguyên ngẫu nhiên a và b Є [1, n-1] và tính W = a x Z + b x Q = (X2, Y2), sau đó gửi W cho Alice

Bước 2: Alice Sau khi nhận W, tính R1 = (d1-1 mod n) x W, sau đó R được

tính như sau:

R = Rk = dk-1 x (Rk-1) = (d1-1d2-1d3 -1…dk -1 mod n) x W

Và gửi cho Bob.

Bước 3: Bob tính R’ như sau: R’ = (a M mod n) x Q + b x G

So sánh, nếu R = R’ thì chữ ký chống chối bỏ nhóm và thông điệp M được chứng thực. Chứng minh: Để ngắn gọn, tính t =d1d2d3…dk , do đó Q = Qk = dk x (Qk-1) = (d1d2d3…dk mod n) x G = (t mod n) x G Z = Zk = dk x (Zk-1) = (d1d2d3…dk mod n) x Q = (tM mod n)×Q R = Rk = dk-1 x (Rk-1) = (d1-1d2-1d3 -1…dk -1 mod n) x W = (t-1 mod n)×W = (t-1 mod n)×(a x Z + b x Q)

= (t-1 mod n)×{a x [(tM mod n)×Q] + b x [(t mod n) x G ]} = (t-1 mod n) × [(atM mod n)×Q + (bt mod n)×G]

= (aM mod n) x Q + b x G

Một phần của tài liệu tìm hiểu chữ ký số và ứng dụng của nó (Trang 79 - 82)