Hệ mật Elgamal

Một phần của tài liệu Lý thuyết mật mã và an toàn dữ liệu (Trang 53 - 54)

4. MÃ HÓA KHÓA CÔNG KHAI

4.4. Hệ mật Elgamal

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

Trong hệ mật này, bản mã phụ thuộc vào cả bản rõ x lẫn giá trị ngẫu nhiên k. Bởi vậy sẽ có nhiều bản mã được mã từ cùng một bản rõ. Sau đây sẽ mô 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 ra y2 . Giá trị αk cũng được gửi đi như một phần của bản mã. Nếu một 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

Cho p là số nguyên tố sao cho bài toán logarith rời rạc trong Zp là khó giải. Cho α∈ Zp* là phần tử nguyên thủy. 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

Trang 51 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

y1 = 2853 mod 2579 = 435

y2 = 1299 × 949853 mod 2579 = 2396

Sau đó 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ã hóa.

Một phần của tài liệu Lý thuyết mật mã và an toàn dữ liệu (Trang 53 - 54)

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

(78 trang)