SlideShare a Scribd company logo
1 of 12
pg. 1
pg. 1
Hệ mật mã Merkle-Hellman
Nội dung chính:
I Lịch sử
II Một số định nghĩa
III Ý tưởng của hệ mật mã
VI Quá trình mã hóa và giải mã của hệ
V Ưu điểm, nhược điểm và ứng dụng
VI Quá trình phá mã
VII Quản lý trao đổi khóa
Chi Tiết
I Lịch sử:
Năm 1976 Diffie và Hellman đưa ra phương pháp trao đổi
thôngtin bằng mật mã mã hóa khóa bất đối xứng.
Từ ý tưởng đó năm 1978 Merkle và Hellman đã lập ra hệ
mật mã ba lô (knapsack) Merkle-Hellman.
Năm 1982 Adi Shamir đã phá giải được thuật toán của hệ
mật mã Merkle-Hellman.
II Định nghĩa phương pháp mã hóa khóa công khai:
Mã hóa Khóa Công Khai (PKI Cryptography - viết tắt là
PKC) - còn được xem như đồng nghĩa với mã Khóa Bất
Đối Xứng (Asynmetric Cryptography)
pg. 2
Trong đó khóa dùng để Mã Hóa (Encrypt)khác với khóa
dùng để Giải Mã (Decrypt).
Trong PKC, người dùng có một cặp khóa : Khóa Công
Khai (ký hiệu là P) và Khóa Cá Nhân (Private Key – ký
hiệu là Q).
Khóa Cá Nhân được giữ kín trong khi Khóa Công Khai
lại được công bố rộng rãi đến các đối tượng tham gia giao
dịch. Tuy hai khóa này có quan hệ toán học chặt chẽ với
nhau nhưngviệc dò tìm Khóa Cá Nhân thôngqua Khóa
Công Khai trên thực tế được xem như không thể thực
hiện.
III Ý tưởng của hệ mã:
Ý tưởng của hệ mật mã Merkle-Hellman bắt nguồn từ
việc giải một bài toán khó, đó là bài toán “ba lô” hay “cái
túi” (knapsack). Bài toán này là bài toán không thể giải
quyết trong miền thời gian đa thức hay nói cách khác là
chưa có thuật toán nào hiệu quả tối ưu (có thể giải quyết
nhanh bài toán). Vấn đề của bài toán là tối ưu hóa tổ hợp.
Nội dung bài toán như sau:
Một kẻ trộm đột nhập vào một cửa hiệu tìm thấy có n mặt
hàng có trọng lượng và giá trị khác nhau, nhưng hắn chỉ
mang theo một cái túi có sức chứa về trọng lượng tối đa là
M. Vậy kẻ trộm nên bỏ vào ba lô những món nào và số
pg. 3
lượng bao nhiêu để đạt giá trị cao nhất trong khả năng mà
hắn có thể mang đi được.
Định nghĩa bài toán:
Ta có n loại mặt hàng, x1 tới xn. Mỗi đồ vật xj có một giá
trị pj và một khối lượng wj. Khối lượng tối đa mà ta có
thể mang trong ba lô là C.
Để giải quyết bài toán “ba lô” này Merkle và Hellman đã
dựa vào một trường hợp đặc biệt của bài toán “ba lô” đó
là bài toán tổng của các tập hợp con.
pg. 4
Định nghĩa bài toán tổng của tập hợp con:
Cho một tập hợp các số A và một số B, tìm một tập hợp
con của A sao cho tổng bằng B.
Liên hệ giữa hai bài toán:
A là một ba lô phức tạp (hard knapsack)
B là một ba lô đơn giản (easy knapsack) hay một ba lô
siêu tăng (superincreasing knapsack)
Các hệ số và phần tử nghịch đảo theo module được dùng
để chuyển đổi ba lô đơn giản B vào ba lô phứctạp A.
Ba lô B là một ba lô đơn giản khi vetor w (w1, w2, …, wj,
…,wn) trọnglượng của n mặt hàng tạo thành một chuỗi
siêu tăng
Wj ≥ ∑ wi
j−1
i với i < j ≤ n
Có cực đại hóa ∑ pixin
i
Và các mặt hàng x (x1, x2, …,xn) (tồn tại dưới dạng nhị
phân)sao cho
M = ∑ wixin
i=1
Khi đó các yếu tố khác gọi là ba lô phứctạp A. Tìm được
xi là một bài toán khó.
pg. 5
Bài toán tổng của các tập hợp con (tìm xi) nếu có kết quả
có thể dùng thuật toán tham lam để giải quyết trong miền
thời gian đa thức.
Begin
For i=n downto 1 do
If M ≥ Ai then
M=M - Ai
xi=1
else
xi=0
if then
là giải pháp cần tìm
Else
Không tồn tại giải pháp nào.
End
VI Quá trình mã hóa và giải mã của hệ mật mã
Merkle-Hellman:
1 Quá trình mã hóa:
B1: Thông điệp (bản rõ) cần được dịch sang dạng nhị
phân M (M1, M2, … , Mn).
B2: Chọn chuỗi siêu tăng B (B1, B2, …, Bj, …, Bn) tức là
pg. 6
Bj > ∑ Bin−1
i=1
Chọn số nguyên ngẫu nhiên q sao cho:
q > ∑ Bin
i=1
Chọn số nguyên r sao cho r và q là hai số nguyên tố
cùng nhau hay:
GCD(r, q) = 1
B3: Tìm khóa công khai: A (A1, A2, … , An)
Ai = r . Bi mod q
B4: Tìm bản mã:
Ci = ∑ MiAin
i=1
Trong đó A là khóa công khai, còn B, q, r là các
khóa riêng
2 Quá trình giải mã
B1: Tìm phần tử nghịch đảo của r theo module q (r -1
)
bằng giải thuật EUCLID mở rộng như sau:
int y0 = 0, y1 = 1;
while r > 0 do
{ a = q mod r
if a = 0 then Break
b = q div r
pg. 7
y = y0 - y1 * b
q = r
r = a
y0 = y1
y1 = y }
return y
B3: Tìm bản rõ:
M = C . r -1
mod q
Ví dụ:
Cho bản rõ M: Hello
Quá trình mã hóa:
Dịch từ “Hello” về dạng nhị phân
H : 1001000
e : 1100101
l : 1101100
 : 1101111
