Đăng ký Đăng nhập
Trang chủ Nghiên cứu phối hợp các phương pháp nén thông tin, mã hóa thông tin, giấu thông ...

Tài liệu Nghiên cứu phối hợp các phương pháp nén thông tin, mã hóa thông tin, giấu thông tin để đảm bảo an toàn thông tin trong môi trường đa phương tiện

.PDF
93
3
58

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ LÊ MẠNH THẮNG NGHIÊN CỨU PHỐI HỢP CÁC PHƢƠNG PHÁP NÉN THÔNG TIN, MÃ HOÁ THÔNG TIN, GIẤU THÔNG TIN ĐỂ XÂY DỰNG ỨNG DỤNG GIẤU TIN TRONG MÔI TRƢỜNG ĐA PHƢƠNG TIỆN LUẬN VĂN THẠC SĨ Hà Nội - 2009 2 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ LÊ MẠNH THẮNG NGHIÊN CỨU PHỐI HỢP CÁC PHƢƠNG PHÁP NÉN THÔNG TIN, MÃ HOÁ THÔNG TIN, GIẤU THÔNG TIN ĐỂ XÂY DỰNG ỨNG DỤNG GIẤU TIN TRONG MÔI TRƢỜNG ĐA PHƢƠNG TIỆN Ngành: Công nghệ Thông tin Chuyên ngành: Công nghệ phần mềm Mã số: 60 48 10 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC TS. Hồ Văn Hƣơng Hà Nội - 2009 3 LỜI CAM ĐOAN Tôi xin cam đoan kết quả đạt đƣợc trong luận văn là sản phẩm của riêng cá nhân, không sao chép lại của ngƣời khác. Trong toàn bộ nội dung của luận văn, những điều đƣợc trình bày hoặc là của cá nhân hoặc là đƣợc tổng hợp từ nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và đƣợc trích dẫn hợp pháp. Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình. Hà Nội, ngày tháng 11 năm 2009 Lê Mạnh Thắng 4 LỜI CẢM ƠN Lời đầu tiên, tôi xin bày tỏ lòng biết ơn sâu sắc đến TS. Hồ Văn Hƣơng – Ban cơ yếu Chính phủ, ngƣời đã tận tình hƣớng dẫn, chỉ bảo và giúp đỡ tôi trong suốt quá trình nghiên cứu và hoàn thành luận văn này. Tôi xin chân thành cảm ơn các thầy cô giáo trƣờng Đại học Công nghệ - ĐHQG Hà Nội đã giảng dạy và cung cấp cho chúng tôi những kiến thức rất bổ ích trong thời gian học cao học, giúp tôi có nền tảng tri thức để phục vụ nghiên cứu khoa học sau này. Tôi cũng xin cảm ơn Lãnh đạo và đồng nghiệp tại đơn vị đã tạo điều kiện và giúp đỡ tôi trong suốt quá trình nghiên cứu và hoàn thành luận văn. Tôi cũng xin bày tỏ lòng cảm ơn đến gia đình và bạn bè, những ngƣời luôn quan tâm, động viên và khuyến khích tôi. Hà Nội, ngày tháng 11 năm 2009 Học viên Lê Mạnh Thắng 5 MỤC LỤC LỜI CAM ĐOAN .................................................................................................................. 3 LỜI CẢM ƠN ........................................................................................................................ 4 MỤC LỤC ............................................................................................................................. 5 DANH MỤC CÁC KÝ HIỆU VIẾT TẮT .............................................................................. 7 DANH MỤC CÁC HÌNH VẼ ................................................................................................ 9 MỞ ĐẦU ............................................................................................................................. 10 CHƢƠNG 1 ......................................................................................................................... 12 TỔNG QUAN VỀ NÉN, MÃ HOÁ VÀ GIẤU TIN MẬT ................................................... 12 1.1. Tổng quan về nén thông tin ...................................................................................... 12 1.1.1. Nhận thức chung................................................................................................. 12 1.1.1.1. Một số khái niệm cơ bản ............................................................................ 12 1.1.1.2. Các thông số quan trọng của nén ................................................................ 12 1.1.2. Nguyên tắc của nén dữ liệu ................................................................................. 13 1.1.3. Phân loại phƣơng pháp nén ................................................................................. 15 1.1.3.1. Theo nguyên lý nén .................................................................................... 15 1.1.3.2. Theo cách thức thực hiện nén ..................................................................... 16 1.1.3.3. Phân loại dựa vào triết lý của sự mã hoá ..................................................... 16 1.1.3.4. Cách phân loại của Anil.K.Jain .................................................................. 16 1.1.4. Các kỹ thuật nén thông tin .................................................................................. 16 1.1.4.1. Nén không mất mát thông tin ..................................................................... 16 1.1.4.2. Nén có mất mát thông tin ........................................................................... 17 1.1.5. Ứng dụng của nén thông tin ................................................................................ 17 1.2. Mã hoá thông tin ...................................................................................................... 18 1.2.1. Sơ lƣợc về lịch sử mật mã học ............................................................................ 18 1.2.2. Các khái niệm cơ bản.......................................................................................... 19 1.2.2.1. Khái niệm mật mã ...................................................................................... 19 1.2.2.2. Khái niệm mã hoá thông tin ....................................................................... 19 1.2.3. Phân loại hệ mật mã ............................................................................................ 20 1.2.3.1. Hệ mã hoá khoá bí mật............................................................................... 20 1.2.3.2. Hệ mã hoá khoá công khai ......................................................................... 21 1.2.3.3. Kết hợp hệ mã hoá khoá bí mật và hệ mã hoá khoá công khai .................... 23 1.3. Sơ lƣợc về giấu tin mật ............................................................................................. 24 1.3.1. Các khái niệm cơ bản.......................................................................................... 24 1.3.1.1. Khái niệm giấu tin mật ............................................................................... 24 1.3.1.2. Các thành phần của hệ giấu tin mật ............................................................ 25 1.3.2. Tính chất của giấu tin mật ................................................................................... 26 1.3.3. Ứng dụng của giấu tin mật .................................................................................. 27 1.3.3.1. Liên lạc bí mật ........................................................................................... 27 1.3.3.2. Bảo vệ bản quyền....................................................................................... 27 1.3.4. Kỹ thuật tấn công hệ giấu tin mật ........................................................................ 28 1.4. Kết chƣơng ............................................................................................................... 29 CHƢƠNG 2 ......................................................................................................................... 30 MÔI TRƢỜNG ĐA PHƢƠNG TIỆN VÀ KHẢ NĂNG GIẤU TIN .................................... 30 2.1. Âm thanh số ............................................................................................................. 30 2.1.1. Tính chất cơ bản của tín hiệu âm thanh ............................................................... 30 2.1.2. Biểu diễn âm thanh số ......................................................................................... 30 2.1.3. Nén âm thanh ..................................................................................................... 33 2.1.3.1. Lƣợng tử hóa phi tuyến .............................................................................. 33 2.1.3.2. Mã hóa dự báo (Predictive Coding) ............................................................ 33 2.1.3.3. Kỹ thuật nén sử dụng tính chất lọc (masking): Âm thanh MPEG ................ 34 6 2.1.4. Giấu tin mật trong âm thanh số ........................................................................... 35 2.2. Ảnh số ...................................................................................................................... 37 2.2.1. Biểu diễn ảnh số ................................................................................................. 37 2.2.2. Các tham số chính của ảnh số ............................................................................. 38 2.2.3. Nén ảnh .............................................................................................................. 38 2.2.4. Giấu tin mật trong ảnh số .................................................................................... 41 2.2.4.1. Giấu tin mật trong ảnh đen trắng ................................................................ 41 2.2.4.2. Giấu tin trong ảnh màu ............................................................................... 42 2.3. Video số ................................................................................................................... 45 2.3.1. Biểu diễn video số .............................................................................................. 45 2.3.2. Nén video ........................................................................................................... 45 2.3.2.1. Lấy mẫu màu ............................................................................................. 45 2.3.2.2. Ƣớc lƣợng và bù chuyển động ................................................................... 46 2.3.2.3. MPEG........................................................................................................ 46 2.3.2.4. Các chuẩn khác .......................................................................................... 50 2.3.3. Giấu tin trong video số........................................................................................ 50 2.4. Kết chƣơng ............................................................................................................... 50 CHƢƠNG 3 ......................................................................................................................... 52 PHỐI HỢP CÁC PHƢƠNG PHÁP NÉN, MÃ HOÁ VÀ GIẤU TIN ĐỂ XÂY DỰNG ỨNG DỤNG LIÊN LẠC BÍ MẬT................................................................................................. 52 3.1. Vì sao phải kết hợp nén thông tin, mã hoá thông tin và giấu tin mật .......................... 52 3.2. Tình hình nghiên cứu, ứng dụng giấu tin mật hiện nay .............................................. 53 3.2.1. Một số kỹ thuật và phần mềm giấu tin mật trên thị trƣờng................................... 53 3.2.2. Giấu tin mật và nhu cầu liên lạc bí mật trong công tác An ninh Quốc phòng ở Việt Nam 55 3.3. Giải pháp đề xuất...................................................................................................... 56 3.3.1. Mục tiêu, yêu cầu ............................................................................................... 56 3.3.2. Giải pháp ............................................................................................................ 57 3.4. Xây dựng và cài đặt ứng dụng .................................................................................. 59 3.4.1. Yêu cầu xây dựng ............................................................................................... 59 3.4.2. Lựa chọn giải pháp kỹ thuật cho ứng dụng .......................................................... 60 3.4.2.1. Lựa chọn môi trƣờng và phƣơng tiện truyền ............................................... 60 3.4.2.2. Xây dựng cơ sở dữ liệu vật mang ............................................................... 60 3.4.2.3. Lựa chọn kỹ thuật nén ................................................................................ 60 3.4.2.4. Lựa chọn phƣơng pháp mã hoá .................................................................. 60 3.4.2.5. Lựa chọn giải thuật giấu tin ........................................................................ 61 3.4.2.6. Lựa chọn môi trƣờng xây dựng .................................................................. 61 3.4.3. Thiết kế và cài đặt phần mềm.............................................................................. 63 3.4.4. Kết quả xây dựng ................................................................................................ 70 3.4.5. Giới hạn và cải thiện tƣơng lai: ........................................................................... 71 3.5. Kết chƣơng ............................................................................................................... 72 KẾT LUẬN ......................................................................................................................... 73 TÀI LIỆU THAM KHẢO .................................................................................................... 74 PHỤ LỤC ............................................................................................................................ 76 7 DANH MỤC CÁC KÝ HIỆU VIẾT TẮT VIẾT TẮT TỪ GỐC NGHĨA TIẾNG VIỆT 3-DES Triple Data Encrytion Standard Áp dụng giải thuật DES 3 lần cho mỗi khối dữ liệu ADC Analog to Digital Converter Chuyển đổi từ tín hiệu tƣơng tự sang tín hiệu số AES Advanced Encryption Standard Hệ mật mã tiên tiến DAC Digital to Analog Converter Bộ chuyển đổi từ tín hiệu số sang tín hiệu tƣơng tự DCT Discrete Cosine Transform Biến đổi Côsi rời rạc DES Data Encryption Standard Hệ mật mã chuẩn DPCM Differential pulse code modulation Điều xung mã vi phân ECC Elliptic curve cryptography Hệ mã hóa đƣờng con Elliptic HAS Human Auditory System Hệ thông thính giác con ngƣời HVS Human Vision System Hệ thống thị giác của con ngƣời JPEG Joint Photographic Experts Group Ảnh nén có mất mát thông tin LZ77, LZ78 Abraham Lempel, Jacob Ziv Các thuật toán nén không mất mát thông tin do Abraham Lempel, Jacob Ziv đề xuất năm 1977 và 1978 LZW Lempel – Zip, Welch Một phƣơng pháp nén đƣợc phát minh bởi Lempel - Zip và Welch MNP5 Microcom Network Protocol 5 Kỹ thuật nén sử dụng cho modem PCM Pulse-code modulation Điều biên mã xung QAM Quadrature Amplitude Modulation Điều chế biên độ trực giao 8 RLC Run Length Coding Mã hóa loạt dài RLE Run Length Encoding Mã hóa loạt dài RSA Ron Rivest, Adi Shamir, Len Adleman Thuật toán mã hóa khóa công khai do 3 tác giả Ron Rivest, Adi Shamir, Adleman đề xuất Len 9 DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình vẽ Hình 1 Hình 2 Hình 3 Hình 4 Hình 5 Hình 6 Hình 7 Hình 8 Hình 9 Hình 10 Hình 11 Hình 12 Hình 13 Hình 14 Hình 15 Hình 16 Hình 17 Hình 18 Hình 19 Hình 20 Hình 21 Hình 22 Hình 23 Hình 24 Hình 25 Hình 26 Chú thích Quá trình nén và giải nén thông tin Quá trình mã hóa và giải mã Mô hình hế thống mã hoá khoá bí mật Mô hình hệ thống mã hoá với khoá công khai Quy trình trao đổi khoá bí mật sử dụng hệ mã hoá khoá công khai Phân cấp các lĩnh vực nghiên cứu của ngành mật mã học Các nhánh của giấu tin Sơ đồ chung của hệ giấu tin mật Cân nhắc giữa chất lƣợng, dung lƣợng và tính bền vững Sóng âm thanh Biểu diễn âm thanh số Các bƣớc lƣợng tử hoá Lƣợng tử hoá phi tuyến Mã hoá dự báo Lƣợc đồ giấu tin phía ngƣời gửi Lƣợc đồ tách tin phía ngƣời nhận Sơ đồ phân cấp các lớp giải thuật mã hoá khoá bí mật trong .NET Framework Sơ đồ phân cấp các lớp giải thuật mã hoá khoá công khai trong .NET Framework Sơ đồ tính toán hiệu quả nhúng trên từng vật mang Sơ đồ giấu tin mật theo giải thuật F5 Giao diện chính của phần mềm Tạo ngẫu nhiên cặp khóa công khai/bí mật Sơ đồ khối quá trình giấu tin theo giải thuật F5 Vật mang tốt nhất đƣợc lựa chọn Tách tin mật từ vật mang tin Bảng kết quả thực nghiệm 10 MỞ ĐẦU Cuộc cách mạng thông tin kỹ thuật số đã đem lại những thay đổi sâu sắc cho xã hội và trong cuộc sống con ngƣời. Bên cạnh những thuận lợi mà thông tin kỹ thuật số mang lại cũng nảy sinh những thách thức và cơ hội cho quá trình đổi mới. Sự ra đời những phần mềm có tính năng rất mạnh, các thiết bị mới nhƣ máy ảnh kỹ thuật số, máy quét chất lƣợng cao, máy in, máy ghi âm kỹ thuật số…đã giúp ngƣời dùng có thể sáng tạo, xử lý và thƣởng thức các dữ liệu đa phƣơng tiện. Mạng Internet toàn cầu trở thành một xã hội ảo, nơi diễn ra quá trình trao đổi thông tin trong mọi lĩnh vực chính trị, quân sự, quốc phòng, kinh tế, thƣơng mại…Và chính trong môi trƣờng mở và tiện nghi nhƣ thế đã xuất hiện những vấn nạn, tiêu cực đang rất cần đến các giải pháp hữu hiệu cho vấn đề an toàn thông tin nhƣ nạn ăn cắp bản quyền, nạn xuyên tạc thông tin, truy nhập thông tin trái phép... Nhiều phƣơng pháp bảo vệ thông tin đã đƣợc đƣa ra trong đó phƣơng pháp dùng mật mã học là giải pháp đƣợc ứng dụng rộng rãi nhất. Các hệ mật mã đã đƣợc phát triển nhanh chóng và đƣợc ứng dụng rất phổ biến cho đến tận ngày nay. Sử dụng các hệ này, thông tin ban đầu sẽ đƣợc mã hoá thành các ký hiệu vô nghĩa, sau đó sẽ đƣợc lấy lại thông qua việc giải mã nhờ khoá của hệ mã. Đã có rất nhiều những hệ mã phức tạp đƣợc sử dụng, bao gồm các hệ mã hóa khóa đối xứng nhƣ DES, 3-DES, AES, hệ mã hóa khóa công khai nhƣ RSA...Phƣơng pháp mật mã hoá đã đƣợc chứng minh là rất hiệu quả và có nhiều ứng dụng trong thực tiễn. Một phƣơng pháp khác đang đƣợc nghiên cứu và ứng dụng rất mạnh mẽ ở nhiều nƣớc trên thế giới đó là phƣơng pháp giấu tin mật. Trong khi phƣơng pháp mã hoá nhằm bảo vệ nội dung của thông tin thì phƣơng pháp giấu tin mật lại che giấu sự có mặt của thông tin bằng cách giấu thông tin này vào thông tin khác. Đây là phƣơng pháp mới và phức tạp, đƣợc xem nhƣ một công nghệ chìa khoá cho vấn đề bảo vệ bản quyền, nhận thực thông tin và kiểm soát truy cập…ứng dụng trong an toàn và bảo mật thông tin. Nhiều kỹ thuật giấu tin mật đã đƣợc nghiên cứu và ứng dụng trên nhiều định dạng đa phƣơng tiện khác nhau nhƣ âm thanh số, ảnh số và video số. Có thể nói, phƣơng pháp mã hóa và phƣơng pháp giấu tin mật đều có những ƣu, nhƣợc điểm nhất định. Trên thực tế, ngƣời ta đã áp dụng cả hai phƣơng pháp này để giúp cho việc đảm bảo an toàn thông tin khi trao đổi. Để tăng dung lƣợng thông tin đƣợc trao đổi, ngƣời ta cũng thƣờng kết hợp thêm các kỹ thuật nén thông tin. Trong phạm vi luận văn này, chúng tôi tập trung nghiên cứu một số nội dung cơ bản của các kỹ thuật nén thông tin, mã hoá thông tin, giấu tin mật trong dữ liệu đa phƣơng tiện, trên cơ sở đó nghiên cứu phối hợp các phƣơng pháp này để xây dựng ứng dụng giúp cho việc đảm bảo an toàn khi trao đổi thông tin trên mạng máy tính, đáp ứng nhu cầu liên lạc bí mật ngày càng tăng hiện nay, đặc biệt là cho lĩnh vực quân sự, an ninh quốc phòng. Ngoài ra, nhằm tăng tính thực tế cho ứng dụng, chúng tôi cũng đƣa ra ý tƣởng sử dụng cơ sở dữ liệu vật mang nhằm chọn vật mang ―phù hợp nhất‖ cho việc chứa thông tin mật cần giấu. 11 Luận văn gồm 3 chƣơng, cụ thể nhƣ sau: Chƣơng 1: Tổng quan về nén, mã hoá và giấu tin mật. Chƣơng này tìm hiểu tổng quan về các kỹ thuật nén thông tin, mã hoá thông tin và giấu tin mật. Nội dung đề cập là các khái niệm cơ bản, tính chất, đặc điểm, ứng dụng và một số vấn đề có liên quan của các kỹ thuật này. Chƣơng 2: Môi trƣờng đa phƣơng tiện và khả năng giấu tin. Để có thể thực hiện các kỹ thuật nén, mã hoá và giấu tin mật trong môi trƣờng đa phƣơng tiện thì vấn đề đặt ra là cần tìm hiểu cấu trúc, đặc điểm và tính chất của các định dạng trong môi trƣờng đa phƣơng tiện. Chƣơng này tập trung trình bày các khái niệm cơ bản, đặc điểm, tính chất và các kỹ thuật nén đƣợc áp dụng đối với các định dạng phổ biến nhƣ ảnh số, âm thanh số và video số cũng nhƣ phƣơng pháp giấu tin mật trong các định dạng này. Chƣơng 3: Phối hợp các phƣơng pháp nén, mã hoá và giấu tin mật để xây dựng ứng dụng cho liên lạc bí mật. Trên cơ sở phân tích những ƣu điểm, hạn chế của từng kỹ thuật để phối hợp các phƣơng pháp trên xây dựng mô hình giúp cho việc liên lạc, trao đổi thông tin có bảo mật trên mạng công khai. Mô hình đề xuất còn sử dụng cơ sở dữ liệu vật mang để có thể chọn những vật mang ―phù hợp nhất‖ với một thông điệp mật nhất định, góp phần làm giảm thiểu nguy cơ mất an ninh an toàn thông tin. Đây là một điểm cải tiến so với các phần mềm hiện có trên thị trƣờng hiện nay. Ứng dụng đƣợc xây dựng dựa trên kỹ thuật nén không mất mát thông tin ZIP, hệ mã hoá công khai RSA và giải thuật F5 để giấu thông tin trong ảnh JPEG. Cơ sở dữ liệu vật mang bao gồm các ảnh đƣợc download ngẫu nhiên trên mạng Internet. 12 CHƢƠNG 1 TỔNG QUAN VỀ NÉN, MÃ HOÁ VÀ GIẤU TIN MẬT 1.1. Tổng quan về nén thông tin 1.1.1. Nhận thức chung 1.1.1.1. Một số khái niệm cơ bản Nén dữ liệu là quá trình làm giảm lƣợng thông tin ―dư thừa‖ trong dữ liệu gốc và do vậy lƣợng thông tin thu đƣợc sau nén thƣờng nhỏ hơn dữ liệu gốc rất nhiều. Nén dữ liệu phổ biến vì hai lý do: - Do nhu cầu lưu trữ dữ liệu: lƣợng thông tin cần lƣu trữ ngày càng lớn nên nếu không có cách thức tổ chức thì sẽ vƣợt quá dung lƣợng của các thiết bị nhớ. Nén dữ liệu có tác dụng làm giảm dung lƣợng thông tin cần lƣu trữ. - Do yêu cầu truyền dữ liệu: dữ liệu lớn sẽ làm chậm tốc độ truyền dữ liệu. Do vậy, nảy sinh nhu cầu nén thông tin để tăng tốc độ truyền. Ví dụ, khi lƣớt web hoặc khi download file. Quá trình nén và quá trình giải nén nhƣ sau: Hình 1: Quá trình nén và giải nén thông tin Ngoài thuật ngữ ―nén dữ liệu hay data compression‖, ngƣời ta còn có tên gọi khác ―mã hoá nguồn – source coding‖ hay ―giảm độ dƣ thừa‖. Đó là bởi vì các ký hiệu đầu vào (có thể là các bit, các mã ASCII, các byte, các mẫu audio hoặc các giá trị điểm ảnh) đƣợc phát ra bởi một nguồn thông tin nào đó và phải đƣợc mã hoá trƣớc khi gửi tới đích. Từ hơn hai thập kỷ nay, có rất nhiều kỹ thuật nén đã đƣợc công bố trên các tài liệu, các phần mềm nén dữ liệu đã xuất hiện ngày càng nhiều trên thị trƣờng. Tuy nhiên, chƣa có phƣơng pháp nén nào đƣợc coi là phƣơng pháp vạn năng vì nó phụ thuộc vào nhiều yếu tố và bản chất của dữ liệu gốc. 1.1.1.2. - Các thông số quan trọng của nén Tỷ lệ nén (compression ratio) : Tỷ lệ nén là một trong các đặc trƣng quan 13 trọng nhất của mọi phƣơng pháp nén. Nhìn chung, có thể định nghĩa tỷ lệ nén nhƣ sau: Tỷ lệ nén có thể đƣợc tính theo bpb (bit per bit). Trong nén ảnh thì bpb cũng có nghĩa là ―bits per pixel‖; trong các phƣơng pháp nén văn bản, ngƣời ta thƣờng đề cập đến bpc (bits per character). - Nhân tố nén (compression factor) : là nghịch đảo của tỷ lệ nén. Nhân tố nén đƣợc tính theo công thức sau: - Hiệu suất nén: đƣợc tính theo công thức: Hiệu suất nén = 100 x (1- Tỷ lệ nén) %. Tuy nhiên, cũng phải thấy rằng những chỉ số của một phƣơng pháp nén chỉ có giá trị với chính sự nén đó, vì hiệu quả của nén còn phụ thuộc vào kiểu dữ liệu định nén. Tỷ lệ nén cũng chỉ là một trong các đặc trƣng cơ bản của phƣơng pháp nén. Nhiều khi tỷ lệ nén cao cũng chƣa thể nói rằng phƣơng pháp nén đó là hiệu quả hơn các phƣơng pháp khác, vì còn các chi phí khác nhƣ thời gian, không gian và thậm chí cả độ phức tạp tính toán nữa. Thí dụ nhƣ nén phục vụ trong truyền dữ liệu: vấn đề đặt ra là hiệu quả nén có tƣơng hợp với đƣờng truyền không. Cũng cần phân biệt nén dữ liệu với nén băng truyền. Mục đích chính của nén là làm giảm lƣợng thông tin dƣ thừa và dẫn tới giảm kích thƣớc dữ liệu. Tuy vậy, đôi khi quá trình nén cũng làm giảm băng truyền tín hiệu số hoá thấp hơn so với truyền tín hiệu tƣơng tự. 1.1.2. Nguyên tắc của nén dữ liệu Các nguyên tắc, kỹ thuật và giải thuật để nén các loại dữ liệu khác nhau đƣợc phát triển bởi nhiều ngƣời, và đều dựa trên các khái niệm về thống kê, biến đổi Fourier và các dạng biến đổi khác… Có nhiều phƣơng pháp nén dữ liệu. Chúng dựa trên các ý tƣởng khác nhau để phù hợp với các loại dữ liệu khác nhau và tạo ra các kết quả khác nhau, nhƣng tất cả đều dựa trên cùng một nguyên tắc là nén dữ liệu bằng cách loại bỏ dƣ thừa từ dữ liệu gốc trong file nguồn. Các dữ liệu không ngẫu nhiên đều có một cấu trúc nhất định và cấu trúc này có thể đƣợc khai thác để thu đƣợc biểu diễn nhỏ hơn của dữ liệu, một biểu diễn trong đó không có cấu trúc có thể nhận thức đƣợc. Ví dụ, trong văn bản tiếng Anh, ký tự E xuất hiện thƣờng xuyên trong khi ký tự Z 14 lại rất ít khi xuất hiện. Đây gọi là loại dƣ thừa bảng chữ cái. Để thực hiện nén, ngƣời ta thực hiện gán các mã kích thƣớc thay đổi cho các chữ cái, với E nhận mã ngắn nhất và Z nhận mã dài nhất. Một loại dƣ thừa khác là dƣ thừa theo ngữ cảnh, ví dụ nhƣ chữ cái Q hầu nhƣ luôn đƣợc theo sau bởi chữ cái U. Ý tƣởng của nén bằng cách giảm bớt dƣ thừa gợi ý đƣa ra luật chung của nén dữ liệu: ―gán các mã ngắn hơn cho các sự kiện chung (các symbol hoặc các phrase) và các mã dài đối với các sự kiện hiếm‖. Có nhiều cách để thi hành luật này và việc phân tích các phƣơng pháp nén đã cho thấy nén hoạt động tuân theo luật chung này. Ngƣời ta phân loại thành 4 kiểu dƣ thừa chính: - Sự phân bố ký tự Trong một dãy ký tự, có một số ký tự có tần suất xuất hiện nhiều hơn một số dãy khác. Do vậy, ta có thể mã hoá dữ liệu một cách cô đọng hơn. Các dãy ký tự có tần suất cao đƣợc thay bởi một từ mã nhị phân với số bit nhỏ; ngƣợc lại, các dãy có tần suất thấp sẽ đƣợc mã hoá bởi từ mã có nhiều bit hơn. Đây chính là bản chất của phƣơng pháp mã hoá Huffman. - Sự lặp lại của các ký tự Trong một số tình huống (ví dụ nhƣ trong ảnh số), một ký hiệu (bit ―0‖ hay bit ―1‖) có thể đƣợc lặp đi lặp lại một số lần. Kỹ thuật nén dùng trong trƣờng hợp này là thay dãy lặp đó bởi dãy mới gồm 2 thành phần: số lần lặp và ký hiệu dùng để mã. Phƣơng pháp mã hoá kiểu này có tên là mã hoá loạt dài RLC. - Những mẫu sử dụng tần suất Có thể có dãy ký hiệu nào đó xuất hiện với tần suất tƣơng đối cao. Do vậy, có thể mã hoá bởi ít bit hơn. Đây là cơ sở của phƣơng pháp mã hoá kiểu từ điển do Lempel – Ziv đƣa ra và có cải tiến vào năm 1977, 1978 và do đó có tên gọi LZ77, LZ78. Năm 1984, Terry Welch đã cải tiến hiệu quả hơn và đặt tên là LZW (Lempel-Ziv-Welch). - Độ dƣ thừa vị trí Do sự phụ thuộc lẫn nhau của dữ liệu, đôi khi biết đƣợc ký hiệu (giá trị) xuất hiện tại một vị trí, đồng thời có thể đoán trƣớc đƣợc sự xuất hiện của các giá trị ở các vị trí khác nhau một cách phù hợp. Chẳng hạn, ảnh biểu diễn trong một lƣới hai chiều, một số điểm ở hàng dọc trong một khối dữ liệu lại xuất hiện trong cùng một vị trí của các hàng khác nhau. Do vậy, thay vì lƣu trữ dữ liệu, ta chỉ cần lƣu trữ vị trí hàng và cột. Phƣơng pháp nén dựa trên sự dƣ thừa này gọi là phƣơng pháp mã hoá dự đoán. Ngoài ra còn có cách phân loại độ dƣ thừa khác - Dƣ thừa về không gian hay tƣơng quan về không gian Bên trong một ảnh đơn hoặc một frame đơn lẻ của video sẽ có những tƣơng quan đáng kể giữa các mẫu liền kề (các pixel) và kết quả là sẽ có những dƣ thừa về không 15 gian trong dữ liệu. - Dƣ thừa về trải phổ hay tƣơng quan về trải phổ Đối với dữ liệu thu đƣợc từ nhiều nguồn (multiple cameras), sẽ có những tƣơng quan đáng kể trong các mẫu từ các nguồn. Tƣơng quan này đƣợc coi nhƣ là những tƣơng quan về trải phổ và dẫn tới những dƣ thừa trong dữ liệu. - Dƣ thừa về mặt thời gian hay tƣơng quan theo thời gian Đối với dữ liệu về thời gian (chẳng hạn nhƣ audio và video), có những tƣơng quan đáng kể trong các phân đoạn (segment) thời gian khác nhau. Đây đƣợc coi nhƣ tƣơng quan theo thời gian và dẫn đến các dƣ thừa về thời gian trong dữ liệu. Ý tƣởng cốt lõi trong bất kỳ kỹ thuật nén nào cũng là giảm số mẫu có tương quan cao thành các mẫu biểu diễn thấp hơn, trong nhóm khác nhau của các mẫu tƣơng quan để có thế giảm bớt các dƣ thừa về dữ liệu và vì vậy giảm kích thƣớc của dữ liệu. Nguyên tắc của việc nén bằng cách loại bỏ dƣ thừa cũng trả lời cho câu hỏi: ―Vì sao một file đã nén không thể được nén thêm nữa?‖ Khi một file đƣợc nén lần đầu thì các dữ liệu dƣ thừa của nó đƣợc loại bỏ. Do vậy, khi tiếp tục nén thêm thì không có dữ liệu dƣ thừa nào đƣợc loại bỏ. Cũng có thể trả lời cho câu hỏi trên bằng cách giả định nếu có thể nén các file đã nén thì file này sẽ đƣợc giảm kích thƣớc và việc nén này có thể đƣợc lặp đi lặp lại cho đến kích thƣớc 1 byte hoặc thậm chí 1 bit. Tất nhiên, điều này là vô lý vì một byte đơn lẻ không thể chứa thông tin hiện có trong một file lớn tuỳ ý. 1.1.3. Phân loại phƣơng pháp nén Có nhiều cách phân loại các phƣơng pháp nén khác nhau. 1.1.3.1. Theo nguyên lý nén - Nén chính xác hay nén không mất mát thông tin: Bao gồm các phƣơng pháp nén mà sau khi giải nén ta thu đƣợc chính xác dữ liệu gốc. Nén loại này đƣợc yêu cầu đối với lƣu trữ và truyền vật lý. Các giải thuật loại này thƣờng dựa vào thay thế các mẫu lặp lại với các ký hiệu đặc biệt mà không quan tâm đến ý nghĩa luồng bit (mã hoá entropy – entropy encoding). - Nén có mất mát thông tin: bao gồm các phƣơng pháp mà sau khi giải nén ta không thu đƣợc dữ liệu nhƣ bản gốc. Trong nén ảnh, ngƣời ta gọi là các phƣơng pháp ―tâm lý thị giác‖. Các phƣơng pháp này lợi dụng tính chất của mắt ngƣời, chấp nhận một số vặn xoắn trong ảnh khi khôi phục lại. Tất nhiên, các phƣơng pháp này chỉ có hiệu quả khi mà độ vặn xoắn là chấp nhận đƣợc bằng mắt thƣờng hay với một dung sai nào đó. Các phƣơng pháp nén loại này rất hữu ích đối với việc lƣu trữ và truyền tải audio, video và ảnh tĩnh trên các mạng có băng thông hạn chế. 16 1.1.3.2. Theo cách thức thực hiện nén - Các phƣơng pháp không gian: các phƣơng pháp thuộc họ này thực hiện nén bằng cách tác động trực tiếp lên việc lấy mẫu của ảnh trong miền không gian. - Phƣơng pháp sử dụng biến đổi: gồm các phƣơng pháp tác động lên sự biến đổi của ảnh gốc mà không tác động trực tiếp nhƣ họ các phƣơng pháp khác. 1.1.3.3. Phân loại dựa vào triết lý của sự mã hoá - Các phƣơng pháp nén thế hệ thứ nhất: gồm các phƣơng pháp mà mức độ tính toán là đơn giản: ví dụ nhƣ việc lấy mẫu, gán từ mã… - Các phƣơng pháp nén thế hệ thứ hai: dựa vào mức độ bão hoà của tỷ lệ nén. 1.1.3.4. Cách phân loại của Anil.K.Jain - Phƣơng pháp điểm - Phƣơng pháp dự đoán - Phƣơng pháp dựa vào biến đổi - Các phƣơng pháp tổ hợp (Hybrid). 1.1.4. Các kỹ thuật nén thông tin 1.1.4.1. Nén không mất mát thông tin Trong nén dữ liệu không mất mát, tính nhất quán của dữ liệu đƣợc bảo toàn. Dữ liệu gốc và dữ liệu sau khi nén và giải nén hoàn toàn giống nhau bởi vì trong các phƣơng pháp này, các giải thuật nén và giải nén là đảo ngƣợc của nhau: không có phần dữ liệu nào bị mất mát trong tiến trình nén và giải nén. Dữ liệu dƣ thừa đƣợc loại bỏ trong nén và đƣợc bổ sung trong quá trình giải nén. Các phƣơng pháp nén không mất mát thƣờng đƣợc sử dụng khi không muốn mất mát một chút dữ liệu nào. Tất cả các phƣơng pháp nén không mất mát thông tin hoạt động bằng cách xác định một số khía cạnh của không ngẫu nhiên (dƣ thừa) trong dữ liệu đầu vào, và bằng cách biểu diễn các dữ liệu ngẫu nhiên đó theo một cách hiệu quả. Có ít nhất 2 cách mà dữ liệu có thể không ngẫu nhiên: - Một số ký hiệu đƣợc sử dụng nhiều hơn những ký hiệu khác. Ví dụ, trong văn bản tiếng Anh thì các khoảng trắng và chữ cái E phổ biến hơn nhiều so với các dấu chấm và chữ cái Z. - Có nhiều mẫu bên trong dữ liệu, các kết hợp của các ký hiệu nhất định xuất hiện nhiều hơn các kết hợp khác. Nếu một phƣơng pháp nén có thể xác định các mẫu lặp đó, nó có thể biểu diễn chúng theo một cách thức hiệu quả hơn. Các phƣơng pháp nén không mất mát thông tin tiêu biểu là; - Mã hoá loạt dài (Run Length Encoding) 17 - Mã hoá Huffman (Huffman Coding) - Mã hoá Shannon-Fano (Shannon-Fano Coding) - Các phƣơng pháp LZ78, LZH, LZW… 1.1.4.2. Nén có mất mát thông tin Trong nhiều trƣờng hợp, mắt và tai của con ngƣời không thể phân biệt các thay đổi nhỏ. Trong các trƣờng hợp này, có thể sử dụng phƣơng pháp nén có mất mát. Các phƣơng pháp này có chi phí rẻ hơn vì chúng sử dụng ít không gian và thời gian hơn khi thực hiện gửi hàng triệu bit/giây đối với dữ liệu ảnh và video. Một số phƣơng pháp đã đƣợc phát triển sử dụng các kỹ thuật nén không mất mát. Mã hoá JPEG đƣợc sử dụng để nén các ảnh và đồ hoạ, mã hoá MPEG đƣợc sử dụng để nén video và mã hoá MP3 đƣợc sử dụng để nén âm thanh số. Phƣơng pháp nén có mất mát thông tin tận dụng các thuộc tính bổ sung của dữ liệu để tạo ra nén nhiều hơn so với chỉ sử dụng các thông tin dƣ thừa đơn lẻ. Thông thƣờng, phƣơng pháp nén này liên quan đến hàng loạt các phép biến đổi dữ liệu của các giải thuật nén, từ một miền này sang một miền khác (ví dụ nhƣ miền tần số trong biến đổi Fourier) mà không chứa tất cả các thuật ngữ biến đổi kết quả và vì vậy mất một số thông tin. Các giải thuật tiêu biểu của nén có mất mát thông tin là: - Mã hoá khác biệt: lƣu trữ các khác biệt giữa các mẫu dữ liệu liền mạch sử dụng một số giới hạn các bit. - Biến đổi Cosine rời rạc (DCT): đƣợc áp dụng cho dữ liệu ảnh - Lƣợng hoá vectơ - Nén JPEG - Nén MPEG 1.1.5. Ứng dụng của nén thông tin Trong các lĩnh vực của công nghệ thông tin – viễn thông hiện nay, việc truyền tải thông tin đã là một công việc xảy ra thƣờng xuyên. Tuy nhiên lƣợng thông tin đƣợc truyền tải đi thƣờng rất lớn, điều này gây khó khăn cho công việc truyền tải vì nó làm tốn tài nguyên mạng, tiêu phí khả năng của hệ thống…Để giải quyết đƣợc những vấn đề đó, các phƣơng pháp nén đã ra đời và ngày càng đƣợc ứng dụng rộng rãi. Thông thƣờng, hầu hết các tập tin trong máy tính có rất nhiều thông tin dƣ thừa, việc thực hiện nén tập tin thực chất là mã hoá lại các tập tin để loại bỏ các thông tin dƣ thừa. Nhìn chung không thể có phƣơng phát nén tổng quát nào cho kết quả tốt đối với tất cả các loại tập tin. Kỹ thuật nén tập tin thƣờng đƣợc áp dụng cho các tập tin văn bản (trong đó có một số kí tự nào đó có xác suất xuất hiện nhiều hơn các kí tự khác), các tập tin ảnh bitmap (mà có thể có những mảng lớn đồng nhất), các tập tin dùng để 18 biểu diễn âm thanh dƣới dạng số hoá và các tín hiệu tƣơng tự (analog signal) khác (các tín hiệu này có thể có các mẫu đƣợc lặp lại nhiều lần). Ðối với các tập tin nhị phân nhƣ tập tin chƣơng trình thì sau khi nén cũng không tiết kiệm đƣợc nhiều. Ngoài ra, trong một số trƣờng hợp để nâng cao hệ số nén ngƣời ta có thể bỏ bớt một số thông tin của tập tin (ví dụ nhƣ kỹ thật nén ảnh JPEG). Trong kỹ thuật truyền tin nối tiếp, do các bit dữ liệu đƣợc truyền đi nối tiếp, lại bị giới hạn về dải thông của kênh truyền và giới hạn về các chuẩn ghép nối...nên tốc độ truyền tin tƣơng đối chậm. Ðể tăng tốc độ truyền ta có thể dùng nhiều phƣơng pháp nhƣ sử dụng kỹ thuật điều chế pha nhiều mức, điều chế QAM, TCM... Nén dữ liệu trƣớc khi truyền đi cũng là một trong các phƣơng pháp nhằm tăng tốc độ truyền dữ liệu. Trong các modem hiện đại, việc thực hiện nén dữ liệu trƣớc khi truyền đi có thể đƣợc thực hiện ngay trong modem theo các giao thức V42bis, MNP5. Phƣơng pháp này đòi hỏi hai modem phải có cùng một giao thức nén dữ liệu, điều này nhiều khi khó thoả mãn. Có một phƣơng pháp khác là thực hiện nén các tập tin ngay tại các máy vi tính trƣớc khi truyền đi, tại các máy tính nhận, các tập tin lại đƣợc giải nén để phục hồi lại dạng ban đầu. Phƣơng pháp này có ƣu điểm là bên phát và bên thu chỉ cần có chung phần mềm nén và giải nén, ngoài ra còn có thể áp dụng đƣợc để truyền dữ liệu qua các modem không hỗ trợ nén dữ liệu hoặc truyền dữ liệu trực tiếp qua cổng COM của máy tính. Nhƣợc điểm của phƣơng pháp này là các máy vi tính phải tốn thêm thời gian nén và giải nén, nhƣng do sự phát triển nhanh chóng của các bộ vi xử lý mà thời gian thực hiện nén và giải nén đƣợc giảm nhỏ hơn rất nhiều thời gian để truyền dữ liệu. 1.2. Mã hoá thông tin 1.2.1. Sơ lƣợc về lịch sử mật mã học Mật mã học nghiên cứu các kỹ thuật toán học nhằm cung cấp các dịch vụ bảo vệ thông tin. Đây là ngành khoa học quan trọng, có nhiều ứng dụng trong đời sống xã hội. Khoa học mật mã đã ra đời từ hàng nghìn năm. Tuy nhiên, trong suốt nhiều thế kỷ, các kết quả của lĩnh vực này hầu nhƣ không đƣợc ứng dụng trong các lĩnh vực dân sự thông thƣờng của đời sống xã hội mà chủ yếu đƣợc sử dụng trong lĩnh vực quân sự, chính trị, ngoại giao... Với sự phát triển ngày càng nhanh chóng của Internet và các ứng dụng giao dịch điện tử trên mạng, nhu cầu bảo vệ thông tin trong các hệ thống và ứng dụng tin học ngày càng đƣợc quan tâm và có ý nghĩa hết sức quan trọng. Các kết quả của khoa học mật mã ngày càng đƣợc triển khai trong nhiều lĩnh vực khác nhau của đời sống xã hội, trong đó phải kể đến rất nhiều những ứng dụng trong lĩnh vực dân sự, thƣơng mại...Các ứng dụng mã hóa thông tin cá nhân, trao đổi thông tin kinh doanh, thực hiện các giao dịch điện tử qua mạng... đã trở nên gần gũi và quen thuộc với mọi ngƣời. 19 Cùng với đó, các nghiên cứu và ứng dụng của mật mã học ngày càng trở nên đa dạng hơn, mở ra nhiều hƣớng nghiên cứu chuyên sâu vào từng lĩnh vực ứng dụng cụ thể với những đặc trƣng riêng. Ứng dụng của khoa học mật mã không chỉ đơn thuần là mã hóa và giải mã thông tin mà còn bao gồm nhiều vấn đề khác nhau cần đƣợc nghiên cứu và giải quyết, ví dụ nhƣ chứng thực nguồn gốc nội dung thông tin (kỹ thuật chữ ký điện tử), chứng nhận tính xác thực về ngƣời sở hữu mã khóa (chứng nhận khóa công khai), các quy trình giúp trao đổi thông tin và thực hiện giao dịch điện tử an toàn trên mạng... Các ứng dụng của mật mã học và khoa học bảo vệ thông tin rất đa dạng và phong phú; tùy vào tính đặc thù của mỗi hệ thống bảo vệ thông tin mà ứng dụng sẽ có các tính năng với đặc trƣng riêng. Những kết quả nghiên cứu về mật mã cũng đã đƣợc đƣa vào trong các hệ thống phức tạp hơn, kết hợp với những kỹ thuật khác để đáp ứng yêu cầu đa dạng của các hệ thống ứng dụng khác nhau trong thực tế, ví dụ nhƣ hệ thống bỏ phiếu bầu cử qua mạng, hệ thống đào tạo từ xa, hệ thống quản lý an ninh của các đơn vị với hƣớng tiếp cận sinh trắc học, hệ thống cung cấp dịch vụ đa phƣơng tiện trên mạng với yêu cầu cung cấp dịch vụ và bảo vệ bản quyền sở hữu trí tuệ đối với thông tin số... 1.2.2. Các khái niệm cơ bản 1.2.2.1. Khái niệm mật mã Theo nghĩa hẹp, “mật mã” chủ yếu dùng để bảo mật dữ liệu, ngƣời ta quan niệm: Mật mã học là khoa học nghiên cứu mật mã, bao gồm: Tạo mã và Phân tích mã. Phân tích mã là kỹ thuật, nghệ thuật phân tích mật mã, kiểm tra tính bảo mật của nó hoặc phá vỡ sự bí mật của nó. Phân tích mã còn gọi là Thám mã. Theo nghĩa rộng, ―mật mã” là một trong những công cụ hiệu quả bảo đảm an toàn thông tin nói chung: bảo mật, bảo toàn, xác thực, chống chối cãi,… 1.2.2.2. Khái niệm mã hoá thông tin - Mã hóa là quá trình chuyển thông tin có thể đọc đƣợc (gọi là Bản rõ) thành thông tin ―khó‖ thể đọc đƣợc theo cách thông thƣờng (gọi là Bản mã) Đây là một trong những kỹ thuật để bảo mật thông tin. - Giải mã là quá trình chuyển thông tin ngƣợc lại, từ Bản mã thành Bản rõ - Thuật toán mã hóa hay giải mã là thủ tục tính toán để mã hóa hay giải mã - Khóa mã hóa là một giá trị làm cho thuật toán mã hóa thực hiện theo cách riêng biệt sinh ra bản rõ. Thông thƣờng khóa càng lớn (độ dài và tính ngẫu nhiên của khoá càng lớn) thì bản mã càng an toàn. Phạm vi giá trị có thể có của khóa đƣợc gọi là Không gian khóa 20 - Hệ mã hóa là tập các thuật toán, các khóa nhằm che giấu thông tin, cũng nhƣ làm cho rõ nó. Hệ mã hoá đƣợc định nghĩa là bộ năm (P, C, K, E, D), trong đó: - P: là tập hữu hạn các bản rõ có thể. - C: tập hữu hạn các bản mã có thể. - K: tập hữu hạn các khoá có thể. - E: tập các hàm lập mã. - D: tập các hàm giải mã. Với khoá lập mã ke  K, có hàm lập mã eke  E, eke: P →C. Với khoá giải mã kd  K, có hàm giải mã dkd  D, dkd: C→P, sao cho dkd(eke(x))=x, Với mọi x  P. Ở đây x đƣợc gọi là bản rõ, eke(x) đƣợc gọi là bản mã. Quá trình mã hoá và giải mã: Hình 2: Quá trình mã hóa và giải mã Ngƣời gửi tin G muốn gửi bản tin T cho ngƣời nhận N. Để đảm báo bí mật, G mã hoá bản tin bằng khoá lập mã ke, nhận đƣợc bản mã eke(T), sau đó gửi cho N. Tin tặc có thể trộm bản mã eke(T) nhƣng cũng ―khó‖ để hiểu đƣợc bản tin gốc T nếu không có khoá giải mã kd. Ngƣời nhận N nhận đƣợc bản mã, họ dùng khoá giải mã kd để giải mã e ke(T) và nhận đƣợc bản tin gốc T=dkd(eke(T)). 1.2.3. Phân loại hệ mật mã Hiện có 2 loại hệ mật mã chính: mã hoá khoá bí mật và mã hoá khoá công khai. 1.2.3.1. Hệ mã hoá khoá bí mật Trong hệ thống mã hóa khoá bí mật, quá trình mã hóa và giải mã một thông điệp sử dụng cùng một mã khóa gọi là khóa bí mật (secret key) hay khóa đối xứng (symmetric key). Do đó, vấn đề bảo mật thông tin đã mã hóa hoàn toàn phụ thuộc vào việc giữ bí mật nội dung của mã khóa đã đƣợc sử dụng. Trƣớc đây, phƣơng pháp mã hóa chuẩn DES đƣợc coi là tiêu chuẩn của hệ mã hóa khóa bí mật. Tuy nhiên, với tốc độ và khả năng xử lý ngày càng đƣợc nâng cao của các bộ vi xử lý hiện nay, phƣơng pháp mã hóa DES đã trở nên không an toàn trong bảo mật thông tin. Do đó, Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ đã quyết
- Xem thêm -

Tài liệu liên quan