Tải bản đầy đủ (.pdf) (21 trang)

Đề tài Nghiên cứu về giải thuật MD5

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (838.54 KB, 21 trang )

AN TOÀN VÀ BẢO MẬT THÔNG TIN
Đề tài:
Nghiên cứu về giải thuật MD5
Danh sách nhóm:
1. Ngô Hải Phong 1051120047
2. Nguyễn Minh Dương 1051120012
3. Lê Nhân 1051120042
Nghiên cứu về giải thuật MD5
Những nội dung chính
I/ Giới thiệu về giải thuật MD5.
II/ Khái niệm.
III/ Thuật giải
IV/ Ứng dụng - Demo
Nghiên cứu về giải thuật MD5
I/ Giới thiệu.
Ứng dụng Công nghệ thông tin trở nên phổ biến
Nhu cầu bảo mật thông tin trao đổi qua mạng
Nghiên cứu về giải thuật MD5
II/ Khái niệm.
MD5 (Message-Digest algorithm 5) là một hàm băm để
mã hóa với giá trị băm là 128 bit.
MD5 được thiết kế bởi Ronald Rivest vào năm 1991 để thay
thế cho hàm băm trước đó, MD4 (cũng do ông thiết kế, trước đó
nữa là MD2).
Nghiên cứu về giải thuật MD5
III/ Thuật giải
• Thông điệp đưa vào sẽ được chia thành từng đoạn 512 bits.
• MD5 biến đổi một thông điệp có chiều dài bất kì thành một
khối có kích thước cố định 128 bits
Nghiên cứu về giải thuật MD5
III/ Thuật giải


• Bộ đệm
Nghiên cứu về giải thuật MD5
III/ Thuật giải
• Thuật toán chính của MD5 hoạt động trên một bộ 128 bit.
Nghiên cứu về giải thuật MD5
III/ Thuật giải
• Thuật toán chính của MD5 hoạt động trên một bộ 128 bit.
• Sau đó thuật toán chính sẻ luân phiên hoạt động trên
các khối 512 bit. Mỗi khối sẻ phối hợp với một bộ.
• Quá trình xử lý một khối thông điệp bao gồm 4 bước
tương tự nhau, gọi là vòng (“round”). Mỗi vòng lại gồm
16 quá trình tương tự nhau dựa trên hàm một chiều F,
phép cộng module và phép xoay trái…
Nghiên cứu về giải thuật MD5
III/ Thuật giải
• Quá trình trong một vòng
Nghiên cứu về giải thuật MD5
III/ Thuật giải
• Quá trình trong một vòng
o F là hàm một chiều – một
hàm được dùng trong mỗi
vòng
o M
i
chỉ ra một khối tin nhập
vào 32-bit
o K
i
chỉ một hằng số 32-bit,
khác nhau cho mỗi tác vụ.

o <<<
s
chỉ sự xoay bit về
bên trái s đơn vị; s thay
đổi tùy theo từng tác vụ.
cộng thêm với modulo 2
32

Nghiên cứu về giải thuật MD5
III/ Thuật giải
• Hàm băm MD5 sẻ trả về một chuổi số thập lục phân gồm
32 số liên tiếp.
Vd:
o MD5 (“Công nghệ thông tin”)
= 115f7197b4f945eefd66931c9f2de7d5
o MD5 (“Công nghệ thông tinh”)
= b3f3dfac6e55f76c1d43d3254541d30e
o MD5 (“ ”)
= 628631f07321b22d8c176c200c855e1b
Nghiên cứu về giải thuật MD5
IV/ Miêu tả MD5
• Bức điện được chia ra thành nhiều khối 512-bit, mỗi khối
512-bit lại được chia ra 16 khối 32-bit đi vào bốn vòng lp
của MD5 (4 vòng lp trong MD5 đều có cấu trúc giống nhau)
Nghiên cứu về giải thuật MD5
IV/ Miêu tả MD5
Sơ đồ vòng lp chính của MD5
Nghiên cứu về giải thuật MD5
IV/ Miêu tả MD5
Sơ đồ một vòng lp của MD5

Nghiên cứu về giải thuật MD5
IV/ Miêu tả MD5
Có bốn hàm phi tuyến, mỗi hàm được sử dụng cho mỗi vòng:
• F (X, Y, Z) = (X  Y)  (( X)  Z)
• G(X, Y, Z) = (X  Z)  (( Z)  Y)
• H (X, Y, Z) = X  Y  Z
• I (X, Y, Z) = Y  (X  (¬Z))
 : AND  : OR  : XOR ¬ : NOT
