SlideShare a Scribd company logo
1 of 43
NHÓM 7-VTK37:
Nguyễn Thị Kim Nga 1310471
To Tiang Sampo 1310477
Ngô Hữu Nguyện 1310466
Trường Đại học Đà Lạt
1
• Hệ thống
mật mã
2
• Mã hóa và
giải mã hệ
Elgamal
3
• Thám mã
hệ Elgamal
4
• Đánh giá
hệ Elgamal
I) GIỚI THIỆU VỀ HỆ MẬT MÃ.
Hệ mật mã gồm 5 thành phần sau:
P (Plaintext)
C (Ciphertext)
K (Key)
E (Encrytion)
D (Decrytion)
HỆ THỐNG MẬT MÃ
Hệ mật mã đối xứng
(cổ điển)
Hệ mật mã bất đối
xứng (công khai)
1
2
HỆ THỐNG MẬT MÃ
II) HỆ MẬT MÃ ELGAMAL.
Do ông Teher Elgalmal
người Ai cập đề xuất
vào năm 1984
II) HỆ MẬT MÃ ELGAMAL.
-Hệ mật mã công khai.
-Tính an toàn phụ thuộc vào độ phức tạp của
bài toán logarith.
-Biến thể sơ đồ phân phối Diffie-Hellmal.
III) MÃ HOÁ VÀ GIẢI MÃ HỆ ELGAMAL.
Quá trình mã hoá và giải mã
HỆ THỐNG MẬT MÃ
Key k2Key k1
(P) (C) (P)
C=Ek1(P)
III) MÃ HOÁ VÀ GIẢI MÃ HỆ ELGAMAL.
HỆ THỐNG MẬT MÃ
III) MÃ HOÁ VÀ GIẢI MÃ HỆ ELGAMAL.
1) Mã hóa
- 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 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
III) MÃ HOÁ VÀ GIẢI MÃ HỆ ELGAMAL.
1) Mã hóa
- Để 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
III) MÃ HOÁ VÀ GIẢI MÃ HỆ ELGAMAL.
1) Mã hóa
- Bản mã E(C1 , C2 ) được gửi đi với:
C1 = alphak mod p
C2 = (M*betak )mod p
Sau đó k sẽ bị hủy đi.
III) MÃ HOÁ VÀ GIẢI MÃ HỆ ELGAMAL.
2) Giải mã
- Để 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* (C1a) -1) mod p
Với: (C1a) -1) mod p = (C1(p-1-a)) mod p
III) MÃ HOÁ VÀ GIẢI MÃ HỆ ELGAMAL.
3) Kết luận
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ệ Elgamal có 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?
Giải:
Mã hóa :
Trước hết ta tính: beta = alphaa mod p
= 2765 mod 2579 = 949
Để 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:
(C1a) -1) mod p = (C1(p-1-a)) mod p
= (435(2579-1-765)) mod 2579
= (4351813) mod 2579 = 1980
M = (C2* (C1a) -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ới E(C1, C2) = (435,2396)
IV) THÁM MÃ HỆ ELGAMAL.
-Thuật toán Shank
-Thuật toán Pohlig_Hellman (Link:
http://123doc.org/document/2556734-tim-hieu-
he-mat-ma-elgamal.htm)
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ó. Trong khi bài toán
ngược lũy thừa rời rạc lại không khó.
- 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.
Ví dụ: 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 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:
Input : Số nguyên tố p, phần tử nguyên thủy alphal của
Z*p, số nguyên y.
Output : Cần tìm a sao cho beta =alphaa mod p.
Thuật toán shank:
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ắp xếp các cặp (j, alphamj mod p) theo
alphalmj mod p và lưu vào danh sách L1.
Bước 3: Tính beta*alpha-i mod p với 0<=i<=m-1.
Thuật toán shank:
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ách L2.
Bước 5: Tìm trong 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 ) sao cho
alphamj mod p = beta*alpha-i mod p (tọa độ thứ hai của
hai cặp bằng nhau ).
Thuật toán shank:
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.
Thuật toán shank:
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,alpha,beta ) = ( 97,5,44 )
Ta có:
m = [(p-1)1/2] = [( 97-1)1/2] = 10
Thuật toán shank:
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)
0 1
1 53
2 93
3 79
4 16
5 72
6 33
7 3
8 62
9 85
Thuật toán shank:
Thuật toán shank:
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ách L2.
J(0<=j<=m-1) 44*5i 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
Thuật toán shank:
Thuật toán shank:
Bước 5: Tìm trong 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ì:
alphamj mod p = beta*alpha-i mod p = 33
Thuật toán shank:
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
Vậy ta có a = (10 * 6 +2) mod (97 – 1 ) = 62.
Quản lý khóa
• Độ an toàn
Hệ thống elgamal
- Hệ thống elgamal dựa trên bài toàn logarith 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 logarith.
- 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 logorith 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-2 sao cho ax=y mod p,
với y thuộc Z*p cho trước.
• Độ an toàn
- Bài toán 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.
• Độ an toàn
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ìm 1 số mũ x duy nhất, 0<=x<=p-2 sao cho
ax=y mod p, với y thuộc Z*p cho trước.
• Độ an toàn
+ Độ 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 điểm, 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.
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.
• Ưu điểm, nhược điểm của hệ mã Elgamal
- 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:
• 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
• Elgamal encryption - Wikipedia
• Bài giảng hệ mật mã Elgamal. Link: http://doc.edu.vn/tai-
lieu/bai-giang-he-mat-elgamal-57863/
• Tìm hiểu hệ mật mã Elgamal. Link:
http://123doc.org/document/2556734-tim-hieu-he-mat-
ma-elgamal.htm
Hệ mật mã Elgamal
Hệ mật mã Elgamal

