Tải bản đầy đủ (.pdf) (91 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 (1.66 MB, 91 trang )



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, Len
Adleman đề xuất



9
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình vẽ
Chú thích
Hình 1
Quá trình nén và giải nén thông tin
Hình 2

Quá trình mã hóa và giải mã
Hình 3
Mô hình hế thống mã hoá khoá bí mật
Hình 4
Mô hình hệ thống mã hoá với khoá công khai
Hình 5
Quy trình trao đổi khoá bí mật sử dụng hệ mã hoá khoá công khai
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
Hình 7
Các nhánh của giấu tin
Hình 8
Sơ đồ chung của hệ giấu tin mật
Hình 9
Cân nhắc giữa chất lƣợng, dung lƣợng và tính bền vững
Hình 10
Sóng âm thanh
Hình 11
Biểu diễn âm thanh số
Hình 12
Các bƣớc lƣợng tử hoá
Hình 13
Lƣợng tử hoá phi tuyến
Hình 14
Mã hoá dự báo
Hình 15
Lƣợc đồ giấu tin phía ngƣời gửi
Hình 16
Lƣợc đồ tách tin phía ngƣời nhận
Hình 17

Sơ đồ phân cấp các lớp giải thuật mã hoá khoá bí mật trong .NET
Framework
Hình 18
Sơ đồ phân cấp các lớp giải thuật mã hoá khoá công khai trong .NET
Framework
Hình 19
Sơ đồ tính toán hiệu quả nhúng trên từng vật mang
Hình 20
Sơ đồ giấu tin mật theo giải thuật F5
Hình 21
Giao diện chính của phần mềm
Hình 22
Tạo ngẫu nhiên cặp khóa công khai/bí mật
Hình 23
Sơ đồ khối quá trình giấu tin theo giải thuật F5
Hình 24
Vật mang tốt nhất đƣợc lựa chọn
Hình 25
Tách tin mật từ vật mang tin
Hình 26
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ã e
ke

E, e
ke
: P →C.
Với khoá giải mã kd

K, có hàm giải mã d
kd

D, d
kd
: C→P, sao cho
d
kd

(e
ke
(x))=x, Với mọi x

P. Ở đây x đƣợc gọi là bản rõ, e
ke
(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ã e
ke
(T), sau đó gửi cho N. Tin
tặc có thể trộm bản mã e
ke
(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=d
kd
(e
ke
(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


21
đị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.

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


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


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

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


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


25
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.
- Điểm khác nữa giữa thuỷ ấn và giấu tin là thuỷ ấn có thể vô hình hoặc hữu hình
trên vật mang.
1.3.1.2. Các thành phần của hệ giấu tin mật
Các thành phần chính của một hệ giấu tin mật gồm có:
- Mẩu tin mật: có thể là văn bản, hình ảnh hay tệp tin tuỳ ý (âm thanh số, video
số), vì trong quá trình giấu tin, chúng đều đƣợc chuyển thành các chuỗi bit
- Môi trƣờng sẽ chứa tin mật: thƣờng là ảnh, nên gọi là ảnh phủ hay ảnh gốc.

Ngoài ra còn có thể là âm thanh số, video số, văn bản…
- Khoá K: khoá viết mật, tham gia vào quá trình giấu tin để tăng tính bảo mật
- Môi trƣờng đã chứa tin mật: là môi trƣờng chứa tin mật sau khi đã đƣợc
nhúng tin mật vào. Trong trƣờng hợp môi trƣờng ảnh thì gọi là ảnh mang.

Hình 8: Sơ đồ chung của hệ giấu tin mật


26
Xét theo góc độ toán học, có thể định nghĩa một lƣợc đồ giấu tin nhƣ sau.
Gọi K
s
là một khoá viết mật (stego key) đƣợc xác định từ một tập K của tất cả các
khoá viết mật; M là tập tất cả các thông điệp có thể đƣợc nhúng và C là tập tất cả các
vật mang có thể. Khi đó, một lƣợc đồ giấu tin đƣợc thiết lập bởi 2 ánh xạ, ánh xạ
nhúng Emb và ánh xạ trích xuất Ext:

sao cho Ext(Emb(c,K
s
,m))=m với tất cả c thuộc C và K
s
thuộc K và m thuộc M. Vật
mang s=Emb(c,K
s
,m) đƣợc gọi là stego Data.
1.3.2. Tính chất của giấu tin mật
Giấu tin mật là một lĩnh vực mới, đã và đang đƣợc nghiên cứu, thực nghiệm theo
nhiều phƣơng pháp khác nhau. Để đánh giá chất lƣợng của một phƣơng pháp giấu tin
mật, ngƣời ta thƣờng dựa vào các tiêu chí sau:
a) Đảm bảo tính vô hình

Giấu tin mật sẽ làm biến đổi vật mang tin. Tính vô hình thể hiện mức độ bị biến
đổi của vật mang. Phƣơng pháp giấu tin mật tốt sẽ làm cho thông tin cần giấu trở lên
vô hình trên vật mang, tức là làm ngƣời dùng khó có thể nhận ra trong vật mang có ẩn
chứa thông tin mật. Tuy nhiên, thực tế không phải lúc nào ngƣời ta cũng cố gắng để
đạt đƣợc tính vô hình cao nhất. Ví dụ trong truyền hình, ngƣời ta gắn hình ảnh mờ gọi
là thuỷ ấn để bảo vệ bản quyền bản tin.
b) Khả năng chống giả mạo
Mục đích của giấu tin mật là để truyền đi thông tin mật. Nếu không thể do thám
tin mật thì kẻ địch cũng cố tìm cách làm sai lạc tin mật, làm giả tạo tin mật đẻ gây bất
lợi cho đối phƣơng. Một phƣơng pháp giấu tin tốt phải đảm bảo tin mật không bị tấn
công một cách chủ động trên cơ sở những hiểu biết về thuật toán nhúng tin (nhƣng
không biết khoá giấu tin) và có vật mang.
Đối với lĩnh vực thủy ấn số thì khả năng chống giả mạo là yêu cầu vô cùng quan
trọng vì có nhƣ vậy mới bảo vệ đƣợc bản quyền, minh chứng tính pháp lý của sản
phẩm.
c) Dung lƣợng nhúng
Dung lƣợng giấu đƣợc tính bằng tỷ lệ của lƣợng tin cần giấu so với kích thƣớc
của vật mang tin. Các phƣơng pháp này đều cố gắng giấu đƣợc càng nhiều tin càng tốt
nhƣng vẫn giữa đƣợc bí mật. Tuy nhiên trong thực tế ngƣời ta luôn phải cân nhắc giữa
dung lƣợng và các chỉ tiêu khác nhƣ tính vô hình, tính bền vững (ổn định).


27

Hình 9: Cân nhắc giữa chất lƣợng, dung lƣợng và tính bền vững
d) Tính bền vững
Sau khi giấu tin vào vật mang, bản thân vật mang có thể phải trải qua các biến đổi
khác nhau, ví dụ nhƣ nếu vật mang là ảnh số thì có thể sẽ phải qua các biến đổi nhƣ
lọc (tuyến tính, lọc phi tuyến) thêm nhiễu, làm sắc nét, mờ nhạt, quay, nén mất dữ
liệu…Tính bền vững là thƣớc đo sự nguyên vẹn của tin mật sau những biến đổi nhƣ

vậy.
e) Độ phức tạp tính toán
Chỉ tiêu độ phức tạp trong giấu tin và tách tin cũng là một yếu tố quan trọng trong
đánh giá các phƣơng pháp giấu tin mật. Yêu cầu về độ phức tạp tính toán phụ thuộc
vào từng ứng dụng. Ví dụ một ứng dụng tạo thuỷ ấn để đánh dấu bản quyền cần phải
có độ phức tạp tính toán cao thì mới đảm bảo chịu đƣợc sự tấn công của nhiều tin tặc
nhằm phá huỷ thuỷ ấn.
1.3.3. Ứng dụng của giấu tin mật
1.3.3.1. Liên lạc bí mật
Trong mã hoá, bản mã của tin mật có thể gây ra sự chú ý của tin tặc nhƣng tin
mật đƣợc giấu vào trong môi trƣờng nào đó rồi gửi đi trên mạng máy tính thì ít gây ra
sự chú ý của tin tặc. Đó là một ứng dụng của giấu tin.
Hiện nay ngƣời ta phối hợp đồng thời nhiều giải pháp để truyền tin mật trên
mạng công khai. Đầu tiên tin mật đƣợc nén lại, sau đó đƣợc mã hoá, cuối cùng giấu
bản mã vào môi trƣờng nào đó.
1.3.3.2. Bảo vệ bản quyền
- Thuỷ ấn:
+ Một biểu tƣợng bí mật gọi là thuỷ ấn đƣợc nhúng vào trong một tài liệu (hình
ảnh, âm thanh…) để xác nhận quyền sở hữu tài liệu.
+ Thuỷ ấn đƣợc đính lên tranh ảnh khi bán hoặc phân phối, thêm vào đó có thể
gán một nhãn thời gian để chống giả tạo.

×