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

Nghiên cứu phát triển các thuật toán giấu tin trong ảnh và ứng dụng trong mã đàn hồi ( bản full)

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.64 MB, 114 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
––––––––––––– 



 –––––––––––––

Nguyễn Hải Thanh

NGHIÊN CỨU PHÁT TRIỂN
CÁC THUẬT TOÁN GIẤU TIN TRONG ẢNH
VÀ ỨNG DỤNG TRONG MÃ ĐÀN HỒI
Chuyên ngành: Đảm bảo toán học cho máy tính và các hệ thống tính toán
Mã số: 62.46.35.01

LUẬN ÁN TIẾN SĨ TOÁN HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC:
1. PGS. TS. Phan Trung Huy
2. PGS.TS. Tống Đình Quỳ

Hà Nội–2012


LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các kết quả được
viết chung với các tác giả khác đều được sự đồng ý của đồng tác giả trước khi đưa vào
luận án. Các kết quả nêu trong luận án là trung thực và chưa từng được ai công bố
trong các công trình nào khác.
Hà Nội, ngày 07 tháng 09 năm 2012



Nguyễn Hải Thanh

1


LỜI CẢM ƠN
Trước hết, tác giả xin gửi lời cảm ơn sâu sắc tập thể hướng dẫn khoa học,
PGS.TS. Phan Trung Huy và PGS.TS. Tống Đình Quỳ, những người thầy đã chỉ ra
hướng nghiên cứu lý thú. Các thầy là tấm gương cho tôi trong nghiên cứu cũng như
trong cuộc sống.
Tác giả xin gửi lời cảm ơn đến các thày/cô ở Viện Toán ứng dụng và Tin học,
các thày/cô ở Trung tâm Đào tạo Sau đại học Trường Đại học Bách khoa Hà Nội cùng
các đồng nghiệp ở Vụ Khoa học, Công nghệ và Môi trường - Bộ Giáo dục và Đào tạo
đã hỗ trợ, giúp đỡ tác giả trong công tác để tác giả có thể dành thời gian thực hiện luận
án.
Tác giả xin gửi lời cảm ơn chân thành đến các thầy phản biện và các thầy trong
hội đồng đã trao đổi và góp nhiều chỉ dẫn quý báu, giúp cho luận án được trình bày tốt
hơn.
Tác giả xin gửi lời cảm ơn đến bạn bè và nhiều người còn chưa được nhắc đến.
Cuối cùng nhưng không phải tất cả, tác giả xin bày tỏ lòng biết ơn gia đình đã động
viên giúp đỡ rất nhiều về tinh thần, thời gian để tác giả hoàn thành luận án.

2


MỤC LỤC
DANH MỤC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT ......................................... 6
DANH MỤC CÁC BẢNG .................................................................................... 7
DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ ........................................................ 8

MỞ ĐẦU

........................................................................................................... 9

Chương 1

CÁC KIẾN THỨC CƠ BẢN ....................................................... 15

1.1 Một số khái niệm ............................................................................................. 15
1.1.1

Nhóm ........................................................................................................ 15

1.1.2

Nhóm xyclic.............................................................................................. 15

1.1.3

Vành .......................................................................................................... 16

1.1.4

Môđun ....................................................................................................... 16

1.1.5

Vị nhóm .................................................................................................... 16

1.1.6


Ngôn ngữ .................................................................................................. 17

1.1.7

Otomat ...................................................................................................... 18

1.1.8

Các phép toán trên ma trận ....................................................................... 18

1.2 Các tính chất cơ bản của mã .......................................................................... 19
1.2.1

Mã và đồng cấu mã ................................................................................... 19

1.2.2

Kiểm tra tính chất mã ............................................................................... 20

1.3 Mật mã học....................................................................................................... 21
1.3.1

Giới thiệu chung về mã hóa ...................................................................... 21

1.3.2

Khóa .......................................................................................................... 21

1.3.3


Mã đối xứng và phi đối xứng ................................................................... 22

1.3.4

Thám mã (Cryptanalyis) ........................................................................... 22

1.4 Giấu tin trong ảnh ........................................................................................... 23
1.4.1

Các kỹ thuật được sử dụng để giấu tin ..................................................... 24

1.4.2

Phương pháp LSB (LSB- Least significant bit) ....................................... 25

1.4.3

Phương pháp Wu-Lee trên ảnh nhị phân .................................................. 26

1.4.4

Phương pháp Wu-Lee trên ảnh Bitmap .................................................... 28

1.4.5

Phương pháp CPT trên ảnh nhị phân ........................................................ 29
3



Chương 2

GIẤU TIN TRÊN ẢNH NHỊ PHÂN ........................................... 32

2.1 Tỷ lệ giấu tin tối đa của các lược đồ giấu tin k-block ................................... 32
2.2 Các lược đồ giấu tin CPT mở rộng ................................................................ 33
2.2.1

Phương pháp giấu tin CPTE ..................................................................... 33

2.2.2

Phương pháp CPTE1 ................................................................................ 39

2.2.3

Phương pháp CPTE2 ................................................................................ 42

2.3 Tăng cường chất lượng ảnh nhị phân ........................................................... 46
2.3.1

Phương pháp tăng cường chất lượng ảnh nhị phân MCPTE2 .................. 48

2.3.2

Chứng minh tính đúng đắn của thuật toán MCPTE2 ............................... 52

2.4 Phương pháp môđun ....................................................................................... 52
2.4.1


Giấu tin theo phương pháp module sử dụng tập 1-cơ sở.......................... 53

2.4.2

Giấu tin theo phương pháp module sử dụng tập 2-cơ sở.......................... 54

2.4.3

Tính đúng đắn của các sơ đồ giấu tin 1-M, 2-M ...................................... 54

2.4.4

Lược đồ giấu tin sử dụng phương pháp môđun trên vành Z2 ................... 55

2.4.5

Lược đồ giấu tin sử dụng phương pháp môđun trên vành Z3 ................... 57

2.5 Đánh giá chất lượng ảnh nhị phân sau khi giấu tin ..................................... 59

Chương 3

GIẤU TIN TRÊN ẢNH MÀU ..................................................... 62

3.1 Tổng quan về giấu tin theo tiếp cận chẵn lẻ .................................................. 62
3.2 Các thuật toán giấu tin dựa trên tiếp cận chẵn lẻ ........................................ 64
3.2.1

Thuật toán EzStego ................................................................................... 64


3.2.2

Thuật toán chẵn lẻ tối ưu .......................................................................... 66

3.2.3

Thuật toán xác định chẵn lẻ theo vòng lặp. .............................................. 68

3.2.4

Thuật toán Rho ......................................................................................... 69

3.3 Đánh giá các thuật toán giấu tin theo tiếp cận chẵn lẻ ................................ 72
3.4 Các thuật toán tăng cường chất lượng ảnh chỉ số ........................................ 73
3.4.1

Thuật toán MFOPA1 ................................................................................ 75

3.4.2

Thuật toán MFOPA2 ................................................................................ 78

3.4.3

Thuật toán MFOPA3 ................................................................................ 79

3.5 Lược đồ giấu tin trên ảnh chỉ số theo tiếp cận môđun................................. 80
3.5.1

Lược đồ giấu tin 2-M3 .............................................................................. 80


3.5.2

Lược đồ giấu tin 2-M4 .............................................................................. 82
4


3.6 Đánh giá chất lượng ảnh màu sau khi giấu tin ............................................. 84

Chương 4

SƠ ĐỒ MẬT MÃ SỬ DỤNG KỸ THUẬT GIẤU TIN VÀ TÌM

KIẾM THÔNG TIN TRÊN DỮ LIỆU MÃ HÓA ............................................ 86
4.1 Mã đàn hồi........................................................................................................ 86
4.1.1

Đồ thị mã đàn hồi ..................................................................................... 88

4.1.2

Tích đàn hồi .............................................................................................. 89

4.1.3

Mã đàn hồi ................................................................................................ 90

4.2 Đánh giá độ an toàn của các thuật toán giấu tin .......................................... 91
4.2.1


Thuật toán giấu tin trong lược đồ giấu tin CPTE ..................................... 91

4.2.2

Thuật toán giấu tin trong lược đồ giấu tin CPTE1 ................................... 92

4.2.3