More Related Content

What's hot

Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồBáo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồzDollz Lovez
 
Bài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tínhBài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tínhCao Toa
 
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
 
Bài giảng bảo mật hệ thống thông tin
Bài giảng bảo mật hệ thống thông tinBài giảng bảo mật hệ thống thông tin
Bài giảng bảo mật hệ thống thông tinTran Tien
 
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
 
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ú
 
csdl - buoi13-14
csdl - buoi13-14csdl - buoi13-14
csdl - buoi13-14kikihoho
 
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Tú Cao
 
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thôngBáo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thôngHuyen Pham
 
thuc hanh xu ly tin hieu so
thuc hanh xu ly tin hieu sothuc hanh xu ly tin hieu so
thuc hanh xu ly tin hieu soKimkaty Hoang
 
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
 
Thiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựThiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựleemindinh
 
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minhBáo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minhnataliej4
 
Slide bai giang_an_toan_va_bao_mat_thong_tin
Slide bai giang_an_toan_va_bao_mat_thong_tinSlide bai giang_an_toan_va_bao_mat_thong_tin
Slide bai giang_an_toan_va_bao_mat_thong_tinLang Codon
 
Kiến trúc máy tính và hợp ngữ bài 02
Kiến trúc máy tính và hợp ngữ bài 02Kiến trúc máy tính và hợp ngữ bài 02
Kiến trúc máy tính và hợp ngữ bài 02Nhóc Nhóc
 
Bai tap va loi giai sql
Bai tap va loi giai sqlBai tap va loi giai sql
Bai tap va loi giai sql. .
 
Bai 4 bieu dien do thi va thuat toan tim kiem
Bai 4   bieu dien do thi va thuat toan tim kiemBai 4   bieu dien do thi va thuat toan tim kiem
Bai 4 bieu dien do thi va thuat toan tim kiemDuy Vọng
 

What's hot (20)

Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồBáo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
 
Bài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tínhBài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tính
 
Mã hóa đường cong Elliptic
Mã hóa đường cong EllipticMã hóa đường cong Elliptic
Mã hóa đường cong Elliptic
 
Bài giảng bảo mật hệ thống thông tin
Bài giảng bảo mật hệ thống thông tinBài giảng bảo mật hệ thống thông tin
Bài giảng bảo mật hệ thống thông tin
 