Chọn dãy số siêu tăng:
B = (3,5,15,25,54,110,225)
Chọn số nguyên q:
q > ∑ Bi7
i=1 = 437
=> q = 439
pg. 8
Chọn số nguyên r = 10
Tính khóa công khai: Ai = r.Bi mod q
3.10 mod 439 = 30
5.10 mod 439 = 50
15.10 mod 439 = 150
25.10 mod 439 = 250
54.10 mod 439 = 101
110.10mod 439 = 222
225.10mod 439 = 55
Tạo được dãy khóa công khai:
A = (30, 50, 150, 250, 101, 222, 55)
CH = 1 . 30 + 0 . 50 + 0 . 150 + 1 . 250 + 0 . 101 + 0 .
222 + 0 . 55 = 280;
Tương tự ta tính được: Ce = 236, Cl = 431, Co= 708
Quá trình giải mã:
Tìm phần tử nghịch đảo của r theo module q:
Bước i q r a b y0 y1 y
0 439 10 9 43 0 1 -43
1 10 9 1 1 1 -43 44
2 9 1 0
r -1
= 44 (10 . 44 mod 439 = 1)
MH = CH . r -1
mod q = 280 . 44 mod 439 = 28
pg. 9
28 > 25 => 28 - 25 = 3; 3 – 3 = 0.
1 0 0 1 0 0 0
3 25
3 5 15 25 54 110 225
=>MH=1001000
Tương tự tìm được:
Me = 1100101
Ml = 1101100
Mo = 1101111
V Ưu điểm, nhược điểm và ứng dụng:
1 Ưu điểm:
Đơn giản hơn các hệ mật mã mã khóa công khai khác.
Nếu chọn r và q đủ lớn thì người thám mã để tìm được r
và q phải tốn nhiều thời gian hơn
2 Nhược điểm:
Thuật toán mã hóa đã bị Adi Shamir phá được nên không
còn an toàn.
Thuật toán mã hóa có khối lượng tính toán nhiều => tốc
độ mã hóa chậm.
3 Ứng dụng:
Bảo mật thông tin và truyền tin.
pg. 10
Chứng thực và chữ ký điện tử.
VI Quá trình phá mã:
Phương pháp tấn công tổng thể - vét cạn
Nếu quá trình mã hóa và giải mã sử dụng r và q đủ lớn thì
phương pháp duyệt tổng thể hay vét cạn khóa là rất khó
lên đến 2n trường hợp x có thể xảy ra, do đó thời gian để
thực hiện quá trình phá mã là rất lớn => bất khả thi.
Thuật toán phá mã của Adi Shamir:
Shamir-Adleman đã chỉ ra chỗ yếu của hệ mật mã này
này bằng cách đi tìm một cặp (r0, q0) sao cho nó có thể
biến đổi ngược A về B (từ Public key về Private key).
1984, Brickell tuyên bố sự đổ vỡ của hệ thống Knapsack
với dung lượng tính toán khoảng 1 giờ máy Cray-1
, với 40
vòng lặp chính và cỡ 100 trọng số.
VII Quản lý trao đổi khóa:
Để trao đổi thôngđiệp với Bob, Alice gửi khóa công khai
của mình cho Bob, Bob dùng khóa công khai của Alice
mã hóa thông điệp rồi gửi lại cho Alice. Sau đó Alice giải
mã thông điệp bằng khóa riêng của mình. Phương pháp
này không an toàn do tính xác thực không cao.
Để an toàn và tính xác thực cao Alice có thể trao đổi
thôngđiệp với Bob qua trung tâm chứng thựcCA …
pg. 11
Tài liệu tham khảo tại các trang:
https://en.wikipedia.org/wiki/Merkle%E2%80%93Hellma
n_knapsack_cryptosystem
https://en.wikipedia.org/wiki/Superincreasing_sequence
https://vi.wikipedia.org/wiki/B%C3%A0i_to%C3%A1n_
x%E1%BA%BFp_ba_l%C3%B4
http://text.123doc.org/document/2237677-trinh-bay-he-
ma-hoa-merkle-hellman-knapsack-tieu-luan-mon-an-
ninh-he-thong-thong-tin.htm
https://vi.wikipedia.org/wiki/Gi%E1%BA%A3i_thu%E1
%BA%ADt_Euclid_m%E1%BB%9F_r%E1%BB%99ng
http://113.171.224.165/videoplayer/merkle-hellman-
knapsack-based-public-key-
method.pdf?ich_u_r_i=1a6ab00766e5c508f959f510b3758
b4b&ich_s_t_a_r_t=0&ich_e_n_d=0&ich_k_e_y=164505
8913750963002407&ich_t_y_p_e=1&ich_d_i_s_k_i_d=3
&ich_u_n_i_t=1

