Một số hệ mật mã công khai khác

Một phần của tài liệu giáo án an toàn bảo mật thông tin (Trang 93 - 96)

. Các chỉ số trùng hợp tương hỗ quan sát được

0(e − n n)

4.3. Một số hệ mật mã công khai khác

Trong chương này ta sẽ xem xét một số hệ mật khố cơng khai khác. Hệ mật Elgamal dựa trên bài toán logarithm rời rạc là bài toán được dùng nhiều trong nhiều thủ tục mật mã. Bởi vậy ta sẽ dành nhiều thời gian để thảo luận về bài toán quan trọng này. ở các phần sau sẽ xem xét sơ lược một số hệ mật khố cơng khai quan trọng khác bao gồm các hệ thoóng loại Elgamal dựa trên các trường hữu hạn và các đường cong elliptic, hệ mật xếp ba lô Merkle- Helman và hệ mật McElice.

4.3.1.Hệ mật Elgamal và các logarithm rời rạc.

Hệ mật Elgamal được xây dựng trên bài toán logảithm rời rạc . Chúng ta sẽ bắt đầu băng việc mơ tả bài tốn bài khi thiết lập môi trường hữu hạn Zp, p là số nguyên tố (Nhớ lại rằng nhóm nhân Zp* là nhóm cyclic và phần tử sinh của Zp* được gọi là phần tử nguyên thuỷ).

Bài toán logarithm rời rạc trong Zp là đối tượng trong nhiều cơng trình nghiên cứu và được xem là bài tốn khó nếu p được chọn cẩn thận. Cụ thể khơng có một thuật toán thời gian đa thức nào cho bài toán logarithm rời rạc. Để gây khó khăn cho các phương pháp tấn cơng đã biết p phải có ít nhất 150 chữ số và (p-1) phải có ít nhất một thừa số nguyên tố lớn. Lợi thế của bài toán logarithm rời rạc trong xây dượng hệ mật là khó tìm được các logarithm rời rạc, song bài toán ngược lấy luỹ thừa lại có thể tính tốn hiệu quả theo thuật tốn “bình phương và nhân”. Nói cách khác, luỹ thừa theo modulo p là hàm một chiều với các số nguyên tố p thích hợp.

Elgamal đã phát triển một hệ mật khố cơng khai dựa trên bài tốn logarithm rời rạc. Hệ thống này được trình bày sau.

Hệ mật này là một hệ không tất định vì bản mã phụ thuộc vào cả bản rõ x lẫn giá trị ngẫu nhiên k do Alice chọn. Bởi vậy, sẽ có nhiều bản mã được mã từ cùng bản rõ.

Hệ mật khố cơng khai Elgamal trong Zp*

Sau đây sẽ nmô tả sơ lược cách làm việc của hệ mật Elgamal .Bản rõ x được “che dấu” bằng cách nhân nó với βk để tạo y2 . Giá trị αk cũng được gửi đi như một phần của bản mã. Bob – người biết số mũ bí mật a có thể tính được βk từ αk . Sau đó anh ta sẽ “tháo mặt nạ” bằng cách chia y2 cho βk để thu được x.

Ví dụ:

Cho p = 2579, α = 2, a = 765. Khi đó β = 2765 mod 2579 = 949

Bây giờ ta giả sử Alice muốn gửi thông báo x = 1299 tới Bob. Giả sử số ngẫu nhiên k mà cô chọn là k = 853. Sau đó cơ ta tính

Cho p là số nguyên tố sao cho bài toán logarithm rời rạc trong Zp là

khó giải. Cho α ∈ Zp* là phần tử nguyên thuỷ.Giả sử P = Zp* , C = Zp* × Zp* . Ta định nghĩa:

K = {(p, α,a,β): β ≡ αa (mod p)} Các giá trị p, α,β được cơng khai, cịn a giữ kín

Với K = (p, α,a,β) và một số ngẫu nhiên bí mật k ∈ Zp-1, ta xác định: ek (x,k) = (y1 ,y2 ) trong đó y1 = αk mod p y2 = xβk mod p với y1 ,y2 ∈ Zp* ta xác định: dk(y1 ,y2 ) = y2 (y1a )-1 mod p

Đặc trương của bài toán: I = (p,α,β) trong đó p là số nguyên tố,

α ∈ Zp là phần tử nguyên thuỷ , β ∈ Zp*

Mục tiêu:Hãy tìm một số nguyên duy nhất a, 0 ≤ a ≤ p-2 sao cho:

αa ≡ β (mod p)

y1 = 2853 mod 2579 = 435

y2 = 1299 × 949853 mod 2579 = 2396

Khi đó Bob thu được bản mã y = (435,2396), anh ta tính x = 2396 × (435765)-1 mod 2579

= 1299

Đó chính là bản rõ mà Alice đã mã hoá.

Một phần của tài liệu giáo án an toàn bảo mật thông tin (Trang 93 - 96)

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

(109 trang)