Tải bản đầy đủ (.pdf) (33 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (754.93 KB, 33 trang )

Header Page 1 of 27.

ĐẠ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
Footer Page 1 of 27.


Header Page 2 of 27.

MỤC LỤC
LỜI CAM ĐOAN ..................................................................... Error! Bookmark not defined.


LỜI CẢM ƠN ........................................................................... Error! Bookmark not defined.
MỤC LỤC ..................................................................................................................................2
DANH MỤC CÁC KÝ HIỆU VIẾT TẮT .................................................................................5
DANH MỤC CÁC HÌNH VẼ ....................................................................................................7
MỞ ĐẦU ....................................................................................................................................8
CHƢƠNG 1 ..............................................................................................................................10
TỔNG QUAN VỀ NÉN, MÃ HOÁ VÀ GIẤU TIN MẬT ......................................................10
1.1. Tổng quan về nén thông tin ..........................................................................................10
1.1.1. Nhận thức chung .....................................................................................................10
1.1.1.1. Một số khái niệm cơ bản ................................................................................10
1.1.1.2. Các thông số quan trọng của nén ...................................................................11
1.1.2. Nguyên tắc của nén dữ liệu .....................................................................................11
1.1.3. Phân loại phƣơng pháp nén .....................................................................................14
1.1.3.1. Theo nguyên lý nén ........................................................................................14
1.1.3.2. Theo cách thức thực hiện nén ........................................................................14
1.1.3.3. Phân loại dựa vào triết lý của sự mã hoá .......................................................14
1.1.3.4. Cách phân loại của Anil.K.Jain......................................................................14
1.1.4. Các kỹ thuật nén thông tin ......................................................................................15
1.1.4.1. Nén không mất mát thông tin.........................................................................15
1.1.4.2. Nén có mất mát thông tin ...............................................................................15
1.1.5. Ứng dụng của nén thông tin ....................................................................................16
1.2. Mã hoá thông tin ...........................................................................................................17
1.2.1. Sơ lƣợc về lịch sử mật mã học ................................................................................17
1.2.2. Các khái niệm cơ bản ..............................................................................................18
1.2.2.1. Khái niệm mật mã ..........................................................................................18
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 ...............................................................26
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 ......................................................................................28
1.3.3.1. Liên lạc bí mật ...............................................................................................28
1.3.3.2. Bảo vệ bản quyền ...........................................................................................28
1.3.4. Kỹ thuật tấn công hệ giấu tin mật ...........................................................................29
1.4. Kết chƣơng ....................................................................................................................31
CHƢƠNG 2 ..............................................................................................................................32
MÔI TRƢỜNG ĐA PHƢƠNG TIỆN VÀ KHẢ NĂNG GIẤU TIN ......................................32
2.1. Âm thanh số ..................................................................................................................32

Footer Page 2 of 27.


Header Page 3 of 27.

2.1.1. Tính chất cơ bản của tín hiệu âm thanh ..................................................................32
2.1.2. Biểu diễn âm thanh số .............................................................................................33
2.1.3. Nén âm thanh .......................................................... Error! Bookmark not defined.
2.1.3.1. Lƣợng tử hóa phi tuyến .................................. Error! Bookmark not defined.
2.1.3.2. Mã hóa dự báo (Predictive Coding) ............... Error! Bookmark not defined.
2.1.3.3. Kỹ thuật nén sử dụng tính chất lọc (masking): Âm thanh MPEGError! Bookmark not defi
2.1.4. Giấu tin mật trong âm thanh số ............................... Error! Bookmark not defined.
2.2. Ảnh số ........................................................................... Error! Bookmark not defined.
2.2.1. Biểu diễn ảnh số ...................................................... Error! Bookmark not defined.
2.2.2. Các tham số chính của ảnh số ................................. Error! Bookmark not defined.
2.2.3. Nén ảnh ................................................................... Error! Bookmark not defined.

2.2.4. Giấu tin mật trong ảnh số ........................................ Error! Bookmark not defined.
2.2.4.1. Giấu tin mật trong ảnh đen trắng ................... Error! Bookmark not defined.
2.2.4.2. Giấu tin trong ảnh màu .................................. Error! Bookmark not defined.
2.3. Video số ........................................................................ Error! Bookmark not defined.
2.3.1. Biểu diễn video số ................................................... Error! Bookmark not defined.
2.3.2. Nén video ................................................................ Error! Bookmark not defined.
2.3.2.1. Lấy mẫu màu.................................................. Error! Bookmark not defined.
2.3.2.2. Ƣớc lƣợng và bù chuyển động ....................... Error! Bookmark not defined.
2.3.2.3. MPEG ............................................................ Error! Bookmark not defined.
2.3.2.4. Các chuẩn khác .............................................. Error! Bookmark not defined.
2.3.3. Giấu tin trong video số ............................................ Error! Bookmark not defined.
2.4. Kết chƣơng .................................................................... Error! Bookmark not defined.
CHƢƠNG 3 .............................................................................. Error! Bookmark not defined.
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 ........................................... Error! Bookmark not defined.
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ậtError! Bookmark not defined.
3.2. Tình hình nghiên cứu, ứng dụng giấu tin mật hiện nay Error! Bookmark not defined.
3.2.1. Một số kỹ thuật và phần mềm giấu tin mật trên thị trƣờngError! Bookmark not defined.
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 ........................................................................... Error! Bookmark not defined.
3.3. Giải pháp đề xuất .......................................................... Error! Bookmark not defined.
3.3.1. Mục tiêu, yêu cầu .................................................... Error! Bookmark not defined.
3.3.2. Giải pháp ................................................................. Error! Bookmark not defined.
3.4. Xây dựng và cài đặt ứng dụng ...................................... Error! Bookmark not defined.
3.4.1. Yêu cầu xây dựng ................................................... Error! Bookmark not defined.
3.4.2. Lựa chọn giải pháp kỹ thuật cho ứng dụng ............. Error! Bookmark not defined.
3.4.2.1. Lựa chọn môi trƣờng và phƣơng tiện truyền . Error! Bookmark not defined.
3.4.2.2. Xây dựng cơ sở dữ liệu vật mang .................. Error! Bookmark not defined.
3.4.2.3. Lựa chọn kỹ thuật nén .................................... Error! Bookmark not defined.
3.4.2.4. Lựa chọn phƣơng pháp mã hoá ...................... Error! Bookmark not defined.

3.4.2.5. Lựa chọn giải thuật giấu tin ........................... Error! Bookmark not defined.
3.4.2.6. Lựa chọn môi trƣờng xây dựng ..................... Error! Bookmark not defined.
3.4.3. Thiết kế và cài đặt phần mềm ................................. Error! Bookmark not defined.
3.4.4. Kết quả xây dựng .................................................... Error! Bookmark not defined.
3.4.5. Giới hạn và cải thiện tƣơng lai:............................... Error! Bookmark not defined.

Footer Page 3 of 27.


Header Page 4 of 27.

3.5. Kết chƣơng .................................................................... Error! Bookmark not defined.
KẾT LUẬN ............................................................................... Error! Bookmark not defined.
TÀI LIỆU THAM KHẢO ........................................................ Error! Bookmark not defined.
PHỤ LỤC.................................................................................. Error! Bookmark not defined.

Footer Page 4 of 27.


Header Page 5 of 27.

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

Footer Page 5 of 27.


Header Page 6 of 27.

PCM

Pulse-code modulation

Điều biên mã xung

QAM

Quadrature Amplitude
Modulation

Điều chế biên độ trực giao

RLC

Run Length Coding


Mã hóa loạt dài

RLE

Run Length Encoding

Mã hóa loạt dài

RSA

Footer Page 6 of 27.

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


Header Page 7 of 27.

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

Footer Page 7 of 27.

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


Header Page 8 of 27.

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.

Footer Page 8 of 27.


Header Page 9 of 27.

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.
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.

Footer Page 9 of 27.


Header Page 10 of 27.

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.
Footer Page 10 of 27.


Header Page 11 of 27.

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 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
Footer Page 11 of 27.


Header Page 12 of 27.

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 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ó

Footer Page 12 of 27.


Header Page 13 of 27.

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 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?”


Footer Page 13 of 27.


Header Page 14 of 27.

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ế.
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
Footer Page 14 of 27.


Header Page 15 of 27.

- 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)
- 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