Thuật toán giấu tin trong lược đồ giấu tin CPTE2 ................................... 92

4.2.4

Thuật toán giấu tin trong lược đồ giấu tin MCPTE2 ................................ 93

4.3 Sơ đồ mã hóa đàn hồi theo tiếp cận giấu tin ................................................. 95
4.3.1

Thao tác ảo ................................................................................................ 97

4.3.2

Mã đàn hồi trên đồ thị với tiếp cận giấu tin.............................................. 98

4.4 Tìm kiếm thông tin ........................................................................................ 100
4.4.1

Tìm kiếm xấp xỉ ...................................................................................... 100

4.4.2


Tìm kiếm trong văn bản mã hóa ............................................................. 103

4.5 Tìm kiếm theo tiếp cận mờ ........................................................................... 105
4.5.1

Khái niệm độ mờ .................................................................................... 105

4.5.2

Ôtômát mờ sánh mẫu .............................................................................. 105

4.5.3

Tìm kiếm trên văn bản mã hóa đàn hồi sử dụng kỹ thuật giấu tin ......... 106

KẾT LUẬN ....................................................................................................... 109
TÀI LIỆU THAM KHẢO ................................................................................ 111
DANH MỤC CÔNG TRÌNH CỦA TÁC GIẢ ............................................... 113

5


DANH MỤC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT
STT Ký hiệu/chữ viết tắt

Ý nghĩa

1

|A|


Lực lượng của tập A

2

x

Giá trị phần nguyên dưới của x

3

CPT

Chen-Pan-Tseng

4

CPTE

CPT Extension

5

FOPA

Fastest Optimal Parity Assignment (phương
pháp chẵn lẻ tối ưu nhanh nhất)

6


GIF

Graphics Interchange Format

7

JPEG

Joint Photographic Experts Group

8

MCPT

Modification CPT

9

LSB

Least significant bit (bit ít quan trọng nhất)

10

LCS

Longest Common Subsequence (Dãy con
chung dài nhất)

11


LCF

Longest Common Factor (Xâu con chung dài
nhất hay khúc con chung dài nhất)

12

MSDR

Maximality of Secret Data Ratio (Tỷ lệ giấu tin
tối đa).

13

OPA

Optimal Parity Assignment (phương pháp chẵn
lẻ tối ưu)

14

PA

Parity Assignment (phương pháp chẵn lẻ)

15

PSNR


Peak signal-to-noise ratio (tỷ lệ tín hiệu trên
nhiễu)

16

RLE

Run – Length - Encoded

6


DANH MỤC CÁC BẢNG
TT Tên bảng số liệu

Trang

1

Bảng 2.1: So sánh tỷ lệ giấu tin tối đa với các sơ đồ CPT, CPTE,
CPTE2

62

2

Bảng 2.2: So sánh chất lượng ảnh có giấu tin của các phương pháp

63


7


DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ
TT Tên hình vẽ, đồ thị

Trang

1

Hình 1: Phân loại kỹ thuật giấu tin

9

2

Hình 2.1: Ví dụ về ảnh nhị phân có giấu tin

48

3

Hình 2.2: Ví dụ về ảnh có giấu tin được điều khiển chất lượng

51

4

Hình 2.3: Các ảnh được sử dụng để đánh giá chỉ số PSNR


63

5

Hình 3.1: Ví dụ về đường đi Halminton trong trường hợp khi các cụm
điểm màu trên không gian P phân bố xa nhau.

68

6

Hình 3.2: Ví dụ về các cây OPA

70

7

Hình 3.3: Ví dụ về các cây Rho

73

8

Hình 3.4a: Ví dụ về các phương pháp giấu tin trên ảnh chỉ số

76

9

Hình 3.4b: Ví dụ về các phương pháp giấu tin trên ảnh chỉ số


76

10

Hình 3.5: Ví dụ về ảnh chỉ số có giấu tin không điều khiển chất lượng

77

11

Hình 3.6: Ví dụ về ảnh có giấu tin được kiểm soát chất lượng.

80

12

Hình 3.7a: So sánh chất lượng ảnh có giấu tin của các phương pháp

88

13

Hình 3.7b: So sánh chất lượng ảnh có giấu tin của các phương pháp

88

14

Hình 4.1: Đồ thị mã đàn hồi G3


92

15

Hình 4.2: Mã hóa sử dụng tích đàn hồi

94

16

Hình 4.3: Sơ đồ mã hóa theo tiếp cận giấu tin

98

17

Hình 4.4: Phương pháp so mẫu trên miền mã hóa có sử dụng otomat
mờ

108

18

Hình 4.5: Phương pháp so mẫu không giải mã

108

8



MỞ ĐẦU
Về khía cạnh lịch sử, giấu tin (Steganography) được hiểu là viết được che giấu.
Steganography có lịch sử phát triển lâu đời từ 440 năm trước công nguyên.
Steganography có nguồn gốc từ tiếng Hy Lạp, trong đó Steganos (có nghĩa là phủ hoặc
bí mật) và graphy (có nghĩa là bằng văn bản hoặc bản vẽ). Một trong những kỹ thuật
che giấu thông tin sớm nhất được sử dụng liên quan đến một người Hy Lạp tên là
Histaeus. Để thông báo thông tin cho quân đội của mình ông đã cạo đầu của một nô lệ
và xăm thông tin vào đầu của người nô lệ. Khi tóc của người nô lệ mọc trở lại,
Histaeus gửi người nô lệ đến nơi nhận tin, ở đó người ta đã tiến hành cạo tóc của
người nô lệ để nhận lại thông tin được giấu. Một ví dụ khác là trong đại chiến thế giới
thứ 2 người ta đã sử dụng các bức tranh có vệt cỏ dài ngắn trên bờ sông biểu diễn các
bit 0, 1 của một bức mật điện.
Trong những năm gần đây với sự phát triển của công nghệ thông tin, đặc biệt là
sự ra đời của Internet kết hợp với sức mạnh của máy tính điện tử, các phương pháp
giấu tin trên môi trường multimedia và cơ sở dữ liệu được quan tâm nghiên cứu và
phát triển mạnh. Môi trường che giấu được quan tâm nhiều thường là các file ảnh,
video, âm thanh (audio) và văn bản (text). Trong đó dạng thức cơ bản có thể ẩn giấu
được nhiều thông tin là dạng ảnh (đây là định dạng thông tin phổ biến được sử dụng để
trao đổi trên mạng và có dung lượng không lớn, dung lượng ảnh có thể từ vài KB cho
đến vài MB). Các file ảnh chính là môi trường được lựa chọn trong nghiên cứu của
luận án. Các kỹ thuật giấu tin trong ảnh được nghiên cứu, phát triển trong luận án có
thể ứng dụng mở rộng cho các môi trường khác như audio, video.
Mặc dù có lịch sử phát triển từ rất lâu, nhưng các kỹ thuật giấu tin mới được chú
ý phát triển mạnh trong khoảng 10 năm trở lại đây, trên thế giới đã có một số cách tiếp
cận về phân loại các kỹ thuật giấu tin. Sơ đồ phân loại sau được đưa ra năm 1999 và
được nhiều người chấp nhận:
Giấu tin
(Information hiding)


Giấu tin mật
(Steganography)

Thủy vân số
(Digital watermarking)

Thủy vân bền vững
(Robust watermarking)

Thủy vân dễ vỡ
(Fragile watermarking)

Hình 1: Phân loại kỹ thuật giấu tin

9


Sơ đồ phân loại này như một bức tranh khái quát về ứng dụng và kỹ thuật giấu
thông tin. Việc phân loại dựa trên việc thống kê sắp xếp khoảng 100 công trình đã
công bố trên một số tạp chí, cùng với thông tin về tên và tóm tắt nội dung của khoảng
200 công trình đã công bố trên Internet, có thể chia lĩnh vực giấu tin ra làm hai hướng
lớn, đó là giấu tin mật (steganography) và thủy vân (watermarking):
• Giấu tin mật (steganography): mục tiêu là tìm các phương pháp giấu tin với
tỷ lệ giấu tin cao và người khác không phát hiện được 1 đối tượng (ví dụ:
file ảnh) đang có giấu tin mật.
• Thủy vân số (Watermarking): mục tiêu để giấu các nội dung tin ngắn nhằm
khẳng định bản quyền sở hữu hay phát hiện xuyên tạc thông tin, do đó
không quan tâm nhiều đến tỷ lệ tin được giấu nhưng đòi hỏi độ bền vững
cao của thông tin cần giấu (trước các biến đổi thông thường của tệp dữ liệu
môi trường). Thủy vân số được phân thành 2 loại là thủy vân dễ vỡ và thủy

