1. Trang chủ
  2. » Luận Văn - Báo Cáo

giải thuật md5 - message digest

21 346 6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 129 KB

Nội dung

Giải thuật MD5-Message Digest1.Giới thiệu Giải thuật có đầu vào là 1 thông điệpdạng chữ kí có độ dài tùy ý nào đó,qua quá trình xử lí và phân tích sẽ cho kết quả đầu ra là một dạng để nh

Trang 1

Giải thuật MD5-Message Digest

Giáo viên hướng dẫn : Thầy Trần Ngọc Thái

Nhóm SV thực hiện : Nguyễn Khánh Tùng

Nguyễn Ngọc Hiệu

Lớp : CT702

Trang 2

Giải thuật MD5-Message Digest

Trang 3

Giải thuật MD5-Message Digest

1.Giới thiệu

Giải thuật có đầu vào là 1 thông điệp(dạng chữ kí) có độ dài tùy ý nào đó,qua quá trình xử lí và phân tích sẽ cho kết quả đầu ra là một dạng để nhận biết (tương tự như dấu điểm

chỉ) dài 128bit hoặc thông điệp tóm lược.

Giải thuật MD5 ứng dụng trên chữ kí số,nơi mà 1 file lớn hầu hết phải được đảm bảo an toàn dữ liệu cùng các

phương tiện như khóa bí mật và công khai,ví dụ như hệ mã RSA.

Giải thuật MD5 được thiết kế để chạy khá hiệu quả trên

Trang 4

Giải thuật MD5-Message Digest

Được phát triển từ giải thuật chữ kí số MD4,MD5 có các bước nhỏ gọn hơn MD4 nhưng khó thay đổi hơn trong quá trình thiết kế

Được đánh giá là sử dụng nhanh chóng hơn MD4

Đảm bảo tốc độ cũng như tính bảo mật

Được công nhận là giải thuật đạt chuẩn.

Dựa trên nền tảng của công nghệ OSI ,đối tượng của MD5

được định nghĩa

md5 OBJECT IDENTIFIER::

iso(1) member-body(2) US(840) rsadsi(113549)

digestAlgorithm(2) 5}

Trang 5

Giải thuật MD5-Message Digest

danh sách các byte đó là những byte quan trọng (diễn tả

thuộc tính của từ).Tương tự như vậy,thứ tự sắp xếp của byte

là thứ tự của 32 bit từ.Như vậy mỗi nhóm 4 byte liên tiếp sẽ cho ta 1 từ cùng với đặc điểm ít đặc trưng nhất của nó.

Trang 6

Giải thuật MD5-Message Digest

Kí kiệu của kí tự “+” có nghĩa là cộng từ (i.e.,modulo-2^32

addition).

Kí hiệu X<<<S là phép dịch bit,X bị dịch về phía bên trái S bit

Not(X) là giá trị phần bù của X

X v Y là phép OR giữa X và Y

X xor Y là phép XOR giữa X và Y

XY là phép AND giữa X và Y

Kí hiệu X_i nghĩa là X chia i (X/i),nếu kết quả là biểu thức chúng

ta sẽ tăng giá trị của i trong biểu thức ,tức là X_{i+1}.

Tương tự như vậy chúng ta sử dụng kí tự “^” cho sự mũ hóa.Như vậy X^i có nghĩa là X được nhân gấp i lần

Trang 7

Giải thuật MD5-Message Digest

3.Mô tả giải thuật MD5

Chúng ta bắt đầu từ giả sử rằng có 1 thông điệp (chữ kí) có độ dài b bit cho đầu vào.Giả sử tìm thấy thông điệp đã qua xử lí,ở đây b là 1 số nguyên kiểu Interger.b có thể nhận giá trị 0,không nhất thiết là số nguyên lần của 8(bội của 8) nên ta có thể chọn tùy ý.

Chúng ta hình dung chữ kí (thông điệp ) được biểu thị như sau: m_0m_1…m_{b-1}

Sau đây là 5 bước kí hóa thông điệp

