ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÊ MẠNH THẮNG
NGHIÊN CỨU PHỐI HỢP CÁC PHƯƠNG PHÁP NÉN
THÔNG TIN, MÃ HOÁ THÔNG TIN, GIẤU THÔNG TIN
ĐỂ XÂY DỰNG ỨNG DỤNG GIẤU TIN TRONG MÔI
TRƯỜNG ĐA PHƯƠNG TIỆN
LUẬN VĂN THẠC SĨ
Hà Nội - 2009
2
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÊ MẠNH THẮNG
NGHIÊN CỨU PHỐI HỢP CÁC PHƯƠNG PHÁP NÉN
THÔNG TIN, MÃ HOÁ THÔNG TIN, GIẤU THÔNG TIN
ĐỂ XÂY DỰNG ỨNG DỤNG GIẤU TIN TRONG MÔI
TRƯỜNG ĐA PHƯƠNG TIỆN
Ngành: Công nghệ Thông tin
Chuyên ngành: Công nghệ phần mềm
Mã số: 60 48 10
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS. Hồ Văn Hương
3
Hà Nội - 2009
4
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
5
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
6
MỤC LỤC
LỜI CAM ĐOAN 5
LỜI CẢM ƠN 6
MỤC LỤC 7
DANH MỤC CÁC KÝ HIỆU VIẾT TẮT 9
CHƯƠNG 1 14
TỔNG QUAN VỀ NÉN, MÃ HOÁ VÀ GIẤU TIN MẬT 14
.1Tổng quan về nén thông tin 14
.1.1.Nhận thức chung 14
1.1.1.Một số khái niệm cơ bản 14
1.1.2.Các thông số quan trọng của nén 14
.1.2.Nguyên tắc của nén dữ liệu 15
.1.3.Phân loại phương pháp nén 17
1.3.1.Theo nguyên lý nén 17
1.3.2.Theo cách thức thực hiện nén 18
1.3.3.Phân loại dựa vào triết lý của sự mã hoá 18
1.3.4.Cách phân loại của Anil.K.Jain 18
.1.4.Các kỹ thuật nén thông tin 18
1.4.1.Nén không mất mát thông tin 18
1.4.2.Nén có mất mát thông tin 19
.1.5.Ứng dụng của nén thông tin 19
.2Mã hoá thông tin 20
.1.6.Sơ lược về lịch sử mật mã học 20
.1.7.Các khái niệm cơ bản 21
1.7.1.Khái niệm mật mã 21
1.7.2.Khái niệm mã hoá thông tin 21
.1.8.Phân loại hệ mật mã 22
1.8.1.Hệ mã hoá khoá bí mật 22
1.8.2.Hệ mã hoá khoá công khai 23
1.8.3.Kết hợp hệ mã hoá khoá bí mật và hệ mã hoá khoá công khai 25
.3Sơ lược về giấu tin mật 25
.1.9.Các khái niệm cơ bản 25
1.9.1.Khái niệm giấu tin mật 26
1.9.2.Các thành phần của hệ giấu tin mật 27
.1.10.Tính chất của giấu tin mật 28
.1.11.Ứng dụng của giấu tin mật 29
1.11.1.Liên lạc bí mật 29
1.11.2.Bảo vệ bản quyền 29
.1.12.Kỹ thuật tấn công hệ giấu tin mật 30
.4Kế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
.5Âm thanh số 32
.2.1.Tính chất cơ bản của tín hiệu âm thanh 32
.2.2.Biểu diễn âm thanh số 32
.2.3.Nén âm thanh 35
2.3.1.Lượng tử hóa phi tuyến 35
2.3.2.Mã hóa dự báo (Predictive Coding) 35
2.3.3.Kỹ thuật nén sử dụng tính chất lọc (masking): Âm thanh MPEG 36
.2.4.Giấu tin mật trong âm thanh số 37
.6Ảnh số 39
7
.2.5.Biểu diễn ảnh số 39
.2.6.Các tham số chính của ảnh số 40
.2.7.Nén ảnh 40
.2.8.Giấu tin mật trong ảnh số 43
2.8.1.Giấu tin mật trong ảnh đen trắng 43
2.8.2.Giấu tin trong ảnh màu 44
.7Video số 47
.2.9.Biểu diễn video số 47
.2.10.Nén video 47
2.10.1.Lấy mẫu màu 48
2.10.2.Ước lượng và bù chuyển động 48
2.10.3.MPEG 48
2.10.4.Các chuẩn khác 52
.2.11.Giấu tin trong video số 52
.8Kết chương 52
CHƯƠNG 3 54
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 54
.9Vì sao phải kết hợp nén thông tin, mã hoá thông tin và giấu tin mật 54
.10Tình hình nghiên cứu, ứng dụng giấu tin mật hiện nay 55
.3.1.Một số kỹ thuật và phần mềm giấu tin mật trên thị trường 55
.3.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 57
.11Giải pháp đề xuất 58
.3.3.Mục tiêu, yêu cầu 58
.3.4.Giải pháp 59
.12Xây dựng và cài đặt ứng dụng 61
.3.5.Yêu cầu xây dựng 61
.3.6.Lựa chọn giải pháp kỹ thuật cho ứng dụng 62
3.6.1.Lựa chọn môi trường và phương tiện truyền 62
3.6.2.Xây dựng cơ sở dữ liệu vật mang 62
3.6.3.Lựa chọn kỹ thuật nén 62
3.6.4.Lựa chọn phương pháp mã hoá 62
3.6.5.Lựa chọn giải thuật giấu tin 63
3.6.6.Lựa chọn môi trường xây dựng 63
.3.7.Thiết kế và cài đặt phần mềm 65
.3.8.Kết quả xây dựng 72
.3.9.Giới hạn và cải thiện tương lai: 73
.13Kết chương 74
KẾT LUẬN 75
TÀI LIỆU THAM KHẢO 76
8
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
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
Thuật toán mã hóa khóa
9
Adleman
công khai do 3 tác giả Ron
Rivest, Adi Shamir, Len
Adleman đề xuất
10
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
11
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.
12
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.
13
CHƯƠNG 1
TỔNG QUAN VỀ NÉN, MÃ HOÁ VÀ GIẤU TIN MẬT
.1 Tổng quan về nén thông tin
.1.1. Nhận thức chung
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.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
14
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.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
15
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
16
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.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.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ế.
17
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.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.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.4. Các kỹ thuật nén thông tin
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)
18
- Mã hoá Huffman (Huffman Coding)
- Mã hoá Shannon-Fano (Shannon-Fano Coding)
- Các phương pháp LZ78, LZH, LZW…
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.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 để
19
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.
.2 Mã hoá thông tin
.1.6. 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.
20
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.7. Các khái niệm cơ bản
1.7.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.7.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
21
- 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.8. 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.8.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
22
đị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.8.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à
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ế
23
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
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).
24
+ 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.8.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
.3 Sơ lược về giấu tin mật
.1.9. Các khái niệm cơ bản
25