vân bền vững. Thủy vân bền vững được nhúng vào trong sản phẩm như một
hình thức dán tem bản quyền (dùng để xác thực bản quyền). Trong trường
hợp này, thủy vân phải tồn tại bền vững cùng với sản phẩm nhằm chống
việc tẩy xóa, làm giả hay biến đổi phá hủy thủy vân. Thủy vân dễ vỡ là kỹ
thuật nhúng thủy vân vào trong sản phẩm sao cho khi phân bố sản phẩm này
trong môi trường mở nếu có bất cứ một phép biến đổi nào làm thay đổi đối
tượng sản phẩm gốc thì thủy vân đã được giấu trong đối tượng không còn
nguyên vẹn như trước (dễ vỡ). Thủy vân dễ vỡ được ứng dụng để chống giả
mạo.
Trong hướng nghiên cứu về steganography thì việc nghiên cứu các thuật toán
giấu tin trong ảnh nhị phân luôn có sự thách thức cao và được nhiều tổ chức và cá
nhân quan tâm nghiên cứu. Nguyên nhân là do giấu tin trong ảnh nhị phân rất dễ bị
phát hiện và các thuật toán giấu tin trong ảnh nhị phân có thể mở rộng cho các định
dạng ảnh khác, ví dụ điển hình là phương pháp LSB (được đề xuất vào khoảng đầu
những năm 2000).
Năm 1998, M. Y. Wu và J. H. Lee đề xuất thuật toán giấu tin Wu-Lee (xem [19])
theo khối, trong đó một ảnh nhị phân dùng làm môi trường giấu tin được chia thành
các khối đều nhau, mỗi khối là một ma trận nhị phân. Thông tin mật là một bít mật
được giấu vào mỗi khối này bằng cách thay đổi nhiều nhất một bit của khối.
Năm 2000, các tác giả Chen, Pan, Tseng đề xuất thuật toán CPT cho ảnh nhị
phân (xem [20]). Thuật toán CPT cho phép giấu được một dãy r bit vào ma trận nhị
phân F kích thước m×n=N với r = log2(m×n+1) (hay 2r-1 ≤ N < 2r+1) bằng cách thay
đổi nhiều nhất 2 bit trong khối F. So với thuật toán Wu-Lee thì thuật toán CPT tăng
được lượng thông tin che giấu rất đáng kể. Kể từ khi phương pháp CPT ra đời, đã có
rất nhiều bài báo nghiên cứu và phát triển thuật toán CPT cả về mặt lý thuyết và ứng
dụng, chẳng hạn như: Yu-Chee Tseng; Hsiang-Kuang Pan (2001); Hioki Hirohisa
(2003) đã đề xuất một thuật toán CPT cải tiến nhằm tăng chất lượng ảnh có giấu tin.
Ahmed Al-Jaber và Khair Eddin Sabri (2005) có đề xuất một phương pháp giấu 4 bít
10



(=log2(5×5 +1)) trong khối ma trận nhị phân 5×5 mà không sử dụng ma trận trọng số
như trong phương pháp CPT.
Ở Việt Nam thời gian qua cũng có nhiều công trình nghiên cứu về giấu tin mật,
có thể kể đến các nhóm nghiên cứu của Học viện Kỹ thuật Quân sự (Đào Thanh Tĩnh),
Viện CNTT - Viện Khoa học và Công nghệ Việt Nam (Nguyễn Xuân Huy), Trường
Đại học Giao thông Vận tải (Phạm Văn Ất), Trường Đại học Công nghệ - Đại học
Quốc gia Hà Nội (Trịnh Nhật Tiến),... Ví dụ: nhóm tác giả Phạm Văn Ất, Đào Thanh
Tĩnh tập trung vào việc hoàn thiện thuật toán, chứng minh tính đúng đắn của thuật
toán CPT, cải tiến một số tính chất của thuật toán CPT nhằm tăng hiệu quả cài đặt và
đề ra một số phương pháp cho phép giấu tin với tỷ lệ cao hơn 1 bít so với CPT.
Mục tiêu thứ nhất của luận án là nghiên cứu về định dạng ảnh nhị phân và đề
xuất các thuật toán giấu tin mới theo tiếp cận CPT mở rộng và các thuật toán dựa trên
lý thuyết môđun để nâng cao tỷ lệ giấu tin và điều khiển chất lượng giấu tin.
Trong các ứng dụng thực tiễn người ta thường sử dụng ảnh màu để giấu tin, bởi
vì ảnh màu có tính chất dễ che giấu, phổ biến và khả năng giấu tin cao. Ảnh đa mức
xám là một trường hợp đặc biệt của ảnh màu. Đối với ảnh màu, để giảm dung lượng
đường truyền người ta thường sử dụng các định dạng như ảnh chỉ số (BMP, GIF,
PCX,...), ảnh nén trên miền tần số như (JPG, TIFF,...). Đối tượng nghiên cứu của luận
án về ảnh màu là các định dạng ảnh chỉ số.
Đối với ảnh màu, phương pháp chẵn lẻ được xem là một hướng tiếp cận được
nhiều tác giả tập trung nghiên cứu đặc biệt là trong lĩnh vực ảnh màu có chỉ số. Các
kết quả nổi bật theo ý tưởng chẵn lẻ có Romana Machado (2001) với phương pháp
EzStego và Fridrich, J., Du, R. (2002) với phương pháp chẵn lẻ tối ưu OPA. Các thuật
toán này được xây dựng dựa trên tiếp cận theo mô hình đồ thị có trọng số là khoảng
cách màu.
Mục tiêu thứ hai của luận án là nghiên cứu đề xuất các thuật toán giấu tin mới
trên ảnh chỉ số cũng dựa trên tiếp cận đồ thị nhưng có tốc độ tính toán cao hơn, cài
đặt đơn giản hơn.
Mật mã (Cryptography) ngày càng được ứng dụng rộng rãi trong nhiều lĩnh vực

khoa học kỹ thuật cũng như trong hoạt động cuộc sống và đã có những đóng góp đáng
kể. Vì vậy, hiện nay mật mã đang được quan tâm nghiên cứu nhằm xây dựng những hệ
mật mã với độ an toàn cao. Tuy nhiên, cho đến nay vẫn chưa có được một hệ mật mã
với độ an toàn thật lý tưởng. Vì thế luôn có động lực cải tiến, nghiên cứu xây dựng các
hệ mới, cả về khía cạnh lý thuyết cũng như thực hành.
Mật mã có thể làm cho nội dung của thông điệp bị che dấu, không thể đọc được
dưới dạng bản rõ nên vẫn có thể nhận ra được là có một nội dung đang bị che dấu, giấu
tin là che dấu sự tồn tại, hiện hữu của dữ liệu, thông điệp mật. Ưu điểm của hướng tiếp
cận giấu tin so với mã hoá là khi tiếp cận môi trường giấu tin đối phương khó xác định
được là có thông tin giấu ở trong đó hay không. Giấu tin có thể kết hợp với khả năng
của mã hóa để phục vụ cho mục đích che dấu dữ liệu với khả năng bảo mật và an toàn
cao hơn.
11


Mục tiêu thứ 3 của luận án về khía cạnh ứng dụng trong mật mã học là: đề xuất
các mô hình mã hóa mới theo tiếp cận mã đàn hồi sử dụng các kỹ thuật giấu tin. Mô
hình này sẽ là cơ sở để phát triển các hệ mật mã mới. Tiếp đó đề xuất thuật toán tìm
kiếm dữ liệu an toàn trên môi trường mã hóa (sử dụng kỹ thuật mã hóa mới) mà không
cần giải mã.
luận:

Nội dung của luận án gồm phần mở đầu, 4 chương, tài liệu tham khảo và kết