More Related Content

What's hot

Thuật toán mã hóa rsa
Thuật toán mã hóa rsaThuật toán mã hóa rsa
Thuật toán mã hóa rsaBảo Điệp
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Nguyễn Công Hoàng
 
Đại số boolean và mạch logic
Đại số boolean và mạch logicĐại số boolean và mạch logic
Đại số boolean và mạch logicwww. mientayvn.com
 
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
 
Chuẩn hóa lược đồ quan hệ
Chuẩn hóa lược đồ quan hệChuẩn hóa lược đồ quan hệ
Chuẩn hóa lược đồ quan hệHưởng Nguyễn
 
PHÂN CỤM DỮ LIỆU ỨNG DỤNG TRONG PHÂN TÍCH DỮ LIỆU CÔNG THỨC DƯỢC PHẨM
PHÂN CỤM DỮ LIỆU ỨNG DỤNG TRONG PHÂN TÍCH DỮ LIỆU CÔNG THỨC DƯỢC PHẨMPHÂN CỤM DỮ LIỆU ỨNG DỤNG TRONG PHÂN TÍCH DỮ LIỆU CÔNG THỨC DƯỢC PHẨM
PHÂN CỤM DỮ LIỆU ỨNG DỤNG TRONG PHÂN TÍCH DỮ LIỆU CÔNG THỨC DƯỢC PHẨMSoM
 
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
 
chuong 4. dai so boole
chuong 4.  dai so boolechuong 4.  dai so boole
chuong 4. dai so boolekikihoho
 
MATMA - Chuong3 l tso
MATMA - Chuong3 l tsoMATMA - Chuong3 l tso
MATMA - Chuong3 l tsoSai Lemovom
 
CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH VI PHÂN BẰNG PHƯƠNG PHÁP SỐ
CHƯƠNG 2  GIẢI PHƯƠNG TRÌNH VI PHÂN BẰNG PHƯƠNG PHÁP SỐCHƯƠNG 2  GIẢI PHƯƠNG TRÌNH VI PHÂN BẰNG PHƯƠNG PHÁP SỐ
CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH VI PHÂN BẰNG PHƯƠNG PHÁP SỐĐinh Công Thiện Taydo University
 
Bài giảng Trí Tuệ Nhân Tạo
Bài giảng Trí Tuệ Nhân TạoBài giảng Trí Tuệ Nhân Tạo
Bài giảng Trí Tuệ Nhân TạoDự Nguyễn Quang
 
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
 
Chuong 04 mach logic
Chuong 04 mach logicChuong 04 mach logic
Chuong 04 mach logicAnh Ngoc Phan
 
Hệ thống quản lý mua hàng siêu thị mini
Hệ thống quản lý mua hàng siêu thị miniHệ thống quản lý mua hàng siêu thị mini
Hệ thống quản lý mua hàng siêu thị miniHan Nguyen
 
Kiến trúc máy tính và hợp ngữ bài 03
Kiến trúc máy tính và hợp ngữ bài 03Kiến trúc máy tính và hợp ngữ bài 03
Kiến trúc máy tính và hợp ngữ bài 03Nhóc Nhóc
 
Ôn thi mạng máy tính
Ôn thi mạng máy tínhÔn thi mạng máy tính
Ôn thi mạng máy tínhKinhDinhBach
 
Bài 1. phân tích đặc tả dự án quản lý sinh viên howkteam.com
Bài 1. phân tích đặc tả dự án quản lý sinh viên howkteam.comBài 1. phân tích đặc tả dự án quản lý sinh viên howkteam.com
Bài 1. phân tích đặc tả dự án quản lý sinh viên howkteam.comthai
 

What's hot (20)

Thuật toán mã hóa rsa
Thuật toán mã hóa rsaThuật toán mã hóa rsa
Thuật toán mã hóa rsa
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
 
Đại số boolean và mạch logic
Đại số boolean và mạch logicĐại số boolean và mạch logic
Đại số boolean và mạch logic
 
Hệ mật mã Rabin
Hệ mật mã RabinHệ mật mã Rabin
Hệ mật mã Rabin
 
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
 
MATMA - Chuong2
MATMA - Chuong2MATMA - Chuong2
MATMA - Chuong2
 
Chuẩn hóa lược đồ quan hệ
Chuẩn hóa lược đồ quan hệChuẩn hóa lược đồ quan hệ
Chuẩn hóa lược đồ quan hệ
 
PHÂN CỤM DỮ LIỆU ỨNG DỤNG TRONG PHÂN TÍCH DỮ LIỆU CÔNG THỨC DƯỢC PHẨM
PHÂN CỤM DỮ LIỆU ỨNG DỤNG TRONG PHÂN TÍCH DỮ LIỆU CÔNG THỨC DƯỢC PHẨMPHÂN CỤM DỮ LIỆU ỨNG DỤNG TRONG PHÂN TÍCH DỮ LIỆU CÔNG THỨC DƯỢC PHẨM
PHÂN CỤM DỮ LIỆU ỨNG DỤNG TRONG PHÂN TÍCH DỮ LIỆU CÔNG THỨC DƯỢC PHẨM
 
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
 
chuong 4. dai so boole
chuong 4.  dai so boolechuong 4.  dai so boole
chuong 4. dai so boole
 
MATMA - Chuong3 l tso
MATMA - Chuong3 l tsoMATMA - Chuong3 l tso
MATMA - Chuong3 l tso
 
CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH VI PHÂN BẰNG PHƯƠNG PHÁP SỐ
CHƯƠNG 2  GIẢI PHƯƠNG TRÌNH VI PHÂN BẰNG PHƯƠNG PHÁP SỐCHƯƠNG 2  GIẢI PHƯƠNG TRÌNH VI PHÂN BẰNG PHƯƠNG PHÁP SỐ
CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH VI PHÂN BẰNG PHƯƠNG PHÁP SỐ
 
