Giới thiệu thuật toán

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu tìm hiểu chuẩn chứ ký số DSS và ứng dụng trong chính phủ điện tử (Trang 57 - 60)

Giải thuật ký số DSA (Digital Signature Algorithm) là chuẩn cho các chữ ký số của chính phủ Mỹ hay tiêu chuẩn xử lý thông tin liên bang. Giải thuật này được đề nghị bởi NIST vào tháng 8 năm 1991 để sử dụng trong chuẩn chữ ký số DSS (Digital Signature Standard) được chấp nhận năm 1993 (FIPS 186). Được chỉnh sửa năm 1996 (FIPS 186-1) và được mở rộng năm 2000 (FIPS 186-2) [3]. Đặc điểm của các giải thuật này là sử dụng chữ ký theo kiểu chọn lựa ngẫu nhiên. Tất cả các lược đồ DSA kèm thông điệp đều có thể cải biến thành các lược đồ ký khôi phục thông điệp. Để tìm hiểu về lược đồ DSA ta đi sâu tìm hiểu vào chuẩn chữ ký số DSS do khả năng cài đặt thực tế của nó.

Sơ đồ chữ ký DSS dựa trên giải thuật chữ ký số DSA. Chữ ký số DSS phải đi kèm thông điệp vì bản thân chữ ký không khôi phục được thông điệp gốc. Trước khi ký một thông điệp dài, phải tạo ra đại diện thông điệp nhờ hàm băm để tạo ra một dạng nén của dữ liệu (condensed version of data) gọi là đại diện thông điệp (message digest). Với sơ đồ chữ ký DSS, hàm băm là SHA (Security Hash Algorithm) được miêu tả trong FIPS 186. Hàm băm SHA tạo ra một giá trị số nguyên 160 bit đặc trưng cho một thông điệp.

Hình 2.7: Sơ đồ chữ ký DSA/DSS 2.4.2 Mô tả thuật toán

Tóm tắt lược đồ ký DSA/DSS

Giả sử plà số nguyên tố 512 bit sao cho bài toán logarit rời rạc trong

p

Z là khó giải. Có q là số nguyên tố 160 bit là ước của p1

Giả thiết Zp là căn bậc q của 1 modul p

Cho pZpaZqZp và định nghĩa: Ap,q,,a,: amodp

Các số p,q,, là công khai và a là bí mật.

Với Kp,q,,a, và một số ngẫu nhiên (bí mật) k,1kq1, ta định nghĩa:

+ Quá trình ký số Sigk   x,k  , trong đó:

kmodpmodq

  và  xak1modq với xZp và ,Zq

+ Quá trình xác minh sẽ hoàn thành sau các tính toán:

q e q x e1  1 ; 2 1mod x  true  pq

2.4.2.1 Thuật toán sinh khóa

- Chọn số nguyên tố 512 bit p, sao cho bài toán logarit rời rạc trong

p Z là khó giải, 251164  251264 ;  0,8 t p t t .

- Chọn số nguyên tố 160 bit q là ước của   159 160 2 2 ; 1    q p . - Chọn số   1 ; mod 1      g q p p

(glà phần tử nguyên thủy trong Zp) - Chọn khóa bí mật a:1aq1. Tính khóa công khai  amodp

- Công khai p,q,,

2.4.2.2 Thuật toán sinh chữ ký

- Chọn ngẫu nhiên số nguyên bí mật k:0kq1 - Chữ ký trên x là cặp  , , trong đó:

akmodpmodq; k 1x amodq

     . Trường hợp x lớn thì phải tạo đại diện zH x để ký trên đó.

2.4.2.3 Thuật toán xác minh chữ ký

- Xét khóa công khai p,q,,: Nếu điều kiện 0, q không thỏa mãn thì từ chối chữ ký.

- Tính e1wxmodq;e2 wmodq với w1modq

- Tính ve1e2modpmodq

- Chữ ký đúng nếu v

Ví dụ: Chữ ký trên thông điệp x=1234

* Sinh khóa:

- Chọn q101,p78q17879

- Chọn  378mod7879170;g3 là phần tử nguyên thủy trong Z7879

- Chọn khóa bí mật a75. Khóa công khai  amod78794576

* Sinh chữ ký:

Chữ ký trên thông điệp x1234

- Chọn ngẫu nhiên k50, tính 1mod10199

- Tính  17030mod789mod10194;  123475.9499mod10197 - Chữ ký trên x1234 là 94,97 * Xác minh chữ ký: - Tính  1mod 971mod10125 q w

- Tính e1wxmodq25.1234mod10145;e2wmodq94.25mod10127

- Tính ve1e2 modpmodq17045.457627mod7879mod10194

Vậy chữ ký đúng vì v 94

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu tìm hiểu chuẩn chứ ký số DSS và ứng dụng trong chính phủ điện tử (Trang 57 - 60)

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

(77 trang)