Chương 1–Các kiến thức cơ bản: Chương này trình bày các kiến thức cơ sở cần
thiết liên quan được sử dụng trong luận án. Cụ thể nhắc lại một số khái niệm về nhóm,
vị nhóm, ngôn ngữ, ôtomát, vành, môđun, các phép toán trên ma trận và giới thiệu
một số tính chất cơ bản của mã. Một phần quan trọng của chương giới thiệu các kiến
thức cơ sở về giấu tin và giấu tin trong ảnh cùng các kỹ thuật giấu tin căn bản đang
được áp dụng rộng rãi trong thời gian gần đây như: phương pháp LSB, Wu-Lee, CPT

(xem [19,20,21]). Đó là những gợi ý cho hướng nghiên cứu mở rộng các kỹ thuật giấu
tin mới với tỷ lệ giấu tin và chất lượng ảnh mang tin cao hơn trong luận án. Cùng với
các mở rộng về giấu tin, luận án cũng phát triển các hệ mã mới sử dụng các kỹ thuật
giấu tin để tăng cường độ bảo mật, an toàn cho dữ liệu.
Các chương tiếp theo trình bày các kết quả nghiên cứu chính của luận án.
Chương 2–Giấu tin trên ảnh nhị phân: Chương này của luận án đề xuất các
lược đồ giấu tin mới trên ảnh nhị phân dựa trên tư tưởng của CPT ([20]). Các lược đồ
giấu tin được mở rộng (CPTE, CPTE1, CPTE2) đều có tỷ lệ giấu tin cao hơn so với
CPT, trong đó CPTE2 có tỷ lệ giấu tin gần gấp đôi CPT mà chất lượng ảnh vẫn không
đổi. Đặc biệt luận đưa ra một phương pháp mới có tên gọi là phương pháp môđun cho
phép phát triển các lược đồ giấu tin mới cho ảnh nhị phân và ảnh màu với tỷ lệ giấu
cao. Dựa trên phương pháp môđun luận án đã đề xuất 1 số lược đồ giấu tin mới 1-M,
2-M, 1-M2, 2-M2, 1-M3, 2-M3, 2-M4. Các lược đồ giấu tin được đề xuất theo tiếp
cận môđun đều có tỷ lệ giấu tin cao và có thể đạt tới tỷ lệ giấu tin tối đa của các lược
đồ k-block, chẳng hạn như thuật toán 1-M2, 2-M2. Cùng với các thuật toán giấu tin
trên ảnh nhị phân được cải tiến và phát triển mới, luận án giới thiệu thuật toán giấu tin
sửa đổi MCPTE2, cho phép giấu tin có kiểm soát chất lượng ảnh nhằm nâng cao chất
lượng ảnh có giấu tin, đảm bảo yêu cầu bằng mắt thường đối phương không thể phát
hiện được sự khác biệt giữa ảnh có giấu và không giấu tin.
Chương 3- Giấu tin trên ảnh màu: Chương này của luận án đề xuất các phương
pháp giấu tin mới trên ảnh chỉ số màu dựa trên ý tưởng của phương pháp chẵn lẻ. Các
thuật toán mới được đề xuất để giấu tin trong ảnh chỉ số (BMP, GIF) bao gồm:
phương pháp xác định chẵn lẻ theo vòng lặp và phương pháp FOPA, trong đó thuật
toán giấu tin FOPA dựa trên phương pháp Rho cho ta chất lượng ảnh tốt nhất và tốc
độ tính toán nhanh nhất theo tiếp cận chẵn lẻ. Dựa trên thuật toán FOPA, trong
chương này đã đề xuất mới 3 thuật toán tăng cường chất lượng ảnh có giấu tin
MFOPA1, MFOPA2, MFOPA3 đảm bảo yêu cầu bằng mắt thường đối phương không
thể phát hiện được sự khác biệt giữa ảnh có giấu và không giấu tin, đồng thời cũng
12



tăng độ an toàn cho thông tin được giấu. Phần cuối chương giới thiệu 2 lược đồ giấu
tin mới theo tiếp cận môđun là 2-M3 và 2-M4.
Chương 4–Mã đàn hồi theo tiếp cận giấu tin và bài toán tìm kiếm thông tin
trên dữ liệu mã hóa
Chương này nghiên cứu kết quả đạt được về giấu tin đã được thực hiện trong
chương 3. Phần đầu chương nhắc lại một hình thức tích mới–tích đàn hồi được đề xuất
bởi Phan Trung Huy, Vũ Thành Nam ([9]). Độ dài tích đàn hồi có thể co hoặc giãn,
miễn là đảm bảo sự phân tích duy nhất, bên cạnh đó tích đàn hồi có tính chất đa trị. Sơ
đồ mật mã được đề xuất trong chương này là sơ đồ kết hợp giữa các kỹ thuật giấu tin
và mã đàn hồi. Sơ đồ này đảm bảo các yêu cầu về tính đàn hồi, tốc độ tính toán, độ an
toàn và cài đặt đơn giản.
Phần tiếp theo của chương xem xét khả năng phát triển ứng dụng liên quan đến
sơ đồ mã đàn hồi theo tiếp cận giấu tin. Phần này sẽ nhắc lại một số kiến thức về tìm
kiếm thông tin, tìm kiếm mờ và tìm kiếm trên văn bản mã hóa mà không cần giải mã.
Trong nội dung của luận án cũng đưa ra một khái niệm mới về độ đo xấp xỉ tựa ngữ
nghĩa giữa 2 câu văn bản nhằm hỗ trợ cài đặt các thuật toán tìm kiếm xấp xỉ hiệu quả.
Phần cuối chương đề xuất thuật toán so mẫu theo tiếp cận mờ trên môi trường văn bản
mã hoá bởi mã đàn hồi theo tiếp cận giấu tin mà không đòi hỏi phải giải mã.
Những kết quả nổi bật đã đạt được của luận án:
1. Đề xuất được thuật toán giấu tin mới CTPE, CPTE1, CPTE2. Trong đó thuật
toán CPTE1, CPTE2 đạt tỷ lệ giấu tin tối đa theo tiếp cận chia khối và CPTE2
có tỷ lệ giấu tin xấp xỉ gấp đôi thuật toán giấu tin nổi tiếng CPT. Trên cơ sở
thuật toán CPTE2, luận án đã đề xuất thuật toán tăng cường chất lượng ảnh có
giấu tin MCPTE2.
2. Đề xuất phương pháp giấu tin tổng quát theo tiếp cận môđun và lược đồ giấu tin
tổng quát 1-M, 2-M. Từ phương pháp này luận án đã đưa ra các lược đồ giấu tin
cụ thể cho ảnh nhị phân và ảnh màu trên vành Z2, Z3, Z4 bao gồm: 1-M2, 2-M2,
1-M3, 2-M3, 2-M4 cho ảnh nhị phân và ảnh màu. Các lược đồ giấu tin được đề
xuất cho ảnh nhị phân đều có tỷ lệ giấu tin cao hơn so với CPT, trong đó lược

đồ 1-M2 đạt tỷ lệ giấu tin tối đa, lược đồ 2-M2 có thể đạt tỷ lệ giấu tin tối đa
trong các lược đồ k-block. Phương pháp môđun cho ta khả năng đề xuất thêm
nhiều lược đồ giấu tin mới trong ảnh nhị phân và ảnh màu với tỷ lệ giấu cao.
3. Đề xuất được thuật toán giấu tin theo tiếp cận chẵn lẻ trên ảnh chỉ số màu
FOPA. Thuật toán này đạt chất lượng tối ưu trong các thuật toán theo tiếp cận
chẵn lẻ, ngoài ra FOPA đạt được hiệu quả tính toán nhanh nhất trong các thuật
toán OPA (chẵn lẻ tối ưu). Trên cơ sở thuật toán FOPA luận án đã đề xuất 3
thuật toán tăng cường chất lượng ảnh có giấu tin MFOPA1, MFOPA2,
MFOPA3.
4. Kết quả của luận án đã cung cấp các thuật toán giấu tin an toàn để phát triển
ứng dụng trong mật mã học và đề xuất sơ đồ mã hóa đàn hồi theo tiếp cận giấu
tin.
13