Bài giảng Trí Tuệ Nhân Tạo
Bài giảng Trí Tuệ Nhân TạoBài giảng Trí Tuệ Nhân Tạo
Bài giảng Trí Tuệ Nhân Tạo
 
Mã hóa đường cong Elliptic
Mã hóa đường cong EllipticMã hóa đường cong Elliptic
Mã hóa đường cong Elliptic
 
Chuong 04 mach logic
Chuong 04 mach logicChuong 04 mach logic
Chuong 04 mach logic
 
Chuong02
Chuong02Chuong02
Chuong02
 
Hệ thống quản lý mua hàng siêu thị mini
Hệ thống quản lý mua hàng siêu thị miniHệ thống quản lý mua hàng siêu thị mini
Hệ thống quản lý mua hàng siêu thị mini
 
Kiến trúc máy tính và hợp ngữ bài 03
Kiến trúc máy tính và hợp ngữ bài 03Kiến trúc máy tính và hợp ngữ bài 03
Kiến trúc máy tính và hợp ngữ bài 03
 
Ôn thi mạng máy tính
Ôn thi mạng máy tínhÔn thi mạng máy tính
Ôn thi mạng máy tính
 
Bài 1. phân tích đặc tả dự án quản lý sinh viên howkteam.com
Bài 1. phân tích đặc tả dự án quản lý sinh viên howkteam.comBài 1. phân tích đặc tả dự án quản lý sinh viên howkteam.com
Bài 1. phân tích đặc tả dự án quản lý sinh viên howkteam.com
 

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
 
Bai giang atbmtt
Bai giang atbmtt Bai giang atbmtt
Bai giang atbmtt Hà Vũ
 
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
 
Anninhmang K13 Mtt
Anninhmang K13 MttAnninhmang K13 Mtt
Anninhmang K13 MttQuynh Khuong
 

Viewers also liked (7)

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
 
Bai giang atbmtt
Bai giang atbmtt Bai giang atbmtt
Bai giang atbmtt
 
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)
 
Bao cao detai
Bao cao detaiBao cao detai
Bao cao detai
 
Hệ mật mã Mcliece
Hệ mật mã MclieceHệ mật mã Mcliece
Hệ mật mã Mcliece
 
Ma hoa voi khoa
Ma hoa voi khoaMa hoa voi khoa
Ma hoa voi khoa
 
Anninhmang K13 Mtt
Anninhmang K13 MttAnninhmang K13 Mtt
Anninhmang K13 Mtt
 

Similar to Hệ mật mã merkle

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
 
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
 
75291064 rsa-co-ban
75291064 rsa-co-ban75291064 rsa-co-ban
75291064 rsa-co-banNgo Kiet
 
thực hành tấn công tuyến tính des với 4 vòng
thực hành tấn công tuyến tính des với 4 vòngthực hành tấn công tuyến tính des với 4 vòng
thực hành tấn công tuyến tính des với 4 vòngnataliej4
 
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
 
07 chương 5. lý thuyết số (2)
07  chương 5. lý thuyết số (2)07  chương 5. lý thuyết số (2)
07 chương 5. lý thuyết số (2)Andy Nhân
 
304686218-Chia-đoi-tập-vdgdhợp-2.docx
304686218-Chia-đoi-tập-vdgdhợp-2.docx304686218-Chia-đoi-tập-vdgdhợp-2.docx
304686218-Chia-đoi-tập-vdgdhợp-2.docxNguynAnThch
 
Chuong 2. de quy dai hoc
Chuong 2. de quy   dai hocChuong 2. de quy   dai hoc
Chuong 2. de quy dai hocVũ Nam
 
B4-Ma hoa khoa cong khai.ppt
B4-Ma hoa khoa cong khai.pptB4-Ma hoa khoa cong khai.ppt
B4-Ma hoa khoa cong khai.pptKhnhH59
 

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

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
 
Hệ mật mã Mcelice
Hệ mật mã MceliceHệ mật mã Mcelice
Hệ mật mã Mcelice
 
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
 
Bao cao antoanbaomat-hung
Bao cao antoanbaomat-hungBao cao antoanbaomat-hung
Bao cao antoanbaomat-hung
 
75291064 rsa-co-ban
75291064 rsa-co-ban75291064 rsa-co-ban
75291064 rsa-co-ban
 
