5.4Hệ mật Elgamal

Một phần của tài liệu GIÁO TRÌNH AN TOÀN THÔNG TIN CHƯƠNG 1 AN TOÀN dữ LIỆU TRÊN MẠNG máy TÍNH (Trang 46)

C i= LSi(i-1) Di = LSi (Di-1)

5.4Hệ 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

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*

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

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

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 GIÁO TRÌNH AN TOÀN THÔNG TIN CHƯƠNG 1 AN TOÀN dữ LIỆU TRÊN MẠNG máy TÍNH (Trang 46)