5. Trong luận án cũng đưa ra một khái niệm mới về độ đo xấp xỉ tựa ngữ nghĩa
giữa 2 câu văn bản nhằm hỗ trợ cài đặt các thuật toán tìm kiếm xấp xỉ hiệu quả.
Phần cuối chương 4 đề xuất thuật toán so mẫu theo tiếp cận mờ trên môi trường
văn bản mã hoá bởi mã đàn hồi theo tiếp cận giấu tin mà không đòi hỏi phải
giải mã.
Các kết quả chính của luận án đã được công bố trong các công trình [1], [2], [3], [4],
[5], [6], [7], [8], [9], [10] và đã được trình bày tại:


Hội thảo quốc gia “Một số vấn đề chọn lọc của Công nghệ thông tin và truyền
thông”, Đại Lải, 09/2007; Huế, 12-13/6/2008; Biên Hòa – Đồng Nai, 05–
06/8/2009.




Hội thảo Quốc tế về các hệ cơ sở dữ liệu và thông tin thông minh khu vực Châu
Á (ACIIDS) Tp. Huế - 2010, Daegu city, Korea – 2011, Kaohsiung, Taiwan –
2012.



Xemina tại bộ môn Toán Tin, Viện Toán ứng dụng và Tin học, Trường Đại học
Bách khoa Hà Nội.

Hướng phát triển tiếp theo của luận án:


Nghiên cứu đề xuất các phương pháp giấu tin mới trên môi trường ảnh màu đối
với các định dạng ảnh được nén trên miền tần số (JPG, TIFF,...).



Nghiên cứu đề xuất các giải pháp giấu tin mới trên các môi trường đa phương
tiện như file ảnh, video, audio theo tiếp cận môđun.



Nghiên cứu xây dựng được những hệ mã có độ an toàn cao kết hợp giữa khái
niệm mã đàn hồi kết hợp với các kỹ thuật giấu tin. Các hệ mã mới có độ phức tạp
tính toán nhỏ và cài đặt đơn giản.

14


Chương 1 CÁC KIẾN THỨC CƠ BẢN


Chương này trình bày các kiến thức cơ sở cần thiết liên quan được sử dụng trong
luận án. Ta nhắc lại một số khái niệm cơ sở trong đại số (nhóm, nhóm cyclic, vị
nhóm, vành, môđun), khái niệm về mã và tính chất cơ bản của mã. Một phần quan
trọng của chương giới thiệu các kiến thức cơ sở về giấu tin và giấu tin trong ảnh cùng
các kỹ thuật giấu tin phổ biến trong thời gian gần đây như: phương pháp LSB, WuLee, CPT (xem [19,20,21]). Đó là những gợi ý cho hướng nghiên cứu mở rộng các kỹ
thuật giấu tin mới với tỷ lệ giấu tin và chất lượng ảnh mang tin cao hơn trong luận án.

1.1 Một số khái niệm
1.1.1 Nhóm
Một tập khác rỗng G được gọi là một nhóm nếu tồn tại một ánh xạ từ tích
Descartes G × G vào G (ảnh của phần tử (a,b) ∈ G × G với a,b là những phần tử tùy ý
của G, qua ánh xạ này ta ký hiệu là ab – khi đó G sẽ được gọi là một nhóm nhân) thỏa
mãn các tính chất sau:
G1) Kết hợp: a(bc)=(ab)c với ∀a,b,c ∈ G
G2) Có đơn vị: Tồn tại một phần tử e ∈ G sao cho ae=ea=a, ∀ a ∈ G, phần tử e
được gọi là phần tử đơn vị của G.
G3) Có nghịch đảo: với mỗi phần tử a ∈ G luôn tồn tại phần tử b ∈ G sao cho ab
= ba = e. Phần tử b được gọi là phần tử nghịch đảo của a và ký hiệu là a-1.
Phần tử ab được gọi là tích của a và b và ánh xạ xác định tích ở trên được gọi là
phép toán trên nhóm nhân G.
Nếu phép toán trên G thỏa mãn thêm điều kiện
G4) Giao hoán: ab=ba với ∀ a, b ∈ G,
thì G được gọi là nhóm Abel. Nhóm Abel còn được gọi là nhóm giao hoán.
Thông thường người ta viết phép toán trên nhóm Abel theo lối cộng a + b và gọi là
tổng của a và b trong G. Phần tử nghịch đảo của a trong nhóm Abel sẽ được ký hiệu –
a, phần tử đơn vị được ký hiệu là 0.
Một nhóm G được gọi là hữu hạn hay vô hạn nếu tập G là hữu hạn hay vô hạn
phần tử. Trường hợp nhóm G là hữu hạn thì số phần tử của G được gọi là cấp của
nhóm đó và ký hiệu là |G|.

1.1.2 Nhóm xyclic
Một nhóm G được gọi là nhóm xyclic nếu mọi phần tử của nó đều là lũy thừa của
một phần tử a ∈ G. Khi đó ta gọi a là phần tử sinh của nhóm xyclic G và ký hiệu là
G=<a>.
15


Theo định nghĩa, một nhóm xyclic G với phần tử sinh là a có thể viết được dưới
dạng G = {an | n ∈ Z}. Có 2 khả năng xẩy ra:
1) an ≠ am với mọi cặp số nguyên khác nhau n, m. Rõ ràng khi đó cấp của nhóm
xyclic G là vô hạn.
2) Tồn tại 2 số nguyên khác nhau n, m sao cho an=am. Từ đây cũng suy ra a-n = a-m,
nên ta luôn có thể giả thiết thêm rằng n-m>0. Hơn nữa ta có an-m = ana-m = ama-m
= e. Vậy luôn tồn tại một số tự nhiên r bé nhất sao cho ar=e. Khi đó:
G={a0=e, a1, a2,…, ar-1}
1.1.3 Vành
Một tập hợp R được gọi là một vành nếu trên R có hai phép toán 2 ngôi, một gọi
là phép cộng và một gọi là phép nhân, sao cho các điều kiện sau được thỏa mãn:
(R1) Tập hợp R là một nhóm Abel đối với phép cộng
(R2) Phép nhân trên R là kết hợp và có đơn vị
(R3) Luật phân phối: phép nhân là phân phối đối với phép cộng. Nghĩa là, với
các phần tử x, y, z ∈ R tùy ý, ta luôn có:
(x+y)z = xz + yz và z(x+y)= zx+zy
1.1.4 Môđun
Cho R là một vành. Một tập M được gọi là một R-môđun trái, hay còn gọi là
môđun trái trên R, nếu các điều kiện sau đây được thỏa mãn:
+ M là một nhóm Aben cộng
+ Tồn tại một ánh xạ R×M → M, (x,m) → xm gọi là phép nhân với vô hướng,
sao cho các tính chất sau đây được thỏa mãn đối với các phần tử tùy ý x, y ∈ R và m,
m1, m2 ∈ M

i)

Kết hợp: (xy)m=x(ym)

ii)

Phân phối: x(m1+m2) = xm1+xm2 và (x+y)m=xm+ym

iii)

Unita: 1m=m

Nếu R là một trường thì một R-môđun được gọi là không gian vectơ trên trường
đó. Tương tự, ta cũng có định nghĩa cho R-môđun phải bằng cách xét phép nhân vô
hướng ở bên phải.
1.1.5 Vị nhóm
Vị nhóm M là tập hợp được trang bị phép toán hai ngôi có tính chất kết hợp và
có phần tử trung hòa. Phép toán thường ký hiệu bởi phép nhân, phần tử trung hòa (xác
định duy nhất) thường được gọi là phần tử đơn vị, được ký hiệu là 1.
Với vị nhóm M bất kỳ, tập P(M)–tập các tập con của M cũng có cấu trúc vị
nhóm, bằng cách định nghĩa:
XY = {xy: x ∈ X, y ∈ Y} với X, Y ⊆ M. Phần tử trung hòa là tập {1}.
16


Vị nhóm con của M là tập con N, đóng đối với phép toán và chứa phần tử trung
hòa của M: NN ⊂ N và 1M ∈ N.
Đồng cấu từ vị nhóm M vào vị nhóm N là ánh xạ ϕ: M→N thỏa:
∀m, m’∈M: ϕ(mm’) = ϕ(m)ϕ(m’) và ϕ(1M) = ϕ(1N).
1.1.6 Ngôn ngữ