Footer Page 15 of 27.


Header Page 16 of 27.

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

Footer Page 16 of 27.


Header Page 17 of 27.

đồng nhất), các tập tin dùng để 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

Footer Page 17 of 27.


Header Page 18 of 27.

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.
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

Footer Page 18 of 27.


Header Page 19 of 27.

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
- 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ã:

Footer Page 19 of 27.


Header Page 20 of 27.

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ã
eke(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 định chọn một chuẩn mã hóa mới với độ an toàn cao nhằm phục vụ
nhu cầu bảo mật thông tin liên lạc của chính phủ Hoa Kỳ cũng nhƣ trong các ứng
dụng dân sự. Thuật toán Rijndael do Vincent Rijmen và Joan Daeman đã đƣợc
chính thức chọn trở thành chuẩn mã hóa nâng cao AES từ 02 tháng 10 năm 2000.

Footer Page 20 of 27.


Header Page 21 of 27.

Hình 3: Mô hình hế thống mã hoá khoá bí mật

Hệ mã hoá khoá bí mật có đặc điểm sau:
- Ƣu điểm: Hệ mã hoá khoá bí mật mã hoá và giải mã nhanh hơn Hệ mã hoá
khoá công khai.
- Hạn chế:
+ Mã hoá khóa bí mật chƣa thật an toàn với lý do sau: ngƣời giải mã và
ngƣời mã hoá phải có chung một khoá. Khoá phải đƣợc giữ bí mật tuyệt đối, vì
biết khoá này dễ xác định đƣợc khoá kia và ngƣợc lại.
+ Vấn đề thỏa thuận và quản lý khoá chung là khó khăn và phức tạp. Ngƣời
gửi và ngƣời nhận phải luôn thống nhất với nhau về khoá. Việc thay đổi khoá là
rất khó và dễ bị lộ. Khóa chung phải đƣợc gửi cho nhau trên kênh an toàn.

Mặt khác, khi ngƣời lập mã và ngƣời giải mã cùng biết chung một bí mật thì
càng khó giữ bí mật.
Hệ mã hoá khoá bí mật thƣờng đƣợc sử dụng trong môi trƣờng mà khoá
chung có thể dễ dàng trao chuyển bí mật, chẳng hạn trong cùng một mạng nội bộ
và để mã hoá những bản tin lớn vì tốc độ mã hoá và giải mã nhanh hơn hệ mã hoá
khoá công khai.
1.2.3.2. Hệ mã hoá khoá công khai
Nếu nhƣ vấn đề khó khăn đặt ra đối với các phƣơng pháp mã hóa khoá bí mật
chính là bài toán trao đổi mã khóa thì ngƣợc lại, các phƣơng pháp mã hóa khóa
công khai giúp cho việc trao đổi mã khóa trở nên dễ dàng hơn. Nội dung của khóa
công khai (public key) không cần phải giữ bí mật nhƣ đối với khóa bí mật trong
các phƣơng pháp mã hóa bí mật. Sử dụng khóa công khai, chúng ta có thể thiết lập
một quy trình an toàn để truy đổi khóa bí mật đƣợc sử dụng trong hệ thống mã hóa
khoá bí mật.
Footer Page 21 of 27.


Header Page 22 of 27.

Trong những năm gần đây, các phƣơng pháp mã hóa khóa công khai, đặc biệt
là phƣơng pháp RSA, đƣợc sử dụng ngày càng nhiều trong các ứng dụng mã hóa
trên thế giới và có thể xem nhƣ đây là phƣơng pháp chuẩn đƣợc sử dụng phổ biến
nhất trên Internet, ứng dụng trong việc bảo mật thông tin liên lạc cũng nhƣ trong
lĩnh vực thƣơng mại điện tử.
Có thể định nghĩa hệ mã hoá công khai nhƣ sau:
Hệ mã hoá công khai (Hệ mã hoá khoá phi đối xứng): là hệ mã hoá có
khoá lập mã và khoá giải mã khác nhau (ke khác kd). Hệ mã hoá này đƣợc gọi là
Hệ mã hoá khoá công khai vì:
- Khoá lập mã cho công khai, gọi là khoá công khai
- Khoá giải mã: giữ bí mật, còn gọi là khoá riêng hay khoá bí mật.

Một ngƣời bất kỳ có thể dùng khoá công khai để mã hoá bản tin nhƣng chỉ có
ngƣời nào có đúng khoá giải mã thì mới có khả năng đọc đƣợc bản rõ. Hệ mã hoá
công khai hay còn gọi là hệ mã hoá phi đối xứng đƣợc Diffie và Hellman phát
minh vào năm 1970.

Hình 4: Mô hình hệ thống mã hoá với khoá công khai

Hệ mã hoá khoá công khai có đặc điểm sau:
- Về ƣu điểm:
+ Hệ mã hoá công khai có thuật toán đƣợc viết một lần, công khai cho nhiều
lần dùng, cho nhiều ngƣời dùng mà họ chỉ cần giữ bí mật khoá riêng của mình.
+ Khi biết các tham số ban đầu của hệ mã hoá, việc tính ra cặp khoá công

Footer Page 22 of 27.


Header Page 23 of 27.

khai và bí mật phải là “dễ” tức là trong thời gian đa thức.
Ngƣời gửi có bản rõ P và khoá công khai thì “dễ” tạo ra bản mã C.
Ngƣời nhận có bản mã C và khoá bí mật thì “dễ” giải đƣợc thành bản rõ P.
+ Ngƣời mã hoá dùng khoá công khai, ngƣời giải mã giữ khoá bí mật. Khả
năng lộ khoá bí mật khó hơn vì chỉ một ngƣời giữ gìn. Nếu thám mã chỉ biết khóa
công khai thì chúng phải đƣơng đầu với bài toán “rất khó” (thƣờng là lớp bài toán
strong hard).
+ Nếu thám mã biết khoá công khai và bản mã C thì việc tìm ra bản rõ P
cũng là bài toán “khó”, số phép thử là vô cùng lớn, không khả thi.
- Về hạn chế: hệ mã hoá công khai có quá trình mã hoá và giải mã chậm hơn
hệ mã hoá khoá đối xứng.
Hệ mã hoá khoá công khai thƣờng đƣợc sử dụng chủ yếu trên các mạng công

khai nhƣ Internet, khi mà việc trao chuyển khoá bí mật tƣơng đối khó khăn.
Đặc trƣng nổi bật của hệ mã hoá khoá công khai là khoá công khai và bản mã
đều có thể gửi đi trên một kênh truyền tin không an toàn. Có biết cả khoá công
khai và bản mã thì thám mã cũng không dễ khám phá bản rõ. Nhƣng vì có tốc độ
mã hoá và giải mã chậm nên hệ mã hoá khoá công khai chỉ dùng để mã hoá những
bản tin ngắn, ví dụ nhƣ mã hoá khoá bí mật gửi đi.
1.2.3.3. Kết hợp hệ mã hoá khoá bí mật và hệ mã hoá khoá công khai
Các phƣơng pháp mã hóa khoá bí mật có ƣu điểm xử lý rất nhanh so với các
phƣơng pháp mã hóa khóa công khai. Do khóa dùng để mã hóa cũng đƣợc dùng để
giải mã nên cần phải giữ bí mật nội dung của khóa và mã khóa đƣợc gọi là khóa bí
mật. Ngay cả trong trƣờng hợp khóa đƣợc trao đổi trực tiếp thì mã khóa này vẫn
có khả năng bị phát hiện. Vấn đề khó khăn đặt ra đối với các phƣơng pháp mã hóa
này chính là bài toán trao đổi mã khóa.
Ngƣợc lại, các phƣơng pháp mã hóa khóa công khai giúp cho việc trao đổi
mã khóa trở nên dễ dàng hơn. Nội dung của khóa công khai không cần phải giữ bí
mật nhƣ đối với khóa bí mật trong các phƣơng pháp mã hóa khoá bí mật.
Sử dụng khóa công khai, mã khóa bí mật có thể đƣợc trao đổi an toàn theo
quy trình trong hình vẽ dƣới đây:

Footer Page 23 of 27.


Header Page 24 of 27.

Hình 5: Quy trình trao đổi khoá bí mật sử dụng hệ mã hoá khoá công khai

1.3. Sơ lƣợc về giấu tin mật
1.3.1. Các khái niệm cơ bản
1.3.1.1. Khái niệm giấu tin mật
Giấu tin là nghệ thuật nhúng mẩu tin mật vào một vật mang tin khác.

Giấu tin và mật mã:
Có thể coi nghệ thuật viết mật là một nhánh của ngành mật mã với mục tiêu
là che giấu các thông tin mật.

Hình 6: Phân cấp các lĩnh vực nghiên cứu của ngành mật mã học

Giấu tin và mật mã tuy cùng có một mục đích là không để đối phƣơng phát
hiện ra tin cần giấu nhƣng chúng có một số đặc điểm khác biệt sau:
- Mật mã là giấu đi ý nghĩa của thông tin
- Giấu tin là giấu đi sự hiện diện của thông tin. Về bản chất, giấu tin gần với

Footer Page 24 of 27.


Header Page 25 of 27.

nén dữ liệu hơn.
Thuỷ ấn số và giấu tin:
Trong lĩnh vực bảo mật, giấu tin đƣợc phân nhánh nhƣ sau:

Hình 7: Các nhánh của giấu tin

Thủy ấn (Water marking) là lĩnh vực nghiên cứu việc nhúng thông tin phục
vụ xác thực, ví dụ nhƣ xác nhận bản quyền… Nếu thông tin giấu là một định danh
duy nhất, ví dụ nhƣ định danh ngƣời dùng, thì ngƣời ta gọi đó là Fingerprinting
(nhận dạng vân tay, điểm chỉ).
Giấu tin mật (hay còn gọi là viết phủ) là lĩnh vực nghiên cứu việc nhúng các
tin mật vào một môi trƣờng phủ. Trong quá trình giấu tin, để tăng tính bảo mật,
ngƣời ta có thể dùng một khoá viết mật, khi đó ngƣời ta nói về Intrinsic
Steganography (giấu tin có xử lý). Để giải mã ngƣời dùng cũng phải có khoá viết

mật đó. Khoá này có thể không phải là khoá dùng để lập mật mã mẩu tin, ví dụ nó
có thể là khoá để sinh ra hàm băm phục vụ rải tin vào môi trƣờng phủ. Ngƣợc lại
nếu không dùng khoá viết mật thì ngƣời ta chỉ giấu tin đơn thuần vào môi trƣờng
phủ thì khi đó ngƣời ta nói về Pure Steganography (giấu tin đơn thuần).
Xét về tính chất thuỷ ấn giống giấu tin ở chỗ tìm cách nhúng thông tin mật
vào một môi trƣờng. Tuy nhiên xét về bản chất thì thuỷ ấn có những nét khác ở
một số điểm:
- Mục tiêu của thuỷ ấn là nhúng thông tin không lớn thƣờng là biểu tƣợng,
chữ ký hay các đánh dấu khác vào môi trƣờng phủ nhằm phục vụ việc xác nhận
bản quyền
- Khác với giấu tin ở chỗ giấu tin sau đó cần tách lại tin còn thuỷ ấn tìm cách
biến tin giấu thành một thuộc tính của vật mang
- Chỉ tiêu quan trọng nhất của một thuỷ ấn là tính bền vững, của giấu tin là
dung lƣợng giấu.

Footer Page 25 of 27.


×