Hệ mật mã khoá công khai

Một phần của tài liệu Nghiên cứu một số giải pháp đảm bảo An toàn và bảo mật thông tin trong giao dịch điện tử (Trang 37)

Khoá mã hoá hay còn gọi là khoá công khai (public key) dùng để mã hoá dữ liệu. Khoá giải mã hay còn được gọi là khoá bí mật (private key) dùng để giải mã dữ liệu. Trong hệ mật này, khoá mã hoá và khoá giải mã là khác nhau. Về mặt toán học, khi biết khoá công khai ta có thể tính được khoá bí mật. Khoá bí mật được giữ bí mật trong khi khoá công khai được công khai. Người gửi thông điệp A sẽ dùng khoá công khai để mã hoá dữ liệu muốn giử tới người B và người B sẽ dùng khoá bí mật của mình để giải mã thông điệp nhận được.

Có nhiều hệ thống mật mã sử dụng khó công khai được triển khai rộng rãi như hệ mật RSA, hệ mật Elgamal sử dụng giao thức khoá Diffie-Hellman và nổi lên trong nhưng năm gần đây là hệ mật dựa trên giao thức đường cong Eliptic. Trong những hệ mật mã trên, thì hệ mật mã RSA được cộng đồng quốc tế chấp nhận rộng rãi trong việc thực thi hệ mã hoá công khai.

Hệ mật RSA do Rivest, Shamir và Adlman phát minh, được công bố đầu tiên vào tháng 8 năm 1977 trên tạp chí Scientific American. Tính bảo mật của hệ mật mã RSA được bảo đảm rằng độ phức tạp của một bài toán số học nổi tiếng là bài toán phân tích một số thành tích của các số nguyên tố.

Sơ đồ hệ mật mã RSA:

Cho trong đó p và q là 2 số nguyên tố lớn cùng nhau. Đặt P = C = ,

Chọn b nguyên tố cùng nhau với . Ta định nghĩa . Trong đó: n, b là công khai; a là bí mật, với mỗi , ta định nghĩa: Hàm mã hoá:

; Hàm giải mã ;

2.2. Chữ ký số 2.2.1. Sơ đồ chữ ký số

Sơ đồ chữ ký số là bộ năm (P, A, K, S, V), trong đó: P là tập hữu hạn các văn bản có thể. A là tập hữu hạn các chữ ký có thể. K là tập hữu hạn các khoá có thể. S là tập các thuật toán ký.

V là tập các thuật toán kiểm thử.

Với mỗi , có thuật toán ký , và thuật toán kiểm thử, thoả mãn điều kiện sau với mọi

2.2.2. Phân loại chữ ký số

Có nhiều loại chữ ký tùy theo cách phân loại, sau đây xin giới thiệu một số cách

2.2.2.1. Phân loại chữ ký theo đặc trưng kiểm tra chữ ký 1./ Chữ ký khôi phục thông điệp

Là loại chữ ký, trong đó người gửi chỉ cần gửi “chữ ký”, người nhận có thể khôi phục lại được thông điệp, đã được “ký” bởi “chữ ký” này.

Ví dụ: Chữ ký RSA là chữ ký khôi phục thông điệp, sẽ trình bày trong mục sau

Là loại chữ ký, trong đó người gửi cần gửi “chữ ký” và phải gửi kèm cả thông điệp đã được “ký” bởi “chữ ký” này. Ngược lại, người nhận sẽ không có được thông điệp gốc.

Ví dụ: Chữ ký Elgamal là chữ ký đi kèm thông điệp

2.2.2.2. Phân loại chữ ký theo mức an toàn 1./ Chữ ký “không thể phủ nhận”

Nhằm tránh việc nhân bản chữ ký để sử dụng nhiều lần, tốt nhất là người gửi tham gia trực tiếp vào việc kiểm thử chữ ký. Điều đó được thực hiện bằng một giao thức kiểm thử, dưới dạng một giao thức mời hỏi và trả lời.

2./ Chữ ký “một lần”

Để bảo đảm an toàn, “Khóa ký” chỉ dùng 1 lần (one-time) trên 1 tài liệu.

2.2.3. Sơ đồ chữ ký số RSA

Tạo cặp khóa (bí mật, công khai) :

- Chọn bí mật hai số nguyên tố lớn pq với , lựa chọn ngẫu nhiên

và độc lập, tính đặt .

- Tính bí mật giá trị hàm số Ơle . Chọn khoá công khai là một số tự nhiên b sao cho 1 < b < và là số nguyên tố cùng nhau với

.

- Tính khoá bí mật a của phần tử nghịch đảo b theo ).

Tập cặp khoá (bí mật,công khai)

Ký: Chữ ký trên là .

2.3. Chữ ký mù 2.3.1. Sơ đồ chữ ký mù

Chữ ký mù được David Chaum giới thiệu vào năm 198311, nó là một loại chữ ký số, trong đó nội dung của thông điệp cần được ký bị “che” đi trước khi nó được ký. Chữ ký thu được có thể được xác thực như là đối với chữ ký số thông thường. Chữ ký mù thường được dùng trong các vấn đề đòi hỏi sự nặc danh như trong các ứng dụng tiền điện tử, bỏ phiếu điện tử…

Chữ ký mù là chữ ký mà người ký không biết mình đang ký trên nội dung gì. Vì vậy mà người ta gọi là “mù”. Làm được như vậy vì nội dung X trước khi đưa cho người ký đã được làm mù thành X’. Người ký ký trên X’ chứ không phải ký trên X. A cần B ký cho một chữ ký trên nội dung X, A không đưa X cho B ký mà làm mù X thành X’. Sau đó A đưa X’ cho B ký. Sau khi nhận được chữ ký trên X’, A xóa mù để thu được chữ ký trên X. Như vậy A vẫn có chữ ký trên X mà B không biết thông tin gì về X.

2.3.2. Sơ đồ chữ ký mù RSA

Mục đích là ông A có được chữ ký của bà B trên văn bản x theo sơ đồ chữ ký RSA nhưng không để cho bà B biết giá trị thực sự của x. Chữ ký đó là giá trị

. Lúc này A và B phải thực hiện một số bước sau: - A làm mù x (che x) thành u:

, với n,b được lấy từ khoá công khai của B,

r là ngẫu nhiên và r nguyên tố cùng nhau với n. (r phải nguyên tố cùng nhau với n để tồn tại phần tử nghịch đảo ).

- A gửi u cho B, B ký trên u, được chữ ký là sau đó gửi lại A: - A xoá mù trên v, sẽ nhận được chữ ký trên x:

Như vậy A đã nhận được chữ ký của B: , mà B không biết nội dung của văn bản x. Bởi vì nội dung của thông điệp x đã được làm mù thành u

thông qua việc nhân với , cho dù b là số công khai lấy từ B, nhưng r là số ngẫu nhiên mà B khó có thể biết được. Sau khi B ký xong, A xoá mù (nhân với

) chữ ký trên u để nhận được chữ ký của B trên x.

Một phần của tài liệu Nghiên cứu một số giải pháp đảm bảo An toàn và bảo mật thông tin trong giao dịch điện tử (Trang 37)

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

(78 trang)
w