Cho tập hợp A, được gọi là bảng chữ cái. Mỗi phần tử a ∈ A được gọi là chữ cái
(ký tự). Trên bảng chữ A, mỗi từ w độ dài n, n > 0, là một chuỗi gồm n chữ cái: w =
a1, a2,.., an , ai ∈ A. Quy ước chuỗi rỗng (hay từ rỗng), ký hiệu 1 hoặc ε, là từ có độ
dài bằng 0.
Ký hiệu n = |w| là độ dài của từ w, và |w|a là số lần xuất hiện của chữ cái a∈A
trong w. Tập hợp tất cả các từ trên bảng chữ A (bao gồm từ rỗng) được ký hiệu là A*
và được trang bị phép toán kết hợp là phép nối ghép chuỗi (a1, a2,.., an) (b1, b2,.., bm) =
(a1, a2,.., an, b1, b2,.., bm), để trở thành vị nhóm, được gọi là vị nhóm tự do sinh bởi A,
với từ rỗng là phần tử trung hòa. Vì phép toán là kết hợp nên ta có thể viết gọn w =
a1a2.. an.
Có thể thấy A* = 1∪A∪A2∪...∪An∪..., ở đó, A0 ={1}, A1 =A và An = An–1A. Tập tất cả
các từ không kể từ rỗng, được ký hiệu là A+, A+ = A*– {1}.
Vị nhóm con M được gọi là tự do nếu có đẳng cấu ϕ: A*→M từ vị nhóm tự do A*
lên M.
Một tập con L của A* được gọi là một ngôn ngữ trên A. Với ngôn ngữ L, ký hiệu
L* là vị nhóm sinh bởi L, L* = {x1x2..xn: n ≥ 0, xi ∈ L}. Theo định nghĩa, mỗi từ w ∈ L*
có ít nhất một phân tích w = x1x2..xn thành tích các từ xi∈L. Ta cũng ký hiệu L+ = L*–
{1}.
Cho hai ngôn ngữ X và Y trên A, ta định nghĩa tích của hai ngôn ngữ X và Y là
ngôn ngữ:
XY = {xy: x∈ X, y ∈ Y}.
Thương trái (left quotient) và thương phải (right quotient) của X và Y được cho
tương ứng bởi:
X –1Y = {w∈ A*: ∃ x ∈ X, xw ∈ Y}
XY –1 = {w∈ A*: ∃ y ∈ Y, wy ∈ X}
Ký hiệu u –1X, Xu –1 được sử dụng khi tập Y = {u} chỉ có một phần tử.
Từ w ∈ A* gọi là khúc con (factor) của từ x ∈ A* nếu tồn tại các từ u, v ∈ A*: x =
uwv. Từ w gọi là khúc con thực sự của x nếu w là khúc con của x và w ≠ x. Ta nói w là
khúc đầu (prefix) của x nếu tồn tại u: x = wu. Ta ký hiệu w ≤ x hay w ≤P x nếu w là
khúc đầu của x, w < x hay w


đuôi (suffix).

17


Một chuỗi các từ (u1, u2,...un), ui ∈ A*, i = 1..n, n ≥ 0, được gọi là một phân tích
của từ w nếu w = u1u2..un .
1.1.7 Otomat
Cho bảng chữ cái hữu hạn A. Otomat hữu hạn không tất định trên A là bộ A =
(Q, A, F, i, T), được tạo thành từ tập hữu hạn các trạng thái Q, trạng thái ban đầu i ∈
Q, tập con T ⊆ Q các trạng thái kết thúc và tập F ⊆ Q×A×Q gọi là tập các cung, xác
định hàm chuyển trạng thái của otomat.
Mỗi cung là một bộ f = (qi, a, qj), ta nói f có nhãn a, a ∈ A, đi từ trạng thái qi đến
a
trạng thái qj, và thường được ký hiệu f : qi 
→qj .

Một đường đi hữu hạn c trong otomat A là chuỗi hữu hạn các cung liên tiếp (f1,
f2, ..., fn): fi = (qi, ai, qi+1), trong đó, n là độ dài của đường đi, từ w=a1a2..an tạo thành
bởi các nhãn ai trên các cung được gọi là nhãn của đường đi. Trạng thái q1 là điểm
đầu và trạng thái qn+1 là điểm cuối của đường đi. Ta thường sử dụng ký hiệu
w
→ qn +1
c : q1 
Đường đi c: i→t với t∈T được gọi là đường đi thành công. Tập hợp tất cả các
nhãn của các đường đi thành công của otomat A được ký hiệu là L(A) và thường được
gọi là ngôn ngữ chính quy đoán nhận bởi A. Một tập L ⊆ A* được gọi là tập đoán
nhận được nếu có otomat A sao cho L = L(A) .
Otomat A = (Q, A, F, i, T) được gọi là tất định nếu với các cung (p, a, q), (p’, b,
q’) tuỳ ý thuộc F, từ p = p’ và a = b suy ra q = q’. Điều này có nghĩa là với mỗi trạng

a
thái p ∈ Q và chữ cái a ∈ A, có đúng một trạng thái q sao cho p 
→ q . Khi A là tất
định, ta định nghĩa một hàm f: Q×A → Q, xác định bởi f(p, a) = q với (p, a, q) ∈ F, để
đơn giản ta ký hiệu f(p, a) = p.a .
Hàm f: Q×A → Q được mở rộng thành hàm: Q×A* → Q, được gọi là hàm
chuyển mở rộng của otomat A xác định trên mỗi từ w∈A*, với định nghĩa quy nạp
theo độ dài của w: p.1 = p và p.wa = (p.w).a, để đơn giản ta cũng sẽ ký hiệu hàm
chuyển mở rộng là f và ta sẽ luôn sử dụng f theo nghĩa mở rộng.
1.1.8 Các phép toán trên ma trận
a) Phép toán ⊕ của hai ma trận: là phép XOR theo các vị trí tương ứng của hai
ma trận nhị phân cùng cấp. Phép toán ⊕ trong phạm vi luận án cũng được sử dụng cho
phép toán cộng các dãy bít.
a

b

a XOR b

0

0

0

1

1

0


0

1

1

1

0

1
18


b) Phép toán ⊗ của 2 ma trận: là phép nhân hai ma trận nguyên cùng cấp (nhân
các vị trí tương ứng của hai ma trận với nhau).
c) Phép toán SUM[F]: là phép tính tổng tất cả các phần tử của ma trận F.
d) Phép toán ^ của 2 ma trận là phép AND từng phần tử của 2 ma trận cùng cấp
Ví dụ 1.1.1:
1 0 1
F = 0 0 1
1 0 1

0 1 1
7 2 6 
K = 1 0 1 W = 4 4 3 , r = 3





3 1 5
0 1 1

Thì:

1 1 0
T = F ⊕ K = 1 0 0


1 1 0

7 2 0 
T ⊗ W =  4 0 0


3 1 0

SUM[T⊗W]=7+2+4+3+1=17

1.2 Các tính chất cơ bản của mã
Một trong những bài toán cơ bản của lý thuyết mã là nghiên cứu về tính chất liên
quan đến sự phân tích xâu thành các từ. Bên cạnh phương pháp tổ hợp, việc sử dụng
các công cụ đại số để nghiên cứu cấu trúc và tính chất của lớp mã là một tiếp cận
được áp dụng rộng rãi. Trong mục này chúng ta nhắc lại một số kết quả, qua đó thể
hiện mối quan hệ chặt chẽ giữa mã với cơ sở đại số.
1.2.1 Mã và đồng cấu mã
Định nghĩa 1.2.1 (xem [15, tr. 38]). Giả sử A là bảng chữ cái. Tập con X của vị nhóm
tự do A* được gọi là mã nếu ∀ m, n ≥ 1 và x1 ,..., xn , y1 ,..., ym ∈ X, từ đẳng thức
x1 ... xn = y1 ... ym suy ra m = n và xi = yi ∀ i = 1... n .

