Hệ mó hoỏ ElGama

Một phần của tài liệu TÌM HIỂU NGHIÊN CỨU MỘT SỐ BÀI TOÁN VỀ AN TOÀN THÔNG TIN TRONG TÍNH TOÁN LƢỚI (Trang 40 - 43)

Hệ mật mó ElGamal đƣợc T.ElGamal đề xuất năm 1985, dựa vào độ phức tạp của bài toỏn tớnh lụgarit rời rạc, và sau đú đó nhanh chúng đƣợc sử dụng rộng rói khụng những trong vấn đề bảo mật truyền tin mà cũn trong cỏc vấn đề xỏc nhận và chữ ký điện tử.

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ú nếu p đƣợc chọn cẩn thận. Cụ thể là khụng cú một thuật toỏn thời gian

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. Hệ mật Elgamal là một hệ mật 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 G chọn. Bởi vậy sẽ cú nhiều bản mó đƣợc mó từ cựng một bản rừ.

Bài toỏn logarithm rời rạc trong Zp:

Đặ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ỷ (hay phần tử sinh), Zp*

.

Bài toỏn: Tỡm x sao cho x (mod p).

Định nghĩa mó khúa cụng khai Elgamal trong Zp*

:

+ Sinh khoỏ:

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* x Zp*.

Ta định nghĩa: K = {K(k’,k’’);k’=(p, , a, );k’’=a: a

(mod p)} Cỏc giỏ trị p, , đƣợc cụng khai, cũn a giữ kớn.( 0 a p-2)

Với K =(p, , a, ) và một số ngẫu nhiờn bớ mật k Zp – 1, ta xỏc định:

+ Lập mó: Ek’(x, k) = (y1, y2) Trong đú: y1 = k mod p y2 = x. k mod p Với y1, y2 Zp* : + Giải mó:

Vớ dụ:

Chọn p = 7

Zp* là phần tử nguyờn thuỷ nờn = 3 Chọn a sao cho 0 a p – 2 nờn chọn a = 2 Khi đú: = a mod p = 32 mod 7 = 2 Chọn x sao cho: 3x

(mod p) =>x=3

Chọn một số ngẫu nhiờn bớ mật k Zp – 1, chọn k =3 Giả sử A muốn gửi thụng bỏo x = 3 cho B, A phải tớnh:

Ek’(x, k) = (y1, y2)

trong đú: y1 = k mod p = 33 mod 7 = 6 y2 = x. k mod p = 3*23 mod 7 = 3

Khi B thu đƣợc bản mó (y1, y2) = (6, 3), anh ta sẽ tớnh:

dk’’(y1, y2) = y2(y1a)-1 mod p = 3*(62)-1 mod 7 = 3=x Đú chớnh là bàn rừ mà G đó mó hoỏ.

Chương 3. THỬ NGHIỆM CHƢƠNG TRèNH Kí SỐ TRONG TTL

Trong chƣơng 3, đồ ỏn thử nghiệm thử viết chƣơng trỡnh ký số RSA.

3.1. CẤU HèNH HỆ THỐNG

+ Phần mềm: Tubo C++ 3.0

-Ƣu điểm: miễn phớ, khụng cần cài đặt, biờn dịch và chạy chƣơng trỡnh nhanh, mụi trƣờng tớch hợp thuận tiện. (adsbygoogle = window.adsbygoogle || []).push({});

-Nhƣợc điểm: khụng thể biờn dịch chƣơng trỡnh chạy trờn window, khụng hỗ trợ cỏc cụng nghệ mới nhƣ nhắc nhở ngƣời dựng cỏc từ khoỏ, hàm và kiểu dữ liệu, thao tỏc soạn thảo của Tubo C++3.0 cũng khụng tiện lợi vỡ đũi hỏi sử dụng cỏc tổ hợp phớm khỏ phức tạp…

+ Phần cứng: chiếm dung lƣợng nhỏ (khoảng 4,3 MB), cú thể chạy trờn mọi thế hệ của mỏy tớnh cú hệ điều hành DOS.th

ao tỏc

Một phần của tài liệu TÌM HIỂU NGHIÊN CỨU MỘT SỐ BÀI TOÁN VỀ AN TOÀN THÔNG TIN TRONG TÍNH TOÁN LƢỚI (Trang 40 - 43)