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 đ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
Chun ngành: Đảm bảo tốn học cho máy tính và các hệ thống tính tố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 Tố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 tố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 tố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 số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 ngun.
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 qn độ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
ngun 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 tốn
giấu tin trong ảnh nhị phân ln 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 tố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 tốn Wu-Lee thì thuật tố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 hồn thiện thuật tốn, chứng minh tính đúng đắn của thuật
tốn CPT, cải tiến một số tính chất của thuật tố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 tố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 tồn thật lý tưởng. Vì thế ln 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ã hố 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 tốn tìm
kiếm dữ liệu an tồ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 số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
tố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 tố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 tồ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 tố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 tốn, độ an
tồ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 tố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ã hố 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
tố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 tố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 tố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 tốn theo tiếp cận
chẵn lẻ, ngồi ra FOPA đạt được hiệu quả tính tố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 tốn giấu tin an tồ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 tố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ã hố 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 Tốn Tin, Viện Tố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 tồ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 tố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 tốn trên nhóm nhân G.
Nếu phép tố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 hốn.
Thơng thường người ta viết phép tố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 ln 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 tố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 ln 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 tố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 tố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 tố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


đ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 đố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 tố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 tố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, q trình mã hố 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 tố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 tốn Sardinas–Patterson. Thuật tố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 tố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 tốn
là hữu hạn.
Thuật tố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 tố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 tố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
tồ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 ngồ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.
Q 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).
Q trình xử lý để đưa bản mã trở về thành bản rõ được gọi là q 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 tố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 tố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 tốn mã hố khố cơng

khai được thiết kế trên nguyên tắc sử dụng hai khoá, trong đó khố dùng để giải mã
khó có thể tính tốn được từ khố dùng để mã hố (thơng thường là khơng đủ thời
gian). Chúng được gọi là hệ thống khố cơng khai vì khố 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 khố mã để mã hố một thơng điệp,
nhưng chỉ người với khố giải tương ứng mới có thể giải mã thơng điệp đó. Trong
những hệ thống này khố dùng để mã hố được gọi là khố cơng khai (public key),
cịn khố dùng để giải mã được gọi là khố 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 khố 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 tồ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 tồ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 đố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 tồ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ã hố 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 tồn của
nó phụ thuộc hồn tồn vào thuật tố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 tồ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 hồn tồ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
tồ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 q 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



×