SlideShare a Scribd company logo
1 of 11
1
Đề tài:
TÌM HIỂU HỆ MẬT MÃ ELGAMAL
I. Giới thiệu về hệ mật mã
- Ta biết rằng tin truyền trên mạng rất dễ bị lấy cắp. Để đảm bảo việc truyền tin
an toàn người ta thường mã hoá thông tin trước khi truyền đi. Việc mã hoá
thường theo quy tắc nhất định gọi là hệ thống mật mã.
- Một hệ thống mật mã là một hệ bao gồm 5 thành phần (P, C, K, E, D) thỏa mãn
các tính chất sau:
 P (Plaintext) là tập hợp hữu hạn các bản rõ có thể.
 C (Ciphertext) là tập hợp hữu hạn các bản mã có thể.
 K (Key) là tập hợp các bản khoá có thể.
 E (Encrytion) là tập hợp các qui tắc mã hoá có thể.
 D (Decrytion) là tập hợp các qui tắc giải mã có thể.
- Quá trình mã hóa được tiến hành bằng cách áp dụng hàm toán học E lên thông
tin P, vốn được biểu diễn dưới dạng số, để trở thành thông tin đã mã hóa C.
- Quá trình giải mã được tiến hành ngược lại: áp dụng hàm D lên thông tin C để
được thông tin đã giải mã.
Quá trình mã hoá và giải mã
- Thám mã (phá mã) là tìm những điểm yếu hoặc không an toàn trong phương
thức mật mã hóa. Thám mã có thể được thực hiện bởi những kẻ tấn công ác ý,
nhằm làm hỏng hệ thống; hoặc bởi những người thiết kế ra hệ thống (hoặc
những người khác) với ý định đánh giá độ an toàn của hệ thống.
- Hệ mật mã gồm:
 Hệ mật mã đối xứng (hay còn gọi là mật mã khóa bí mật): là những hệ mật
dùng chung một khoá cả trong quá trình mã hoá dữ liệu và giải mã dữ liệu.
2
Do đó khoá phải được giữ bí mật tuyệt đối. Một số thuật toán nổi tiếng trong
mã hoá đối xứng là: DES, Triple DES(3DES), RC4, AES…
 Hệ mật mã bất đối xứng (hay còngọi là mật mã khóa công khai): Các hệ
mật này dùng một khoá để mã hoá sau đó dùng một khoá khác để giải mã,
nghĩa là khoá để mã hoá và giải mã là khác nhau. Các khoá này tạo nên
từng cặp chuyển đổingược nhau và không có khoá nào có thể suy được từ
khoá kia. Khoá dùng để mã hoá có thể công khai nhưng khoá dùng để giải
mã phải giữ bí mật. Do đó trong thuật toán này có 2 loại khoá: Khoá để mã
hoá được gọi là khóa công khai-Public Key, khoá để giải mã được gọi là
khóa bí mật - Private Key. Một số thuật toán mã hoá công khai nổi tiếng:
Diffle-Hellman, RSA, Rabin, Elgamal,…
II. Hệ mật mã Elgamal
 Hệ Elgamal là một hệ mật mã công khai
 Hệ Elgamal dựa trên bài toán logarithm rời rặc. Tính an toàn của nó
phụ thuộc vào độ phức tạp của bài toán logarithm.
 Hệ Elgamal là 1 biến thể của sơ đồ phân phốikhóa Diffie-Hellmal,
được đưa ra năm 1984.
 So với RSA, Hệ Elgamal không có nhiều rắc rối về vấn đề quyền sử
dụng.
III. Mã hóa và giảimã hệ Elgamal
3
 Ban đầu người ta sẽ lựa chọn một số nguyên tố lớn p và 2 số nguyên tố
nhỏ hơn p là alpha ( một phần tử nguyên thủy của Z*p) và a ( khóa bí
mật của người nhận) sau đó tính khóa công khai:
beta =alphaa
mod p
Lưu ý: Để tạo khó khăn cho việc phá mã thì nên chọn p có ít nhất 150 chữ số
 Để mã hóa một thông điệp M (một số nguyên tố trên Zp) thành bản mã C
người gửi chọn một số ngẫu nhiên k nhỏ hơn p và tính cặp bản mã:
C1 = alphak
mod p
C2 = (M*betak
)mod p
Và gửi bản mã C=( C1,C2)đi (sau đó k sẽ bị hủy đi).
 Để giải mã thông điệp M đầu tiên ta dùng khóa bí mật a và tính theo
công thức:
M = (C2* (C1
a
) -1
) mod p
Vơí: (C1
a
) -1
) mod p = (C1
(p-1-a)
) mod p
 Kết luận:
Xây dựng được hệ mã Elgamal bộ khóa: K=(p, alpha, a, beta) với:
- Thành phần khóa công khai: KU= (alphal, beta, p)
- Thành phần khóa bí mật: KR= (a, p)
Ví dụ: cho Hệ Elgamalcó p = 2579;alpha = 2; a = 765;chọn k ngẫu
nhiêu là 853. Bản rõ M = 1299.
Tìm khóa của hệ mã trên?
Mã hóa :
Trước hết ta tính: beta = alphaa mod p = 2765 mod 2579 = 949
4
Để mã hóa thông điệp M = 1299 ta tính theo k =853:
C1 = alphak mod p = 2853 mod 2579 =435
C2 = (M*betak )mod p = (1299*949853 ) mod 2579 =2396
 Vậy bản mã được gửi đi sẽ là C = (435, 2396).
Giải mã :
Với khóa bí mật a= 765:
(C1
a) -1) mod p = (C1(p-1-a)) mod p = (435(2579-1-765)) mod 2579
= (4351813) mod 2579 = 1980
M = (C2* (C1
a) -1) mod p = (2396*1980) mod 2579 = 1299
 Kết luận:
