CHƯƠNG TRÌNH

Một phần của tài liệu Nghiên cứu chữ ký số bội và ứng dụng trong thương mại điện tử (Trang 57)

4. Chương 4: THỬ NGHIỆM CHƯƠNG TRÌNH CHỮ KÝ SỐ BỘI TRÊN ĐƯỜNG

4.3 CHƯƠNG TRÌNH

4.3.1 Lược đồ chữ ký bội ngang hàng

 Khởi tạo và thực hiện các phép toán trên đường cong Elliptic: bao gồm một số chương trình con (được mô tả trong bảng 4.1)

Bảng 4.1. Các chương trình con kh i tạo và thực hiện các phép toán trên đường cong Elliptic cho lược đồ ngang hàng

STT Tên chương trình Ch c năng Đầu vào Đầu ra

1. [EZp,G]=Ellip_point(a,b,p)

Khởi tạo đường cong Elliptic, chọn điểm cơ sở G a,b,p: Các hệ số của phương trình mô tả đường cong Elliptic -Ezp: Các điểm trên đường cong -G: Điểm cơ sở

2. C=Eadd(A,B)

Thực hiện phép cộng hai điểm trên đường cong Elliptic

A,B là hai điểm trên đường cong Elliptic C: Kết quả của phép cộng hai điểm A,B và cũng thuộc đường cong Elliptic 3. C=Emul(k,A) Nhân một điểm thuộc đường cong

với một số -A: Điểm thuộc đường cong -k: Hệ số nhân C: Kết quả của phép nhâ điểm A với hệ số k và cũng thuộc đường cong Elliptic 4. C=Esub(A,B) Thực hiện phép trừ hai điểm trên đường cong Elliptic

A,B là hai điểm trên đường cong Elliptic C: Kết quả của phép trừ hai điểm A,B và cũng thuộc đường cong Elliptic

 Tạo khóa:

- Cú pháp chương trình: [pub, pri]=parallel_makekey(N,p,G)

- Đầu vào: Số thành viên (N), tham số của đường cong Elliptic (p,G).

- Đầu ra: Khóa công khai (pub) cho N thành viên và khóa bí mật (pri) cho mỗi thành viên trong nhóm.

- Cách thức thực hiện: Khóa bí mật (pri) của mỗi thành viên trong N là một số lớn ngẫu nhiên, khóa công khai là tổng của các khóa bí mật này nhân với điểm cơ sở G.

 Tạo chữ ký bội

- Cú pháp chương trình: [E,S]=parallel_makesig(N,p,G,pri,s)

- Đầu vào: Số thành viên (N), tham số của đường cong Elliptic (p,G), khóa bí mật(pri), văn bản cần ký (s)

- Đầu ra: Thành phần thứ nh t của chữ ký (E), thành phần thứ hai của chữ ký (S).

- Cách thức thực hiện: E là đầu ra hàm băm của văn bản (s) và các tham số ngẫu nhiên tùy thuộc vào từng thành viên tham giá ký bội. S được tạo thành từ E , pri và các tham số ngẫu nhiên khác theo thuật toán đã trình bày ở hình 2.4.

 Xác thực chữ ký bội

- Cú pháp chương trình: [H,Z]=parallel_verify(S,G,pub,E,s,p)

- Đầu vào: Tham số của đường cong Elliptic (G và p), văn bản nhận được (s), khóa công khai (pub), thành phần thứ nh t của chữ ký (E), thành phần thứ hai của chữ ký (S).

- Đầu ra: Thành phần thứ nh t của chữ ký cho việc xác thực (H), thành phần thứ hai của chữ ký cho việc xác thực (Z).

- Cách thức thực hiện: Xác định Z từ thành phần thứ nh t và thứ hai của chữ ký (E,S), kết hợp với các tham số công khai: Điểm cơ sở G, khóa công khai của cả nhóm pub, cùng với văn bản nhận được (s). F là đầu ra hàm băm của văn bản (s) và Z ( xác thực chữ ký hợp lệ khi giá trị H = E).

 Khởi tạo và thực hiện các phép toán trên đường cong Elliptic: Tương tự như lược đồ ngang hàng, bao gồm một số chương trình con (được mô tả trong bảng 4.1)

 Tạo khóa:

- Cú pháp chương trình: [pub, pri,L]=serial_makekey(N,p,G)

- Đầu vào: Số thành viên (N), tham số của đường cong Elliptic (p,G).

- Đầu ra: Khóa công khai (pub) cho N thành viên và khóa bí mật (pri) cho mỗi thành viên trong nhóm.

- Cách thức thực hiện: Khóa bí mật (pri) của mỗi thành viên trong N là một số lớn ngẫu nhiên, khóa công khai là tích tuần tự của các khóa bí mật này với điểm cơ sở G.

 Tạo chữ ký bội tuần tự

- Cú pháp chương trình: [E,S,R,T]=serial_makesig(N,p,G,pri,s)

- Đầu vào: Số thành viên (N), tham số của đường cong Elliptic (p,G), khóa bí mật(pri), văn bản cần ký (s)

- Đầu ra: Thành phần thứ nh t của chữ ký (E), thành phần thứ hai của chữ ký (S), các tham số công khai cho việc xác thực (R và T);

- Cách thức thực hiện: E là đầu ra hàm băm của văn bản (s) và các tham số ngẫu nhiên tùy thuộc vào từng thành viên tham giá ký bội. S được tạo thành từ E , pri và các tham số ngẫu nhiên khác theo thuật toán đã trình bày ở hình 2.5.

 Xác thực chữ ký bội tuần tự

- Cú pháp chương trình: [H,Z]=serial_verify(S,G,R,T,pub,E,s,p)

- Đầu vào: Tham số của đường cong Elliptic (G và p), văn bản nhận được (s), khóa công khai (pub), thành phần thứ nh t của chữ ký (E), thành phần thứ hai của chữ ký (S), các tham số công khai cho việc xác thực (R và T); - Đầu ra: Thành phần thứ nh t của chữ ký cho việc xác thực (H), thành phần

thứ hai của chữ ký cho việc xác thực (Z).

- Cách thức thực hiện: Xác định Z từ thành phần thứ nh t và thứ hai của chữ ký (E,S), hai tham số R và T, kết hợp với các tham số công khai: Điểm cơ sở G, khóa công khai của cả nhóm pub, cùng với văn bản nhận được (s). F là đầu ra hàm băm của văn bản (s) và Z ( xác thực chữ ký hợp lệ khi giá trị H = E).

Một phần của tài liệu Nghiên cứu chữ ký số bội và ứng dụng trong thương mại điện tử (Trang 57)

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

(68 trang)