X<<< s : Các bit của X được dịch chuyển xoay vòng sang trái s
vị trí (0 ≤ s < 32)
Nghiên cứu về giải thuật MD5
IV/ Miêu tả MD5
Các vòng lp có thể biểu din như sau:
• FF(a,b,c,d,Mj,s,ti) được biểu din a = b + ((a + F(b,c,d)
+ Mj + ti)<<<s)
• GG(a,b,c,d,Mj,s,ti)được biểu diễn a=b + ((a + G(b,c,d)
+ Mj + ti) <<<s)
• HH(a,b,c,d,Mj,s,ti) được biểu din a=b+ ((a+H(b,c,d)
+ Mj + ti) <<<s)
• II(a,b,c,d,Mj,s,ti) được biểu din a = b + ((a + I(b,c,d)
+ Mj + ti) <<< s).
Nghiên cứu về giải thuật MD5
IV/ Miêu tả MD5
Cách thực hiện: bốn vòng (64 bước)
• Vòng 1: FF(a,b,c,d,M
j
,s,t
i
)
t

i
: 1 => 16 j : 0 => 15
[abcd M
0
7 1] [dabc M
1
12 2] [cdab M
2
17 3] [bcda M
3
22 4]
[abcd M
4
7 5] [dabc M
5
12 6] [cdab M
6
17 7] [bcda M
7
22 8]
[abcd M
8
7 9] [dabc M
9
12 10] [cdab M
10
17 11] [bcda M
11
22 12]
[abcd M

12
7 13] [dabc M
13
12 14] [cdab M
14
17 15] [bcda M
15
22 16]
• Vòng 2: GG(a,b,c,d,M
j
,s,t
i
)
t
i
: 17 => 32 j : (1 + 5j ) mod 16
[abcd M
1
5 17] [dabc M
6
9 18] [cdab M
11
14 19] [bcda M
0
20 20]
[abcd M
5
5 21] [dabc M
10
9 22] [cdab M

15
14 23] [bcda M
4
20 24]
[abcd M
9
5 25] [dabc M
14
9 26] [cdab M
3
14 27] [bcda M
8
20 28]
[abcd M
13
5 29] [dabc M
2
9 30] [cdab M
7
14 31] [bcda M
12
20 32]
Nghiên cứu về giải thuật MD5
IV/ Miêu tả MD5
Cách thực hiện: bốn vòng (64 bước)
• Vòng 3: HH(a,b,c,d,Mj,s,ti)
t
i
: 33 => 48 j : (5 + 3j ) mod 16
[abcd M

5
4 33] [dabc M
8
11 34] [cdab M
11
16 35] [bcda M
14
23 36]
[abcd M
1
4 37] [dabc M
4
11 38] [cdab M
7
16 39] [bcda M
10
23 40]
[abcd M
13
4 41] [dabc M
0
11 42] [cdab M
3
16 43] [bcda M
6
23 44]
[abcd M
9
4 45] [dabc M
12

11 46] [cdab M
15
16 47] [bcda M
2
23 48]
• Vòng 4: II(a,b,c,d,Mj,s,ti)
t
i
: 49 => 64 j : 7j mod 16
[abcd M
0
6 49] [dabc M
7
10 50] [cdab M
14
15 51] [bcda M
5
21 52]
[abcd M
12
6 53] [dabc M
3
10 54] [cdab M
10
15 55] [bcda M
1
21 56]
[abcd M
8
6 57] [dabc M

15
10 58] [cdab M
6
15 59] [bcda M
13
21 60]
[abcd M
4
6 61] [dabc M
11
10 62] [cdab M
2
15 63] [bcda M
9
21 64]
Nghiên cứu về giải thuật MD5
IV/ Miêu tả MD5
• Sau tất cả những bước này a, b, c và d lần lượt được cộng
với A, B, C và D để cho kết quả đầu ra và thuật toán tiếp tục
với khối dữ liệu 512-bit tiếp theo cho đến hết bức điện.
• Đầu ra cuối cùng là một khối 128-bit của A, B, C và D,
đây chính là hàm Băm nhận được.
Nghiên cứu về giải thuật MD5
V/ Ứng dụng
MD5 có 2 ứng dụng quan trọng:
• MD5 được sử dụng rộng rải trong thế giới phần mềm để
đảm bảo rằng tập tin tải về không bị hỏng.
• MD5 được dùng để mã hóa mật khẩu.
MD5 Authentication
R1 R2

cntt
pass = cntt
key-id = 9 key-id = 9
LSU key-id = 9
+
pass = cntt
Hash
Hash LSU key-id = 9 Hash
cntt
+
Hash
cntt
Hash
LSU key-id = 9 Hash

×