Xây dựng được hệ mã Elgamal bộ khóa:
K=(p, alpha, a, beta) = (2579, 2, 765, 949) với:
- Thành phần khóa công khai:
KU= (alphal, beta, p) = (2, 949, 2579)
- Thành phần khóa bí mật:
KR= (a, p) = (765, 2579)
- Mã hóa M=1299 vớiC(C1, C2) = (435,2396)
IV. Thám mã hệ Elgamal
Để thám mã hệ Hệ Elgamal, ta cần phải giải bài toán logarit rời rặc. Chúng ta
có 2 thuật toán để giải bài toán logarit rời rặc là:
 Thuật toán Shank
 Thuật toán Pohlig_Hellman
5
Trong đó thuật toán thám mã Shank được sử dụng nhiều hơn cả nên nhóm chỉ
trình bài thuật toán Shank.
Bài toán logarith rời rạc:
Logarith rời rạc là sự kết nối của phép tính logarith trên trường số thực vào các
nhóm hữu hạn. Ta nhắc lại rằng với hai số thưc x,y và cơ số a>0, a#0, nếu ax – y=0
thì x được gọi là logarith cơ số a của y, ký hiệu x = logay.
Logarith rời rạc là bài toán khó ( chưa biết thuật toán hiệu quả nào ). Trong khi
bài toán ngược lũy thừa rời rặc lại không khó ( có thể sử dụng thuật toán bình
phương và nhân).
Ví dụ:
Cho p là một số nguyên tố , xét nhóm nhân các số nguyên modulo p:
Zp* = { 1,2….,p } với phép nhân modulo p.
Nếu ta tính lũy thừa bậc k của một số trong nhóm rồi rút gọn theo modulo p
thì ta được một số trong nhóm đó . quá trình này được gọi là lũy thừa rời rặc
modulo p . chẳng hạn với p = 17 , lấy a = 3, k = 4 ta có :
34 = 81 = 13 mod 17.
Logarith rời rặc là phép tính ngược lại :
Biết : 3k = 13 (mod 17) hãy tìm k.?
=>Thực hiện tương tự như thuật toán Shank => k=4. Tuy nhiên đây là một bài
toán tương đối khó. Trong trường hợp p lớn ( có ít nhất 150 chữ số)thì bài toán
trở thành bất khả thi => an toàn
Thuật toán Shank:
Thuật toán này có tên gọi khác là thuật toán thời gian _bộ nhớ. Tư tưởng của
thuật toán là nếu ta có đủ bộ nhớ thì có thể sử dụng bộ nhớ đó để giảm thời gian
thực hiện của thuật toán.
Input : Số nguyên tố p, phần tử nguyên thủy a cua Z*p, số nguyên y.
Output : Cần tìm a sao cho beta =alphaa
mod p
6
Thuật toán :
Gọi m = [(p-1)1/2
] (lấy phần nguyên).
 Bước 1: Tính alphamj
mod p với 0<=j<=m-1.
 Bước 2: Sắpxếp các cặp (j, alphamj
mod p) theo alphalmj mod p và lưu
vào danh sáchL1.
 Bước 3: Tính beta*alpha-i
mod p với 0<=i<=m-1.
 Bước 4: Sắpxếp các cặp (i, beta*alpha-i
mod p) theo beta*alpha-i mod p
và lưu vào danh sách L2.
 Bước 5: Tìmtrong hai danh sách L1 và L2 xem có tồn tại cặp ( j, alphamj
mod p ) và ( i, beta*alpha-i mod p ) nào mà alphamj
mod p =
beta*alpha-i
mod p (tọa độ thứ hai của hai cặp bằng nhau ).
Lưu ý: Vì alphamj = beta*alpha-i =>alphamj-i = beta nên bước 5 luôn thành công.
 Bước 6: Tính a=logalpha beta=(mj + i ) mod ( p - 1 ). Kết quả này có thể
kiểm chứng từ công thức:
alphamj mod p= beta*alpha-i mod p
=>alphamj+i mod p= beta mod p
=> logalpha beta =( mj + i ) mod ( p – 1 ) = a.
Ví dụ: Với bài toán trên người ta thám mã chỉ có khóa công khai:
Kp = ( p,a,y ) = ( 97,5,44 )
m = [(p-1)1/2] = [( 97-1)1/2] = 10
Bước 1: Tính alphamj
mod p với 0<=j<=m-1.
Bước 2: Sắp xếp các cặp (j, alphamj mod p) theo alphamj mod p và lưu vào danh
sách L1
J(0<=j<=m-1) 510j mod 97(alphamj mod p)
7
0 1
1 53
2 93
3 79
4 16
5 72
6 33
7 3
8 62
9 85
Bước 3: Tính beta*alpha-i mod p với 0<=i<=m-1.
Bước 4: Sắp xếp các cặp (i, beta*alpha-i mod p) theo beta*alpha-i mod p và lưu
vào danh sáchL2.
8
i(0<=j<=m-1) 44*5-i mod 97(beta*alpha-i mod p)
0 44
1 26
2 33
3 68
4 49
5 51
6 61
7 14
8 70
9 59
Bước 5: Tìmtrong hai danh sách L1 và L2 xem có tồn tại cặp ( j, alphamj mod p
) và ( i, beta*alpha-i mod p ) nào mà alphamj mod p = beta*alpha-i mod p (tọa
độ thứ hai của hai cặp bằng nhau ).
Dựa vào bảng 2 bảng danh sách L1 và L2 khi j = 6 và i = 2 thì:
9
alphamj mod p = beta*alpha-i mod p = 33
Bước 6: Tính a= ( mj + i ) mod ( p - 1 ). Kết quả này có thể kiểm chứng từ công
thức alphamj mod p = beta*alpha-i mod p = alphamj+i mod p => a=( mj + i ) mod
( p – 1 ).
Vậy ta có a = (10 * 6 +2) mod (97 – 1 ) = 62.
 Quản lý khóa
Hệ mật bất đốixứng khắc phục được tính chất phức tạp trong việc phân phối khóa
ở hệ mật đốixứng. Cho phép giao tiếp giữa các đốitượng một cách uyển chuyển ,
dễ dàng.
 Thông báo công khai khóa của người sửdụng.
 Thư mục truy cập côngcộng.
 Phân phối khóa công khai từ tổ chức
 Chứng nhận khoá công khai: khoá công khai của người
sử dụng được nơi có thẩm quyền chứng nhận.
 Độ an toàn