Hệ mật mã Rabin
Hệ mật mã RabinHệ mật mã Rabin
Hệ mật mã Rabin
 
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
 
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
 
csdl - buoi13-14
csdl - buoi13-14csdl - buoi13-14
csdl - buoi13-14
 
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
 
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thôngBáo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
 
Luận văn: Phương pháp tấn công chữ ký số: Rsa,Elgamal,Dss
Luận văn: Phương pháp tấn công chữ ký số: Rsa,Elgamal,DssLuận văn: Phương pháp tấn công chữ ký số: Rsa,Elgamal,Dss
Luận văn: Phương pháp tấn công chữ ký số: Rsa,Elgamal,Dss
 
Hệ mật mã Mekle-Hellman
Hệ mật mã Mekle-HellmanHệ mật mã Mekle-Hellman
Hệ mật mã Mekle-Hellman
 
thuc hanh xu ly tin hieu so
thuc hanh xu ly tin hieu sothuc hanh xu ly tin hieu so
thuc hanh xu ly tin hieu so
 
Mã hóa đường cong Elliptic
Mã hóa đường cong EllipticMã hóa đường cong Elliptic
Mã hóa đường cong Elliptic
 
Thiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựThiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sự
 
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minhBáo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
 
Slide bai giang_an_toan_va_bao_mat_thong_tin
Slide bai giang_an_toan_va_bao_mat_thong_tinSlide bai giang_an_toan_va_bao_mat_thong_tin
Slide bai giang_an_toan_va_bao_mat_thong_tin
 
Kiến trúc máy tính và hợp ngữ bài 02
Kiến trúc máy tính và hợp ngữ bài 02Kiến trúc máy tính và hợp ngữ bài 02
Kiến trúc máy tính và hợp ngữ bài 02
 
Bai tap va loi giai sql
Bai tap va loi giai sqlBai tap va loi giai sql
Bai tap va loi giai sql
 
Bai 4 bieu dien do thi va thuat toan tim kiem
Bai 4   bieu dien do thi va thuat toan tim kiemBai 4   bieu dien do thi va thuat toan tim kiem
Bai 4 bieu dien do thi va thuat toan tim kiem
 

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
 
Mã hóa lượng tử
Mã hóa lượng tửMã hóa lượng tử
Mã hóa lượng tửLE Ngoc Luyen
 
introduction to cryptography
introduction to cryptographyintroduction to cryptography
introduction to cryptographyPriyamvada Singh
 
An toan thong tin
An toan thong tinAn toan thong tin
An toan thong tinTrung Quan
 
Báo cáo thực tập
Báo cáo thực tậpBáo cáo thực tập
Báo cáo thực tậpLuc Cao
 
Kiến trúc Bảo mật Toàn diện
Kiến trúc Bảo mật Toàn diệnKiến trúc Bảo mật Toàn diện
Kiến trúc Bảo mật Toàn diệnSunmedia Corporation
 
An Toàn và bảo mật HTTT-Cơ bản về mã hoá (cryptography)
An Toàn và bảo mật HTTT-Cơ bản về mã hoá (cryptography)An Toàn và bảo mật HTTT-Cơ bản về mã hoá (cryptography)
An Toàn và bảo mật HTTT-Cơ bản về mã hoá (cryptography)dlmonline24h
 
Bai giang atbmtt
Bai giang atbmtt Bai giang atbmtt
Bai giang atbmtt Hà Vũ
 
Võ Nhân Văn - Tối ưu hóa hạ tầng và đảm bảo attt trong ngành ngân hàng
Võ Nhân Văn - Tối ưu hóa hạ tầng và đảm bảo attt trong ngành ngân hàngVõ Nhân Văn - Tối ưu hóa hạ tầng và đảm bảo attt trong ngành ngân hàng
Võ Nhân Văn - Tối ưu hóa hạ tầng và đảm bảo attt trong ngành ngân hàngSecurity Bootcamp
 

Viewers also liked (17)

