Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 47 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
47
Dung lượng
1,41 MB
Nội dung
TRƯỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN -------------------------- NGUYỄN THỊ LAN BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đề tài: TÌMHIỂUMỘTSỐTHUẬTTOÁNMÃHÓADỮLIỆU VÀ ỨNG DỤNG NGHỆ AN - 2012 TRƯỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN -------------------------- BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đề tài: TÌMHIỂUMỘTSỐTHUẬTTOÁNMÃHÓADỮLIỆU VÀ ỨNG DỤNG Giáo viên hướng dẫn: ThS. Phạm Thị Thu Hiền Sinh viên thực hiện: Nguyễn Thị Lan Lớp: 49K - CNTT Mãsố SV: 0851070255 Đồ án tốt nghiệp Đại học Nghệ An, tháng 12 năm 2012 Nguyễn Thị Lan - Lớp 49K - Tin - Khoa CNTT 2 LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành tới quý thầy cô giáo khoa Công Nghệ Thông Tin, trường Đại Học Vinh nói chung và thầy cô giáo trong bộ môn Phương pháp giảng dạy nói riêng, đã giúp đỡ, tạo điều kiện cho em trong suốt quá trình làm đồ án. Đặc biệt em xin chân thành cảm ơn cô giáo ThS. Phạm Thị Thu Hiền, người đã giúp đỡ, chỉ bảo, hướng dẫn tận tình cho em trong quá trình làm đồ án. Trong thời gian làm việc với cô, em không những học hỏi được nhiều kiến thức bổ ích về các phương pháp mãhóa và tầm quan trọng của mãhóadữliệu trong thời đại ngày nay mà còn học được tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc của cô. Xin gửi lời cảm ơn chân thành đến gia đình, cha mẹ và bạn bè vì đã luôn là nguồn động viên to lớn, giúp đỡ con vượt qua những khó khăn trong suốt quá trình làm việc. Mặc dù em đã cố gắng hoàn thành đề tài với tất cả nổ lực của bản thân nhưng chắc chắn sẽ không tránh khỏi những thiếu sót. Em kính mong nhận được sự cảm thông và nhận được sự đóng góp của quý thầy cô và các bạn. Một lần nữa, em xin chân thành cảm ơn! Tháng 12 năm 2012 Sinh viên thực hiện Nguyễn Thị Lan MỤC LỤC CHƯƠNG 1: TỔNG QUAN VỀ HỆ MẬT MÃ .2 1.1. Khái niệm về mãhóa thông tin .2 1.1.1. Khái niệm 2 1.1.2. Vai trò của mãhóa 2 1.1.3. Các thành phần của hệ mãhóa 2 1.2. Tiêu chuẩn để đánh giá hệ mãhóa 3 1.2.1. Độ an toàn của thuậttoán 3 1.2.2. Tốc độ mãhóa và giải mã .4 1.2.3. Phân phối khóa .4 1.3. Khóa 4 1.3.1. Khái niệm 4 1.3.2. Ví dụ 4 1.4. Phân loại các thuậttoánmãhóa .4 1.4.1. Phân loại theo các phương pháp 4 1.4.2. Phân loại theo số lượng khóa 5 CHƯƠNG 2: CÁC PHƯƠNG PHÁP MÃHÓA CỔ ĐIỂN 8 2.1. Hệ mãhóa thay thế .8 2.1.1. Hệ mãhóa CEASAR 8 2.2.2. Mãhóa theo mẫu hình học . 12 3.1.2. Mô tả thuậttoán DES 15 3.1.3. Giải mã DES 25 3.1.4. Độ an toàn của thuậttoán 25 3.2. Thuậttoánmãhóa RSA (Rivest, Shamir, Adleman) 26 3.2.1. Khái quát về RSA . 26 3.2.3. Mộtsố phương pháp tấn công . 30 3.2.4. Đánh giá thuậttoán 31 3.3. Thuậttoánmãhóa MD5(Message-Digest algorithm 5) .32 3.3.1. Hàm băm MD5 .32 3.4. Ứng dụng 37 KẾT LUẬN .39 TÀI LIỆU THAM KHẢO .41 DANH MỤC VIẾT TẮT, THUẬT NGỮ STT Từ viết tắt Giải nghĩa 1 DES Data Encryption Standard 2 AES Advanced Encryption Standard 3 RC Rivest Cipher 4 CATS Carlisle Adams, and Stafford Tavares 5 MD Message Digest 6 SHA Secure Hash Alorithm 7 FIPS Federal Information Processing Standard (tiêu chuẩn xử lý thông tin liên bang) 8 RSA Rivest, Shamir, Adleman 9 MIT Học viện công nghệ Massachusetts 10 NSA Cơ quan Bảo mật quốc gia Hoa Kỳ Đồ án tốt nghiệp Đại học LỜI MỞ ĐẦU Lí do chọn đề tài: Hiện nay, nước ta đang trong giai đoạn tiến hành công nghiệp hóa, hiện đại hóa đất nước. Tin học được xem là một trong những ngành mũi nhọn. Tin học đã và đang đóng góp rất nhiều cho xã hội trong mọi khía cạnh của cuộc sống. Mãhóa thông tin là một ngành quan trọng và có nhiều ứng dụng trong đời sống xã hội. Ngày nay, các ứng dụng mãhóa và bảo mật thông tin đang được sử dụng ngày càng phổ biến hơn trong các lĩnh vực khác nhau trên thế giới, từ các lĩnh vực an ninh, quân sự, quốc phòng… cho đến các lĩnh vực dân sự như thương mại điện tử, ngân hàng… Ứng dụng mãhóa và bảo mật thông tin trong hệ thống thương mại điện tử, giao dịch chứng khoán,… đã trở nên phổ biến trên thế giới và sẽ ngày càng trở nên quen thuộc với người dân Việt Nam. Tháng 7/2000, thị trường chứng khoán lần đầu tiên được hình thành tại Việt Nam, các thẻ tín dụng bắt đầu được sử dụng, các ứng dụng hệ thống thương mại điện tử đang ở bước đầu được quan tâm và xây dựng. Do đó, mãhóa có vai trò rất quan trọng, đặc biệt là trong giao dịch điện tử. Nó giúp đảm bảo bí mật, toàn vẹn của thông tin, khi thông tin đó được truyền trên mạng. Mãhóa cũng là nền tảng của kĩ thuật chữ ký điện tử, hệ thống PKI(Public key infrastructure – Hạ tầng khóa công khai) Chính vì vậy em đã chọn “Tìm hiểumộtsố phương pháp mã hóa” làm đồ án tốt nghiệp của mình. Cấu trúc đồ án như sau: Chương 1: Tổng quan về hệ mật mã Chương 2: Các phương pháp mãhóa cổ điển Chương 3: Mộtsốthuậttoánmãhóa hiện đại Nguyễn Thị Lan - Lớp 49K - Tin - Khoa CNTT 1 Đồ án tốt nghiệp Đại học CHƯƠNG 1: TỔNG QUAN VỀ HỆ MẬT MÃ 1.1. Khái niệm về mãhóa thông tin 1.1.1. Khái niệm. Mãhóa thông tin là chuyển đổi thông tin từ dạng rõ (dạng đọc được) sang dạng mờ (dạng không thể đọc được) và ngược lại. Nhằm mục đích ngăn chặn nguy cơ truy cập thông tin truyền đi trên mạng một cách bất hợp pháp. Thông tin sẽ được truyền đi trên mạng dưới dạng mờ và không thể đọc được với bất kỳ ai cố tình muốn lấy thông tin đó. Khi chúng ta có nhu cầu trao đổi thông tin, thì Internet là môi trường không an toàn, đầy rủi ro và nguy hiểm, không có gì đảm bảo rằng thông tin mà chúng ta truyền đi không bị đọc trộm trên đường truyền. Vì vậy mãhóa là biện pháp giúp ta bảo vệ chính mình cũng như thông tin mà ta gửi đi. Ngoài ra mãhóa còn đảm bảo tính toàn vẹn của dữ liệu. 1.1.2. Vai trò của mã hóa. Các hệ mãhóa phải thực hiện được các vai trò sau. − Các hệ mãhóa phải che dấu được nội dung của văn bản rõ (PlainText) để đảm bảo sao cho chỉ người chủ hợp pháp của thông tin mới có quyền truy cập thông tin, hay nói cách khác là chống truy cập không đúng quyền hạn. − Tạo các yếu tố xác thực thông tin, đảm bảo thông tin lưu hành trên hệ thống đến người nhận hợp pháp xác thực. − Tổ chức các sơ đồ chữ ký điện tử, đảm bảo không có hiện tượng giả mạo, mạo danh để gửi thông tin trên mạng. Ưu điểm lớn nhất của các hệ mãhóa là có thể đánh giá được độ phức tạp của tính toánmà “kẻ địch” phải giải quyết bài toán để có thể lấy được thông tin của dữ liệu. Tuy nhiên mỗi hệ mãhóa đều có mộtsố ưu và nhược điểm khác nhau, nhưng nhờ đánh giá được độ phức tạp tính toán, mức độ an toàn của mỗi hệ mãhóamà ta có thể ứng dụng cụ thể tùy theo yêu cầu về độ an toàn. 1.1.3. Các thành phần của hệ mã hóa. Một hệ mãhóa là một bộ 5 (P, C, D, K, E) thõa mã các điều kiện sau: - P là một tập hợp hữu hạn các bản rõ (PlainText), nó còn được gọi là không gian bản rõ. Nguyễn Thị Lan - Lớp 49K - Tin - Khoa CNTT 2 Đồ án tốt nghiệp Đại học - C là tập hợp hữu hạn các bản mã (CipherText), nó còn được gọi là không gian bản mã. Mỗi phần tử của C có thể nhận được bằng cách áp dụng phép mãhóa E k lên một phần tử của P. - K là tập hợp hữu hạn các khóa hay còn gọi là không gian khóa. Đối với mỗi phần tử k của K được gọi là một khóa (Key). Số lượng của không gian khóa phải đủ lớn để “kẻ địch” không đủ thời gian để thử mọi khóa (phương pháp vét cạn). - E và D lần lượt là tập luật mãhóa và giải mã. Với mỗi k của K có một quy tắc mãhóa e k : PC và một quy tắc giải mã tương ứng d k € D. Mỗi e k : PC và d k : CP là những hàm mà: d k (e k (x))=x với mọi bản rõ x € P. Hình 1.1: Mô hình mãhóa 1.2. Tiêu chuẩn để đánh giá hệ mãhóa 1.2.1. Độ an toàn của thuật toán. Nguyên tắc đầu tiên trong mãhoá là “Thuật toán nào cũng có thể bị phá vỡ”. Các thuậttoán khác nhau cung cấp mức độ an toàn khác nhau, phụ thuộc vào độ phức tạp để phá vỡ chúng. Một hệ mật mã được coi là an toàn nếu để phá vỡ hệ mật mã này phải dùng n phép toán, mà để giải quyết n phép toán thì cần thời gian vô cùng lớn, không thể chấp nhận được. Tại một thời điểm, độ an toàn của mộtthuậttoán phụ thuộc. o Nếu chi phí hay phí tổn cần thiết để phá vỡ mộtthuậttoán lớn hơn giá trị của thông tin đã mãhóathuậttoán thì thuậttoán đó tạm thời được coi là an toàn. o Nếu thời gian cần thiết dùng để phá vỡ mộtthuậttoán là quá lâu thì thuậttoán đó tạm thời được coi là an toàn. o Nếu lượng dữliệu cần thiết để phá vỡ mộtthuậttoán quá lớn so với lượng dữliệu đã được mãhoá thì thuậttoán đó tạm thời được coi là an toàn. Nguyễn Thị Lan - Lớp 49K - Tin - Khoa CNTT 3 Đồ án tốt nghiệp Đại học 1.2.2. Tốc độ mãhóa và giải mã. Khi đánh giá hệ mãhóa phải chú ý đến tốc độ mãhóa và giải mã. Hệ mãhóa tốt thì thời gian mãhóa và giải mã nhanh. 1.2.3. Phân phối khóa. Một hệ mãhóa phụ thuộc vào khóa, khóa này được truyền công khai hay truyền bí mật. Phân phối khóa bí mật thì chi phí sẽ cao hơn so với các thuậttoánmãhóa khóa công khai. Vì vậy đây cũng là một tiêu chí khi lựa chọn hệ mã hóa. 1.3. Khóa 1.3.1. Khái niệm. Một khóa mãhóa là một phần thông tin đặc biệt được kết hợp với mộtthuậttoán để thi hành mãhóa và giải mã. Mỗi khóa khác nhau có thể tạo ra các văn bản mãhóa khác nhau, nếu không chọn đúng khóa thì không thể mở được tài liệu đã mãhóa trên, cho dù biết được thuậttoán trên dùng thuậttoánmãhóa gì, sử dụng khóa càng phức tạp thì độ an toàn của dữliệu càng lớn . 1.3.2. Ví dụ. Mãhóa nội dung của một bức thư với khóa là “Thay thế mỗi ký tự xuất hiện trong bức thư bằng ký tự đứng thứ 2 sau nó”. Cùng thật toán trên nhưng sử dụng khóa là “Thay thế mỗi ký tự xuất hiện trong bức thư bằng ký tự đứng thứ 3 sau nó”. Như vậy kết quả của một bức thư có nội dung như nhau sau khi sử dụng hai khóa khác nhau sẽ có hai bản mã khác nhau. 1.4. Phân loại các thuậttoánmãhóa 1.4.1. Phân loại theo các phương pháp. 1.4.1.1. Mãhoá cổ điển. Xuất hiện trong lịch sử, thuậttoán sử dụng khóa đơn giản, dễ hiểu. Là phương pháp mà từng ký tự (hay từng nhóm ký tự) trong bản rỏ được thay thế bằng một ký tự (hay nhóm ký tự) khác tạo nên bản mã. Bên nhận chỉ cần đảo ngược lại trình tự thay thế trên thì sẽ nhận được bản rõ ban đầu. Mãhóa cổ điển có hai phương pháp nổi bật là: Mãhóa thay thế và mãhóa hoán vị. Các hệ mãhóa thường được sử dụng trong lịch sử là: Hệ mãhóa Ceasar, Vigenere, Hill… 1.4.1.2. Mãhóa đối xứng. Mãhóa đối xứng hay mãhóa chia sẻ khóa là mô hình mãhóa hai chiều, có nghĩa là tiến trình mãhóa và giải mã đều dùng chung một khóa. Khóa này được chuyển giao bí Nguyễn Thị Lan - Lớp 49K - Tin - Khoa CNTT 4