Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 99 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
99
Dung lượng
1,56 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ - NGUYỄN QUÝ HÀO NGHIÊN CỨU PHỐI HỢP HAI PHƯƠNG PHÁP NÉN MÃ HOÁ THƠNG TIN Ngành: Cơng nghệ thơng tin Chun ngành: Truyền liệu mạng máy tính Mã số: 60 48 15 LUẬN VĂN THẠC SĨ NGÀNH CNTT Giảng viên hướng dẫn: PGS TS TRỊNH NHẬT TIẾN HÀ NỘI, 11-2012 TIEU LUAN MOI download : skknchat@gmail.com MỤC LỤC MỤC LỤC DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ LỜI MỞ ĐẦU Chương 1: MỘT SỐ KHÁI NIỆM CƠ BẢN 1.1 CÁC ĐỊNH LÝ QUAN TRỌNG 1.1.1 Định lý Euler 1.1.2 Định lý Fermat (hệ định lý Euler) 1.1.3 Định lý đồng dƣ Trung Quốc 1.1.4 Định lý Bezout 1.2 MỘT SỐ THUẬT TOÁN 1.2.1 Thuật toán Euclidean 1.2.2 Thuật toán Euclidean mở rộng 10 1.2.3 Thuật tốn bình phƣơng nhân 11 1.2.4 Thuật toán xác suất kiểm tra số nguyên tố 12 1/ Thuật toán Miller – Rabin 12 1.3 KHÁI NIỆM ENTROPY 13 1.3.1 Định nghĩa Entropy 13 1.3.2 Tính chất Entropy 14 Chương 2: PHƢƠNG PHÁP MÃ HOÁ 15 2.1 CÁC KHÁI NIỆM CƠ BẢN 15 2.1.1 Hệ mã hoá khoá đối xứng 16 2.1.2 Hệ mã hoá khoá phi đối xứng 16 2.1.3 Hệ mã hoá RSA 17 2.1.3.1 Lịch sử hình thành hệ mã hố RSA 17 2.1.3.2 Hệ mã hoá RSA 17 2.1.3.3 Định nghĩa hệ mã hoá RSA 18 2.2 CÁC CHUẨN KỸ THUẬT TRONG PKCS 19 2.2.1 Tổng quan PKCS PKCS#1 v2.1 19 2.2.1.1 PKCS 19 2.2.1.2 PKCS#1 v2.1 19 2.2.2 Các ký hiệu PKCS#1 v2.1 20 2.2.3 Các kiểu khóa 21 2.2.3.1 Khóa cơng khai RSA 22 2.2.3.2 Khóa bí mật RSA 22 2.2.4 Cơ sở chuyển đổi liệu I2OSP OS2IP 23 2.2.4.1 Chuyển đổi liệu I2OSP 24 2.2.4.2 Chuyển đổi liệu OS2IP 24 2.2.5 Cơ sở hệ mật mã 25 2.2.5.1 Cơ sở hệ mã hóa RSAEP 25 2.2.5.2 Cơ sở hệ mã hóa – RSADP 26 2.2.6 Lƣợc mã hóa 28 2.2.6.1 Tổng quan lược đồ mã hóa 28 2.2.6.2 Các kỹ thuật hỗ trợ 28 2.2.6.3 Lược đồ RSAES – OAEP 29 2.2.7 Ý nghĩa việc áp dụng EME - OAEP trƣớc mã hóa RSA 34 2.2.8 Vấn đề sinh khóa RSA 35 2.3 CHUẨN MÃ HÓA DỮ LIỆU TIÊN TIẾN – AES 37 TIEU LUAN MOI download : skknchat@gmail.com 2.3.1 Mục đích nghiên cứu chuẩn AES 37 2.3.2 Tổng quan 38 2.3.3 Các khái niệm sở 38 2.3.3.1 Input, Output, Key 38 2.3.3.2 Byte 38 2.3.3.3 Ma trận trạng thái (State Matrix) 39 2.3.3.4 Hộp thay S – Box InvS – Box 40 2.3.4 Đặc tả thuật toán 41 2.3.4.1 Sinh khóa 41 2.3.4.2 Hoạt động mã hóa 42 2.3.4.3 Hoạt động giải mã 43 Chương 3: PHƢƠNG PHÁP NÉN DỮ LIỆU 44 3.1 TỔNG QUAN VỀ NÉN DỮ LIỆU 44 3.1.1 Mã nén liệu 44 3.1.1.1 Nén liệu, bít trung bình 44 3.1.1.2 Mã tổng mã phân tách 46 3.1.2 Định lý Shannon 47 3.2 MƠ HÌNH THỐNG KÊ 51 3.2.1 Mơ hình thống kê tĩnh 51 3.2.2 Mơ hình thống kê động 51 3.2.3 Một số mã nén 52 3.2.3.2 Mã Huffman 57 3.2.3.3 Lưu đồ giải mã Fanon, Shannon, Huffman 60 3.3 MƠ HÌNH TỪ ĐIỂN 62 3.3.1 Giới thiệu 62 3.3.2 Kỹ thuật từ điển 62 3.3.2.1 Nguyên lý LZ 62 3.3.2.2 Các thuật toán nén LZ 66 Chương 4: PHỐI HỢP HAI PHƢƠNG PHÁP NÉN VÀ MÃ HỐ THƠNG TIN 80 4.1 MƠ HÌNH PHỐI HỢP HAI PHƢƠNG PHÁP NÉN VÀ MÃ HỐ THƠNG TIN 80 4.1.1 Về khơng gian lƣu trữ 80 4.1.2 Vấn đề an ninh 81 4.1.3 Vấn đề thời gian xử lý liệu 82 4.2 Mơ hình phối hợp hai phƣơng pháp nén mã hoá liệu 82 4.3 CHƢƠNG TRÌNH THỬ NGHIỆM 86 4.3.1 Mô tả chung 86 4.3.2 Ý tƣởng cài đặt 86 4.3.2.1 Ngôn ngữ lập trình 86 4.3.2.2 Cấu trúc chƣơng trình 87 4.3.3 Thực 92 4.3.4 Đánh giá 94 KẾT LUẬN 98 TÀI LIỆU THAM KHẢO 99 TIEU LUAN MOI download : skknchat@gmail.com DANH MỤC CÁC BẢNG STT Tên bảng Trang Bảng 2.1: Thay dãy bit sang số 16 40 Bảng 2.2: Ma trận trạng thái khởi đầu 40 Bảng 3.1: Ví dụ mã nén Shannon 57 Bảng 3.2: Mã hố kí tự xâu “go go gophers” theo mã Huffman 60 Bảng 3.3: Giải mã mã “00111010000” theo lƣu đồ giải mã Hình 3.8 62 Bảng 3.4: Quá trình nén xâu “bcabbcbccbababc” theo thuật tốn LZ77 68 Bảng 3.5: Q trình giải nén theo thuật tốn LZ77bản mã bca[3,1,b][4,1,b][2,1,c][3,1a][2,2,b][5,1,””] 68 Bảng 3.6: Quá trình nén xâu “ aaabbabaabaaabab” thuật toán LZ78 72 Bảng 3.7: Q trình nén thuật tốn LZ78 mã “(0,a)(1,a)(0,b)(3,a)(4,a)(5,a)(4,b)” 73 10 Bảng 3.8: Quá trình nén xâu “aabababaaababb” thuật tốn LZW 79 11 Bảng 3.9: Q trình giải nén mã “001352411” theo thuật toán LZW 80 12 Bảng 4.2: Bảng kết thử nghiệm đánh giá mặt hiệu nén 96 13 Bảng 4.2: Bảng kết thử nghiệm đánh giá mặt thời gian 97 TIEU LUAN MOI download : skknchat@gmail.com STT DANH MỤC CÁC HÌNH VẼ Tên bảng Hình 2.1: Nguy bị công truyền thông tin mạng máy tính Trang 16 17 18 Hình 2.2: Mơ hình truyền thơng sử dụng hệ mã hố khố đối xứng [12] Hình 2.3: Mơ hình truyền thơng sử dụng hệ mã hố khố cơng khai [12] Hình 2.4: Sơ đồ mã hố EME – OAEP [13] Hình 2.5: Tóm lƣợc quy trình xử lý RSAES – OAEP - ENCRYPT 10 Hình 2.6: Tóm lƣợc quy trình xử lý RSAES – OAEP – DECRYPT Hình 2.7: Sơ đồ kết hợp RSA AES Hình 2.8: Hộp S –Box sử dụng q trình mã hố AES [14] Hình 2.9: Hộp InvS –Box sử dụng trình mã hố AES [14] Hình 3.1: Q trình nén liệu 35 11 12 Hình 3.2: Văn tổng Hình 3.3: Mã tổng 47 13 Hình 3.4: Mã hố theo mơ hình thống kê động 47 52 14 Hình 3.5: Giải mã hố theo mơ hình thống kê động 53 15 Hình 3.6: Quá trình tạo mã Fanno 16 Hình 3.7: Xây dựng mã Huffman 59 17 Hình 3.8: Lƣu đồ giải mã Fanon, Shanon, Huffman 61 18 Hình 3.9: Lƣợng tin 64 19 Hình 3.10: Quá trình thực nén bằn mã LZ 66 20 Hình 3.11: Sơ đồ nén LZ78 70 21 Hình 3.12: Sơ đồ giải nén thuật tốn LZ78 71 22 Hình 3.13: Sơ đồ nén liệu thuật tốn LZW 75 23 Hình 3.14: Sơ đồ giải nén liệu thuật toán LZW 78 24 Hình 4.1: Luồng xử lý nén mã hố 82 25 Hình 4.2: Mơ hình phối hợp hai phƣơng pháp nén mã hố thơng tin 83 26 Hình 4.3: Nội dung tệp rõ 84 27 Hình 4.4: Nén tệp phƣơng pháp LZW 84 28 Hình 4.5: Mã hoá tệp nén LZW 85 29 Hình 4.6: Mã hố tệp rõ AES 85 30 HHình 4.7: Nén tệp tin sau mã hoá AES 32 33 38 41 41 45 86 TIEU LUAN MOI download : skknchat@gmail.com LỜI MỞ ĐẦU Q trình lƣu trữ truyền tải thơng tin ln ln có yếu tổ đƣợc quan tâm hàng đầu là: tính an tồn bảo mật kích thƣớc tệp tin Đã có nhiều phần mềm, chƣơng trình đƣợc viết để giải hai vấn đề đƣợc đặt Tuy nhiên phần mềm phần lớn quan tâm tới hai yếu tố nén liệu Winzar, Winzip, 7Zip… mã hoá nhƣ: Enterprise, TrueCrypt… nhiên nén liệu kích thƣớc tệp tin đƣợc giảm nhƣng lại khơng bảo đảm tính an tồn thơng tin Ngƣợc lại mã hố đảm bảo tính an tồn nhƣng không giải đƣợc vấn đề giảm dung lƣợng lƣu trữ mã hoá tệp tin lớn tốn nhiều thời gian băng thông để truyền tải tăng theo Trong phối hợp hai trình đem lại nhiều lợi ích: giảm dung lƣợng lƣu trữ, giảm băng thông truyền tải, giảm thời gian mã hố, tăng tính bảo mật cho tệp tin so với tệp tin mã hoá đơn Từ ý nghĩa thực tiễn quan trọng nêu động lực để nghiên cứu đề tài: “Nghiên cứu phối hợp hai phƣơng pháp nén mã hố thơng tin” Trong luận văn đề xuất mơ hình giải pháp phối hợp hai phƣơng pháp nén mã hố thơng tin: sử dụng thuật tốn nén để nén liệu sau dùng phƣơng pháp mã hố đối xứng để mã hoá tệp tin sau, cuối dùng mã khoá khoá bất đối xứng RSA để mã hố khố chung AES Luận văn đƣợc trình bày theo cấu trúc sau: - - Chƣơng 1: trình bày sở toán học đƣợc sử dụng trình nén mã hố thơng tin gồm: khái niệm, định lý, định nghĩa số thuật tốn Chƣơng 2: trình bày thuật tốn mã hố: AES, RSA kỹ thuật có liên quan đƣợc sử dụng q trình mã hố Chƣơng 3: trình bày phƣơng pháp nén: Fanno, Shanon, Huffman, Lzw… Chƣơng 4: trình bày hƣớng nghiên cứu phối hợp phƣơng pháp nén mã hoá thông tin Giải pháp thực đánh giá mô hình nghiên cứu Ngồi cịn trình bày q trình cài đặt chƣơng trình thử nghiệm mơ hình phối hợp ngơn ngữ lập trình C#.Net Học viên: Nguyễn Quý Hào TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin LỜI CẢM ƠN Tôi xin chân thành cảm ơn PGS.TS Trịnh Nhật Tiến, thầy trực tiếp hƣớng dẫn, giúp đỡ tơi từ lúc nhận đề tài đến lúc hồn thành luận văn tốt nghiệp Tôi xin chân thành cảm ơn tất thầy cô giáo khoa Công nghệ thông tin - Trƣờng ĐH Công Nghệ - ĐH Quốc Gia Hà Nội, ngƣời nhiệt tình giảng dạy, truyền đạt kiến thức suốt thời gian tơi học tập trƣờng nhƣ đóng góp ý kiến quý báu, định hƣớng chuẩn mực giúp tơi hồn thành luận văn Cuối tơi xin cảm ơn tất bạn lớp góp ý, trao đổi hỗ trợ cho tơi suốt thời gian vừa qua Tôi xin chân thành cảm ơn! Học viên: Nguyễn Quý Hào (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin Chương 1: MỘT SỐ KHÁI NIỆM CƠ BẢN 1.1 CÁC ĐỊNH LÝ QUAN TRỌNG 1.1.1 Định lý Euler Định lý: Cho a Z, m N, m > Nếu UCLN (a, m) = a (m) (mod m) 1.1.2 Định lý Fermat (hệ định lý Euler) Định lý: Cho a Z k số nguyên tố ak Nếu UCLN(a, k) = ak-1 a (mod k) (mod k) 1.1.3 Định lý đồng dƣ Trung Quốc Định lý: Cho m1, m2, …, mr số nguyên tố đôi nghĩa UCLN(m1, m2) = i, j = 1, 2, …, r ; i ≠ j Giả sử a1, a2, … ar Z hệ phƣơng trình đồng dƣ x a1 (modm1 ) x a (modm ) x a r (modm r ) Có nghiệm theo modulo M = m1m2, … mr x = r M i y i i Mi = M yi = Mi-1 mod mi mi Ví dụ: Tìm nghiệm đồng dƣ hệ phƣơng trình đồng dƣ: x 3(mod 2) x 6(mod 3) x 8(mod 7) Giải: M = x x = 42 M1 =3 x = 21; M2 = x = 14; M3 = x = y1 = 21-1 mod = 1; y2 = 14-1 mod = 2; y3 = 6-1 mod = x = x 21 x + x 14 x + x x =519 mod 42 = 15 (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin 1.1.4 Định lý Bezout Định lý: Cho a, b N, a > b + Tồn x, y 1; ta có: Z cho ax + by = UCLN(a, b) + Nếu a, b nguyên tố tồn x,y Z | ax + by = + a, b nguyên tố chi tồn x, y 1.2 Z | ax + by = MỘT SỐ THUẬT TOÁN 1.2.1 Thuật toán Euclidean Cơ sở số học thuật toán: Cho a, b, d Z, d ≠ a d b d a mod b d Nội dung thuật toán: INPUT: r0, r1 N, r0 > r1 OUPUT: d = UCLN(r0, r1) Thuật toán: Bƣớc 1: Nếu r1 = trả d := r0, kết thúc thuật toán Nếu r1 ≠ chuyển sang bƣớc Bƣớc 2: r := r0 mod r1; r0 := r1; r1 = r; quay lại bƣớc (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin 10 1.2.2 Thuật toán Euclidean mở rộng Cơ sở số học thuật tốn: thuật tốn Euclidean tìm UCNL hai số 0, ta thấy thuật tốn q trình thực chuỗi phép chia lấy phần dƣ nguyên r0 > r1 dễ dàng ta thấy UCLN(r0, r1) = UCLN(r1, r2) = UCLN(r2, r3) = … = UCLN(rm-1, rm) Với r2 = r0 mod r1 r3 = r1 mod r2 … Dựa thuật toán Euclidean ngƣời ta mở rộng thuật tốn để tính đƣợc số nghịch đảo theo modulo m vành Zm Xét dãy số nguyên t0, t1, … tm nhƣ sau: t0 = t1 = tj = (tj-2 – qj-1tj-1) mod r0, với j Ta có kết quan trọng sau: Định lý: Với j, j ta có rj tjr1 (mod r0) Nội dung thuật toán: INPUT: n, b N (n> b 0) OUTPUT: t = b-1 mod n Giả mã thuật toán: n0 = n b0 = b t0 = t = q = n0 div b0 r = n0 – qb0 while r > 7.1 temp = t0 – qt 7.2 if temp then temp = temp mod n (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin 85 - Sau áp dụng thuật tốn mã hố LZW tệp code.dat ta có tệp tin Compress.dat nhƣ sau Hình 4.7: Nén tệp sau mã hố AES - Qua ví dụ cho thấy tệp tin compress.dat nén trƣớc mã hoá nhỏ nhiều so với tệp tin compress.dat nén sau mã hoá (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin 86 4.3 CHƢƠNG TRÌNH THỬ NGHIỆM 4.3.1 Mơ tả chung Theo Hình 4.2 để gửi file nén mã hoá ngƣời dùng cần phải gửi kèm theo file mã khoá AES đƣợc sử dụng để mã hoá tệp tin nén Khi ngƣời nhận tệp tin nén cần: - Dùng khố bí mật RSA để giải mã khố AES nhận đƣợc - Dùng khoá AES để giải mã tệp tin nén - Giải nén tệp tin - Ý tƣởng cài đặt chƣơng trình cho qui trình nhƣ sau: Khi mã hố, chƣơng trình nhận file rõ, khố AES khoá RSA tham số đầu vào, khoá AES sau đƣợc mã hoá thuật toán RSA đƣợc lƣu tệp, tệp tin nén sau mã hoá đƣợc lƣu tệp (tệp cuối) Giải mã, chƣơng trình nhận mã khố AES, khố bí mật RSA tệp nén làm tham số đầu vào, chƣơng trình đọc mã khố AES giải mã để lấy khố, sau khố đƣợc sử dụng để giải mã tệp cuối Tệp sau giải mã đƣợc giải nén để có tệp tin ban đầu 4.3.2 Ý tƣởng cài đặt 4.3.2.1 Ngơn ngữ lập trình Ngơn ngữ lập trình C# ngơn ngữ lập trình hƣớng đối tƣợng đại, mạnh mẽ mềm dẻo Là ngơn ngữ lập trình đƣợc Microsoft phát triển tảng hai ngôn ngữ lập trình C C++ mà mang sức mạnh C++ nhƣng lại đƣợc cho dễ dàng sử dụng nhƣ Visual Basic C# ngô ngữ hƣớng Module Mã nguồn C# đƣợc viết phần đƣợc gọi lớp, lớp chứa phƣơng thức thành viên Những lớp phƣơng thức đƣợc sử dụng lại ứng dụng hay chƣơng trình khác Bằng cách truyền mẫu thông tin đếnnhững lớp hay phƣơng thức tạo mã nguồn dùng lại có hiệu Cũng nhƣ ngơn ngữ khác hệ thống Visual Studio.Net C#.Net đƣợc hỗ trợ mạnh hệ thống thƣ viện đồ sộ NetFrameWork Microsoft Đây lý C# đƣợc lựa chọn để cài đặt chƣơng trình Demo cho luận văn (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin 87 4.3.2.2 Cấu trúc chƣơng trình Chƣơng trình cho phép nén, mã hoá nhiều loại file khác nhau: văn (.doc, xls, pptt, txt…), ảnh (bitmap, Jpg…), file video… Các loại file khác có định dạng cấu trúc file khác q trình giãi mã giải nén việc giữ nguyên nội dung file gốc phải đảm bảo mặt định dạng cấu trúc file ban đầu Xây dựng lớp ConvertStringTobyte.cs gồm phƣơng thức: - readfileTostring: Đọc tệp có định dạng tuỳ ý trả xâu ký tự Đọc file theo bit, chuyển dãy bit thành dãy số nguyên sau chuyển số nguyên thành ký tự ghép thành xâu - Createfile: Từ xâu ký tự ghi thành tệp gốc (giữ nguyên nội dung cấu trúc) Chuyển ký tự xâu thành số nguyên, đổi số nguyên thành bit sau ghi tệp theo bit - Ghi file text: + Input: xâu ký tự, đƣờng dẫn + Output: tệp văn Nén liệu phƣơng pháp LZW (Lempel - Zip - Welch) – Xây dựng lớp LZW.cs a Nén liệu: Input: đƣờng dẫn tệp tin cần nén Output: Tệp tin nén (với tên: tên file gốc + phần mở rộng lzw) Tệp tin nén đƣợc đặt thƣ mục với tệp tin gốc Trong trình nén sử dụng bảng băm để lƣu từ điển nén theo thuật tốn LZW trình bày phần 3.3.2.2 mục b Giải nén liệu: + Input: đƣờng dẫn tệp cần tin nén; + Output: tệp tin giải nén (có tên: tên tập tin ban đầu) Tệp tin giải nén đƣợc đặt thƣ mục với tệp tin nén Quá trình giải nén sử dụng từ điển đƣợc xây dựng dần từ văn xét Từ điển đƣợc lƣu trữ bảng băm Tuy nhiên từ điển lớn, số thứ tự từ mã sau lớn, để lƣu trữ từ mã cần số bit nhiều để lƣu trữ thân từ mã Mặt khác từ mã có số thứ tự lớn lại xuất nhiều (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin 88 lần nén điều ảnh hƣởng nhiều đến hiệu nén Để khắc phục nhƣợc điểm dựa vào ý tƣởng phƣơng pháp nén theo mơ hình thống kê, từ xuất nhiều lần đƣợc mã hoá từ mã ngắn Nhƣ sau xây dựng từ điển mã cần thêm công đoạn kiểm tra lại mã thống kê số lần lặp lại từ mã sau đánh lại số thứ tự từ điển đồng thời thay từ mã nén Trƣớc thay đổi mã từ điển cần sử dụng mảng để lƣu lại ánh xạ thay đổi từ mã cũ từ mã Q trình giải nén kí tự không đƣợc ghi tệp tin giải nén mà chuỗi ký tự đƣợc lƣu thành xâu, xâu ký tự đƣợc chuyển dạng bit để ghi tệp theo cấu trúc ban đầu Nén phƣơng pháp GZIP – Xây dựng lớp: Gzip.cs - Sử dụng thƣ viện có sẵn C#.Net: System.Io.Compression - Sử dụng lớp có sẵn thƣ viện: Gzipstream gồm hai phƣơng thức CompressMode DecompressMode - Phƣơng thức Compress + Input: đƣờng dẫn tệp tin cần nén; đƣờng dẫn tệp tin sau nén + Output: tệp tin nén (tên file nén = tên tệp ban đầu + phần mở rộng gzip) void Compress(String input, String output) fileOutput = new FileStream(output, FileMode.Create, FileAccess.Write); gzipStream = new GZipStream(fileOutput, CompressionMode.Compress, true); fileInput = new FileStream(input, FileMode.Open, FileAccess.Read, FileShare.Read); buffer = new byte[fileInput.Length]; gzipStream.Write(buffer, 0, buffer.Length); - Nhƣ trình bày phần mở đầu 4.3.2.2 nội dung tệp tin nén đƣợc chuyển thành mảng số nguyên (byte) trƣớc áp dụng giải thuật nén - Tệp tin nén đƣợc đặt thƣ mục với tệp tin ban đầu - Phƣơng thức Decompress + Input: đƣờng tệp tin nén, đƣờng dẫn tệp tin giải nén + Output: tệp tin nén fileInput = new FileStream(input, FileMode.Open, FileAccess.Read); fileOutput = new FileStream(output, FileMode.Create, FileAccess.Write); gzipStream = new GZipStream(fileInput, CompressionMode.Decompress, true); fileOutput.Write(buffer, 0, count); (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin 89 Huffman – xây dựng hai lớp: HuffmanTree.cs Node.cs a Lớp HuffmanTree.cs Phƣơng thức: Build (string) Trong phƣơng thức sử dụng kiểu từ điển để lƣu trữ kí tự có xâu với số lần xuất kí tự xâu Xây dựng từ danh sách kí từ vừa lƣu trữ từ điển Xây dựng nhị phân đầy đủ từ Phƣơng thức: BitArray Encode (string); Mã hoá xâu kí tự trả dãy bít nhị phân, phƣơng thức có gọi dến phƣơng thức Traverse(char symbol, List data) lớp Node Để thu đƣợc mã cần đổi dãy bit xâu kí tự ghi lại vào file nén Phƣơng thức String Decode (BitArray); Từ dãy bit giải mã xâu kí tự sử dụng nhị phân xây dựng b Node.cs Gồm có thuộc tính: char Symbol: ký tự node int Frequency: trọng số node Node Right: trái Node Left: phải Phƣơng thức: Traverse(char symbol, List data): trả dãy bit để mã hoá ký tự symbol Trong phƣơng thức có sử dụng kỹ thuật đệ qui để tìm dãy bit mã hố kí tự cần tìm: if (Left != null) List leftPath = new List(); leftPath.AddRange(data); leftPath.Add(false); left = Left.Traverse(symbol, leftPath); if (Right != null) List rightPath = new List(); rightPath.AddRange(data); rightPath.Add(true); right = Right.Traverse(symbol, rightPath); (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin 90 Mã hoá tệp tin (AES Encryption) - Thuật toán mã hoá AES đƣợc đặt lớp AES.cs - Trong C# Net có thƣ viện System.Security.Cryptography; hỗ trợ mã hoá tệp tin thuật toán AES a Mã hoá - thủ tục Encrypt Input: rõ, khoá AES, (độ dài khoá) Output: mã Để chuyển chuỗi thành dãy byte để phù hợp với phép mật hóa đối xứng sử dụng phƣơng thức PasswordDeriveBytes Có nhiều cách để chuyển chuỗi thành dãy byte kỹ thuật khác, nhiên, cách tiếp cận khơng đủ bảo mật Ví dụ, hầu hết password tƣơng đối ngắn sử dụng có giới hạn ký tự (chữ số) Điều làm giảm sức mạnh khóa đƣợc sinh Tuy nhiên, bạn sử dụng giá trị chuỗi làm seed cho sinh số ngẫu nhiên, việc sinh dãy byte với độ bảo mật cao sử dụng làm khóa Khi tạo đối tƣợng PasswordDeriveBytes, cần cung cấp password giá trị salt cho hàm khởi dựng Salt dãy ngẫu nhiên byte Nó đƣợc kết hợp với password sinh khóa Nếu sử dụng giá trị salt khác 0, bạn chống chọi với kiểu cơng từ điển (dictionary attack), kẻ cơng truy tìm khóa cho từ từ điển cố sử dụng danh sách khóa đƣợc-tạo-trƣớc để giải mật hóa liệu Vấn đề chỗ kẻ cơng sinh danh sách khóa với giả định khơng có giá trị salt Khi sử dụng giá trị salt, kẻ công cần phải tìm tạo danh sách khóa Q trình mã hố gồm bƣớc: Tạo khố hợp lệ cho q trình mã hố: PasswordDeriveBytes pdb = new PasswordDeriveBytes(Password, new byte[] {0x00, 0x01, 0x02, 0x1C, 0x1D, 0x1E, 0x03, 0x04, 0x05, 0x0F, 0x20, 0x21, 0xAD, 0xAF, 0xA4}); Chuyển văn mã hoá dãy byte byte[] clearBytes = System.Text.Encoding.Unicode.GetBytes(Data); Mã hoá dãy byte với cặp khoá hợp lệ vừa tạo trả xâu ký tự byte[] encryptedData = Encrypt(clearBytes, pdb.GetBytes(16), pdb.GetBytes(16)); return Convert.ToBase64String(encryptedData); (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin 91 b Giải mã - thủ tục Desecrypt - Quá trình giải mã gồm bƣớc - Tạo khố hợp lệ cho q trình giải mã: PasswordDeriveBytes pdb = new PasswordDeriveBytes(Password, new byte[] {0x00, 0x01, 0x02, 0x1C, 0x1D, 0x1E, 0x03, 0x04, 0x05, 0x0F, 0x20, 0x21, 0xAD, 0xAF, 0xA4}); - Chuyển văn mã hoá dãy byte byte[] cipherBytes = Convert.FromBase64String(Data); - Giải mã dãy byte với cặp khoá hợp lệ vừa tạo trả xâu ký tự byte[] decryptedData = Decrypt(cipherBytes, pdb.GetBytes(16), pdb.GetBytes(16)) return System.Text.Encoding.Unicode.GetString(decryptedData); Mã hố khố cơng khai RSA - Sử dụng thƣ viện System.Security.Cryptography; C#.Net Trong thƣ viện sử dụng lớp RSACryptoServiceProvider: - Tạo khố bí mật RSA RSAProvider.ToXmlString(true) - Tạo khố cơng khai RSA RSAProvider.ToXmlString(false) - Đọc khố cơng khai từ tệp Xml: rsaCryptoServiceProvider.FromXmlString( xmlString ) - Đọc khố bí mật từ tệp xml rsaCryptoServiceProvider.FromXmlString( xmlString ) - Mã hoá khối liệu với đầu vào dãy byte trả dãy byte tƣơng ứng, sau dãy byte đƣợc chuyển xâu kí tự mã byte[] encryptedBytes = rsaCryptoServiceProvider.Encrypt( tempBytes, true) stringBuilder.Append( Convert.ToBase64String( encryptedBytes ) ) - Giải mã từng khối liệu với đầu vào dãy byte trả dãy byte tƣơng ứng sau dãy byte đƣợc chuyển thành xâu kí tự rõ arrayList.AddRange( rsaCryptoServiceProvider.Decrypt( encryptedBytes, true ) ); return Encoding.UTF32.GetString_ ( arrayList.ToArray( Type.GetType( "System.Byte" ) ) as byte[] ); (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin 92 4.3.3 Thực Hình 4.8: Giao diện chương trình thử nghiệm Nén tệp tin - Nhập khoá AES Aes Input - Chọn thuật toán nén tron - Nhấp nút Open file để mở tệp cần nén - Chọn Compress Only để thực nén liệu, tệp tin nén đƣợc lƣu thƣ mục với tệp tin ban đầu với phần mở rộng lzw, huf, gzip ứng với thuật toán Giải nén - Chọn Extract Only, sau chọn tệp tin hộp thoại chọn tệp tin giải nén, tệp tin giải nén đƣợc đặt thƣ mục với tệp tin nén Mã hoá tệp tin - Nhập khoá AES AES Key Input - Nếu mã hố mà khơng nén, sau mở tệp tin ngƣời dùng chọn AES Encode, mã đƣợc đặt thƣ mục với rõ Giải mã tệp tin - Chọn độ dài khoá Modulus Size - Chọn hàm băm OAEP - Chọn RSA Descryption, chọn mã khoá Aes, hệ thống u cầu chọn khố bí mật RSA để giải mã Khoá AES sau đƣợc giải mã tự động điền vào AES Key Input - Nếu muốn giải mã tệp tin mã hoá ngƣời dùng nhấp AES Descode, chọn tệp tin cần giải mã, tệp tin cần giải mã đƣợc đặt thƣ mục với mã (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin 93 Mã khoá AES hệ mã hoá RSA a Sinh khoá: - Chọn độ dài cho khoá bảng băm thích hợp sau nhấp Generate RSA KeyPair để sinh khố, sau chọn đƣờng dẫn để lƣu khố cơng khai (phần mở rộng kez) khố bí mật (phần mở rộng pke) b Mã hoá RSA - Nhập khoá AES (AES Key Input) - Chọn AES Encryption, chọn tệp khố cơng khai RSA (.pke) c Giải mã RSA - Chọn AES Descryption, chọn mã khoá AES, chọn khố bí mật RSA (.kez) Nén mã hoá a Nén tin - Chọn phƣơng pháp nén - Chọn Open file để mở tệp tin - Nhập khoá AES - Chọn COMPRESS Tệp tin nén đƣợc đặt thƣ mục với tệp tin ban đầu với phần mở rộng (.ael, aeh, aeg) tƣơng ứng với thuật toán nén chọn c Giải nén - Nhập khoá AES hợp lệ - Chọn EXTRACT, chọn tệp tin cần giải nén - Tệp tin giải nén đƣợc đặt thƣ mục với tệp tin nén (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin 94 4.3.4 Đánh giá a Một số kết thực chƣơng trình - Mục tiêu: + Thử nghiệm chức thực chƣơng trình + So sánh hiệu nén thuật tốn nén kích thƣớc tệp vừa nén, vừa mã hoá với tệp tin mã hoá mã hoá trƣớc nén sau + Đánh giá mặt thời gian thực thuật tốn Chƣơng trình sau chạy thử với số loại liệu cho kết nhƣ sau - Loại tệp: tệp wordocument (Luanvan.doc) dung lƣợng: 1505 KB STT Chƣơng trình Dung lƣợng sau thực Tỉ lệ LZW 1251 KB 16.9 % Huff 1332 KB 11.5 % Gzip 966 KB 35.8 % Lzw + AES 1776 KB -10.8 % Huff + AES 1668 KB -18 % Gzip + AES 1288 KB 14.4 % AES 2007 KB -33.4 % GPG 849 KB 43.6 % - Loại tệp: textdocument (README.txt) Dung lƣợng sau dung lƣợng: 18 KB STT Chƣơng trình LZW 12 KB 33.3 % Huff 13 KB 27.8 % Gzip KB 61.1 % Lzw + AES 16 KB 11.1 % Huff + AES 17 KB 5.6 % Gzip + AES KB 50 % AES 24 KB -33.3 % GPG 7KB 61.1 % thực Tỉ lệ (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin 95 - Loại tệp: xml Document (Microsoft.Data.xml) Dung lƣợng sau dung lƣợng: 1488 KB STT Chƣơng trình LZW 193 KB 87 % Huff 920 KB 38.2 % Gzip 110 KB 92.6 % Lzw + AES 147 KB 90.1 % Huff + AES 258 KB 82.7 % Gzip + AES 1227 KB 17.5 % AES 1957 KB -31.5 % GPG 134 KB 91 % thực - Loại tệp: JPG (Picture.JPG) Tỉ lệ dung lƣợng: 3656KB STT Chƣơng trình Dung lƣợng sau thực Tỉ lệ LZW 3958 KB -0.1 % Huff 3655 KB 0% Gzip 3659 KB -8.3 % GPG 3656 KB 0% Winzar 3656 KB 0% Bảng 4.1: Bảng kết thử nghiệm đánh giá hiệu nén Về mặt thời gian sau chạy 20 lần với tệp Giaoan.doc dung lƣợng 2346 KB, tệp Picture 3656 KB, tệp AVSQ1.Dat dung lƣợng 50093 KB Chƣơng trình cho kết mặt thời gian nhƣ sau (sử dụng biết StopWacth C# Net nên đánh giá mặt thời gian kết tƣơng đổi) (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin 96 + Đơn vị do: giây STT Chƣơng trình Giaoan.doc Picture.JPG LZW 2.83 – 2.97 4.57 – 4.76 Huff 1.53 – 1.74 2.43 – 51 Gzip 0.13 – 0.17 0.25 – 0.27 Lzw + AES 2.92 – 3.07 2.12 – 2.21 Huff + AES 1.83 – 1.94 2.73 – 2.78 Gzip + AES 0.32 – 0.39 0.58 – 0.63 AES 0.16 – 0.21 0.12 – 0.18 AES – LZW file 0.14 – 0.19 0.09 – 0.11 AES – GZIP file 0.14 – 0.19 0.08 – 0.13 AVSEQ1.Dat 7.83 – 7.99 2.23 – 2.31 1.09 – 1.13 Bảng 4.2: Bảng kết thử nghiệm đánh giá mặt thời gian b Đánh giá Bảng kết cho thấy, hiệu nén thuật toán phụ thuộc vào nhiều yếu tố: loại tệp tin, nội dung loại tệp tin… Với tệp văn Huffman không hiệu LZW, Gzip, nhiên với tệp hình ảnh cho thấy Huffman có hiệu so với LZW, Gzip Ngồi ra, hiệu nén cịn phụ thuộc vào hiệu cách xây dựng từ điển cấu trúc liệu sử dụng để cài đặt chƣơng trình, định dạng tệp, kích thƣớc, độ lặp liệu, kiểu file lƣu trữ… Trong q trình nén phối hợp đƣợc phƣơng pháp nén khác hiệu nén thay đổi đáng kể Ví dụ: tệp văn có hình vẽ, phần văn thực phƣơng pháp nén nhƣ Gzip, Lzw, … cịn phần hình vẽ sử dụng thuật toán nhƣ Rung – Length – Encoding Theo bảng kết 4.1 file nén sau mã hố có dung lƣợng lớn sau file mã hố, đến file nén sau mã hố file nén Bảng kết khẳng định thêm cho nhận định nén sau mã hố có hiệu tốt mặt kích thƣớc tệp tin Dung lƣợng tệp mã hoá lớn nhiều so với tệp tin ban đầu yếu tố quan trọng đƣợc đề cập đến không gian lƣu trữ phát triển không đáp ứng đƣợc yêu cầu lƣu trữ (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin 97 So với chƣơng trình nén thơng dụng hiệu nén chƣơng trình thử nghiệm chƣa cao, nhiên sở hƣớng nghiên cứu phối hợp phƣơng pháp nén lần nén, nghiên cứu kỹ thuật xây dựng từ điển sở đoán nhận nghĩa cụm từ, câu hiệu nén đƣợc nâng cao Về mặt thời gian, tốc độ thự thuật tốn cịn phụ thuộc trình cài đặt , bƣớc chuyển đổi liệu bảng kết mang tính chất tham khảo nhiên cho thấy thực nén xong sau mã hố tiết kiệm thời gian so với việc mã hoá ban tin ban đầu Thử nghiệm chƣa thực đƣợc với nhiều loại file khác kích thƣớc tệp tin lớn nên chƣa thực làm rõ đƣợc kết qua mong đợi để so sánh mặt thời gian c Các nghiên cứu có liên quan Đã có nghiên cứu phối hợp phƣơng pháp nén mã hố thơng tin nhƣ GPG, PGP Các ứng dụng PGP bao gồm: thƣ điện tử, chữ ký số, mật mã hóa ổ đĩa cứng máy tính xách tay, bảo mật tệp thƣ mục, bảo mật phiên trao đổi IM, mật mã hóa luồng chuyển tệp, bảo vệ tệp thƣ mục lƣu trữ máy chủ Trong chƣơng trình GPG có phối hợp hai q trình nén mã hố thơng tin Trong đó, nhƣ nghiên cứu trình bày luận văn GPG sử dụng hệ thống mã hoá bất đối xứng để quản lý, phân phối khoá chung Một điểm mạnh GPG cho phép quản lý, phân phối thu hồi khố thơng qua server, cho phép lƣu khoá mail riêng ngƣời dùng Q trình nén mã hố đƣợc thực tự động, ngƣời dùng cần lựa chọn trình khố phù hợp Hiện nghiên cứu phát triển GPG đƣợc giới CNTT quan tâm, hƣớng nghiên cứu tiềm khả thi Và định hƣớng phát triển cho nghiên cứu đề tài luận văn thực (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin 98 KẾT LUẬN Luận văn có kết sau: 1) Nghiên cứu tài liệu để hệ thống lại vấn đề sau: Về nén liệu: - Trình bày kiến thức mã nén - Trình bày hai mơ hình nén liệu không tổn hao mã nén hai mơ hình (Fanno, Shanon, Huffman, LZ78, LZW) Về mã hố liệu: - Trình bày chuẩn mã hố AES - Trình bày sở lý thuyết số học thuật toán quan trọng mã hoá RSA - Trình bày chuẩn kỹ thuật PKCS#1 v2.1 Đề xuất giải pháp phối hợp trình nén mã hố tệp tin, phân tích q trình thực nghiệm giải pháp 2) Chƣơng trình thử nghiệm - Sử dụng ngơn ngữ lập trình C#.Net để cài đặt chƣơng trình gồm: - Nén tập tin thuật toán: LZW, Huffman, Gzip - Mã hoá tập tin nén chuẩn mã hoá AES - Sử dụng mã hoá RSA chuẩn PKCS #1 bảo vệ khoá chuẩn mã hoá AES 3) Hƣớng phát triển - Phát triển chƣơng trình cho phép tích hợp ứng dụng, cho phép quản lý phân phối khoá mạng Internet - Phát triển nhƣ module bảo mật hệ điều hành Windows (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin (LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin(LUAN.van.THAC.si).nghien.cuu.phoi.hop.hai.phuong.phap.nen.va.ma.hoa.thong.tin