Nói cách khác, tập X là mã nếu mọi từ trong X+ đều chỉ có một phân tích duy nhất
thành các từ trong X. Do 1.1=1 nên mọi tập mã đều không thể chứa từ rỗng. Dễ thấy
mọi tập con của mã X cũng là mã.
Cho bảng chữ bản rõ B, bảng chữ bản mã A, một đơn cấu β: B* → A* từ vị nhóm tự do
B* đến A*, được gọi là đồng cấu mã hay một phép mã hoá.
Điều kiện cần và đủ về phép mã hoá, biểu diễn qua đơn cấu vị nhóm được thể
hiện qua Mệnh đề sau.
Mệnh đề 1.2.1 (xem [15, tr. 38]) Nếu tập con X của A* là mã thì mọi đồng cấu β: B*
→ A*, cảm sinh một song ánh từ bảng chữ cái B nào đó lên X, sẽ là đơn cấu. Ngược
lại, nếu tồn tại một đơn cấu β: B* → A* sao cho β(B) = X thì X là mã.
Với khái niệm trên, quá trình mã hoá có thể coi là việc thay thế mỗi từ b1b2 ... bn
thuộc B* bằng từ mã β(b1)β(b2)..β(bn) được xác định bởi đồng cấu mã β. Sự kiện β là
19


đơn ánh đảm bảo rằng từ mã có thể được giải mã duy nhất để thu được từ bản rõ ban
đầu.
1.2.2 Kiểm tra tính chất mã
Cho tập các từ X trên bảng chữ A, bài toán kiểm tra tính chất mã của X là một
bài toán cơ bản khi nghiên cứu mã. Trong nhiều trường hợp, bài toán này là không dễ
dàng. Trong mục này ta đề cập đến thuật toán Sardinas–Patterson. Thuật toán này
không cần sử dụng các tính chất nâng cao của mã mà dựa trên cách tổ chức thực hiện
tính toán để kiểm tra một ngôn ngữ cho trước có thỏa định nghĩa mã hay không.
Trong trường hợp X hữu hạn (tổng quát hơn là đoán nhận được) thì số bước tính toán
là hữu hạn.
Thuật toán cố gắng xây dựng từ có hai phân tích khác nhau trên X. Trong mỗi
bước, xác định phần dư–đoạn sai khác giữa hai cách phân tích. Thuật toán dừng khi
xuất hiện phần dư là từ rỗng, tương ứng với việc tìm được từ có hai phân tích khác
nhau.
Một cách hình thức, thuật toán có thể mô tả như sau. Để cho gọn, thay vì X∪{u}

ta viết X∪u.
Thủ tục Sardinas Patterson
Vào: tập X⊂A+ ;
Ra: kết luận X có là mã hay không;
B1

U1 = X –1X −1, n = 1

B2

Un = Un-1−1X ∪ X−1Un-1 .

B3
If 1 ∈ Un Then goto B5;
If Un = ∅ or Uk = Un ≠ ∅ (với k < n nào đó) Then goto B4
Else n = n +1, goto B2.
B4

X là mã. Kết thúc

B5

X không là mã. Kết thúc

Định lý và Mệnh đề sau đây khẳng định tính đúng đắn của thuật toán.
Định lý 1.2.1 (xem [15, tr. 51]) X ⊂ A+ là mã khi và chỉ khi không có tập Un nào chứa
từ rỗng.
Ví dụ 1.2.1. Cho A = {a, b } và X = {b, abb, abbba, bbba, baabb }, ta có
U1 = {ba, bba, aabb }, X –1 U1 = {a, ba }, U1–1X = {abb },
U2 = {a, ba, abb }, X –1U2 = {ε , a }, U2–1X = {ε , bb, bba, ba, abb }.

U3 = {ε , a, bb, bba, ba, abb }.
Vì ε ∈U3 nên X không là mã.
20


Ví dụ 1.2.2. Cho A = {a, b } và X = {aa, ba, bb, baa, bba }, ta có U1 = {a }, U2 = U1.
Vì vậy Un = {a } với ∀n ≥ 1, suy ra X là mã.

1.3 Mật mã học
Mã hóa thông tin (mật mã) là một trường hợp riêng của mã, trong đó mật mã
học sử dụng một số mã có khả năng bảo mật để ứng dụng trong lĩnh vực bảo mật, an
toàn thông tin.
1.3.1 Giới thiệu chung về mã hóa
Mã hóa nguồn tin X theo bộ mã M là phép ánh xạ 1:1 biến đổi một tin xi ∈ X
thành một tổ hợp các ký hiệu của bộ mã M.
Nguồn X = {x1, x2, ..., xn}
Bộ mã M = {m1, m2, .., mk}
Trong đó k là cơ số của bộ mã. Ví dụ k=2 là mã nhị phân, k =10 là mã thập
phân, k = 16 là mã thập lục phân.
Nếu tin xi được mã hóa thành: mr1mr2...mrl, ở đây l là số ký hiệu của bộ mã dùng
để biểu diễn xi và được gọi là độ dài từ mã.
Ví dụ 1.3.1. Nguồn X = {x1, x2, ..., xn}, bộ mã nhị phân M = {0, 1}, mã hóa
x1=00, x2=01, x3=10, x4=11.
Mã hóa (encryption) là nghệ thuật che dấu và bảo vệ thông tin để lưu trữ và trao
đổi. Mục đích của mã hóa là làm cho người ngoài cuộc không thể đọc được thông tin.
Trong hệ thống máy tính thông tin được thể hiện dưới dạng hình ảnh, âm thanh, chữ
số, chữ viết,… và gọi chung là các thông điệp hoặc văn bản.
Văn bản gốc/nguồn (trước khi mã) cần được bảo vệ an toàn được gọi là bản rõ
(plaintext), thường được ký hiệu là PT hay P.
Một thông điệp đã được mã hóa được gọi là bản mã (ciphertext) và ký hiệu là

C.
Quá trình chuyển một thông điệp nguồn thành bản mã được gọi là là mã hóa
(encryption).
Quá trình xử lý để đưa bản mã trở về thành bản rõ được gọi là quá trình giải mã
(decryption).
Hàm mã hóa E thực hiện mã hóa bản rõ P thành bản mã C: E(P)=C
Hàm giải mã D thực hiện giải mã bản mã C thành bản rõ P: D(C)=P
1.3.2 Khóa
Khóa (key) là một giá trị dùng để thực hiện một thuật toán mã hóa. Khóa có thể
là một số, một xâu ký tự,… Khóa này có thể nhận một trong nhiều giá trị (càng nhiều
càng tốt). Giới hạn các giá trị có thể có của khóa được gọi là không gian khóa (key
space). Mỗi khóa k xác định một hàm mã hóa Ek và một hàm giải mã Dk. Giá trị của
21


khóa quyết định hiệu quả của các hàm mã hóa và giải mã, vì vậy các hàm mã hóa và
giải mã có thể được biểu diễn như sau: Ek(P)=C, Dk(C)=P
Như vậy một hệ mã bao gồm: một không gian bản rõ, một không gian bản mã và
một không gian khóa.
Trong một hệ mã nếu khóa để mã và khóa giải mã giống nhau thì Dk(Ek(P))=P.
Trường hợp hệ mã có khóa lập mã và khóa giải mã khác nhau. Khi đó khóa lập
mã k1 khác với khóa giải mã k2, ta có: Ek1(P)=C; Dk2(C) =P; Dk2(Ek1(P))=P.
1.3.3 Mã đối xứng và phi đối xứng
Khái niệm mã đối xứng được dùng để chỉ các hệ mã mà trong đó khi biết khóa
lập mã ta có thể tìm ra khóa giải mã, hay nói cách khác là khóa dùng để giải mã có thể
tính toán được từ khóa dùng để mã hóa. Một số hệ mã đối xứng có khóa lập mã và
khóa giải mã giống nhau. Đối những hệ mã này, cần phải giữ bí mật khóa lập mã.
Người gửi và người nhận cần thống nhất một khóa trước khi trao đổi thông tin. Một số
hệ mã đối xứng tiêu biểu như DES, IDEA, SAFER, AES.
Thuật toán mã hoá phi đối xứng hay còn gọi là thuật toán mã hoá khoá công