- Hệ thống elgamal
10
Hệ thống elgamal dựa trên bài toàn logarit rời rạc. Tính an toàn của nó tùy
thuộc vào độ phức tạp của bài toán logarit.
Trong bài toán về hệ Elgamal:
+ p là số nguyên tố, a là phần tử nguyên thủy của Z*p. (p và a là cố định)
+ Bài toán logorit rời rạc có thể được phát biểu như sau: Tìm 1 số mũ x duy nhất,
0<=x<=p-2sao cho ax=y mod p, với y thuộc Z*p cho trước.
+ Bài tóan có thể giải được bởi phương pháp vét cạn ( tức là duyệt tất cả phần tử x)
để tìm x thỏa mãn. Bài toán có độ phức tạp là: O(p) (bỏ qua thừa số logarit). Vấn
đề đặt ra là nếu p lớn, rất lớn thì để thực hiện phương pháp này cần thời gian rất
lớn. Suy ra không khả thi.
Xét thuật toán Shank để thám mã hệ mã hóa Elgamal
+ Người thám mã chỉ có khóa công khai (p,a,y).
+ Bài toán logarit rời rạc cũng được phát biểu như sau: Tìm1 số mũ x duy nhất,
0<=x<=p-2sao cho ax=y mod p, với y thuộc Z*p cho trước.
+ Độ phức tạp của bài toán là O([p-1]^12) và bộ nhớ O([p-1]^12)( bỏ qua thừa số
logarit), giảm rất nhiều so với phương pháp vét cạn.
+ Chúng ta cần tính các phần tử thuộc 2 danh sách L1, L2 đều là phép toán lũy
thừa phụ thuộc và i, j; i và j lại phụ thuộc vào m nên ta nhận thấy bài toán chỉ áp
dụng với những trường hợp p nhỏ.
Đánh giá độ an toàn của hệ mã hóa Elgamal:
- Hệ mã hóa Elgamal áp dụng bài toán logarit rời rạc chính vì vậy độ an toàn
của hệ mã hóa là rất lớn vì bài toán logarit rời rạc chưa có phương pháp hiệu
quả để tính.
- Với 1 số p đủ lớn, thuật toán mã hóa Elgamal không có phương pháp thám
mã hiệu quả.
 Ưu , nhược điểm của hệ mã Elgamal
- Ưu điểm:
 Độ phức tạp của bài toán logarith lớn nên đọ an toàn cao.
11
 Bản mã phụ thuộc vào bản rõ x và giá trị ngẫu nhiên nên từ một bản rõ ta có
thể có nhiều bản ma khác nhau.
- Nhược điểm:
 Tốc độ chậm ( do phải xử lý số nguyên lớn )
 Dung lượng bộ nhớ dành cho việc lưu trữ khoa yêu cầu phải lớn.
Tài liệu tham khảo:
1. Bài giảng an toàn và bảo mật thông tin - Trần Minh Văn – Đại học
Nha Trang
2. Elgamal encryption - Wikipedia
3. Bài giảng hệ mật mã Elgamal. Link: http://doc.edu.vn/tai-lieu/bai-
giang-he-mat-elgamal-57863/
4. Tìm hiểu hệ mật mã Elgamal. Link:
http://123doc.org/document/2556734-tim-hieu-he-mat-ma-
elgamal.htm

More Related Content

What's hot

Mã hóa đường cong Elliptic
Mã hóa đường cong EllipticMã hóa đường cong Elliptic
Mã hóa đường cong EllipticLE Ngoc Luyen
 
Mã hóa đường cong Elliptic
Mã hóa đường cong EllipticMã hóa đường cong Elliptic
Mã hóa đường cong EllipticLE Ngoc Luyen
 
MATMA - 1.chuong4
MATMA - 1.chuong4MATMA - 1.chuong4
MATMA - 1.chuong4Sai Lemovom
 
Bo de toan roi rac (on thi cao hoc khmt)
Bo de toan roi rac (on thi cao hoc khmt)Bo de toan roi rac (on thi cao hoc khmt)
Bo de toan roi rac (on thi cao hoc khmt)lieu_lamlam
 
7. tìm hiểu hàm băm md5 và ứng dụng
7. tìm hiểu hàm băm md5 và ứng dụng7. tìm hiểu hàm băm md5 và ứng dụng
7. tìm hiểu hàm băm md5 và ứng dụngSai Lemovom
 
Phương pháp nhánh cận
Phương pháp nhánh cậnPhương pháp nhánh cận
Phương pháp nhánh cậnDiên Vĩ
 
Tài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tínhTài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tínhJojo Kim
 
Thuật toán Nhân Bình Phương - demo
Thuật toán Nhân Bình Phương - demoThuật toán Nhân Bình Phương - demo
Thuật toán Nhân Bình Phương - demoCông Thắng Trương
 
Hướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerHướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerBình Tân Phú
 
Tong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdhTong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdhHoat Thai Van
 
Đồ Án Quản Lý Bán Hàng bằng C++
Đồ Án Quản Lý Bán Hàng bằng C++Đồ Án Quản Lý Bán Hàng bằng C++
Đồ Án Quản Lý Bán Hàng bằng C++nataliej4
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngleemindinh
 
Bài tiểu luận Kỹ năng thuyết trình - Học viện công nghệ bưu chính viễn thông
Bài tiểu luận Kỹ năng thuyết trình - Học viện công nghệ bưu chính viễn thôngBài tiểu luận Kỹ năng thuyết trình - Học viện công nghệ bưu chính viễn thông
Bài tiểu luận Kỹ năng thuyết trình - Học viện công nghệ bưu chính viễn thôngHuyen Pham
 
Phân tích thiết kế hệ thống quản lý bán nước giải khát
Phân tích thiết kế hệ thống quản lý bán nước giải khátPhân tích thiết kế hệ thống quản lý bán nước giải khát
Phân tích thiết kế hệ thống quản lý bán nước giải khátMinh Nguyển
 

What's hot (20)

Mã hóa đường cong Elliptic
Mã hóa đường cong EllipticMã hóa đường cong Elliptic
Mã hóa đường cong Elliptic
 
