Tải bản đầy đủ (.docx) (94 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.19 MB, 94 trang )

ĐẠ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ố:



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 ..................................................................................................................
LỜI CẢM ƠN........................................................................................................................
MỤC LỤC .............................................................................................................................
DANH MỤC CÁC KÝ HIỆU VIẾT TẮT..............................................................................
DANH MỤC CÁC HÌNH VẼ ................................................................................................
MỞ ĐẦU .............................................................................................................................
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 ............................................................................

1.1.1.2. Các thông số quan trọng của nén ................................................................
1.1.2. Nguyên tắc của nén dữ liệu .................................................................................
1.1.3. Phân loại phƣơng pháp nén .................................................................................
1.1.3.2. Theo cách thức thực hiện nén .....................................................................
1.1.3.3. Phân loại dựa vào triết lý của sự mã hoá .....................................................
1.1.3.4. Cách phân loại của Anil.K.Jain ..................................................................
1.1.4. Các kỹ thuật nén thông tin ..................................................................................
1.1.4.2. Nén có mất mát thông tin ...........................................................................
1.1.5. Ứng dụng của nén thông tin ................................................................................
1.2. Mã hoá thông tin ......................................................................................................
1.2.1. Sơ lƣợc về lịch sử mật mã học ............................................................................
1.2.2. Các khái niệm cơ bản..........................................................................................
1.2.2.2. Khái niệm mã hoá thông tin .......................................................................
1.2.3. Phân loại hệ mật mã ............................................................................................
1.2.3.1. Hệ mã hoá khoá bí mật...............................................................................
1.2.3.2. Hệ mã hoá khoá công khai .........................................................................
1.2.3.3. Kết hợp hệ mã hoá khoá bí mật và 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 ...............................................................................
1.3.1.2. Các thành phần của hệ giấu tin mật ............................................................
1.3.2. Tính chất của giấu tin mật ...................................................................................
1.3.3. Ứng dụng của giấu tin mật ..................................................................................
1.3.4. Kỹ thuật tấn công hệ giấu tin mật ........................................................................
1.4. Kết chƣơng ...............................................................................................................
CHƢƠNG 2.........................................................................................................................
MÔI TRƢỜNG ĐA PHƢƠNG TIỆN VÀ KHẢ NĂNG GIẤU TIN ....................................
2.1. Âm thanh số .............................................................................................................
2.1.1. Tính chất cơ bản của tín hiệu âm thanh ...............................................................
2.1.2. Biểu diễn âm thanh số .........................................................................................

2.1.3. Nén âm thanh .....................................................................................................
2.1.3.1. Lƣợng tử hóa phi tuyến ..............................................................................
2.1.3.2. Mã hóa dự báo (Predictive Coding) ............................................................


2.1.4. Giấu tin mật trong âm thanh số ...........................................................................
2.2.Ảnh số ...............................................................................
2.2.1. Biểu diễn ảnh số .................................................................................................
2.2.2. Các tham số chính của ảnh số .............................................................................
2.2.3. Nén ảnh ..............................................................................................................
2.2.4. Giấu tin mật trong ảnh số ....................................................................................
2.2.4.1. Giấu tin mật trong ảnh đen trắng ........................
2.2.4.2. Giấu tin trong ảnh màu .......................................
2.3.Video số ............................................................................
2.3.1. Biểu diễn video số ..............................................................................................
2.3.2. Nén video ...........................................................................................................

2.3.2.2. Ƣớc lƣợng và bù chuyển động ..........................

2.3.3. Giấu tin trong video số........................................................................................
2.4.Kết chƣơng .......................................................................
CHƢƠNG 3.........................................................................................................................
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.................................................................................................
3.1.Vì sao phải kết hợp nén thông tin, mã hoá thông tin và gi
3.2.Tình hình nghiên cứu, ứng dụng giấu tin mật hiện nay ....
3.2.1. Một số kỹ thuật và phần mềm giấu tin mật trên thị trƣờng...................................
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...............................................................

3.3.1. Mục tiêu, yêu cầu ...............................................................................................
3.3.2. Giải pháp ............................................................................................................
3.4.Xây dựng và cài đặt ứng dụng ..........................................
3.4.1. Yêu cầu xây dựng ...............................................................................................
3.4.2. Lựa chọn giải pháp kỹ thuật cho ứng dụng ..........................................................
3.4.2.1. Lựa chọn môi trƣờng và phƣơng tiện truyền ....
3.4.2.2. Xây dựng cơ sở dữ liệu vật mang .......................

3.4.2.4. Lựa chọn phƣơng pháp mã hoá .........................

3.4.2.6. Lựa chọn môi trƣờng xây dựng .........................
3.4.3. Thiết kế và cài đặt phần mềm..............................................................................
3.4.4. Kết quả xây dựng ................................................................................................
3.4.5. Giới hạn và cải thiện tƣơng lai: ...........................................................................
3.5.Kết chƣơng .......................................................................
KẾT LUẬN .........................................................................................................................
TÀI LIỆU THAM KHẢO ....................................................................................................
PHỤ LỤC ............................................................................................................................


7

DANH MỤC CÁC KÝ HIỆU VIẾT TẮT
VIẾT TẮT

3-DES

ADC
AES
DAC

DCT
DES
DPCM

ECC

HAS

HVS

JPEG

LZ77,
LZ78

LZW

MNP5


PCM
QAM


RLC
RLE

RSA



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


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ã d kd ∈ 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ã 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=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


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


×