TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNGTINNGHIÊNCỨUVÀPHÁTTRIỂNPHƯƠNGPHÁPẨNMÃKẾTHỢPVỚIMẬTMÃNHẰMTĂNGCƯỜNGMỨCĐỘAN TỒN THƠNGTIN Hà Nội - 2017 TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNGTIN NGUYỄN VIỆT THẮNG ĐỒÁN TỐT NGHIỆP NGHIÊNCỨUVÀPHÁTTRIỂNPHƯƠNGPHÁPẨNMÃKẾTHỢPVỚIMẬTMÃNHẰMTĂNGCƯỜNGMỨCĐỘAN TỒN THƠNGTIN Chun ngành : Công nghệ thôngtinMã ngành : 52480201 GIÁO VIÊN HƯỚNG DẪN: ThS BÙI THỊ THÙY Hà Nội - 2017 i LỜI CAM ĐOAN Em xin cam đoan đề tài nghiêncứu riêng em hướng dẫn khoa học ThS Bùi Thị Thùy Các nội dung nghiên cứu, kết đề tài trung thực chưa công bố hình thức trước Những số liệu bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá tác giả thu thập từ nguồn khác có ghi rõ phần tài liệu tham khảo Ngồi ra, đồán sử dụng số nhận xét, đánh số liệu tác giả khác, quan tổ chức khác có trích dẫn cụ thể Nếu phát có gian lận em xin hồn toàn chịu trách nhiệm nội dung đồán Trường đại học Tài ngun Mơi trường Hà Nội Khoa Công nghệ thôngtin không liên quan đến vi phạm tác quyền, quyền em gây q trình thực (nếu có) Sinh viên Nguyễn Việt Thắng ii LỜI CẢM ƠN Tôi xin cảm ơn sâu sắc đến cô giáo, ThS Bùi Thị Thùy – Khoa công nghệ thôngtin – Đại học tài nguyên môi trường Hà Nội, cô bảo tận tình, đầy trách nhiệm, cho tơi ý kiến đạo suốt trình làm đồ án, động viên, tạo điều kiện thuận lợi để tơi hồn thành đồán Tôi xin chân thành cảm ơn tồn thể thầy nói chung thầy Khoa cơng nghệ thơngtin nói riêng – Đại học tài nguyên môi trường Hà Nộiđã truyền đạt kiến thức bổ ích lý thú, giúp ích cho tơi đường nghiệp Cuối cùng, xin cảm ơn ủng hộ gia đình bạn bè đóng góp ý kiến, động viên, giúp đỡ cho tơi hồn thành đồán Nguyễn Việt Thắng iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii DANH SÁCH BẢNG vi DANH SÁCH ĐOẠN MÃ vii KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT viii MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ MÃ HÓA VÀẨNMÃ 1.1 Giới thiệu chung 1.2 Tổng quan mã hóa 1.3 Tổng quan ẩnmã 16 CHƯƠNG 2: PHƯƠNGPHÁP ĐỐI SÁNH CHUỖI VÀ ỨNG DỤNG VÀO KẾTHỢPMÃ HÓA VÀẨNMÃ 20 2.1 Phươngphápẩnmã truyền thống 20 2.2 Phươngphápẩnmã 22 2.2.1 Mô tả phươngphápẩnmã 23 2.2.2 Quá trình ẩnmã người gửi 25 2.2.3 Quá trình giải mã 54 CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG MÃ HÓA KẾTHỢPVỚIẨNMÃ 57 3.1 Mơ hình q trình mã hóa giải mã 57 3.2 Cài đặt thử nghiệm chương trình 58 3.2.1 Giới thiệu 58 3.2.2 Mơ tả giao diện modul chương trình 59 3.3 Các kịch thực nghiệm 68 3.3.1 Một số kịch 68 3.3.2 Đánh giá kết 71 KẾT LUẬN VÀ KIẾN NGHỊ 73 DANH MỤC TÀI LIỆU THAM KHẢO iv DANH MỤC CÁC HÌNH VẼ Hình 1.1: Phân cấp lĩnh vực nghiêncứumậtmã học Hình 1.2: Q trình mã hóa giải mã Hình 1.3: Mơ hình mã hóa đối xứng Hình 1.4: Mơ hình mã hóa giải mã hệ mã hóa cơng khai Hình 1.6: Xác thực chữ ký số 13 Hình 1.7: Phân loại hàm băm 14 Hình 1.8: Phân loại kỹ thuật ẩnmã 18 Hình 2.1: Mơ hình ẩnmãthông thường 20 Hình 2.2: Mơ hình tiếp kếthợpẩnmãmậtmã 21 Hình 2.3: Mơ hình ẩnmã khơng sử dụng vật phủ 22 Hình 2.4: Sơ đồ khối phươngphápẩnmãkếthợpmã hóa khơng sửa vật phủ 25 Hình 2.5: Phép dịch chuyển cửa sổ thuật tốn Morris Pratt 33 Hình 2.6: Phép dịch chuyển Knuth-Morris-Pratt 35 Hình 2.7: Mơ tả phép so khớp miss-match so sánh vị trí thứ j 39 Hình 2.9: Good-suffix shift, trường hợp suffix u xuất P 39 Hình 2.10: Good-suffix shift, trường hợp a xuất P 40 Hình 2.10: Thuật tốn Boyer-Moore-Horpool (T[s+m-1] xuất P) 45 Hình 2.11: Thuật tốn Boyer-Moore-Horpool (T[s+m-1] khơng xuất P)45 Hình 2.12: Sơ đồ giải mãphươngphápẩnmã không sửa vật phủ 55 Hình 3.1: Mơ hình q trình mã hóa 57 Hình 3.2: Mơ hình q trình mã hóa 58 Hình 3.4: Giao diện chọn file dùng làm vật phủ 60 Hình 3.5: Giao diện Load Data 61 Hình 3.6: Giao diện load Secret Message 62 Hình 3.7: Giao diện mã hóa liệu 63 Hình 3.8: Mã hóa thành cơng, hiển thị vector vị trí 64 Hình 3.9: Save vector output sau mã hóa dạng file 65 Hình 3.10: Giao diện giải mã tệp tin 66 v Hình 3.11: Giao diện sau giải mã để có chuỗi bit ban đầu 67 Hình 3.12: Giao diện save file để có tệp tin trước mã hóa 68 Hình 3.13: Biểu đồ so sánh thời gian xử lý thuật tốn đối sánh chuỗi với kích thước vật phủ cố định 69 Hình 3.14: Biểu đồ so sánh thời gian xử lý thuật tốn đối sánh chuỗi với kích thước secret message cố định 70 vi DANH SÁCH BẢNG Bảng 1.1: Các hàm băm 14 Bảng 1.2: Phân biệt Steganography Watermarking 19 Bảng 2.1: Bảng so sánh độ phực tạp thuật toán đối sánh chuỗi 52 Bảng 3.1: Bảng so sánh thời gian xử lý thuật toán đối sánh chuỗi với kích thước tệp tin chọn làm vật phủ cố định 69 Bảng 3.1: Bảng so sánh thời gian xử lý thuật toán đối sánh chuỗi với kích thước tệp tin bí mật cố định 70 vii DANH SÁCH ĐOẠN MÃ Đoạn mã 1: Giải thuật ẩnmã 26 Đoạn mã 2: Giải thuật Brute Force 31 Đoạn mã 3: Giải thuật Morris-Pratt 34 Đoạn mã 4: Giải thuật Knuth-Morris-Pratt 37 Đoạn mã 5: Giải thuật Boyer-Moore (BM) 43 Đoạn mã 6: Giải thuật Boyer-Moore-Horspool (BMH) 46 Đoạn mã 7: Giải thuật Rabin-Karp 51 viii KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT Từ viết tắt Nghĩa tiếng Anh Nghĩa tiếng Việt BM Boyer-Moore algorithm Thuật toán Boyer-Moore BMH Boyer-Moore-Horspool Thuật toán Boyer- algorithm MooreHorspool Knuth – Morris – Pratt Thuật toán Knuth - Morris - algorithm Pratt Data Encryption Standard Chuẩn mã hóa liệu, KMP DES giải thuật mã hóa bí mật AES Advanced Encryption Standard Chuẩn mã hóa nâng cao, giải thuật mã hóa khóa bí mật RSA Ron Rivest, Adi Shamir Len Là thuật tốn mã hóa Adleman cơng khai SPS Static Parsing Steganography Phân tích cú pháp tĩnh LCS Longest Common Substring Chuỗi chung dài ... NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN VIỆT THẮNG ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU VÀ PHÁT TRIỂN PHƯƠNG PHÁP ẨN MÃ KẾT HỢP VỚI MẬT MÃ NHẰM TĂNG CƯỜNG MỨC ĐỘ AN TỒN THƠNG TIN Chun... VỀ MÃ HÓA VÀ ẨN MÃ 1.1 Giới thiệu chung 1.2 Tổng quan mã hóa 1.3 Tổng quan ẩn mã 16 CHƯƠNG 2: PHƯƠNG PHÁP ĐỐI SÁNH CHUỖI VÀ ỨNG DỤNG VÀO KẾT HỢP MÃ HÓA VÀ... KẾT HỢP MÃ HÓA VÀ ẨN MÃ 20 2.1 Phương pháp ẩn mã truyền thống 20 2.2 Phương pháp ẩn mã 22 2.2.1 Mô tả phương pháp ẩn mã 23 2.2.2 Quá trình ẩn mã người gửi