Hệ thống thông tin
Hệ thống thông tinHệ thống thông tin
Hệ thống thông tin
 
Mã hóa đường cong Elliptic
Mã hóa đường cong EllipticMã hóa đường cong Elliptic
Mã hóa đường cong Elliptic
 
MATMA - 1.chuong4
MATMA - 1.chuong4MATMA - 1.chuong4
MATMA - 1.chuong4
 
Bo de toan roi rac (on thi cao hoc khmt)
Bo de toan roi rac (on thi cao hoc khmt)Bo de toan roi rac (on thi cao hoc khmt)
Bo de toan roi rac (on thi cao hoc khmt)
 
7. tìm hiểu hàm băm md5 và ứng dụng
7. tìm hiểu hàm băm md5 và ứng dụng7. tìm hiểu hàm băm md5 và ứng dụng
7. tìm hiểu hàm băm md5 và ứng dụng
 
Phương pháp nhánh cận
Phương pháp nhánh cậnPhương pháp nhánh cận
Phương pháp nhánh cận
 
Phương pháp tham lam
Phương pháp tham lamPhương pháp tham lam
Phương pháp tham lam
 
Tài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tínhTài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tính
 
Thuật toán Nhân Bình Phương - demo
Thuật toán Nhân Bình Phương - demoThuật toán Nhân Bình Phương - demo
Thuật toán Nhân Bình Phương - demo
 
Hướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerHướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracer
 
Tong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdhTong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdh
 
Đồ Án Quản Lý Bán Hàng bằng C++
Đồ Án Quản Lý Bán Hàng bằng C++Đồ Án Quản Lý Bán Hàng bằng C++
Đồ Án Quản Lý Bán Hàng bằng C++
 
Ktmt chuong 5
Ktmt chuong 5Ktmt chuong 5
Ktmt chuong 5
 
MATMA - Chuong2
MATMA - Chuong2MATMA - Chuong2
MATMA - Chuong2
 
Xử lý tín hiệu số
Xử lý tín hiệu sốXử lý tín hiệu số
Xử lý tín hiệu số
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàng
 
Bài tiểu luận Kỹ năng thuyết trình - Học viện công nghệ bưu chính viễn thông
Bài tiểu luận Kỹ năng thuyết trình - Học viện công nghệ bưu chính viễn thôngBài tiểu luận Kỹ năng thuyết trình - Học viện công nghệ bưu chính viễn thông
Bài tiểu luận Kỹ năng thuyết trình - Học viện công nghệ bưu chính viễn thông
 
Phân tích thiết kế hệ thống quản lý bán nước giải khát
Phân tích thiết kế hệ thống quản lý bán nước giải khátPhân tích thiết kế hệ thống quản lý bán nước giải khát
Phân tích thiết kế hệ thống quản lý bán nước giải khát
 
Hệ mật mã merkle
Hệ mật mã merkleHệ mật mã merkle
Hệ mật mã merkle
 

Viewers also liked

Các thuật toán mã hóa
Các thuật toán mã hóaCác thuật toán mã hóa
Các thuật toán mã hóadlmonline24h
 
MATMA - Chuong3 thuat toan
MATMA - Chuong3 thuat toanMATMA - Chuong3 thuat toan
MATMA - Chuong3 thuat toanSai Lemovom
 
Public Key Cryptography and RSA algorithm
Public Key Cryptography and RSA algorithmPublic Key Cryptography and RSA algorithm
Public Key Cryptography and RSA algorithmIndra97065
 
implementation of sinkhole attack on DSR protocol
implementation of sinkhole attack on DSR protocolimplementation of sinkhole attack on DSR protocol
implementation of sinkhole attack on DSR protocolAtul Atalkar
 
introduction to cryptography
introduction to cryptographyintroduction to cryptography
introduction to cryptographyPriyamvada Singh
 
May hoc 012012
May hoc   012012May hoc   012012
May hoc 012012Freelancer
 
Phan loai tin_tuc_bao_dien_tu
Phan loai tin_tuc_bao_dien_tuPhan loai tin_tuc_bao_dien_tu
Phan loai tin_tuc_bao_dien_tuViet Nam
 
Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...
Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...
Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...https://www.facebook.com/garmentspace
 
Giáo trình lập trình C
Giáo trình lập trình CGiáo trình lập trình C
Giáo trình lập trình CFreelancer
 
Lap Trinh C Tren Windows
Lap Trinh C Tren WindowsLap Trinh C Tren Windows
Lap Trinh C Tren Windowsnam nx
 
Model based collaborative filtering
Model based collaborative filteringModel based collaborative filtering
Model based collaborative filteringBui Loc
 
Ung dung xu ly anh trong thuc te voi thu vien open cv
Ung dung xu ly anh trong thuc te voi thu vien open cvUng dung xu ly anh trong thuc te voi thu vien open cv
Ung dung xu ly anh trong thuc te voi thu vien open cvNguyen An
 
Cac chuan nen va ung dung truyen video tren mang internet
Cac chuan nen va ung dung truyen video tren mang internetCac chuan nen va ung dung truyen video tren mang internet
Cac chuan nen va ung dung truyen video tren mang internetNo Name
 
Giao Trinh Ngon Ngu Lap Trinh C
Giao Trinh Ngon Ngu Lap Trinh CGiao Trinh Ngon Ngu Lap Trinh C
Giao Trinh Ngon Ngu Lap Trinh Cnam nx
 
HẠ TẦNG KHÓA CÔNG KHAI(PKI)
HẠ TẦNG KHÓA CÔNG KHAI(PKI)HẠ TẦNG KHÓA CÔNG KHAI(PKI)
HẠ TẦNG KHÓA CÔNG KHAI(PKI)ducmanhkthd
 
E-book kế toán căn bản cho người không chuyên
E-book kế toán căn bản cho người không chuyênE-book kế toán căn bản cho người không chuyên
E-book kế toán căn bản cho người không chuyênfastcorp
 

Viewers also liked (20)

Các thuật toán mã hóa
Các thuật toán mã hóaCác thuật toán mã hóa
Các thuật toán mã hóa
 