Trang 8

Giải thuật MD5-Message Digest

3.1.Bước 1:Thêm những bit đệm:

Thông điệp là “đệm” để độ dài của nó đồng dạng tới 448,theo

modulo 512.Theo đó,thông điệp là mở rộng để nó tránh không là

64 bit,mà là biểu thị của 512 bit dài.Việc đệm luôn được thực hiện mặc dù độ dài của thông điệp đã phù hợp tới 448 theo modulo

512.

Việc đệm được thực hiện như sau:

Từng bit “1” được nối vào thông điệp và sau đó “0” được nối vào sao cho độ dài bên trong thông điệp đệm phù hợp tới 448 theo modulo 512.Trong tất cả,ít nhất 1 bit trong đa số 512 bit nối vào

bị treo.

Trang 9

Giải thuật MD5-Message Digest

3.2.Bước 2:Nối độ dài

Biểu diễn 64 bit của b (độ dài của thông điệp trước khi thêm những mẩu đệm) được nối vào kết quả của bước trước.Trong khi b>2^64,chỉ 64 bit thấp của b được sử dụng.(Những mẩu này được nối vào như hai từ 32 bit và nối vào những từ thứ tự thấp trước tiên

như trong thỏa thuận với những qui định trước).

Tại thời điểm này,kết quả thông điệp (sau khi nối các mẩu với b)

có 1 độ dài chính xác 512 bit.Tương đương,thông điệp này có độ dài chính xác của 16 từ 32 bit.

Trang 10

Giải thuật MD5-Message Digest

3.3.Bước 3:Khởi tạo bộ đệm MD

Một bộ đệm 4 từ A,B,C,D được sử dụng để tính toán thông điệp tóm lược.Ở đây từng từ A,B,C,D lần lượt là một bản đăng kí 32 bit.Những bản đăng kí này được khởi tạo với những giá trị trong hệ 16,những byte thấp trước tiên.

word A:01 23 45 67

word B:89 ab cd ef

word C:fe dc ba 98

word D:76 54 32 10

Trang 11

Giải thuật MD5-Message Digest

3.4.Bước 4:Xử lí thông điệp trong khối 16 từ

Trước hết chúng ta định nghĩa 4 hàm phụ mà từng hàm nhập vào

3 từ 32 bit và đưa ra ở đầu ra 1 từ 32 bit

F(X,Y,Z) = XY v not(X)Z

G(X,Y,Z) = XZ v Ynot(Z)

H(X,Y,Z) = X xor Y xor Z

I(X,Y,Z) = Y xor (X v not(Z))

Trong mỗi mẩu xác định những hoạt động của F có điều kiện:

If X then Y else Z

Hàm F cho phép sử dụng “+” thay cho “v” từ XY và not(X)Z

Trang 12

Giải thuật MD5-Message Digest

Các hàm G,H,I tương tự như hàm F.Trong đó chúng hành

động song song phân theo bit để đưa ra đầu ra từ những bit của X,Y và Z.Trong một trạng thái như vậy nếu các bit của

X,Y,Z là độc lập và ngang hàng thì mỗi bit của

G(X,Y,Z),H(X,Y,Z),I(X,Y,Z) cũng sẽ độc lập và ngang hàng Bước này sử dụng 1 bảng 64 yếu tố T[1…64] được xây dựng từ hàm sin.Yếu tố T[i] của bảng được biểu thị bằng phần nguyên của 4294967296*abs(sin(i)),với i là số radians bất kì

Trang 13

Giải thuật MD5-Message Digest

Trang 14

Giải thuật MD5-Message Digest

/* Round 1 */

//để [abcd k s i] hiển thị thao tác a = b + ((a + F(b,c,d) + X[k] + T[i])

<<< s).

//Làm 16 thao tác như sau:

[ABCD 0 7 1] [DABC 1 12 2] [CDAB 2 17 3] [BCDA 3 22 4]

