Hệ mã Elgamal

Một phần của tài liệu GIÁO TRÌNH LÝ THUYÊT THÔNG TIN-THÁI NGUYÊN – NĂM 2010 potx (Trang 128 - 130)

Hệ mã Elgamal xây dựng dựa trên bài toán logarithm rời rạc là bài toán ñược dùng nhiều trong thủ tục mật mã.

Chúng ta sẽ bắt ñầu bằng việc mô tả bài toán khi thiết lập trường hữu hạn Zp trong ñó p là số nguyên tố. Nhớ lại rằng nhóm nhân Z*P là nhóm cyclic và phần tử sinh của Z*

P ñượ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 toán khó. 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ã 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 toán hiệu quả theo thuật toá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.

Thut toán

To khoá: Mỗi thực thể tạo một khoá công khai và một khoá riêng tương ứng. 1. Tạo một số nguyên tố p và phần tử sinh α∈nhóm nhân Z*

P . 2. Chọn một số nguyên a, 1 ≤ a ≤ p-2, và tính a

α mod p. 3. Khoá công khai của A là (p, α , a

α ); khoá riêng là a.

Mã hoá: B mã hoá văn bản m gửi cho A.

1. Thu ñược khoá công khai của A (p, α , a

α ).

2. Biểu diễn văn bản như một số nguyên m trong {0,1,...,p-1}. 3. Chọn ngẫu nhiên một số nguyên k, 1≤k≤p-2.

129 4. Tính k γ =α mod p và a k m ( ) δ = × α mod p. 5. Gửi bản mã c = ( , )γ δ cho A.

Gii mã: Khôi phục bản rõ m từ c bằng việc tính (γ −1)×δ mod p.

Ví d

To khoá: Chọn số nguyên tố p=2357 và phần tử sinh α=2∈ Z*2357. A chọn khoá riêng a = 1751 và tính a

α mod p = 21751 mod 2357 = 1185. Khoá công khai của A là (p = 2357, α = 2, a

α = 1185).

Mã hoá: ðể mã hoá một văn bản m=2035, B chọn ngẫu nhiên một số nguyên k = 1520 và tính γ =21520 mod 2357 = 1430,

δ= 2035×11851520 mod 2357 = 697. B gửi γ =1430 và δ =697 cho A.

Gii mã: ðể giải mã, A thực hiện tính:m = 872*697 mod 2357 = 2035.

Chú ý: Một bất lợi của mã hoá Elgamal là sự mở rộng của văn bản, bản mã có thể dài gấp 2 lần so với bản rõ.Mã hoá Elgamal là một trong những lược ñồ mã hoá sử dụng sự ngẫu nhiên trong tiến trình mã hoá. Những nguyên tắc cơ bản ñằng sau kỹ thuật mã hoá ngẫu nhiên là sử dụng tính ngẫu nhiên ñể tăng thêm sự bảo mật bằng mật mã của tiến trình mã hoá theo một trong các phương thức sau:

1. Tăng dần khoảng trống trong bản rõ một cách phù hợp.

2. Ngăn ngừa hoặc làm suy giảm sự có hiệu lực của sự tấn công bản rõ chọn trước thông qua ánh xạ một - nhiều từ bản rõ ñến bản mã.

Tính bo mt ca mã hoá Elgamal

Vấn ñề bẻ khoá lược ñồ mã hoá Elgamal, khôi phục m từ p, α, a

α , γ , và δ tương ñương với giải quyết vấn ñề Diff-Hellman. Trên thực tế, lược ñồ mã hoá Elgamal ñược xem như sự thay ñổi khoá Diff-Hellman ñể quyết ñịnh khoá ak

130 tính bảo mật của lược ñồ mã hoá Elgamal ñược gọi là cơ sở trong vấn ñề logarithm rời rạc trong Z*P .

Một phần của tài liệu GIÁO TRÌNH LÝ THUYÊT THÔNG TIN-THÁI NGUYÊN – NĂM 2010 potx (Trang 128 - 130)