TỔNG QUAN VỀ HÀM BĂM VÀ THUẬT TOÁN HÀM BĂM MD5

54 4.5K 35
TỔNG QUAN VỀ HÀM BĂM VÀ THUẬT TOÁN HÀM BĂM MD5

Đ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

XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG THUẬT TOÁN MD5

MỤC LỤC Lời cảm ơn Lời cam đoan PHẦN I: GIỚI THIỆU VỀ ĐỀ TÀI .5 1.1.Mục đích .5 1.2 Đối tượng nghiên cứu .5 1.2 Phạm vi nghiện cứu .5 1.4 Ý nghĩa đề tài 5 PHẦN II: NỘI DUNG 6 CHƯƠNG 1 :TỔNG QUAN VỀ MẬT MÃ HĨA .6 2.1.1 Khái niệm về mã hóa .6 2.1.2 Các thuật tốn mã hóa 7 2.1.2.1 Mã hóa đối xứng 7 2.1.2.2 Mã hố bất đối xứng 8 2.1.4 Phương pháp RSA 9 2.1.4.1 Khái niệm hệ mật mã RSA 9 2.1.4.2. Độ an tồn của hệ RSA .11 2.1.4.3. Một số tính chất của hệ RSA .12 2.1.4.4 Một số phương pháp tấn cơng giải thuật RSA .13 CHƯƠNG 2 CHỮ KÝ ĐIỆN TỬ .15 2.2.1Giới thiệu 15 2.2.2 Khái niệm về chữ ký điện tử 15 2.2.3 Thuật tốn chữ ký điện tử 17 2.2.4 Chứng nhận chữ ký điện tử 19 2.2.5 Ch̉n chữ ký điện tử (Digital Signature Standard) 19 2.2.6 Giải pháp ứng dụng chữ ký điện tử 22 2.2.6.1 Q trình ký gửi các tệp văn bản 22 2.2.6.2 Q trình nhận các tệp văn bản 23 2.2.7 Vận dụng vào hệ thống .24 2.2.8 Kết luận 25 CHƯƠNG 3 : TỔNG QUAN VỀ HÀM BĂM THUẬT TỐN HÀM BĂM MD5 .26 2.3.1 Đăt vấn đề 26 2.3.2 giới thiệu về hàm băm mật mã .26 2.3.2.1 Tính chất 27 2.3.2.2 Ứng dụng .28 2.3.3 Hàm băm dựa trên mã khối 29 2.3.4 Cấu trúc Merkle-Damgård .29 2.3.5 Birthday attack .30 2.3.6 Hàm băm mật mã .31 2.3.7 Cấu trúc của hàm băm .32 2.3.8 Tính an tồn của hàm băm đối với hiện tượng đụng độ 32 2.3.9 Tính một chiều 33 2.3.10. Sử dụng cho các ngun thủy mật mã khác 33 2.3.11 Ghép các hàm băm mật mã 34 2.3.12 Thuật tốn băm mật mã 34 2.3.13 Phương pháp Secure Hash Standard (SHS) 35 2.3.14 Một số hàm băm nổi tiếng .35 2.3.15 Hàm băm MD5 .35 2.3.15.1 Giới thiệu 35 2.3.15.2 Khái niệm 36 2.3.15.3 Ứng dụng 36 2.3.15.4 Thuật giải .36 2.3.16 MD5 (Message Digest) 37 2.3.16.1 Mơ tả .37 2.3.16.2 Cách thực hiện 40 2.3.17 Sự khác nhau giữa MD4 MD5 42 CHƯƠNG 4: XÂY DỰNG CHƯƠNG TRÌNH MƠ PHỎNG THUẬT TỐN MD5 43 2.4.1 Nhiệm vụ của chương trình 43 2.4.2 Thuật tốn MD5 sơ đồ khối 43 2.4.2.1 Thuật tốn .43 2.4.2.2 Sơ đồ khối thuật tốn MD5 .46 2.4.3 Kết quả chương trình mơ phỏng thuật tốn băm MD5 .49 2.4.3.1 Giao diện chương trình mơ phỏng .49 2.4.3.2 Các bước thực hiện chương trình .49 2.4.3.3 Kết quả thực nghiệm 50 PHẦN III: KẾT LUẬN HƯỚNG PHÁT TRIỂN 53 Danh mục tài liệu tham khảo 54 DANH MỤC HÌNH VẼ: Hình 1.1 Mô hình hệ thống mã hóa quy ước 7 Hình 1.2 Nguyên lý của hệ thống mã hoá đối xứng 7 Hình 1.3 Kênh nguyên lý trong hệ thống mã hoá đối xứng 8 Hình 1.4 Nguyên lý cơ bản của mã hoá khoá công khai thuật toán RSA 9 Hình 1.5 Sơ đồ các bước thực hiện mã hoá theo thuật toán RSA .11 Hình 2.1 Kiểm tra chữ ký điện tử .17 Hình 2.2 Thủ tục ký kiểm tra chữ ký 19 Hình 2.3 Sơ đồ mô tả quá trình ký gửi các tệp văn bản 24 Hình 2.4 Sơ đồ mô tả quá trình nhận các tệp văn bản .25 Hình 3.1 Cấu trúc băm Merkle-Damgård .30 Hình 3.2 Sơ đồ vòng lặp chí nh của MD5 .38 Hình 3.3 Sơ đồ 1 vòng lặp của MD5 39 LỜI MỞ ĐẦU Ngày nay, các ứng dụng Công nghệ thông tin đã đang ngày càng phổ biến rộng rãi đã ảnh hưởng rất lớn đến diện mạo của đời sống, kinh tế, xã hội. Mọi công việc hàng ngày của chúng ta đều có thể thực hiện được từ xa với sự hổ trợ của máy vi tính mạng internet (từ việc học tập, giao dịch,… đến việc gửi thư). Tất cả thông tin liên quan đến những công việc này đều do máy vi tính quản truyền đi trên hệ thống mạng. Đối với những thông tin bình thường thì không có ai chú ý đến, nhưng đối với những thông tin mang tính chất sống còn đối với một số cá nhân (hay tổ chức) thì vấn đề bảo mật thật sự rất quan trọng, vấn đề khó khăn đặt ra là làm sao giữ được thông tin bí mật giữ cho đến đúng được địa chỉ cần đến. Nhiều tổ chức, cá nhân đã tìm kiếm đưa ra nhiều giải pháp bảo mật phương pháp mã hóa khóa công khai được xem là phương pháp có tính an toàn khá cao. Như vậy việc đảm bảo an toàn thông tin, tránh mọi nguy cơ bị thay đổi, sao chép hoặc mất mát dữ liệu trong các ứng dụng trên mạng luôn là vấn đề bức xúc, được nhiều người quan tâm. Trong bài báo cáo này, em trình bày những vấn đề liên quan về mã hóa thông tin, thuật toán băm MD5, thuật toán mã hóa RSA chữ ký điện tử. Từ đó, ứng dụng thuật toán MD5 RSA để phân tích quá trình hoạt động của chữ ký điện tử. Trên cở sở đó, em xin được đề ra giải pháp ứng dụng chữ ký điện tử trên cơ sở kết hợp giữa thuật toán băm MD5 thuật toán mã hóa RSA trong quá trình gửi nhận các văn bản. PHẦN I GIỚI THIỆU ĐỀ TÀI 1.1 MỤC ĐÍCH  Tìm hiểu chung về kỹ thuật nhận thực (chữ ký điện tử) Chữ ký điện tử không được sử dụng nhằm bảo mật thông tin mà nhằm bảo vệ thông tin không bị người khác cố tình thay đổi để tạo ra thông tin sai lệch. Nói cách khác, chữ ký điện tử giúp xác định được người đã tạo ra hay chịu trách nhiệm đối với một thông điệp.  Tìm hiểu hàm băm, đi sâu vào thuật toán MD5 Hàm băm (Hash Function): Cho đầu vào là một thông báo có kích thước thay đổi, đầu ra là một mã băm có kích thước cố định. Giải thuật băm MD5 (Message Digest 5): được sử dụng để kiểm tra tính toàn vẹn của khối dữ liệu lớn. Thuật toán nhận đầu vào là một đoạn tin có chiều dài bất kỳ, băm nó thành các khối 512 bit tạo đầu ra là một đoạn tin 128 bit.  Xây dựng chương trình mô phỏng hàm băm MD5 Đưa ra kết quả chương trình mô phỏng các kết quả thu được đúng với các tài liệu tiêu chuẩn về thuật toán MD5 1.2ĐỐI TƯỢNG NGHIÊN CỨU - các phương pháp mật mã hóa - Chữ ký điện tử ứng dụng - Thuật toán RSA - Các thuật toán hàm băm 1.3 PHẠM VI NGHIÊN CỨU Bài báo cáo này tập trung nghiên cứu các thuật toán băm MD5 ứng dụng hàm băm trong chữ ký điện tử 1.4 Ý NGHĨA ĐỀ TÀI Chữ ký điện tử là lĩnh vực được sử dụng rộng rải trong thực tế, nhận thực các bản tin, file văn bản trong vấn đề truyền thông tin trên mạng, xây dụng các giải pháp về giao dịch điện tử chính phủ điện tử. Nghiên cứu về chữ ký điện tử tìm hiểu những lĩnh vực ứng dụng của nó có ý nghĩa rất quan trọng trong thực tế PHẦN II NỘI DUNG CHƯƠNG 1 TỔNG QUAN VỀ MẬT MÃ HÓA 2.1.1 KHÁI NIỆM VỀ MÃ HÓA Mã hoá là một tiến trình biến đổi thông tin, sử dụng các thuật toán nhằm mục đích không cho người khác có thể nắm bắt được nếu thiếu một vốn thông số nhất định (key) để dịch ngược. Đi kèm với mã hoá là giải mã. Có rất nhiều loại thuật toán mã hoá cho dữ liệu máy tính, chúng được gọi tên theo thuật toán có thể so sánh trực tiếp với nhau, ví dụ mã hoá 128-bit, Triple-DES, 2048-bit RSA. Trong cùng một loại, dĩ nhiên một phép mã hoá 2048-bit RSA sẽ mạnh mẽ hơn phép mã hoá 1024-bit RSA.Nhưng như vậy không có nghĩa là một phép mã hoá với độ dài dãy bit lớn được xem là an toàn. Thử liên tưởng đến ngôi biệt thự của bạn, với chiếc cổng được khoá bằng ổ khoá 4 chân, mỗi chân như vậy có thể nằm trong 10 vị trí, ổ khoá chỉ mở được khi 4 chân được sắp theo mã khoá của chủ nhà, để vượt qua, 1 tên trộm cần phải dùng tối đa 10.000 phép thử (brute-force attack). Nhưng nếu tăng ổ khoá lên 10 chân, sẽ tạo nên 10 triệu khe cắm khoá hợp lệ, thì không ai đủ sự thông minh (hay sự ngu dốt) để mở chiếc khoá bằng cách tấn công thuật toán này. Họ có thể phá cửa sổ, hay thậm chí là phá chiếc cổng, giả danh chính quyền, thợ nước… để đột nhập vào căn nhà của bạn. Một ổ khoá tốt không thể chống lại những kiểu tấn công như thế được. Điều đó cho thấy một thuật toán mã hoá cực mạnh sẽ chỉ hữu ít nếu được sử dụng ở đúng những nơi cần thiết, không phải lúc nào cũng là tối ưu. Cái cần bảo vệ ở trên chính là ngôi nhà của bạn chứ không phải là đặt một hàng rào bẫy hi vọng kẻ trộm sẽ dính vào cái bẫy đó. Với sự phát triển mạnh mẽ của mình, hầu hết các kênh thông tin đều lấy Internet làm nền tảng để phát triển. Điều tất yếu sẽ nảy sinh là vấn đề An toàn thông tin, một ngày nào đó, bạn bỗng nhận ra rằng, thông tin của bạn đang bị theo dõi. Để vừa đảm bảo thông tin luôn kết nối, vừa đảm bảo yếu tố bảo mật của thông tin thì phương pháp tốt nhất là mã hoá thông tin. Ngày nay việc mã hoá đã trở nên phổ cập, các quốc gia hay là các công ty lớn đều có chính sách phát triển công cụ mã hoá riêng biệt để bảo vệ cho chính thông tin của họ. Trên thế giới hiện có rất nhiều các loại thuật toán, trong khuôn khổ bài báo cáo, chúng ta chỉ tìm hiểu về các thuật toán được ứng dụng phổ biển trong Internet. Hình 1.1 Mơ hình hệ thống mã hóa quy ước Mật mã hóa được sử dụng phổ biến để đảm bảo an tồn cho thơng tin liên lạc. Các thuộc tính được u cầu là:  Bí mật: Chỉ có người nhận đã xác thực có thể lấy ra được nội dung của thơng tin chứa đựng trong dạng đã mật mã hóa của nó. Nói khác đi, nó khơng thể cho phép thu lượm được bất kỳ thơng tin đáng kể nào về nội dung của thơng điệp.  Ngun vẹn: Người nhận cần có khả năng xác định được thơng tin có bị thay đổi trong q trình truyền thơng hay khơng.  Xác thực: Người nhận cần có khả năng xác định người gửi kiểm tra xem người gửi đó có thực sự gửi thơng tin đi hay khơng. 2.1.2 CÁC THUẬT TỐN MÃ HĨA 2.1.2.1 Mã hóa đối xứng Hình 1.2: Ngun lý của hệ thống mã hố đối xứng. Ngun lý cơ bản của hệ thống mã hố khố đối xứng được chỉ ra trong (hình 1.2) Có thể thấy rằng bản chất của mã hố đối xứng là cả phía thu phía phát đều sử dụng cùng một khố bí mật (SK), thuật tốn ở cả hai phía cũng đều giống nhau. Mã hố đối xứng như trên dựa vào việc phân phối khố một cách bảo mật giữa cả hai phía. Nhưng thực tế là khố chung đó lại phân phối tới tất cả mọi người trong mạng, vấn đề “kênh bảo mật” đã làm đau đầu những nhà quản trị mạng. Điều nguy hiểm nhất là bất cứ ai chiếm được khố trong q trình phân phối cũng có tồn quyền truy nhập tới dữ liệu do khố đó bảo vệ. Do đó, q trình phân phối khố phải trên “kênh bảo mật”, bất kể là kênh logic hay kênh vật lý (hình 1.4). Hình 1.3: Kênh nguyên lý trong hệ thống mã hoá đối xứng. 2.1.2.2 Mã hoá bất đối xứng Ngược lại với mã hoá đối xứng, thuật toán bất đối xứng hoạt động theo ít nhất là hai khoá, hay chính xác hơn là một cặp khoá (hình 1.2). Khoá sử dụng được biết đến như là khoá bí mật khoá công khai do đó có khái niệm mã hoá khoá công khai. Mỗi khoá được sử dụng để mã hoá hay giải mã, nhưng khác với thuật toán đối xứng, giá trị của khoá ở mỗi phía là khác nhau. Trong hệ thống RSA, dữ liệu được mã hoá bằng khoá bí mật (KX u ) chỉ có thể giải mã được bằng khoá công khai của cặp khoá đó. Cặp khoá này được tạo ra cùng nhau do đó có liên quan trực tiếp với nhau. Mặc dù có quan hệ với nhau nhưng nếu biết hay truy nhập được khoá công khai thì cũng không thể tính toán được giá trị của khoá bí mật. Do đó, công khai khoá mã cũng không làm ảnh hưởng tới tính bảo mật của hệ thống, nó cũng chỉ như một địa chỉ thư tín còn khoá bí mật vẫn luôn được giữ kín. Bản chất của mã hoá khoá công khai RSA là bất cứ bản tin mật mã nào đều có thể được nhận thực nếu như nó được mã hoá bằng khoá bí mật còn giải mã bằng khoá công khai. Từ đó, phía thu còn xác định được cả nguồn gốc của bản tin. Bất cứ người nào giữ khoá công khai đều có thể nghe trộm bản tin mật mã bằng cách tính toán với kho bí mật, không chỉ đảm bảo tính tin cậy của bản tin (trong một nhóm) mà còn được nhận thực, hay còn gọi là không thể từ chối, ví dụ như người gửi không thể từ chối rằng chính họ là tác giả của bản tin đó. Nó hoàn toàn trái ngược với hoạt động của khoá đối xứng, trong đó bản tin mật mã được đảm bảo tính toàn vẹn giữa phía mã hoá giải mã, nhưng bất kỳ ai có được khoá chung đều có thể phát bản tin từ chối rằng chính mình đã phát nó, còn phía thu thì không thể biết được đâu là tác giả của bản tin đó. Thuật toán đối xứng yêu cầu khả năng tính toán lớn hơn do đó, tốc độ quá trình mã hoá chậm hơn so với mã hoá đối xứng. Đó cũng là trở ngại chính trong các hệ thống cho phép tỷ lệ lỗi lớn như trong truyền thông thoại. Do đó, mã hoá khoá công khai không phù hợp với các bản tin có chiều dài thông thường, tuy nhiên khi kết hợp cả hai chế độ với nhau lại có thể đảm bảo tính nhận thực, tin cậy toàn vẹn của bản tin. Nói chung, các ứng dụng sử dụng thuật toán bất đối xứng là: • Sử dụng một giá trị “băm” nhỏ làm chữ ký điện tử. • Mã hoá các khoá bí mật được sử dụng trong thuật toán đối xứng. • Thỏa thuận khóa mã bí mật giữa các phía trong truyền thông. Hình 1.4: Nguyên lý cơ bản của mã hoá khoá công khai thuật toán RSA. 2.1.3 HỆ MÃ HÓA RSA 2.1.3.1 Khái niệm hệ mật mã RSA Khái niệm hệ mật mã RSA đã được ra đời năm 1976 bởi các tác giả R.Rivets, A.Shamir, L.Adleman. Hệ mã hoá này dựa trên cơ sở của hai bài toán + Bài toán Logarithm rời rạc (Discrete logarith) + Bài toán phân tích thành thừa số. Trong hệ mã hoá RSA các bản rõ, các bản mã các khoá (public key private key) là thuộc tập số nguyên ZN = {1, . . . , N-1}.Trong đó tập ZN với N=p×q là các số nguyên tố khác nhau cùng với phép cộng phép nhân Modulo N tạo ra modulo số học N. Khoá mã hoá EKB là cặp số nguyên (N,KB) khoá giải mã D kb là cặp số nguyên (N,kB), các số là rất lớn, số N có thể lên tới hàng trăm chữ số. Các phương pháp mã hoá giải mã là rất dễ dàng. Công việc mã hoá là sự biến đổi bản rõ P(Plaintext) thành bản mã C (Ciphertext) dựa trên cặp khoá công khai KB bản rõ P theo công thức sau đây : C = E KB (P) = E B (P) = P KB (mod N) . (1.1) Công việc giải mã là sự biến đổi ngược lại bản mã C thành bản rõ P dựa trên cặp khoá bí mật kB , modulo N theo công thức sau : P = D KB (C) = D B (C) = C KB (mod N) . (1.2) Dễ thấy rằng, bản rõ ban đầu cần được biến đổi một cách thích hợp thành bản mã, sau đó để có thể tái tạo lại bản rõ ban đầu từ chính bản mã đó : P = D B (E B (P)) (1.3) Thay thế (1.1) vào (1.2) ta có : (P KB ) KB = P (mod N ) (1.4) Trong toán học đã chứng minh được rằng, nếu N là số nguyên tố thì công thức (4) sẽ có lời giải khi chỉ khi KB.kB = (mod N-1), áp dụng thuật toán ta thấy N=p×q với p, q là số nguyên tố, do vậy (4) sẽ có lời giải khi chỉ khi : K B .k B ≡ 1 (mod γ(N)) (1.5) trong đó γ(N) = LCM(p-1,q-1) . LCM (Lest Common Multiple) là bội số chung nhỏ nhất. Nói một cách khác, đầu tiên người nhận B lựa chọn một khoá công khai KB một cách ngẫu nhiên. Khi đó khoá bí mật kB được tính ra bằng công thức (1.5). Điều này hoàn toàn tính được vì khi B biết được cặp số nguyên tố (p,q) thì sẽ tính được γ(N). k B Bản mã C Chọn p q C=P KB (mod N) P=C KB (mod N) Chọn khóa K B Chọn khóa K B Tính γ(N) Tính N=p*q [...]... toán DSS) 2.3.14 MỘT SỐ HÀM BĂM NỔI TIẾNG  Hàm băm MD4 (Message Digest 4)  Hàm băm MD5 (Message Digest 5)  SHS (Secure Hash Standard)  Hàm băm Davies-Mayer  Hàm AES-Hash  Hàm băm Davies-Mayer AES-Hash  SHA-1… 2.3.15 HÀM BĂM MD5 2.3.15.1 Giới thiệu : Hàm băm MD4 (Message Digest 4) được Giáo sư Rivest đề nghị vào năm 1990 Vào năm sau, phiên bản cải tiến MD5 của thuật toán này ra đời Cùng với... dựng từ hàm băm HMAC cũng dựa vào MAC Cũng như thuật toán mã khối có thể được dùng để xây dựng hàm băm, hàm băm có thể được sử dụng để xây dựng các thuật toán mã khối Cấu trúc Luby-Rackoff sử dụng các hàm băm xây dựng mã khối có thể chứng minh được an toàn nếu hàm băm mà nó dựa vào là an toàn Ngoài ra, có nhiều hàm băm (bao gồm cả các hàm băm SHA) được xây dựng bằng cách sử dụng một thuật toán mã khối... khóa cho quá trình mã hóa… Hàm băm là nền tảng cho nhiều ứng dụng mã hóa Có nhiều thuật toán để thực hiện hàm băm, trong số đó, phương pháp SHA-1 MD5 thường được sử dụng khá phổ biến từ thập niên 1990 đến nay  Hàm băm MD4 (Message Digest 4) MD5 (Message Digest 5): • Hàm băm MD4 được Giáo sư Ron Rivest đề nghị vào năm 1990 Vào năm 1992, phiên bản cải tiến MD5 của thuật toán này ra đời • Thông điệp... Standard) gồm 4 thuật toán hàm băm SHA-1, SHA-256, SHA-384, SHA-512 Đến 25/03/2004, NIST đã chấp nhận thêm thuật toán hàm băm SHA-224 vào hệ thống chuẩn hàm băm Các thuật toán hàm băm do NIST đề xuất được đặc tả trong tài liệu FIPS180-2 2.3.9 CẤU TRÚC HÀM BĂM Hầu hết các hàm băm mật mã đều có cấu trúc giải thuật như sau: Cho trước một thông điệp M có độ dài bất kỳ Tùy theo thuật toán được sử dụng, chúng... gửi nhận các tệp văn bản phục vụ quản lý dựa vào thuật toán băm MD5 thuật toán mã hóa RSA 2.2.6.1 Quá trình ký gửi các tệp văn bản Lê Thị Kim Vui-Lớp T13TVT Trang 22 Tìm Hiểu Thuật Toán MD5 Ứng Dụng Trong Chữ Ký Điện Tử - Từ file cần gửi ban đầu, chương trình sẽ sử dụng hàm băm MD5 để mã hóa thành chuỗi ký tự dài 128 bit, hash value (gọi là bản tóm lược) - Chương trình sử dụng thuật toán. .. trình gửi nhận các tệp văn bản Từ giải pháp này, ta có thể xây dựng cài đặt các hàm sử dụng tính năng của chữ ký điện tử trong quá trình gửi nhận các tệp văn bản ứng dụng cho các hệ thống quản lý nhằm đảm bảo tính bảo mật của hệ thống Lê Thị Kim Vui-Lớp T13TVT Trang 25 Tìm Hiểu Thuật Toán MD5 Ứng Dụng Trong Chữ Ký Điện Tử CHƯƠNG 3 : TỔNG QUAN VỀ HÀM BĂM THUẬT TOÁN HÀM BĂM MD5 2.3.1 ĐẶT... ít không liên quan đến các thuật toán băm SEAL không được đảm bảo tính mạnh (hay yếu) như SHA-1 Lê Thị Kim Vui-Lớp T13TVT Trang 33 Tìm Hiểu Thuật Toán MD5 Ứng Dụng Trong Chữ Ký Điện Tử 2.3.11 GHÉP CÁC HÀM BĂM MẬT MÃ Ghép các kết quả đầu ra từ nhiều hàm băm tạo ra tính kháng va chạm tối thiểu cũng tốt như là độ mạnh nhất của thuật toán trong các kết nối Ví dụ, SSL sử dụng ghép nối MD5 SHA-1 để đảm... trị băm tập tin như vậy thường là băm đầu danh sách băm hoặc cây băm để có thêm nhiều tiện lợi 2.3.3 HÀM BĂM DỰA TRÊN MÃ KHỐI Có một số phương pháp sử dụng thuật toán mã khối để xây dựng một hàm băm mật mã, cụ thể nó là hàm nén một chiều (one-way compression function) Các phương pháp tương tự như các chế độ hoạt động của mã khối sử dụng cho phép mã Tất cả các hàm băm đã biết, bao gồm MD4, MD5, SHA-1 và. .. đài phải đủ lớn trong thuật toán RSA có cả hàm mũ nên ta cần xây dựng các hàm xử lý số có kích thước lớn với các phép toán cơ bản: cộng, trừ, nhân, chia, modulo… - Xây dựng thuật toán phát sinh số nguyên tố; - Xây dựng thuật toán chọn e, thuật toán chọn d; - Sử dụng khóa riêng (n, d) để tính toán chữ ký S = Md Lê Thị Kim Vui-Lớp T13TVT Trang 24 Tìm Hiểu Thuật Toán MD5 Ứng Dụng Trong Chữ Ký Điện... năm 2009, hai hàm băm mật mã được sử dụng thông dụng nhất vẫn là MD5 SHA-1 Tuy nhiên, MD5 đã bị phá vỡ do có một tấn công lên nó để phá vỡ SSL trong năm 2008 SHA-0 SHA-1 là các thành viên của họ hàm băm SHA được phát triển bởi NSA Vào tháng 2 năm 2005, đã tấn công thành công trên SHA1, việc tìm kiếm va chạm trong khoảng 269 phép toán băm, thay vì 280 theo dự kiến cho hàm băm 160-bit Vào tháng 8