thực hành tấn công tuyến tính des với 4 vòng
thực hành tấn công tuyến tính des với 4 vòngthực hành tấn công tuyến tính des với 4 vòng
thực hành tấn công tuyến tính des với 4 vòng
 
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
 
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
 
07 chương 5. lý thuyết số (2)
07  chương 5. lý thuyết số (2)07  chương 5. lý thuyết số (2)
07 chương 5. lý thuyết số (2)
 
304686218-Chia-đoi-tập-vdgdhợp-2.docx
304686218-Chia-đoi-tập-vdgdhợp-2.docx304686218-Chia-đoi-tập-vdgdhợp-2.docx
304686218-Chia-đoi-tập-vdgdhợp-2.docx
 
Thuat Toan
Thuat ToanThuat Toan
Thuat Toan
 
Thuat Toan 2
Thuat Toan 2Thuat Toan 2
Thuat Toan 2
 
Chuong 2. de quy dai hoc
Chuong 2. de quy   dai hocChuong 2. de quy   dai hoc
Chuong 2. de quy dai hoc
 
Quy hoạch động
Quy hoạch độngQuy hoạch động
Quy hoạch động
 
Quy Hoach Dong
Quy Hoach DongQuy Hoach Dong
Quy Hoach Dong
 
B4-Ma hoa khoa cong khai.ppt
B4-Ma hoa khoa cong khai.pptB4-Ma hoa khoa cong khai.ppt
B4-Ma hoa khoa cong khai.ppt
 
MATMAT- Chuong1
MATMAT- Chuong1MATMAT- Chuong1
MATMAT- Chuong1
 
Integrity
IntegrityIntegrity
Integrity
 
Luận văn: Module tựa tự do trên miền Dedekind, HAY, 9đ
Luận văn: Module tựa tự do trên miền Dedekind, HAY, 9đLuận văn: Module tựa tự do trên miền Dedekind, HAY, 9đ
Luận văn: Module tựa tự do trên miền Dedekind, HAY, 9đ
 