Hệ mật mã Rabin
Hệ mật mã RabinHệ mật mã Rabin
Hệ mật mã Rabin
 
Hệ mật mã Mcliece
Hệ mật mã MclieceHệ mật mã Mcliece
Hệ mật mã Mcliece
 
Hệ mật mã merkle
Hệ mật mã merkleHệ mật mã merkle
Hệ mật mã merkle
 
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
 
Hệ mật mã Mcelice
Hệ mật mã MceliceHệ mật mã Mcelice
Hệ mật mã Mcelice
 
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
 
Mã hóa lượng tử
Mã hóa lượng tửMã hóa lượng tử
Mã hóa lượng tử
 
Classical cipher
Classical cipherClassical cipher
Classical cipher
 
Mat ma
Mat maMat ma
Mat ma
 
introduction to cryptography
introduction to cryptographyintroduction to cryptography
introduction to cryptography
 
An toan thong tin
An toan thong tinAn toan thong tin
An toan thong tin
 
Báo cáo thực tập
Báo cáo thực tậpBáo cáo thực tập
Báo cáo thực tập
 
Kiến trúc Bảo mật Toàn diện
Kiến trúc Bảo mật Toàn diệnKiến trúc Bảo mật Toàn diện
Kiến trúc Bảo mật Toàn diện
 
An Toàn và bảo mật HTTT-Cơ bản về mã hoá (cryptography)
An Toàn và bảo mật HTTT-Cơ bản về mã hoá (cryptography)An Toàn và bảo mật HTTT-Cơ bản về mã hoá (cryptography)
An Toàn và bảo mật HTTT-Cơ bản về mã hoá (cryptography)
 
ôN thi cấp tốc số phức
ôN thi cấp tốc số phứcôN thi cấp tốc số phức
ôN thi cấp tốc số phức
 
Bai giang atbmtt
Bai giang atbmtt Bai giang atbmtt
Bai giang atbmtt
 
Võ Nhân Văn - Tối ưu hóa hạ tầng và đảm bảo attt trong ngành ngân hàng
Võ Nhân Văn - Tối ưu hóa hạ tầng và đảm bảo attt trong ngành ngân hàngVõ Nhân Văn - Tối ưu hóa hạ tầng và đảm bảo attt trong ngành ngân hàng
Võ Nhân Văn - Tối ưu hóa hạ tầng và đảm bảo attt trong ngành ngân hàng
 

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
 
My linh ip_sec_slide
My linh ip_sec_slideMy linh ip_sec_slide
My linh ip_sec_slideLinh Nguyễn
 
MATMA - Chuong3 l tso
MATMA - Chuong3 l tsoMATMA - Chuong3 l tso
MATMA - Chuong3 l tsoSai Lemovom
 
Bai3 timkiem sapxep
Bai3 timkiem sapxepBai3 timkiem sapxep
Bai3 timkiem sapxepHồ Lợi
 
Bai3 timkiemsapxep
Bai3 timkiemsapxepBai3 timkiemsapxep
Bai3 timkiemsapxepnhà tôi
 
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
 
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
 
Chữ ký điện tử của chaum van antwerpen
Chữ ký điện tử của chaum van antwerpenChữ ký điện tử của chaum van antwerpen
Chữ ký điện tử của chaum van antwerpenTai Tran
 
Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4Do Ngoc Tuan
 
Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4Do Ngoc Tuan
 
Bao cao antoanbaomat-hung
Bao cao antoanbaomat-hungBao cao antoanbaomat-hung
Bao cao antoanbaomat-hungLuu Tuong
 
Một số biện pháp giúp học sinh Tiểu học giải các bài toán tính nhanh
Một số biện pháp giúp học sinh Tiểu học giải các bài toán tính nhanhMột số biện pháp giúp học sinh Tiểu học giải các bài toán tính nhanh
Một số biện pháp giúp học sinh Tiểu học giải các bài toán tính nhanhBồi Dưỡng HSG Toán Lớp 3
 

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
 
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
 
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
 