MATMA - Chuong3 thuat toan
MATMA - Chuong3 thuat toanMATMA - Chuong3 thuat toan
MATMA - Chuong3 thuat toan
 
Public Key Cryptography and RSA algorithm
Public Key Cryptography and RSA algorithmPublic Key Cryptography and RSA algorithm
Public Key Cryptography and RSA algorithm
 
RSA ALGORITHM
RSA ALGORITHMRSA ALGORITHM
RSA ALGORITHM
 
implementation of sinkhole attack on DSR protocol
implementation of sinkhole attack on DSR protocolimplementation of sinkhole attack on DSR protocol
implementation of sinkhole attack on DSR protocol
 
introduction to cryptography
introduction to cryptographyintroduction to cryptography
introduction to cryptography
 
Hệ mật mã Rabin
Hệ mật mã RabinHệ mật mã Rabin
Hệ mật mã Rabin
 
May hoc 012012
May hoc   012012May hoc   012012
May hoc 012012
 
Phan loai tin_tuc_bao_dien_tu
Phan loai tin_tuc_bao_dien_tuPhan loai tin_tuc_bao_dien_tu
Phan loai tin_tuc_bao_dien_tu
 
Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...
Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...
Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...
 
Giáo trình lập trình C
Giáo trình lập trình CGiáo trình lập trình C
Giáo trình lập trình C
 
Lap Trinh C Tren Windows
Lap Trinh C Tren WindowsLap Trinh C Tren Windows
Lap Trinh C Tren Windows
 
Model based collaborative filtering
Model based collaborative filteringModel based collaborative filtering
Model based collaborative filtering
 
Xu ly-anh
Xu ly-anhXu ly-anh
Xu ly-anh
 
Ung dung xu ly anh trong thuc te voi thu vien open cv
Ung dung xu ly anh trong thuc te voi thu vien open cvUng dung xu ly anh trong thuc te voi thu vien open cv
Ung dung xu ly anh trong thuc te voi thu vien open cv
 
Cac chuan nen va ung dung truyen video tren mang internet
Cac chuan nen va ung dung truyen video tren mang internetCac chuan nen va ung dung truyen video tren mang internet
Cac chuan nen va ung dung truyen video tren mang internet
 
Giao Trinh Ngon Ngu Lap Trinh C
Giao Trinh Ngon Ngu Lap Trinh CGiao Trinh Ngon Ngu Lap Trinh C
Giao Trinh Ngon Ngu Lap Trinh C
 
HẠ TẦNG KHÓA CÔNG KHAI(PKI)
HẠ TẦNG KHÓA CÔNG KHAI(PKI)HẠ TẦNG KHÓA CÔNG KHAI(PKI)
HẠ TẦNG KHÓA CÔNG KHAI(PKI)
 
E-book kế toán căn bản cho người không chuyên
E-book kế toán căn bản cho người không chuyênE-book kế toán căn bản cho người không chuyên
E-book kế toán căn bản cho người không chuyên
 
Giáo trình mật mã học công nghệ thông tin
Giáo trình mật mã học công nghệ thông tinGiáo trình mật mã học công nghệ thông tin
Giáo trình mật mã học công nghệ thông tin
 

Similar to Hệ mật mã elgamal

MATMA - Chuong3matmakhoacongkhai
MATMA - Chuong3matmakhoacongkhaiMATMA - Chuong3matmakhoacongkhai
MATMA - Chuong3matmakhoacongkhaiSai Lemovom
 
Slide_Chữ ký điện tử của chaum van antwerpen
Slide_Chữ ký điện tử của chaum van antwerpenSlide_Chữ ký điện tử của chaum van antwerpen
Slide_Chữ ký điện tử của chaum van antwerpenTai Tran
 
Lap trinh matlab_co_ban_1731
Lap trinh matlab_co_ban_1731Lap trinh matlab_co_ban_1731
Lap trinh matlab_co_ban_1731Vu Tuan
 
Báo cáo tốt nghiệp Android RSA mã hóa
Báo cáo tốt nghiệp Android RSA mã hóaBáo cáo tốt nghiệp Android RSA mã hóa
Báo cáo tốt nghiệp Android RSA mã hóaPhạm Trung Đức
 
Bao cao antoanbaomat-hung
Bao cao antoanbaomat-hungBao cao antoanbaomat-hung
Bao cao antoanbaomat-hungLuu Tuong
 
MATMA - Chuong3 l tso
MATMA - Chuong3 l tsoMATMA - Chuong3 l tso
MATMA - Chuong3 l tsoSai Lemovom
 
75291064 rsa-co-ban
75291064 rsa-co-ban75291064 rsa-co-ban
75291064 rsa-co-banNgo Kiet
 
Bai thi Nghiem ky thuat dien tu
Bai thi Nghiem ky thuat dien tuBai thi Nghiem ky thuat dien tu
Bai thi Nghiem ky thuat dien tuBrand Xanh
 
Bai3 timkiem sapxep
Bai3 timkiem sapxepBai3 timkiem sapxep
Bai3 timkiem sapxepHồ Lợi
 
Bai3 timkiemsapxep
Bai3 timkiemsapxepBai3 timkiemsapxep
Bai3 timkiemsapxepnhà tôi
 