khai được thiết kế trên nguyên tắc sử dụng hai khoá, trong đó khoá dùng để giải mã
khó có thể tính toán được từ khoá dùng để mã hoá (thông thường là không đủ thời
gian). Chúng được gọi là hệ thống khoá công khai vì khoá dùng để mã có thể được
công bố rộng rãi. Một người bất kỳ có thể sử dụng khoá mã để mã hoá một thông điệp,
nhưng chỉ người với khoá giải tương ứng mới có thể giải mã thông điệp đó. Trong
những hệ thống này khoá dùng để mã hoá được gọi là khoá công khai (public key),
còn khoá dùng để giải mã được gọi là khoá riêng (private key).
Thuật toán này được thể hiện bằng:
Ek1(P) = C
Dk2(C) = P
Dk2(Ek1(P)) = P
Trong một số trường hợp, thông điệp sẽ được mã hoá bằng khoá riêng và giải
mã bằng khoá công khai, điều này thường được áp dụng đối với chữ ký điện tử. Một
số hệ mã công khai phổ biến như: hệ mã ElGamal, hệ mã RSA.
1.3.4 Thám mã (Cryptanalyis)
Thám mã là công việc phân tích bản tin mã hóa để nhận được bản tin rõ trong
điều kiện không biết trước khóa mã.
Mục tiêu của thám mã (phá mã) là tìm những điểm yếu hoặc không an toàn
trong phương thức mã hóa. Thám mã có thể được thực hiện bởi những kẻ tấn công ác
ý, nhằm làm hỏng hệ thống; hoặc bởi những người thiết kế ra hệ thống (hoặc những
người khác) với ý định đánh giá độ an toàn của hệ thống.
Có rất nhiều loại hình tấn công trong thám mã, và chúng có thể được phân loại
theo nhiều cách khác nhau. Một trong những đặc điểm liên quan là những người tấn
22


công có thể biết và làm những gì để hiểu được thông tin bí mật. Ví dụ, những người
thám mã truy cập được bản mã hay không? hay anh ta có biết hay đoán được một phần
nào đó của bản rõ? hoặc thậm chí: Anh ta có thể chọn lựa các bản rõ ngẫu nhiên để mã
hóa? Các kịch bản này tương ứng với phương pháp tấn công bản mã, tấn công biết bản

rõ và tấn công chọn lựa bản rõ.
Nếu như hệ thống mật mã sử dụng khóa xuất phát từ mật khẩu, chúng có nguy
cơ bị tấn công kiểu duyệt toàn bộ (brute force), vì kích thước không đủ lớn cũng như
thiếu tính ngẫu nhiên của các mật khẩu. Đây là điểm yếu chung trong các hệ thống mật
mã.
Chúng ta có thể chia thành các loại tấn công sau:


Tấn công chỉ biết bản mã (ciphertext-only): người thám mã chỉ có bản tin đã
được mã hóa.



Tấn công biết bản tin rõ (known plaintext): người thám mã có bản tin rõ và bản
mã.



Tấn công chọn bản tin rõ (chosen plaintext): người thám mã tạm thời có quyền
truy xuất tới Bộ mã hóa, do đó anh ta có khả năng chọn bản tin rõ và xây dựng
bản mã tương ứng.



Tấn công chọn bản mã (chosen ciphertext): người thám mã tạm thời có quyền
truy xuất tới Bộ giải mã, do đó anh ta có khả năng chọn bản mã và xây dựng lại
bản tin rõ tương ứng.

1.4 Giấu tin trong ảnh
Giấu tin (Steganography) là kỹ thuật che dấu thông tin, nhúng thông tin mật vào

trong một nguồn đa phương tiện mà không để người khác nhận biết về sự tồn tại của
thông tin được giấu. Kỹ thuật này hiện đang được nghiên cứu và ứng dụng rất nhiều
trong vấn đề bảo vệ bản quyền, xác thực thông tin,...
Mật mã (Cryptography) có thể làm cho nội dung của thông điệp bị che dấu,
không thể đọc được dưới dạng bản rõ nên vẫn có thể nhận ra được là có một nội dung
đang bị che dấu còn giấu tin (Steganography) là che dấu sự tồn tại, hiện hữu của dữ
liệu, thông điệp mật. Ưu điểm của hướng tiếp cận giấu tin so với mã hoá là khi tiếp
cận môi trường giấu tin đối phương khó xác định được là có thông tin giấu ở trong đó
hay không. Giấu tin có thể kết hợp với khả năng của mã hóa để phục vụ cho mục đích
che dấu dữ liệu với khả năng bảo mật và an toàn cao hơn.
Mục tiêu mà kỹ thuật giấu tin hướng tới là phải ngăn chặn được tối đa sự nghi
ngờ với các dữ liệu được dấu, nếu có sự nghi ngờ nào thì xem như là qua trình che dấu
dữ liệu thất bại. Một khi mà vật mang giữ liệu bị lấy đi thì tính bảo mật và an toàn của
nó phụ thuộc hoàn toàn vào thuật toán giấu tin được sử dụng.
Môi trường dấu tin trong công nghệ thông tin rất đa dạng, có thể là các file âm
thanh, hình ảnh, video,... nhưng phổ biến hơn cả là các bức ảnh số. Nguyên nhân là
lượng thông tin được trao đổi bằng ảnh là rất lớn và giấu tin trong ảnh cũng đóng vai
23


trò hết sức quan trọng trong hầu hết các ứng dụng bảo vệ an toàn thông tin như: xác
thực, bảo vệ bản quyền tác giả, điều khiển truy cập,…Chính vì thế mà vấn đề này nhận
được sự quan tâm rất lớn của các cá nhân, các tổ chức, các trường đại học và nhiều
viện nghiên cứu trên thế giới.
Hiện tại đã có rất nhiều các công trình nghiên cứu về các phương pháp giấu tin
trong ảnh từ các loại ảnh nhị phân, ảnh màu, ảnh đa mức xám. Nguyên tắc của việc
giấu tin trong ảnh là phải đảm bảo ảnh sau khi được chèn thêm các thông tin cần giấu
thì với mắt thường không thể nhận biết được sự thay đổi.
Giấu tin có hai mục đích:
- Bảo mật cho những dữ liệu được giấu

- Bảo đảm an toàn (bảo vệ bản quyền) cho chính các đối tượng chứa dữ liệu
giấu trong đó.
Có thể thấy hai mục đích này hoàn toàn trái ngược nhau và dần phát triển thành
hai lĩnh vực với những yêu cầu và tính chất khác nhau.
- Kỹ thuật giấu thông tin bí mật (Steganography): với mục đích đảm bảo an
toàn và bảo mật thông tin tập trung vào các kỹ thuật giấu tin để có thể giấu
được nhiều thông tin nhất. Thông tin mật được giấu kỹ trong một đối tượng
khác sao cho người khác không phát hiện được.
- Kỹ thuật giấu thông tin theo kiểu đánh giấu (watermarking) để bảo vệ bản
quyền của đối tượng chứa thông tin tập trung đảm bảo một số các yêu cầu
như đảm bảo tính bền vững… đây là ứng dụng cơ bản nhất của kỹ thuật thuỷ
vân số.
1.4.1 Các kỹ thuật được sử dụng để giấu tin
1.3.1.1 Kỹ thuật tiêm (Injection)
Kỹ thuật tiêm giấu dữ liệu ẩn vào trong một đoạn của file, mà đoạn đó hầu như
không được để ý trong các ứng dụng xử lý. Bằng cách làm này, có thể tránh được sự
thay đổi những bit của file đó. Ví dụ có thể cộng thêm một số byte vào phần đuôi của
1 file thực thi, những byte được chèn đó không ảnh hưởng tới quá trình xử lý và người
sử dụng cũng không thể nhận thức được rằng file đó chứa các thông tin đã được cộng
thêm vào. Nhược điểm khi sử dụng kỹ thuật này là sẽ làm tăng kích thước của file
chứa tin đó, tăng rất nhiều nếu số lượng tin giấu lớn và do đó sẽ gây ra sự nghi ngờ.
1.3.1.2 Kỹ thuật thay thế (Substitution)
Kỹ thuật này có được thực hiện dựa trên ý tưởng thay thế các thông tin ít quan
trọng trong việc quyết định nội dung của file gốc và dữ liệu được thay vào vị trí những
bít đó ít gây sự thay đổi lớn đến chất lượng file chứa gốc. Ưu điểm của kỹ thuật này là
file chứa gốc sau khi giấu tin thì kích thước không thay đổi.
Nhược điểm của kỹ thuật này là làm giảm chất lượng của file chứa gốc ban đầu,
ngoài ra số lượng tin giấu cũng bị hạn chế do phải phụ thuộc vào số bit ít quan trọng
trong file chứa gốc.
24



×