My linh ip_sec_slide
My linh ip_sec_slideMy linh ip_sec_slide
My linh ip_sec_slide
 
MATMA - Chuong3 l tso
MATMA - Chuong3 l tsoMATMA - Chuong3 l tso
MATMA - Chuong3 l tso
 
Cac lenh trong matlab
Cac lenh trong matlabCac lenh trong matlab
Cac lenh trong matlab
 
Gt de quy_2
Gt de quy_2Gt de quy_2
Gt de quy_2
 
Gt de quy
Gt de quyGt de quy
Gt de quy
 
Bai3 timkiem sapxep
Bai3 timkiem sapxepBai3 timkiem sapxep
Bai3 timkiem sapxep
 
Bai3 timkiemsapxep
Bai3 timkiemsapxepBai3 timkiemsapxep
Bai3 timkiemsapxep
 
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
 
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)
 
Giao an tin hoc 11
Giao an tin hoc 11Giao an tin hoc 11
Giao an tin hoc 11
 
Chữ ký điện tử của chaum van antwerpen
Chữ ký điện tử của chaum van antwerpenChữ ký điện tử của chaum van antwerpen
Chữ ký điện tử của chaum van antwerpen
 
Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4
 
Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4
 
Bao cao antoanbaomat-hung
Bao cao antoanbaomat-hungBao cao antoanbaomat-hung
Bao cao antoanbaomat-hung
 
Một số biện pháp giúp học sinh Tiểu học giải các bài toán tính nhanh
Một số biện pháp giúp học sinh Tiểu học giải các bài toán tính nhanhMột số biện pháp giúp học sinh Tiểu học giải các bài toán tính nhanh
Một số biện pháp giúp học sinh Tiểu học giải các bài toán tính nhanh
 