Chap1 new (tran dai's conflicted copy 2013 04-02)
Chap1 new (tran dai's conflicted copy 2013 04-02)Chap1 new (tran dai's conflicted copy 2013 04-02)
Chap1 new (tran dai's conflicted copy 2013 04-02)Loc Tran
 
Chuong 5 - Ma hoa khoa Bat doi xung.pdf
Chuong 5 - Ma hoa khoa Bat doi xung.pdfChuong 5 - Ma hoa khoa Bat doi xung.pdf
Chuong 5 - Ma hoa khoa Bat doi xung.pdfDuyNguyn856183
 
Tiểu+luận+antoan
Tiểu+luận+antoanTiểu+luận+antoan
Tiểu+luận+antoanBùi Quân
 

Similar to Hệ mật mã elgamal (20)

MATMA - Chuong3matmakhoacongkhai
MATMA - Chuong3matmakhoacongkhaiMATMA - Chuong3matmakhoacongkhai
MATMA - Chuong3matmakhoacongkhai
 
Slide_Chữ ký điện tử của chaum van antwerpen
Slide_Chữ ký điện tử của chaum van antwerpenSlide_Chữ ký điện tử của chaum van antwerpen
Slide_Chữ ký điện tử của chaum van antwerpen
 
Hệ mật mã Mcelice
Hệ mật mã MceliceHệ mật mã Mcelice
Hệ mật mã Mcelice
 
matlab co ban
matlab co banmatlab co ban
matlab co ban
 
Lap trinh matlab_co_ban_1731
Lap trinh matlab_co_ban_1731Lap trinh matlab_co_ban_1731
Lap trinh matlab_co_ban_1731
 
Báo cáo tốt nghiệp Android RSA mã hóa
Báo cáo tốt nghiệp Android RSA mã hóaBáo cáo tốt nghiệp Android RSA mã hóa
Báo cáo tốt nghiệp Android RSA mã hóa
 
Cac lenh trong matlab
Cac lenh trong matlabCac lenh trong matlab
Cac lenh trong matlab
 
Ch09
Ch09Ch09
Ch09
 
Bao cao antoanbaomat-hung
Bao cao antoanbaomat-hungBao cao antoanbaomat-hung
Bao cao antoanbaomat-hung
 
MATMA - Chuong3 l tso
MATMA - Chuong3 l tsoMATMA - Chuong3 l tso
MATMA - Chuong3 l tso
 
75291064 rsa-co-ban
75291064 rsa-co-ban75291064 rsa-co-ban
75291064 rsa-co-ban
 
Giao an tin hoc 11
Giao an tin hoc 11Giao an tin hoc 11
Giao an tin hoc 11
 
Ma hoa.pdf
Ma hoa.pdfMa hoa.pdf
Ma hoa.pdf
 
Bai thi Nghiem ky thuat dien tu
Bai thi Nghiem ky thuat dien tuBai thi Nghiem ky thuat dien tu
Bai thi Nghiem ky thuat dien tu
 
Bai3 timkiem sapxep
Bai3 timkiem sapxepBai3 timkiem sapxep
Bai3 timkiem sapxep
 
Bai3 timkiemsapxep
Bai3 timkiemsapxepBai3 timkiemsapxep
Bai3 timkiemsapxep
 
Chap1 new (tran dai's conflicted copy 2013 04-02)
Chap1 new (tran dai's conflicted copy 2013 04-02)Chap1 new (tran dai's conflicted copy 2013 04-02)
Chap1 new (tran dai's conflicted copy 2013 04-02)
 
Chuong 5 - Ma hoa khoa Bat doi xung.pdf
Chuong 5 - Ma hoa khoa Bat doi xung.pdfChuong 5 - Ma hoa khoa Bat doi xung.pdf
Chuong 5 - Ma hoa khoa Bat doi xung.pdf
 
Ngôn ngữ lập trình ứng dụng
Ngôn ngữ lập trình ứng dụngNgôn ngữ lập trình ứng dụng
Ngôn ngữ lập trình ứng dụng
 
Tiểu+luận+antoan
Tiểu+luận+antoanTiểu+luận+antoan
Tiểu+luận+antoan
 

Hệ mật mã elgamal

  • 1. 1 Đề tài: TÌM HIỂU HỆ MẬT MÃ ELGAMAL I. Giới thiệu về hệ mật mã - Ta biết rằng tin truyền trên mạng rất dễ bị lấy cắp. Để đảm bảo việc truyền tin an toàn người ta thường mã hoá thông tin trước khi truyền đi. Việc mã hoá thường theo quy tắc nhất định gọi là hệ thống mật mã. - Một hệ thống mật mã là một hệ bao gồm 5 thành phần (P, C, K, E, D) thỏa mãn các tính chất sau:  P (Plaintext) là tập hợp hữu hạn các bản rõ có thể.  C (Ciphertext) là tập hợp hữu hạn các bản mã có thể.  K (Key) là tập hợp các bản khoá có thể.  E (Encrytion) là tập hợp các qui tắc mã hoá có thể.  D (Decrytion) là tập hợp các qui tắc giải mã có thể. - Quá trình mã hóa được tiến hành bằng cách áp dụng hàm toán học E lên thông tin P, vốn được biểu diễn dưới dạng số, để trở thành thông tin đã mã hóa C. - Quá trình giải mã được tiến hành ngược lại: áp dụng hàm D lên thông tin C để được thông tin đã giải mã. Quá trình mã hoá và giải mã - Thám mã (phá mã) là tìm những điểm yếu hoặc không an toàn trong phương thức mật mã hóa. Thám mã có thể được thực hiện bởi những kẻ tấn công ác ý, nhằm làm hỏng hệ thống; hoặc bởi những người thiết kế ra hệ thống (hoặc những người khác) với ý định đánh giá độ an toàn của hệ thống. - Hệ mật mã gồm:  Hệ mật mã đối xứng (hay còn gọi là mật mã khóa bí mật): là những hệ mật dùng chung một khoá cả trong quá trình mã hoá dữ liệu và giải mã dữ liệu.
  • 2. 2 Do đó khoá phải được giữ bí mật tuyệt đối. Một số thuật toán nổi tiếng trong mã hoá đối xứng là: DES, Triple DES(3DES), RC4, AES…  Hệ mật mã bất đối xứng (hay còngọi là mật mã khóa công khai): Các hệ mật này dùng một khoá để mã hoá sau đó dùng một khoá khác để giải mã, nghĩa là khoá để mã hoá và giải mã là khác nhau. Các khoá này tạo nên từng cặp chuyển đổingược nhau và không có khoá nào có thể suy được từ khoá kia. Khoá dùng để mã hoá có thể công khai nhưng khoá dùng để giải mã phải giữ bí mật. Do đó trong thuật toán này có 2 loại khoá: Khoá để mã hoá được gọi là khóa công khai-Public Key, khoá để giải mã được gọi là khóa bí mật - Private Key. Một số thuật toán mã hoá công khai nổi tiếng: Diffle-Hellman, RSA, Rabin, Elgamal,… II. Hệ mật mã Elgamal  Hệ Elgamal là một hệ mật mã công khai  Hệ Elgamal dựa trên bài toán logarithm rời rặc. Tính an toàn của nó phụ thuộc vào độ phức tạp của bài toán logarithm.  Hệ Elgamal là 1 biến thể của sơ đồ phân phốikhóa Diffie-Hellmal, được đưa ra năm 1984.  So với RSA, Hệ Elgamal không có nhiều rắc rối về vấn đề quyền sử dụng. III. Mã hóa và giảimã hệ Elgamal
  • 3. 3  Ban đầu người ta sẽ lựa chọn một số nguyên tố lớn p và 2 số nguyên tố nhỏ hơn p là alpha ( một phần tử nguyên thủy của Z*p) và a ( khóa bí mật của người nhận) sau đó tính khóa công khai: beta =alphaa mod p Lưu ý: Để tạo khó khăn cho việc phá mã thì nên chọn p có ít nhất 150 chữ số  Để mã hóa một thông điệp M (một số nguyên tố trên Zp) thành bản mã C người gửi chọn một số ngẫu nhiên k nhỏ hơn p và tính cặp bản mã: C1 = alphak mod p C2 = (M*betak )mod p Và gửi bản mã C=( C1,C2)đi (sau đó k sẽ bị hủy đi).  Để giải mã thông điệp M đầu tiên ta dùng khóa bí mật a và tính theo công thức: M = (C2* (C1 a ) -1 ) mod p Vơí: (C1 a ) -1 ) mod p = (C1 (p-1-a) ) mod p  Kết luận: Xây dựng được hệ mã Elgamal bộ khóa: K=(p, alpha, a, beta) với: - Thành phần khóa công khai: KU= (alphal, beta, p) - Thành phần khóa bí mật: KR= (a, p) Ví dụ: cho Hệ Elgamalcó p = 2579;alpha = 2; a = 765;chọn k ngẫu nhiêu là 853. Bản rõ M = 1299. Tìm khóa của hệ mã trên? Mã hóa : Trước hết ta tính: beta = alphaa mod p = 2765 mod 2579 = 949
  • 4. 4 Để mã hóa thông điệp M = 1299 ta tính theo k =853: C1 = alphak mod p = 2853 mod 2579 =435 C2 = (M*betak )mod p = (1299*949853 ) mod 2579 =2396  Vậy bản mã được gửi đi sẽ là C = (435, 2396). Giải mã : Với khóa bí mật a= 765: (C1 a) -1) mod p = (C1(p-1-a)) mod p = (435(2579-1-765)) mod 2579 = (4351813) mod 2579 = 1980 M = (C2* (C1 a) -1) mod p = (2396*1980) mod 2579 = 1299  Kết luận: Xây dựng được hệ mã Elgamal bộ khóa: K=(p, alpha, a, beta) = (2579, 2, 765, 949) với: - Thành phần khóa công khai: KU= (alphal, beta, p) = (2, 949, 2579) - Thành phần khóa bí mật: KR= (a, p) = (765, 2579) - Mã hóa M=1299 vớiC(C1, C2) = (435,2396) IV. Thám mã hệ Elgamal Để thám mã hệ Hệ Elgamal, ta cần phải giải bài toán logarit rời rặc. Chúng ta có 2 thuật toán để giải bài toán logarit rời rặc là:  Thuật toán Shank  Thuật toán Pohlig_Hellman
  • 5. 5 Trong đó thuật toán thám mã Shank được sử dụng nhiều hơn cả nên nhóm chỉ trình bài thuật toán Shank. Bài toán logarith rời rạc: Logarith rời rạc là sự kết nối của phép tính logarith trên trường số thực vào các nhóm hữu hạn. Ta nhắc lại rằng với hai số thưc x,y và cơ số a>0, a#0, nếu ax – y=0 thì x được gọi là logarith cơ số a của y, ký hiệu x = logay. Logarith rời rạc là bài toán khó ( chưa biết thuật toán hiệu quả nào ). Trong khi bài toán ngược lũy thừa rời rặc lại không khó ( có thể sử dụng thuật toán bình phương và nhân). Ví dụ: Cho p là một số nguyên tố , xét nhóm nhân các số nguyên modulo p: Zp* = { 1,2….,p } với phép nhân modulo p. Nếu ta tính lũy thừa bậc k của một số trong nhóm rồi rút gọn theo modulo p thì ta được một số trong nhóm đó . quá trình này được gọi là lũy thừa rời rặc modulo p . chẳng hạn với p = 17 , lấy a = 3, k = 4 ta có : 34 = 81 = 13 mod 17. Logarith rời rặc là phép tính ngược lại : Biết : 3k = 13 (mod 17) hãy tìm k.? =>Thực hiện tương tự như thuật toán Shank => k=4. Tuy nhiên đây là một bài toán tương đối khó. Trong trường hợp p lớn ( có ít nhất 150 chữ số)thì bài toán trở thành bất khả thi => an toàn Thuật toán Shank: Thuật toán này có tên gọi khác là thuật toán thời gian _bộ nhớ. Tư tưởng của thuật toán là nếu ta có đủ bộ nhớ thì có thể sử dụng bộ nhớ đó để giảm thời gian thực hiện của thuật toán. Input : Số nguyên tố p, phần tử nguyên thủy a cua Z*p, số nguyên y. Output : Cần tìm a sao cho beta =alphaa mod p
  • 6. 6 Thuật toán : Gọi m = [(p-1)1/2 ] (lấy phần nguyên).  Bước 1: Tính alphamj mod p với 0<=j<=m-1.  Bước 2: Sắpxếp các cặp (j, alphamj mod p) theo alphalmj mod p và lưu vào danh sáchL1.  Bước 3: Tính beta*alpha-i mod p với 0<=i<=m-1.  Bước 4: Sắpxếp các cặp (i, beta*alpha-i mod p) theo beta*alpha-i mod p và lưu vào danh sách L2.  Bước 5: Tìmtrong hai danh sách L1 và L2 xem có tồn tại cặp ( j, alphamj mod p ) và ( i, beta*alpha-i mod p ) nào mà alphamj mod p = beta*alpha-i mod p (tọa độ thứ hai của hai cặp bằng nhau ). Lưu ý: Vì alphamj = beta*alpha-i =>alphamj-i = beta nên bước 5 luôn thành công.  Bước 6: Tính a=logalpha beta=(mj + i ) mod ( p - 1 ). Kết quả này có thể kiểm chứng từ công thức: alphamj mod p= beta*alpha-i mod p =>alphamj+i mod p= beta mod p => logalpha beta =( mj + i ) mod ( p – 1 ) = a. Ví dụ: Với bài toán trên người ta thám mã chỉ có khóa công khai: Kp = ( p,a,y ) = ( 97,5,44 ) m = [(p-1)1/2] = [( 97-1)1/2] = 10 Bước 1: Tính alphamj mod p với 0<=j<=m-1. Bước 2: Sắp xếp các cặp (j, alphamj mod p) theo alphamj mod p và lưu vào danh sách L1 J(0<=j<=m-1) 510j mod 97(alphamj mod p)
  • 7. 7 0 1 1 53 2 93 3 79 4 16 5 72 6 33 7 3 8 62 9 85 Bước 3: Tính beta*alpha-i mod p với 0<=i<=m-1. Bước 4: Sắp xếp các cặp (i, beta*alpha-i mod p) theo beta*alpha-i mod p và lưu vào danh sáchL2.
  • 8. 8 i(0<=j<=m-1) 44*5-i mod 97(beta*alpha-i mod p) 0 44 1 26 2 33 3 68 4 49 5 51 6 61 7 14 8 70 9 59 Bước 5: Tìmtrong hai danh sách L1 và L2 xem có tồn tại cặp ( j, alphamj mod p ) và ( i, beta*alpha-i mod p ) nào mà alphamj mod p = beta*alpha-i mod p (tọa độ thứ hai của hai cặp bằng nhau ). Dựa vào bảng 2 bảng danh sách L1 và L2 khi j = 6 và i = 2 thì:
  • 9. 9 alphamj mod p = beta*alpha-i mod p = 33 Bước 6: Tính a= ( mj + i ) mod ( p - 1 ). Kết quả này có thể kiểm chứng từ công thức alphamj mod p = beta*alpha-i mod p = alphamj+i mod p => a=( mj + i ) mod ( p – 1 ). Vậy ta có a = (10 * 6 +2) mod (97 – 1 ) = 62.  Quản lý khóa Hệ mật bất đốixứng khắc phục được tính chất phức tạp trong việc phân phối khóa ở hệ mật đốixứng. Cho phép giao tiếp giữa các đốitượng một cách uyển chuyển , dễ dàng.  Thông báo công khai khóa của người sửdụng.  Thư mục truy cập côngcộng.  Phân phối khóa công khai từ tổ chức  Chứng nhận khoá công khai: khoá công khai của người sử dụng được nơi có thẩm quyền chứng nhận.  Độ an toàn - Hệ thống elgamal
  • 10. 10 Hệ thống elgamal dựa trên bài toàn logarit rời rạc. Tính an toàn của nó tùy thuộc vào độ phức tạp của bài toán logarit. Trong bài toán về hệ Elgamal: + p là số nguyên tố, a là phần tử nguyên thủy của Z*p. (p và a là cố định) + Bài toán logorit rời rạc có thể được phát biểu như sau: Tìm 1 số mũ x duy nhất, 0<=x<=p-2sao cho ax=y mod p, với y thuộc Z*p cho trước. + Bài tóan có thể giải được bởi phương pháp vét cạn ( tức là duyệt tất cả phần tử x) để tìm x thỏa mãn. Bài toán có độ phức tạp là: O(p) (bỏ qua thừa số logarit). Vấn đề đặt ra là nếu p lớn, rất lớn thì để thực hiện phương pháp này cần thời gian rất lớn. Suy ra không khả thi. Xét thuật toán Shank để thám mã hệ mã hóa Elgamal + Người thám mã chỉ có khóa công khai (p,a,y). + Bài toán logarit rời rạc cũng được phát biểu như sau: Tìm1 số mũ x duy nhất, 0<=x<=p-2sao cho ax=y mod p, với y thuộc Z*p cho trước. + Độ phức tạp của bài toán là O([p-1]^12) và bộ nhớ O([p-1]^12)( bỏ qua thừa số logarit), giảm rất nhiều so với phương pháp vét cạn. + Chúng ta cần tính các phần tử thuộc 2 danh sách L1, L2 đều là phép toán lũy thừa phụ thuộc và i, j; i và j lại phụ thuộc vào m nên ta nhận thấy bài toán chỉ áp dụng với những trường hợp p nhỏ. Đánh giá độ an toàn của hệ mã hóa Elgamal: - Hệ mã hóa Elgamal áp dụng bài toán logarit rời rạc chính vì vậy độ an toàn của hệ mã hóa là rất lớn vì bài toán logarit rời rạc chưa có phương pháp hiệu quả để tính. - Với 1 số p đủ lớn, thuật toán mã hóa Elgamal không có phương pháp thám mã hiệu quả.  Ưu , nhược điểm của hệ mã Elgamal - Ưu điểm:  Độ phức tạp của bài toán logarith lớn nên đọ an toàn cao.
  • 11. 11  Bản mã phụ thuộc vào bản rõ x và giá trị ngẫu nhiên nên từ một bản rõ ta có thể có nhiều bản ma khác nhau. - Nhược điểm:  Tốc độ chậm ( do phải xử lý số nguyên lớn )  Dung lượng bộ nhớ dành cho việc lưu trữ khoa yêu cầu phải lớn. Tài liệu tham khảo: 1. Bài giảng an toàn và bảo mật thông tin - Trần Minh Văn – Đại học Nha Trang 2. Elgamal encryption - Wikipedia 3. Bài giảng hệ mật mã Elgamal. Link: http://doc.edu.vn/tai-lieu/bai- giang-he-mat-elgamal-57863/ 4. Tìm hiểu hệ mật mã Elgamal. Link: http://123doc.org/document/2556734-tim-hieu-he-mat-ma- elgamal.htm