Cấu trúc lược đồ chữ ký người xác nhận không thể chối bỏ:

Một phần của tài liệu Đồ án Chữ ký không chối bỏ được và ứng dụng (Trang 44 - 45)

Chương 5 : CHỮ KÝ NGƯỜI XÁC NHẬN KHÔNG THỂ CHỐI BỎ

4. Cấu trúc lược đồ chữ ký người xác nhận không thể chối bỏ:

4.1. Tạo khóa:

+ Người ký chọn s ∈R Zq, thiết lập cặp khóa bí mật và cơng khai (SS, PS) với SS = s, PS = gs mod p.

+ Người xác nhận chọn c ∈R Zq, thiết lập cặp khóa bí mật và cơng khai (SC, PC) với SC = c, PS = gc mod p.

4.2. Tạo chữ ký:

Để tạo chữ ký σ trên thông báo m, người ký S chọn r ∈R Zq, tạo:

α : = gr, αs : = Pr

S, αs+c : = (PSPC)r, gs : = PS, gs+c : =PSPC Sau đó tính σ1 = CP(r, α, αs+c, g, gs+c)(m) và σ2 = S(sr, g, αs)(σ1).

=> Chữ ký σ của người ký trên thông báo m là: σ = (σ1, σ2).

4.3. Kiểm tra chữ ký:

Đầu tiên người kiểm tra sẽ kiểm tra độ tin cậy của (σ1, σ2) với σ1 là chữ ký Chaum – Petersen đẳng thức của thuật tốn rời rạc tin cậy trên thơng báo m và σ2 là chữ ký Schnorr tin cậy trên σ1. Người kiểm tra dừng nếu mọi sự kiểm tra đều dẫn đến kết quả không tin cậy. Ngược lại, người kiểm tra tiếp tục kiểm tra chữ ký như sau:

- Đối với người ký:

Đầu ra v của người kiểm tra của (SVer (SS), VVer())(m, σ, PS, PC) được tính: v = Bi-Proof [logα(αs) ≡ logg(gs)]

Trong giao thức này người ký đóng vai trị người chứng minh. - Đối với người xác nhận:

Đầu ra v của người kiểm tra của (CVer(SC), VVer())(m, σ, PS, PC) được tính: v = Bi-Proof [logg (gc ) ≡ logα(αc)]

Trong giao thức phép chứng minh ký này, người xác nhận giữ nhiệm vụ như người chứng minh và αc = αs+c /αs.

Trong cả 2 sự kiểm tra của người ký và người xác nhận, người kiểm tra chấp nhận chữ ký khi và chỉ khi v = 1.

4.4. Giải thích cấu trúc bằng trực giác:

Ta thấy rằng trong các cấu trúc này, người ký có khóa bí mật s, khóa cơng khai g, người xác nhận có khó bí mật c, khóa cơng khai gc.

Giá trị gs+c được tính:

gs+c = PS . PC = gsgc (vì gs = PS, gc = PC )

Chữ ký người xác nhận không thể chối bỏ σ gồm 2 chữ ký là σ1, σ2.

Trong đó σ1 là chữ ký Chaum – Petersen được tạo với khóa bí mật r1 = r, kiểm tra với

khóa cơng khai α = gr và αs+c = gr c

s+ ; σ2 là chữ ký Schnorr được tạo với khóa bí mật r2 = rs, kiểm tra với khóa cơng khai αs = gr

s.

Bằng trực giác thấy rằng, chữ ký là luận chứng của tri thức khóa bí mật. Như vậy, nếu một người nào đó có thể tạo ra σ1, σ2 thì người đó phải có tri thức của r1, r2. Nếu

người đó có thể chứng minh rằng r2 = r1s nghĩa là chữ ký đó là tin cậy. Có 2 cách để chứng minh r2 = r1s như sau:

* Cách 1: Chứng minh rằng: logg(gs) ≡ logα(αs). Cách này yêu cầu tri thức của

logg(gs), vì vậy chỉ có thể thực hiện bởi người ký.

* Cách 2: Chứng minh rằng: logg(gc ) = logα(αs+c /αs). Cách này yêu cầu tri thức

logg(gc ), vì vậy chỉ có thể thực hiện bởi người xác nhận.

Một phần của tài liệu Đồ án Chữ ký không chối bỏ được và ứng dụng (Trang 44 - 45)

Tải bản đầy đủ (DOC)

(63 trang)
w