Lược đồ chữ ký RSA

Một phần của tài liệu (LUẬN văn THẠC sĩ) bảo mật và an toàn thông tin trong hệ thống mạng cục bộ của cơ quan nhà nước (Trang 50 - 52)

Sau đây chúng ta sẽ nghiên cứu lược đồ chữ ký cơ bản nhất và có ứng dụng rộng rãi, đáng tin cậy nhất hiện nay đó là lược đồ chữ ký RSA. Đặc điểm của các sơ đồ chữ ký này là mức độ tính tốn phụ thuộc hồn tồn vào độ lớn của giải thuật giải quyết các b ài toán nhân số nguyên – bài toán lũy thừa. Sơ đồ chữ ký bao gồm cả hai loại kèm thông điệp và khôi phục thơng điệp, đây là sơ đồ có ứng dụng thực tế rộng rãi nhất dựa trên cơng nghệ sử dụng khóa công khai. Sau đây là lược đồ chữ ký RSA:

2.4.1.1 Thuật toán sinh khoá

Người dùng A tạo khố cơng khai và khố bí mật theo phương thức sau:

● Sinh ra hai số nguyên tố lớn ngẫu nhiên p và q

● Tính n = p*q và (n) = (p-1)*(q-1)

● Chọn e là số tự nhiên ngẫu nhiên sao cho 1 < e < (n) và nguyên tố cùng nhau với (n)

● Ta tìm được duy nhất d  e-1 mod (n) nhờ giải thuật Euclid mở rộng.

● Khố cơng khai của A là <n, e>, khóa bí mật là <n, d>.

2.4.1.2 Thuật tốn sinh chữ ký

Người dùng A ký lên thơng điệp m theo trình tự như sau:

R Sigk’ M P● MR m ● m Ms ● s

Bảo mật và an tồn thơng tin trong hệ thống mạng cục bộ của cơ quan nhà nước

● Số hóa thơng điệp Y thành các số nguyên m € [0, n-1]; m = R (Y).

● Tính s = mdmod n

Chữ ký của A lên thông điệp m là s, gửi s cho B

2.4.1.3 Thuật toán xác nhận chữ ký

Để xác thực chữ ký s là của A, B làm như sau:

● Xác thực khóa cơng khai của A là <n, e>

● Tính m =semod n

● Xác nhận chữ ký nếu m € MR, ngược lại chối bỏ chữ ký của A.

● Khôi phục lại Y = R-1(m).

2.4.1.4 Tóm tắt lược đồ ký theo RSA

Ví dụ:Giả sử A cần ký một chữ ký s lên thơng điệp P = 31229978.

Q trình sinh khố :

Ví dụ: Giả sử A cần ký một chữ ký s lên thông điệp Y = 31229978. Người dùng A chọn số nguyên tố p = 7927 và q = 6997 và tính n = p.q = 5546521 và (n) = 7926.6996 = 55450296. A chọn e = 5 và giải d  1 mod 55450296 được d = 44360237. Khố cơng khai của A l à (n, e) = (55465219, 5) và khố bí mật của A là (n,d) = (55465219, 44360237).

Quá trình sinh chữ ký :

Giả sử M = Zn và hàm R : M → Znxác định R(Y) = Y với mọi Y M.

 Cho n = p.q với p và q là các số nguyên tố

 Cho P = A = Zn K = {(n, p, q, a, b), n = pq, p và q là nguyên t ố, ab 1 mod (n)}. Các giá trị n, b là công khai

 Với mỗi k = {(n, p, q, a, b)} Ta định nghĩa: Sigk(x) = xamod n

Verk(x,y) = true  x yb (mod n) với x, y Zn Nếu độ dài thông điệp x lớn, ta sử dụng hàm băm như trên.

Bảo mật và an tồn thơng tin trong hệ thống mạng cục bộ của cơ quan nhà nước

Y = 31229978 khi đó người dùng A thực hiện :

● Số hóa thơng điệp Y : Tính m = R(Y) = 31229978

● Tính chữ ký s = md mod n = 312299784430237 mod 55465219 = 30729435

● Gửi s cho người dùng B.

Quá trình xác nhận chữ ký: Người dùng B thực hiện các bước sau :

● Nhận khóa cơng khai của người dùng A là (55465219, 5)

● Tính m = semod n = 307294355mod 55465219 = 31229978.

● Kiểm tra m = 31229978 € [0, 55465219]. Xác nhận chữ ký s l à của Người dùng A.

● Khôi phục Y = R-1(m) = 31229978.

Một phần của tài liệu (LUẬN văn THẠC sĩ) bảo mật và an toàn thông tin trong hệ thống mạng cục bộ của cơ quan nhà nước (Trang 50 - 52)

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

(92 trang)