Hệ mật mã merkle

  • 2. pg. 1 Hệ mật mã Merkle-Hellman Nội dung chính: I Lịch sử II Một số định nghĩa III Ý tưởng của hệ mật mã VI Quá trình mã hóa và giải mã của hệ V Ưu điểm, nhược điểm và ứng dụng VI Quá trình phá mã VII Quản lý trao đổi khóa Chi Tiết I Lịch sử: Năm 1976 Diffie và Hellman đưa ra phương pháp trao đổi thôngtin bằng mật mã mã hóa khóa bất đối xứng. Từ ý tưởng đó năm 1978 Merkle và Hellman đã lập ra hệ mật mã ba lô (knapsack) Merkle-Hellman. Năm 1982 Adi Shamir đã phá giải được thuật toán của hệ mật mã Merkle-Hellman. II Định nghĩa phương pháp mã hóa khóa công khai: Mã hóa Khóa Công Khai (PKI Cryptography - viết tắt là PKC) - còn được xem như đồng nghĩa với mã Khóa Bất Đối Xứng (Asynmetric Cryptography)
  • 3. pg. 2 Trong đó khóa dùng để Mã Hóa (Encrypt)khác với khóa dùng để Giải Mã (Decrypt). Trong PKC, người dùng có một cặp khóa : Khóa Công Khai (ký hiệu là P) và Khóa Cá Nhân (Private Key – ký hiệu là Q). Khóa Cá Nhân được giữ kín trong khi Khóa Công Khai lại được công bố rộng rãi đến các đối tượng tham gia giao dịch. Tuy hai khóa này có quan hệ toán học chặt chẽ với nhau nhưngviệc dò tìm Khóa Cá Nhân thôngqua Khóa Công Khai trên thực tế được xem như không thể thực hiện. III Ý tưởng của hệ mã: Ý tưởng của hệ mật mã Merkle-Hellman bắt nguồn từ việc giải một bài toán khó, đó là bài toán “ba lô” hay “cái túi” (knapsack). Bài toán này là bài toán không thể giải quyết trong miền thời gian đa thức hay nói cách khác là chưa có thuật toán nào hiệu quả tối ưu (có thể giải quyết nhanh bài toán). Vấn đề của bài toán là tối ưu hóa tổ hợp. Nội dung bài toán như sau: Một kẻ trộm đột nhập vào một cửa hiệu tìm thấy có n mặt hàng có trọng lượng và giá trị khác nhau, nhưng hắn chỉ mang theo một cái túi có sức chứa về trọng lượng tối đa là M. Vậy kẻ trộm nên bỏ vào ba lô những món nào và số
  • 4. pg. 3 lượng bao nhiêu để đạt giá trị cao nhất trong khả năng mà hắn có thể mang đi được. Định nghĩa bài toán: Ta có n loại mặt hàng, x1 tới xn. Mỗi đồ vật xj có một giá trị pj và một khối lượng wj. Khối lượng tối đa mà ta có thể mang trong ba lô là C. Để giải quyết bài toán “ba lô” này Merkle và Hellman đã dựa vào một trường hợp đặc biệt của bài toán “ba lô” đó là bài toán tổng của các tập hợp con.
  • 5. pg. 4 Định nghĩa bài toán tổng của tập hợp con: Cho một tập hợp các số A và một số B, tìm một tập hợp con của A sao cho tổng bằng B. Liên hệ giữa hai bài toán: A là một ba lô phức tạp (hard knapsack) B là một ba lô đơn giản (easy knapsack) hay một ba lô siêu tăng (superincreasing knapsack) Các hệ số và phần tử nghịch đảo theo module được dùng để chuyển đổi ba lô đơn giản B vào ba lô phứctạp A. Ba lô B là một ba lô đơn giản khi vetor w (w1, w2, …, wj, …,wn) trọnglượng của n mặt hàng tạo thành một chuỗi siêu tăng Wj ≥ ∑ wi j−1 i với i < j ≤ n Có cực đại hóa ∑ pixin i Và các mặt hàng x (x1, x2, …,xn) (tồn tại dưới dạng nhị phân)sao cho M = ∑ wixin i=1 Khi đó các yếu tố khác gọi là ba lô phứctạp A. Tìm được xi là một bài toán khó.
  • 6. pg. 5 Bài toán tổng của các tập hợp con (tìm xi) nếu có kết quả có thể dùng thuật toán tham lam để giải quyết trong miền thời gian đa thức. Begin For i=n downto 1 do If M ≥ Ai then M=M - Ai xi=1 else xi=0 if then là giải pháp cần tìm Else Không tồn tại giải pháp nào. End VI Quá trình mã hóa và giải mã của hệ mật mã Merkle-Hellman: 1 Quá trình mã hóa: B1: Thông điệp (bản rõ) cần được dịch sang dạng nhị phân M (M1, M2, … , Mn). B2: Chọn chuỗi siêu tăng B (B1, B2, …, Bj, …, Bn) tức là
  • 7. pg. 6 Bj > ∑ Bin−1 i=1 Chọn số nguyên ngẫu nhiên q sao cho: q > ∑ Bin i=1 Chọn số nguyên r sao cho r và q là hai số nguyên tố cùng nhau hay: GCD(r, q) = 1 B3: Tìm khóa công khai: A (A1, A2, … , An) Ai = r . Bi mod q B4: Tìm bản mã: Ci = ∑ MiAin i=1 Trong đó A là khóa công khai, còn B, q, r là các khóa riêng 2 Quá trình giải mã B1: Tìm phần tử nghịch đảo của r theo module q (r -1 ) bằng giải thuật EUCLID mở rộng như sau: int y0 = 0, y1 = 1; while r > 0 do { a = q mod r if a = 0 then Break b = q div r
  • 8. pg. 7 y = y0 - y1 * b q = r r = a y0 = y1 y1 = y } return y B3: Tìm bản rõ: M = C . r -1 mod q Ví dụ: Cho bản rõ M: Hello Quá trình mã hóa: Dịch từ “Hello” về dạng nhị phân H : 1001000 e : 1100101 l : 1101100  : 1101111 Chọn dãy số siêu tăng: B = (3,5,15,25,54,110,225) Chọn số nguyên q: q > ∑ Bi7 i=1 = 437 => q = 439
  • 9. pg. 8 Chọn số nguyên r = 10 Tính khóa công khai: Ai = r.Bi mod q 3.10 mod 439 = 30 5.10 mod 439 = 50 15.10 mod 439 = 150 25.10 mod 439 = 250 54.10 mod 439 = 101 110.10mod 439 = 222 225.10mod 439 = 55 Tạo được dãy khóa công khai: A = (30, 50, 150, 250, 101, 222, 55) CH = 1 . 30 + 0 . 50 + 0 . 150 + 1 . 250 + 0 . 101 + 0 . 222 + 0 . 55 = 280; Tương tự ta tính được: Ce = 236, Cl = 431, Co= 708 Quá trình giải mã: Tìm phần tử nghịch đảo của r theo module q: Bước i q r a b y0 y1 y 0 439 10 9 43 0 1 -43 1 10 9 1 1 1 -43 44 2 9 1 0 r -1 = 44 (10 . 44 mod 439 = 1) MH = CH . r -1 mod q = 280 . 44 mod 439 = 28
  • 10. pg. 9 28 > 25 => 28 - 25 = 3; 3 – 3 = 0. 1 0 0 1 0 0 0 3 25 3 5 15 25 54 110 225 =>MH=1001000 Tương tự tìm được: Me = 1100101 Ml = 1101100 Mo = 1101111 V Ưu điểm, nhược điểm và ứng dụng: 1 Ưu điểm: Đơn giản hơn các hệ mật mã mã khóa công khai khác. Nếu chọn r và q đủ lớn thì người thám mã để tìm được r và q phải tốn nhiều thời gian hơn 2 Nhược điểm: Thuật toán mã hóa đã bị Adi Shamir phá được nên không còn an toàn. Thuật toán mã hóa có khối lượng tính toán nhiều => tốc độ mã hóa chậm. 3 Ứng dụng: Bảo mật thông tin và truyền tin.
  • 11. pg. 10 Chứng thực và chữ ký điện tử. VI Quá trình phá mã: Phương pháp tấn công tổng thể - vét cạn Nếu quá trình mã hóa và giải mã sử dụng r và q đủ lớn thì phương pháp duyệt tổng thể hay vét cạn khóa là rất khó lên đến 2n trường hợp x có thể xảy ra, do đó thời gian để thực hiện quá trình phá mã là rất lớn => bất khả thi. Thuật toán phá mã của Adi Shamir: Shamir-Adleman đã chỉ ra chỗ yếu của hệ mật mã này này bằng cách đi tìm một cặp (r0, q0) sao cho nó có thể biến đổi ngược A về B (từ Public key về Private key). 1984, Brickell tuyên bố sự đổ vỡ của hệ thống Knapsack với dung lượng tính toán khoảng 1 giờ máy Cray-1 , với 40 vòng lặp chính và cỡ 100 trọng số. VII Quản lý trao đổi khóa: Để trao đổi thôngđiệp với Bob, Alice gửi khóa công khai của mình cho Bob, Bob dùng khóa công khai của Alice mã hóa thông điệp rồi gửi lại cho Alice. Sau đó Alice giải mã thông điệp bằng khóa riêng của mình. Phương pháp này không an toàn do tính xác thực không cao. Để an toàn và tính xác thực cao Alice có thể trao đổi thôngđiệp với Bob qua trung tâm chứng thựcCA …
  • 12. pg. 11 Tài liệu tham khảo tại các trang: https://en.wikipedia.org/wiki/Merkle%E2%80%93Hellma n_knapsack_cryptosystem https://en.wikipedia.org/wiki/Superincreasing_sequence https://vi.wikipedia.org/wiki/B%C3%A0i_to%C3%A1n_ x%E1%BA%BFp_ba_l%C3%B4 http://text.123doc.org/document/2237677-trinh-bay-he- ma-hoa-merkle-hellman-knapsack-tieu-luan-mon-an- ninh-he-thong-thong-tin.htm https://vi.wikipedia.org/wiki/Gi%E1%BA%A3i_thu%E1 %BA%ADt_Euclid_m%E1%BB%9F_r%E1%BB%99ng http://113.171.224.165/videoplayer/merkle-hellman- knapsack-based-public-key- method.pdf?ich_u_r_i=1a6ab00766e5c508f959f510b3758 b4b&ich_s_t_a_r_t=0&ich_e_n_d=0&ich_k_e_y=164505 8913750963002407&ich_t_y_p_e=1&ich_d_i_s_k_i_d=3 &ich_u_n_i_t=1