Mô hình chữ kí vòng (RSA Version)

Một phần của tài liệu Nghiên cứu và thử nghiệm mô hình bỏ phiếu thăm dò dư luận luận văn ths công nghệ thông tin 60 48 01 04 pdf (Trang 74 - 77)

Giả sử Alice muốn kí vào thông điệp m bằng chữ kí vòng, đối với vòng có r thành viên A1, A2,…, Ar, ngƣời kí Alice là As, .

3.4.3.1. Cửa sập hoán vị RSA

Mỗi thành viên Ai trong vòng có một khóa công khai Pi = (ni, ei) trong đó quy định cửa sập một chiều hoán vị RSA fi của :

Giả sử chỉ có Ai mới biết làm thế nào để tính hoán vị nghịch đảo , đây là mô hình Diffie-Hellman gốc cho hệ mã hóa khóa công khai.

Mở rộng cửa sập hoán vị vào một miền chung

Cửa sập hoán vị cửa các thành viên trong vòng khác nhau sẽ có miền kích cỡ khác nhau (thậm chí nếu tất cả các modul ni có cùng số bít). Điều này làm cho việc kết hợp các chữ kí riêng lẻ khó khăn, do đó cần mở rộng tất cả các cửa sập hoán vị để có một miền chung cùng một tập , với 2b là một số lũy thừa của 2 lớn hơn tất cả các modul ni của s.

Đối với mỗi cửa sập hoán vị fi của , ta định nghĩa mở rộng cửa sập hoán vị gi

trên nhƣ sau:

Cho bất kì b-bit đầu vào m, xác định số nguyên không âm qi và ri sao cho m = qini + ri, 0 thì:

{

3.4.3.2. Hệ mã hóa đối xứng

Giả định tồn tại một thuật toán mã hóa đối xứng E sao cho bất kỳ khóa k có độ dài l, hàm Ek là một hoán vị trên chuỗi b-bit. Ở đây chúng ta sử dụng mô hình oracle ngẫu nhiên trong đó tất cả các bên tham gia có quyền truy cập đến một oracle, tại đó nó cung cấp ngẫu nhiên câu trả lời tới truy vấn mới có dạng Ek(x) và .

3.4.3.3. Hàm băm

Giả sử tồn tại một hàm băm h mà ánh xạ đầu vào là một chuỗi có độ dài l, đƣợc sử dụng nhƣ khóa của E. Mô hình h nhƣ một oracle ngẫu nhiên. Vì h không cần phải là một hoán vị, truy vấn khác nhau có thể có cùng kết quả, và chúng ta không cho phép h1 truy vấn.

3.4.3.4. Hàm hợp

Định nghĩa “hàm hợp” đƣợc khóa Ck,v(y1, y2,…, ys,…, yr) lấy đầu vào là một khóa k, một giá trị khởi tạo v và các giá trị tùy ý y1, y2,…, yr trong . Mỗi hàm hợp sử dụng Ek nhƣ một thủ tục con, và tạo ra giá trị z trong . Nhƣ vậy, đƣa ra bất kì giá trị cố định cho k và v, chúng ta có các tính chất sau:

(1)Hoán vị trên mỗi đầu vào: Đối với mỗi s, và cho bất kì giá trị cố định của tất cả các đầu vào khác yi , hàm Ck,v là một ánh xạ 1-1 từ ys đến đầu ra z.

(2)Có thể giải quyết một cách hiệu quả cho bất kì đầu vào đơn lẻ: Đối với mỗi s,

cho b-bit giá trị z và giá trị cho tất cả đầu vào yi ngoại trừ ys, nó có thể tìm thấy b-bit giá trị ys sao cho Ck,v(y1, y2,…, yr) = z

(3)Không khả thi để giải quyết phƣơng trình xác thực cho tất cả đầu vào không có cửa sập: Cho k, v và z, nó không khả thi đối với một kẻ địch muốn giải phƣơng trình:

( )

Đề xuất hàm hợp sử dụng hệ mã hóa đối xứng hàm Ek nhƣ sau:

( ⨁ ( ⨁ ( ⨁ ( ⨁ ( ⨁ ) ))))

Hình 3.3. Minh họa cho hàm hợp Dƣới đây là mô tả quy trình sinh và xác thực chữ kí vòng:

Sinh một chữ ký vòng:

(1)Chọn khóa: Tính một giá trị khóa đối xứng k bằng cách băm thông điệp m: k = h(m)

(2)Chọn ngẫu nhiên một giá trị liên kết vòng v từ .

(3)Chọn ngẫu nhiên xi : ngƣời kí chọn ngẫu nhiên xi cho tất cả thành viên khác trong vòng ,

Yi = gi(xi)

(4)Giải phƣơng trình tìm ys: Ngƣời ký giải phƣơng trình tìm ys: Ck,v(y1, y2,…, ys,…, yr) = v (adsbygoogle = window.adsbygoogle || []).push({});

(5)Tính xs=gs-1(ys)

(6)Đầu ra của chữ ký vòng (P1,P2,..,Pr ;v;x1,x2,..,xr)

Hình 3.4. Mô hình chữ kí vòng

Xác thực chữ ký vòng:

(1)Áp dụng cửa sập hoán vị: cho i=1,2,...,r, tính: yi=gi(xi) (2)Ngƣời xác minh băm thông điệp để tính khóa k: k=h(m)

(3)Kiểm tra xem yi của s có thỏa mãn phƣơng trình không: Ck,v(y1,y2,...ys...yr)=v

, ( ,1 2, ..., ) ( ( -1 ( -2 (... ( 1 ) ...))))

k v r k r k r k r k k

Sơ đồ chữ kí vòng:

Thuật toán ký: Giả sử ngƣời ký là As và thông điệp cần ký là m (1)Chọn σ, z và tính a = gσ mod p và b = az mod p

(2)Tính khóa đối xứng k=h(ma) ⊕b

(3)Chọn w, tính R = aw mod p và ε=w+zF(ma,R) mod p

(4)Lấy ngẫu nhiên xi , và tính yi=gi(xi) (5)Chọn ngẫu nhiên giá trị v và giải phƣơng trình:

Ck,v(y1,y2,...ys...yr)=v

(6)Tính xs=gs-1(ys)

Bộ chữ ký vòng là (P1,P2,..,Pr;v;x1,x2,..,xr;a,b,R,ε)

Xác thực chữ ký: ngƣời ký là As và thông điệp cần ký là m (1)Kiểm tra xem aε=RbF(ma ,R) mod p

(2)Tính yi=gi(xi) for i=1,2,...,r

(3)k=h(ma) ⊕b

(4)Xác thực phƣơng trình sau: Ck,v(y1,y2,...ys...yr)=v

Ngƣời kí cấp phép:

Vậy trong phần này tác giả đã đƣa ra mô hình chữ kí vòng và một thuộc tính ngƣời kí cấp phép.

Một phần của tài liệu Nghiên cứu và thử nghiệm mô hình bỏ phiếu thăm dò dư luận luận văn ths công nghệ thông tin 60 48 01 04 pdf (Trang 74 - 77)