[ABCD 4 7 5] [DABC 5 12 6] [CDAB 6 17 7] [BCDA 7 22 8] [ABCD 8 7 9] [DABC 9 12 10] [CDAB 10 17 11] [BCDA 11 22 12]

[ABCD 12 7 13] [DABC 13 12 14] [CDAB 14 17 15] [BCDA 15 22 16]

Trang 15

Giải thuật MD5-Message Digest

/* Round 2

để [abcd k s i] hiển thị thao tác

a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s) */

/* làm 16 thao tác như sau */

[ABCD 1 5 17] [DABC 6 9 18] [CDAB 11 14 19] [BCDA 0 20 20]

[ABCD 5 5 21] [DABC 10 9 22] [CDAB 15 14 23] [BCDA 4 20 24]

[ABCD 9 5 25] [DABC 14 9 26] [CDAB 3 14 27] [BCDA 8 20 28]

Trang 16

Giải thuật MD5-Message Digest

/* Round 3 */

/* để[abcd k s t] hiển thị thao tác

a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s) */

/* làm 16 thao tác như sau */

[ABCD 5 4 33] [DABC 8 11 34][CDAB 11 16 35] [BCDA 14 23 36]

[ABCD 1 4 37] [DABC 4 11 38] [CDAB 7 16 39] [BCDA 10 23 40] [ABCD 13 4 41] [DABC 0 11 42] [CDAB 3 16 43] [BCDA 6 23 44] [ABCD 9 4 45] [DABC 12 11 46] [CDAB 15 16 47][BCDA 2 23 48]

Trang 17

Giải thuật MD5-Message Digest

/* Round 4 */

/*Để [abcd k s t] hiển thị thao tác

a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s) */

/* làm 16 thao tác như sau */

[ABCD 0 6 49] [DABC 7 10 50] [CDAB 14 15 51] [BCDA 5 21 52] [ABCD 12 6 53] [DABC 3 10 54] [CDAB 10 15 55] [BCDA 1 21 56] [ABCD 8 6 57] [DABC 15 10 58] [CDAB 6 15 59] [BCDA 13 21 60] [ABCD 4 6 61] [DABC 11 10 62] [CDAB 2 15 63] [BCDA 9 21 64]

Trang 18

Giải thuật MD5-Message Digest

/*rồi thực hiện thêm vào như sau(tăng dần mỗi bản đăng kí bởi giá trị của nó trước khi khối này được khởi động)*/

Trang 19

Giải thuật MD5-Message Digest

3.5.Bước 5: Đầu ra

Thông điệp tóm lược đưa ra đầu ra là A,B,C,D.Với

nó,chúng ta bắt đầu với byte thấp của A và kết thúc với byte cao của D

Điều này hoàn thành sự mô tả MD5

Trang 20

Giải thuật MD5-Message Digest

4.Tóm lược

Giải thuật thông điệp tóm lược thực hiện đơn giản và

cung cấp 1 đặc điểm nhận dạng hoặc thông điệp tóm lược của 1 thông điệp có độ dài tùy ý.Nó dự đoán được những khó khăn khi tiếp xúc với 2 thông điệp có cùng nội dung tóm lược là những hoạt động trong bậc của 2^64,và khó khăn của việc đi đến một vài thông điệp tóm lược bất kì cho trước hoạt động trong bậc của 2^128.

Trang 21

Giải thuật MD5-Message Digest

5.Sự khác nhau giữa MD4 và MD5

+ Một vòng tròn thứ tư đã được thêm vào

+Mỗi bước bây giờ có 1 hằng số cộng duy nhất

+ Hàm G trong vòng 2 đã được thay đổi từ (XY v XZ v

YZ) sang (XZ v Ynot(Z)) để làm G ít đối xứng hơn

+Mỗi bước bây giờ thêm kết quả của bước kề trước

+Các từ nhập vào theo thứ tự nào đó được truy nhập trong các vòng 2 và 3 đựợc thay đổi để làm cho những mẫu này ít

ảnh hưởng lẫn nhau.

Ngày đăng: 18/04/2014, 06:05

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w