Ngày đăng: 26/04/2013, 09:50

Hình ảnh liên quan

Hình 1.3: Kênh nguyên lý trong hệ thống mã hoá đối xứng. 2.1.2.2 Mã hoá bất đối xứng - TỔNG QUAN VỀ HÀM BĂM VÀ THUẬT TOÁN HÀM BĂM MD5

Hình 1.3.

Kênh nguyên lý trong hệ thống mã hoá đối xứng. 2.1.2.2 Mã hoá bất đối xứng Xem tại trang 8 của tài liệu.
Hình 2.3. Sơ đồ mô tả quá trình ký và gửi các tệp văn bản 2.2.6.2 Quá trình nhận các tệp văn bản  - TỔNG QUAN VỀ HÀM BĂM VÀ THUẬT TOÁN HÀM BĂM MD5

Hình 2.3..

Sơ đồ mô tả quá trình ký và gửi các tệp văn bản 2.2.6.2 Quá trình nhận các tệp văn bản Xem tại trang 23 của tài liệu.
Hình 2.4. Sơ đồ mô tả quá trình nhận các tệp văn bản 2.2.7 VẬN DỤNG VÀO HỆ THỐNG  - TỔNG QUAN VỀ HÀM BĂM VÀ THUẬT TOÁN HÀM BĂM MD5

Hình 2.4..

Sơ đồ mô tả quá trình nhận các tệp văn bản 2.2.7 VẬN DỤNG VÀO HỆ THỐNG Xem tại trang 24 của tài liệu.
Hình 3.1 Cấu trúc băm Merkle-Damgård. - TỔNG QUAN VỀ HÀM BĂM VÀ THUẬT TOÁN HÀM BĂM MD5

Hình 3.1.

Cấu trúc băm Merkle-Damgård Xem tại trang 30 của tài liệu.
Hình 3.2: Sơ đồ vòng lặp chính của MD5 - TỔNG QUAN VỀ HÀM BĂM VÀ THUẬT TOÁN HÀM BĂM MD5

Hình 3.2.

Sơ đồ vòng lặp chính của MD5 Xem tại trang 38 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan