CHỮ KÝ NHÓM CAMENISCH VÀ STADLER (CS97)

Một phần của tài liệu Một số loại chữ ký điện tử và ứng dụng (Trang 108)

Sơ đồ do Camenisch và Stadler [14] đƣa ra năm 1997, ký hiệu là CS97.

Các thủ tục của sơ đồ chữ ký nhóm CS97

1) Setup (Thiết đặt các tham số)

Để cài đặt sơ đồ chữ ký nhóm, ngƣời quản lý nhóm chọn một tham số an toàn l và tính các giá trị nhƣ sau:

(1)Một khoá công khai RSA (n, e) và khoá riêng d, trong đó n có độ dài ít

nhất 2l bit. Chúng ta mong muốn có n = p.q, trong đó p = 2P+1, q = 2Q+1, và p, q, P, Q là các số nguyên tố. Trong thực tế, ngƣời ta nên

chọn pq là dài hơn l bit để chắc chắn rằng sự phân tích modulo n là không thể thực hiện đƣợc.

(2)Một nhóm Cyclic G = <g> có cấp n mà việc tính Logarit rời rạc là khó. Nói cụ thể, chúng ta có thể chọn G là một nhóm con Cyclic của

2 * p Z , trong đó p2là số nguyên tố : n \ (p2 - 1). (3)Một phần tử aZn* có bậc lớn.

(4)Một cận trên λ của chiều dài các khoá bí mật và một hằng số µ > 1. Các giá trị µ càng lớn hệ thống càng an toàn.

(5)Khoá công khai của nhóm là: Y = (n, e, G, g, a, λ, µ).

(6)Chúng ta cũng giả thiết sự hiện diện của cơ sở hạ tầng khoá công khai KPI (Public-Key Infrastructure) - Bất cứ ai muốn gia nhập nhóm phải là một phần của PKI. Tất cả các thành viên của PKI có các khoá công khai và khoá riêng đã kết hợp với PKI này.

2) Join (Tham gia nhóm)

Alice muốn ra nhập nhóm, cô ta cần thực hiện: (1)Chọn một khoá bí mật x R {0, 1,…, 2λ -1}.

(2)Tính y = ax (mod n).

(3)Tính một khoá hội viên z = gy.

(4)Ký z với khoá bí mật của cô ấy đã kết hợp với PKI.

Điều này bắt buộc Alice gắn định danh của cô ấy với khoá hội viên z, và do đó cô ấy “liên luỵ” đến nó.

Để đạt đƣợc 1 chứng chỉ hội viên, cô ta gửi (y, z) cùng với chữ ký của cô ta trên z cho ngƣời quản lý nhóm và chứng minh với anh ta rằng cô ta biết x

(không tiết lộ x thực sự) sử dụng chữ ký dựa trên tri thức về Logarit rời rạc. Nếu ngƣời quản lý nhóm đƣợc thuyết phục rằng Alice biết x, sẽ cấp cho cô ấy chứng chỉ hội viên:

v = (y+1)d (mod n)

Một giả định bảo mật đƣợc thêm vào bởi Camenisch và Stadler đó là việc tính v rất khó khi không biết sự phân tích thành thừa số của n.

3) Signing Messages (Ký thông điệp)

Để ký một thông điệp m  {0,1}*, Alice tính các giá trị sau:

( ) 1 ( ) 2 (1) : , (2) : ( ) (3) : [ : ]( ) (4) : [ : e ]( ) r R n y r a l l g g r Z z g z V SKLOGLOG z g m V SKROOTLOG zg g m                    

4) Verify (Thẩm tra chữ ký)

Để thẩm tra chữ ký s trên thông điệp m đã cho đối với khoá công khai nhóm Y, ngƣời dùng thực hiện:

(1)Thẩm tra V1là chữ ký hợp lệ dựa trên tri thức về Logarit rời rạc kép. (2)Thẩm tra V2là chữ ký hợp lệ dựa trên tri thức về gốc của Logarit rời rạc.

Chứng minh rằng ngƣời ký là một thành viên nhóm hợp lệ: ▪ Đầu tiên, V1 chứng tỏ rằng zcó dạng a

g  . Vì vậy ta quả quyết rằng zg phải

có dạng a 1

zg g  trong đó αlà số nguyên nào đó mà ngƣời ký biết.

▪ Bây giờ, V2 chứng tỏ rằng ngƣời ký biết gốc e của Logarit của zg - nghĩa là cô ta biết gốc e của (aα + 1).

▪ Bây giờ đặt các điều này cùng nhau, chúng ta cho rằng ngƣời ký biết α và (aα + 1)d. Điều này tƣơng đƣơng với một khoá bí mật, và một chứng chỉ hội viên đối với khoá bí mật đó. Với giả định là không thể tính cặp (α, (aα + 1)d) nếu không nói với ngƣời quản lý nhóm (ngƣời biết sự phân tích của n).

5) Open (Mở chữ ký)

Cho một chữ ký ( , , ,g z V V  1 2) trên thông điệp m, ngƣời quản lý nhóm có thể xác định ngƣời ký bởi kiểm tra nếu ˆyp ˆ

gz với mỗi thành viên nhóm P (ở đó yp = loggzp và zp là khoá hội viên của P). Vì vậy thời gian chạy của sơ đồ này là tuyến tính với kích thƣớc của nhóm .

Ngƣời quản lý nhóm có thể chứng minh định danh của ngƣời ký với ai đó (ví dụ quan toà trong trƣờng hợp tranh chấp) không cần cho yp, sử dụng

khoá hội viên của ngƣời ký và một chứng minh không tƣơng tác rằng: ˆ ˆ

Một phần của tài liệu Một số loại chữ ký điện tử và ứng dụng (Trang 108)

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

(152 trang)