Hệ mật mã Elgamal

  • 1. NHÓM 7-VTK37: Nguyễn Thị Kim Nga 1310471 To Tiang Sampo 1310477 Ngô Hữu Nguyện 1310466 Trường Đại học Đà Lạt
  • 2. 1 • Hệ thống mật mã 2 • Mã hóa và giải mã hệ Elgamal 3 • Thám mã hệ Elgamal 4 • Đánh giá hệ Elgamal
  • 3. I) GIỚI THIỆU VỀ HỆ MẬT MÃ. Hệ mật mã gồm 5 thành phần sau: P (Plaintext) C (Ciphertext) K (Key) E (Encrytion) D (Decrytion) HỆ THỐNG MẬT MÃ
  • 4. Hệ mật mã đối xứng (cổ điển) Hệ mật mã bất đối xứng (công khai) 1 2 HỆ THỐNG MẬT MÃ
  • 5. II) HỆ MẬT MÃ ELGAMAL. Do ông Teher Elgalmal người Ai cập đề xuất vào năm 1984
  • 6. II) HỆ MẬT MÃ ELGAMAL. -Hệ mật mã công khai. -Tính an toàn phụ thuộc vào độ phức tạp của bài toán logarith. -Biến thể sơ đồ phân phối Diffie-Hellmal.
  • 7. III) MÃ HOÁ VÀ GIẢI MÃ HỆ ELGAMAL. Quá trình mã hoá và giải mã HỆ THỐNG MẬT MÃ Key k2Key k1 (P) (C) (P) C=Ek1(P)
  • 8. III) MÃ HOÁ VÀ GIẢI MÃ HỆ ELGAMAL. HỆ THỐNG MẬT MÃ
  • 9. III) MÃ HOÁ VÀ GIẢI MÃ HỆ ELGAMAL. 1) Mã hóa - 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 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
  • 10. III) MÃ HOÁ VÀ GIẢI MÃ HỆ ELGAMAL. 1) Mã hóa - Để 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
  • 11. III) MÃ HOÁ VÀ GIẢI MÃ HỆ ELGAMAL. 1) Mã hóa - Bản mã E(C1 , C2 ) được gửi đi với: C1 = alphak mod p C2 = (M*betak )mod p Sau đó k sẽ bị hủy đi.
  • 12. III) MÃ HOÁ VÀ GIẢI MÃ HỆ ELGAMAL. 2) Giải mã - Để 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* (C1a) -1) mod p Với: (C1a) -1) mod p = (C1(p-1-a)) mod p
  • 13. III) MÃ HOÁ VÀ GIẢI MÃ HỆ ELGAMAL. 3) Kết luận 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)
  • 14. VÍ DỤ: Cho Hệ Elgamal có 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?
  • 15. Giải: Mã hóa : Trước hết ta tính: beta = alphaa mod p = 2765 mod 2579 = 949 Để 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).
  • 16. Giải mã : Với khóa bí mật a= 765: (C1a) -1) mod p = (C1(p-1-a)) mod p = (435(2579-1-765)) mod 2579 = (4351813) mod 2579 = 1980 M = (C2* (C1a) -1) mod p = (2396*1980) mod 2579 = 1299
  • 17. 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ới E(C1, C2) = (435,2396)
  • 18. IV) THÁM MÃ HỆ ELGAMAL. -Thuật toán Shank -Thuật toán Pohlig_Hellman (Link: http://123doc.org/document/2556734-tim-hieu- he-mat-ma-elgamal.htm)
  • 19. 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ó. Trong khi bài toán ngược lũy thừa rời rạc lại không khó.
  • 20. - 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.
  • 21. Ví dụ: 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 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
  • 22. Thuật toán shank: Input : Số nguyên tố p, phần tử nguyên thủy alphal của Z*p, số nguyên y. Output : Cần tìm a sao cho beta =alphaa mod p.
  • 23. Thuật toán shank: 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ắp xếp các cặp (j, alphamj mod p) theo alphalmj mod p và lưu vào danh sách L1. Bước 3: Tính beta*alpha-i mod p với 0<=i<=m-1.
  • 24. Thuật toán shank: 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ách L2. Bước 5: Tìm trong 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 ) sao cho alphamj mod p = beta*alpha-i mod p (tọa độ thứ hai của hai cặp bằng nhau ).
  • 25. Thuật toán shank: 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.
  • 26. Thuật toán shank: 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,alpha,beta ) = ( 97,5,44 ) Ta có: m = [(p-1)1/2] = [( 97-1)1/2] = 10
  • 27. Thuật toán shank: 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
  • 28. J(0<=j<=m-1) 510j mod 97(alphamj mod p) 0 1 1 53 2 93 3 79 4 16 5 72 6 33 7 3 8 62 9 85 Thuật toán shank:
  • 29. Thuật toán shank: 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ách L2.
  • 30. J(0<=j<=m-1) 44*5i 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 Thuật toán shank:
  • 31. Thuật toán shank: Bước 5: Tìm trong 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ì: alphamj mod p = beta*alpha-i mod p = 33
  • 32. Thuật toán shank: 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 Vậy ta có a = (10 * 6 +2) mod (97 – 1 ) = 62.
  • 34. • Độ an toàn Hệ thống elgamal - Hệ thống elgamal dựa trên bài toàn logarith 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 logarith. - 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 logorith 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-2 sao cho ax=y mod p, với y thuộc Z*p cho trước.
  • 35. • Độ an toàn - Bài toán 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.
  • 36. • Độ an toàn 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ìm 1 số mũ x duy nhất, 0<=x<=p-2 sao cho ax=y mod p, với y thuộc Z*p cho trước.
  • 37. • Độ an toàn + Độ 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ỏ.
  • 38.  Đá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ả.
  • 39. • Ưu điểm, 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. 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.
  • 40. • Ưu điểm, nhược điểm của hệ mã Elgamal - 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.
  • 41. Tài liệu tham khảo: • 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 • Elgamal encryption - Wikipedia • Bài giảng hệ mật mã Elgamal. Link: http://doc.edu.vn/tai- lieu/bai-giang-he-mat-elgamal-57863/ • Tìm hiểu hệ mật mã Elgamal. Link: http://123doc.org/document/2556734-tim-hieu-he-mat- ma-elgamal.htm