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

Nghiên cứu kỹ thuật lsb và kết hợp thuật toán rsa để giấu tin trong ảnh

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 (9.72 MB, 71 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

TRẦN THẾ ANH

NGHIÊN CỨU KỸ THUẬT LSB VÀ KẾT HỢP
THUẬT TOÁN RSA ĐỂ GIẤU TIN TRONG ẢNH

LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH

THÁI NGUYÊN, NĂM 2015


ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

TRẦN THẾ ANH

NGHIÊN CỨU KỸ THUẬT LSB VÀ KẾT HỢP THUẬT
TOÁN RSA ĐỂ GIẤU TIN TRONG ẢNH
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 0101

LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH

HƯỚNG DẪN KHOA HỌC: TS. TRẦN ĐỨC SỰ

THÁI NGUYÊN, NĂM 2015


~i~



LỜI CAM ĐOAN

Tôi xin cam đoan luận văn “Nghiên cứu kỹ thuật LSB và kết hợp thuật
toán RSA để giấu tin trong ảnh” là sản phẩm của riêng cá nhân, không sao
chép lại của người khác. Trong toàn bộ nội dung của luận văn, những điều
được trình bày hoặc là của cá nhân hoặc là được tổng hợp, nghiên cứu từ
nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều có xuất xứ và trích dẫn
rõ ràng.
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo
quy định cho lời cam đoan của mình.
Thái Nguyên, ngày tháng năm 2015
Học viên

Trần Thế Anh


~ ii ~

LỜI CẢM ƠN
Lời đầu tiên, tôi xin bày tỏ lòng biết ơn đến thầy TS Trần Đức Sự - Ban
Cơ Yếu Chính Phủ, người đã tận tình hướng dẫn, chỉ bảo và giúp đỡ tôi trong
suốt quá trình nghiên cứu và hoàn thành luận văn này.
Tôi xin chân thành cảm ơn các thầy cô giáo trường Đại học Công nghệ
Thông tin và Truyền thông - Đại học Thái Nguyên đã giảng dạy và cung cấp
cho chúng tôi những kiến thức rất bổ ích trong thời gian học cao học, giúp tôi
có nền tảng tri thức để phục vụ nghiên cứu khoa học sau này.
Tôi cũng xin cảm ơn Lãnh đạo và đồng nghiệp tại đơn vị đã tạo điều
kiện và giúp đỡ tôi trong suốt quá trình nghiên cứu và hoàn thành luận văn.
Tôi cũng xin bày tỏ lòng cảm ơn đến gia đình và bạn bè, những người luôn

quan tâm, động viên và khuyến khích tôi trong quá trình học tập.
Thái Nguyên, ngày tháng năm 2015
Trần Thế Anh


~ iii ~

MỤC LỤC
Trang

LỜI CAM ĐOAN ........................................................................................... i
LỜI CẢM ƠN ................................................................................................ ii
MỤC LỤC .................................................................................................... iii
DANH MỤC CÁC HÌNH ẢNH ................................................................... vii
DANH MỤC CÁC BẢNG BIỂU ................................................................ viii
MỞ ĐẦU ....................................................................................................... 1
CHƯƠNG 1. TỔNG QUAN VỀ ẨN MÃ VÀ ẢNH SỐ ................................ 5
1.1. Giới thiệu chung về ẩn mã ....................................................................... 5
1.1.1. Khái niệm ẩn mã ............................................................................... 6
1.1.2. Nguyên lý cơ bản của ẩn mã học ...................................................... 6
1.1.3. Ẩn mã thuần túy ............................................................................... 8
1.2. Hệ mật mã RSA....................................................................................... 9
1.2.1. Hệ thống mã hóa công khai .............................................................. 9
1.2.2. Hệ mật mã khóa công khai RSA ..................................................... 11
1.3. Độ an toàn và độ an toàn hoàn hảo trong ẩn mã..................................... 11
1.3.1. Độ an toàn của ẩn mã ..................................................................... 11
1.3.2. Độ an toàn hoàn hảo trong ẩn mã.................................................... 12
1.3.3. Độ an toàn hoàn hảo của một hệ ẩn mã ........................................... 12
1.4. Ứng dụng của ẩn mã trong môi trường thực tế....................................... 13
1.5. Giới thiệu chung về ảnh số .................................................................... 14

1.5.1. Khái niệm ảnh số ............................................................................ 14
1.5.2. Điểm ảnh ........................................................................................ 14
1.6. Các kỹ thuật giấu tin trong ảnh .............................................................. 16
1.6.1. Kỹ thuật giấu tin trên miền không gian ảnh .................................... 16
1.6.1.1. Kỹ thuật giấu tin trong khối bit ........................................... 16


~ iv ~

1.6.1.2. Kỹ thuật giấu tin thay thế các bit có trọng số thấp nhất ....... 18
1.6.2. Kỹ thuật giấu tin trên miền tần số ảnh............................................. 19
1.7. Một số dạng tấn công trong môi trường ảnh số hóa ............................... 19
1.7.1. Tấn công trực quan ......................................................................... 19
1.7.1.1. Tấn công trực quan dựa trên việc giấu và tìm kiếm tuần tự. 19
1.7.1.2. Tấn công trực quan dựa trên việc giấu và tìm kiếm ngẫu
nhiên ................................................................................................... 20
1.7.2. Tấn công cấu trúc ........................................................................... 21
1.7.2.1. Tấn công cấu trúc trên dung lượng tập tin........................... 21
1.7.2.2. Tấn công cấu trúc dựa trên việc ẩn mã bằng bảng màu ....... 22
1.7.3. Tấn công thống kê .......................................................................... 23
CHƯƠNG 2. KẾT HỢP KỸ THUẬT LSB VÀ THUẬT TOÁN RSA GIẤU
TIN TRONG ẢNH BITMAP 24 BIT ........................................................... 24
2.1. Cấu trúc ảnh Bitmap .............................................................................. 24
2.2. Kỹ thuật giấu tin LSB ............................................................................ 28
2.2.1. Quá trình giấu tin ............................................................................ 28
2.2.2. Quá trình tách tin ............................................................................ 29
2.2.3. Đánh giá thuật toán ......................................................................... 30
2.3. Mô hình sử dụng kỹ thuật LSB kết hợp thuật toán RSA để tăng độ an
toàn cho việc giấu tin trong ảnh .................................................................... 31
2.3.1. Thuật toán mã hóa khóa công khai RSA ......................................... 32

2.3.2. Mô hình giấu tin sử dụng kỹ thuật LSB kết hợp thuật toán RSA..... 36
2.4. Đánh giá mô hình sử dụng kỹ thuật LSB kết hợp thuật toán RSA.......... 39
CHƯƠNG 3. TRIỂN KHAI CHƯƠNG TRÌNH THỬ NGHIỆM ................. 42
3.1. Mục đích, yêu cầu ................................................................................. 42
3.2. Yêu cầu về cấu hình hệ thống ................................................................ 42
3.3. Lựa chọn định dạng file ảnh trong thực nghiệm..................................... 42


~v~

3.4. Sơ đồ chức năng chương trình ............................................................... 43
3.5. Sơ đồ hoạt động của chương trình ......................................................... 45
3.6. Thuật toán RSA, giấu tin và trích rút tin theo kỹ thuật đề xuất .............. 48
3.6.1. Thuật toán RSA .............................................................................. 48
3.6.1.1. Tạo khóa công khai và khóa bí mật .................................... 48
3.6.1.2. Thuật toán mã hóa .............................................................. 49
3.6.1.3. Thuật toán giải mã .............................................................. 49
3.6.2. Giấu tin........................................................................................... 50
3.6.3. Trích rút.......................................................................................... 51
3.7. Kết quả thực nghiệm ............................................................................. 52
3.7.1. Chức năng tạo khóa ........................................................................ 52
3.7.2. Chức năng giấu thông tin ................................................................ 53
3.7.3. Chức năng trích rút tin mật ............................................................. 54
3.8. Đánh giá kết quả thực nghiệm ............................................................... 55
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .................................................... 57
TÀI LIỆU THAM KHẢO ............................................................................ 58
PHỤ LỤC .................................................................................................... 59


~ vi ~


DANH MỤC CÁC TỪ VIẾT TẮT TRONG LUẬN VĂN

BMP - Định dạng ảnh Bitmap (Bitmap)
BPP - Số bit trên 1 pixel (Bits per pixel)
CGA - Bộ điều hợp đồ họa màu (Color Graphics Adapter)
CPT - Kỹ thuật giấu tin (Cheng - Pan - Tseng)
DCT - Phép biến đổi Cosin rời rạc (Discrete Cosine Tranform)
DES - Hệ mật mã chuẩn (Data Encryption Standard)
EGA - Bộ điều hợp đồ họa nâng cao (Enhanced Graphics Adapter)
GIF - Định dạng ảnh Gif (Graphics Interchange Format)
LSB - Bit có trọng số thấp nhất (Least Significant Bit)
JPEG - Định dạng ảnh JPEG (Join Photographic Experts Group)
RSA - Mã hóa công khai RSA (Rivest, Shamir và Adleman)
SVGA - Bộ điều hợp đồ họa video cao cấp (Super Video Graphics
Adapter)
VGA - Bộ điều hợp đồ họa video (Video Graphics Adapter)
WEP - Thuật toán mã hóa sử dụng trên mạng không dây (Wired
Equivalent Privacy)


~ vii ~

DANH MỤC CÁC HÌNH ẢNH
Trang

Hình 1.1. Phân loại kỹ thuật giấu tin .............................................................. 6
Hình 1.2. Mô hình cơ bản của kỹ thuật giấu tin .............................................. 7
Hình 1.3. Sơ đồ hệ thống mã hóa khóa công khai ......................................... 11
Hình 2.1. Ảnh đen trắng ............................................................................... 24

Hình 2.2. Ảnh đa mức xám........................................................................... 25
Hình 2.3. Ảnh màu ....................................................................................... 26
Hình 2.4. Ảnh trước và sau khi giấu tin bằng kỹ thuật LSB .......................... 30
Hình 2.5. Sơ đồ tạo khóa, mã hóa và giải mã RSA ....................................... 34
Hình 2.6. Quá trình xử lý giấu thông điệp bí mật .......................................... 37
Hình 2.7. Quá trình trích xuất thông điệp ..................................................... 38
Hình 3.1. Sơ đồ chức năng chương trình thử nghiệm.................................... 43
Hình 3.2. Sơ đồ hoạt động của quá trình giấu tin .......................................... 45
Hình 3.3. Sơ đồ hoạt động của quá trình trích rút tin .................................... 47
Hình 3.4. Quá trình tạo khóa ........................................................................ 53
Hình 3.5. Quá trình giấu tin của chương trình .............................................. 54
Hình 3.6. Quá trình trích rút tin mật của chương trình .................................. 55


~ viii ~

DANH MỤC CÁC BẢNG BIỂU

Trang

Bảng 2.1. Ý nghĩa các trường trong vùng Bitmap Header ............................ 27
Bảng 2.2. Bảng số hóa thông tin cần giấu ..................................................... 29
Bảng 2.3. Bảng giá trị của bản mã và bản rõ ................................................ 35
Bảng 3.1. Một số phần mềm giấu tin ............................................................ 42


~1~

MỞ ĐẦU
1. Đặt vấn đề

Ngày nay, Internet là môi trường phổ biến cho việc trao đổi thông tin
giữa các nhà cung cấp và người sử dụng. Do đó, vấn đề an toàn dữ liệu trên
mạng luôn luôn là một thách thức đối với các nhà quản lý và các nhà nghiên
cứu. Các thông tin trên Internet có thể dễ dàng bị làm giả mạo, sai lệch và bị
đánh cắp bởi hacker trong quá trình truyền tải dữ liệu. Thông tin của cá nhân,
tổ chức hoặc quốc gia đứng trước nguy cơ bị xâm nhập bất cứ lúc nào. Cùng
với nó là vấn nạn ăn cắp bản quyền, xuyên tạc thông tin,... ngày càng gia tăng.
Vì vậy, vấn đề đặt ra làm thế nào để đảm bảo được sự an toàn, và toàn vẹn
thông tin trong quá trình truyền tải trên Internet. Hai giải pháp cho vấn đề này
là mã hóa và giấu thông tin có vai trò quan trọng trong việc bảo vệ quá trình
truyền tải thông tin mật. Sự xác thực và bản quyền trong môi trường trao đổi
công cộng. Việc tìm giải pháp cho những vấn đề này giúp ta hiểu thêm về một
công nghệ đang phát triển và còn tạo ra những cơ hội mới [1].
Một dạng quan trọng của kỹ thuật giấu tin đó là kỹ thuật ẩn mã
(Steganography), nó đã xuất hiện từ rất lâu nhưng việc ứng dụng của kỹ thuật
này trên dữ liệu số mới xuất hiện gần đây. Steganography là kỹ thuật che giấu
thông tin nhằm ngăn chặn việc phát hiện sự tồn tại của những thông điệp
được ẩn trong một đối tượng số. Mục tiêu chính của ẩn mã là liên lạc an toàn
theo một cách thức mà khó có thể phát hiện và tránh những nghi ngờ trong
quá trình truyền tải. Đối với kỹ thuật này, những thông tin cần bảo mật sẽ
được ẩn trong một đối tượng khác (gọi là môi trường giấu tin) sao cho sau khi
giấu tin, sự biến đổi của đối tượng này là rất khó nhận biết, đồng thời vẫn có
thể lấy lại được thông điệp đã được giấu đi khi cần. Với Steganography, các
kẻ tấn công khó xác định được là có thông tin được giấu ở trong đó hay
không, đó chính là ưu điểm của hướng tiếp cận này so với mã hóa [2].


~2~

Kỹ thuật LSB là một trong những kỹ thuật được sử dụng trong ẩn mã.

Tuy nhiên, LSB đơn thuần có độ an toàn không cao, dễ bị kẻ tấn công trích
xuất thông tin được giấu. Bởi vậy, người ta thường sử dụng kỹ thuật này với
sự hỗ trợ từ các thuật toán mã hóa nhằm nâng cao độ an toàn, hạn chế việc
thông tin được giấu bị trích xuất bởi những kẻ tấn công.
Sau khi tiến hành nghiên cứu các tài liệu liên quan đến lĩnh vực giấu tin
trong đa phương tiện và nhận thấy các kỹ thuật trên đều cho kết quả tốt với
việc đảm bảo được tính chất ẩn của thông tin được giấu và không làm ảnh
hưởng đến chất lượng của dữ liệu gốc. Với mong muốn phát triển các kỹ thuật
giấu thông tin nhằm bảo vệ các thông tin mật trong quá trình trao đổi. Được
sự sự đồng ý, động viên của cán bộ hướng dẫn khoa học, tôi đã chọn đề tài
“Nghiên cứu kỹ thuật LSB và kết hợp thuật toán RSA để giấu tin trong
ảnh” làm vấn đề nghiên cứu cho luận văn cao học của mình. Mong rằng kết
quả của đề tài khi được triển khai thực tế sẽ góp phần tăng thêm độ an toàn
cho các thông tin mật trong quá trình trao đổi.
2. Mục tiêu nghiên cứu
Luận văn nghiên cứu hệ thống lý thuyết liên quan đến ẩn mã và ảnh số
phục vụ cho việc giấu tin trong dữ liệu đa phương tiện. Tìm hiểu và đánh giá
phương pháp ẩn mã dựa trên kỹ thuật LSB kết hợp với thuật toán mã hóa
khóa công khai RSA, từ đó xây dựng một phần mềm để giấu thông điệp dạng
text vào trong ảnh Bitmap 24 bit.
3. Đối tượng và phạm vi nghiên cứu
Với mỗi dữ liệu đa phương tiện có các định dạng, tính chất, đặc trưng
khác nhau. Để xây dựng một kỹ thuật giấu tin trên các dữ liệu này thường đòi
hỏi các thuật toán phức tạp. Trong luận văn này, ngoài việc tìm hiểu khát quát
về giấu tin, các kỹ thuật giấu tin. Nghiên cứu một số kỹ thuật giấu tin bằng
LSB và thuật toán mã hóa RSA để giấu thông tin mã hóa vào hình ảnh. Luận


~3~


văn còn tập trung nghiên cứu về cấu trúc ảnh Bitmap và triển khi thực nghiệm
giấu tin trong ảnh có định dạng BMP.
4. Phương pháp nghiên cứu
Luận văn sử dụng phương pháp nghiên cứu tư liệu kết hợp với triển khai
thực nghiệm. Trên cơ sở nguyên cứu tổng hợp từ các kỹ thuật giấu tin trong
ảnh. Luận văn đưa ra một kỹ thuật giấu tin mới và tiến hành cài đặt chương
trình thực nghiệm giấu tin trong ảnh Bitmap 24 bit.
5. Ý nghĩa khoa học của đề tài
Về lý thuyết:
- Tiếp cận một hướng nghiên cứu trong lĩnh vực an toàn và bảo mật
thông tin. Đây là phương pháp mới và phức tạp. Phương pháp này đang được
xem như một giải pháp có nhiều triển vọng cho vấn đề bảo vệ bản quyền,
nhận thức thông tin và điều khiển truy cập ứng dụng trong an toàn và bảo mật
thông tin.
- Trình bày tương đối đầy đủ một hệ thống lý thuyết giấu tin và đưa ra
một mô hình kết hợp để thực hiện giấu tin trong ảnh.
Về thực tiễn:
Với việc triển khai thực tế của đề tài, sẽ góp phần tăng thêm độ an toàn
cho các thông tin mật trong việc bảo vệ và truyền thông tin mật.
6. Bố cục của luận văn
Dựa trên đối tượng và phạm vi nghiên cứu, luận văn sẽ được phân làm 3
chương chính với các nội dung cụ thể như sau:
Chương 1. Tổng quan về ẩn mã và ảnh số.
Ở chương này đề tài sẽ đi vào tìm hiểu các khái niệm về ẩn mã và ảnh
số, mục đích cũng như tính cấp thiết của việc giấu tin trong đa phương tiện,
trong đời sống thông tin và truyền tin hiện nay.
Tìm hiểu một môi trường cụ thể mà luận văn sử dụng để giấu tin là ảnh


~4~


số. Khái quát một số ứng dụng và các tấn công trên hệ thống giấu tin.
Chương 2. Kết hợp kỹ thuật LSB và thuật toán giấu tin trong ảnh
Bitmap 24 bit.
Trong chương này sẽ đi vào tìm hiểu về cấu trúc của hình ảnh Bitmap và
thuật toán RSA. Và nghiên cứu quá trình giấu tin và tách thông tin trên ảnh.
Từ đó đề xuất mô hình kết hợp giữa kỹ thuật LSB và thuật toán RSA để
giấu tin trong ảnh.
Đánh giá thuật toán như độ phức tạp hay tính an toàn, bảo mật của thông
tin được giấu.
Chương 3. Xây dựng chương trình thử nghiệm
Chương này sẽ đưa ra mục đích, yêu cầu cũng như mô tả sơ đồ chương
trình thực nghiệm đã được xây dựng. Lựa chọn định dạng file ảnh để thử
nghiệm thuật toán được mô tả tại Chương 2. Mô tả thuật toán mã hóa RSA,
giấu và trích rút thông tin trong ảnh trên mô hình kết hợp đã được đề xuất
trong chương 2. Các kết quả thực nghiệm và đối sánh. Đồng thời đánh giá kết
quả thực nghiệm đạt được và đưa ra các khả năng ứng dụng của chương trình
thực nghiệm.


~5~

CHƯƠNG 1. TỔNG QUAN VỀ ẨN MÃ VÀ ẢNH SỐ
1.1. Giới thiệu chung về ẩn mã
Theo xu hướng phát triển của các kỹ thuật giấu tin hiện nay, và dựa trên
mục đích sử dụng khác nhau, kỹ thuật giấu tin có thể được ra làm 2 loại lớn:
Ẩn mã và Thủy vân số.
• Ẩn mã (Steganography): Che giấu thông tin bí mật vào môi trường gốc,
đòi hỏi dung lượng tin cần giấu càng lớn và độ an toàn càng cao càng tốt.
Ẩn mã thuần túy (Pure Steganography)

Ẩn mã có xử lý (Intrinsic Steganography)
• Thủy vân số (Watermarking): Che giấu thông tin mà đòi hỏi độ bền
vững cao của thông tin đó.
Thủy vân bền vững: Thường được ứng dụng trong bảo vệ bản quyền.
Thủy vân được nhúng trong sản phẩm như một hình thức dán tem 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 lại 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 một đối tượng
sao cho khi phân bố sản phẩm trong môi trưởng mở nếu có bất kỳ phép biến
đổi nào làm thay đổi sản phẩm gốc thì thủy vân đã được giấu trong đối tượng
sẽ không còn nguyên vẹn như trước khi giấu.
Thủy vân ẩn: Cũng giống như giấu tin, thủy vân ẩn không thể nhìn thấy
bằng mắt thường.
Thủy vân hiện: Là loại thủy vân hiện ngay trên sản phẩm và mắt thường
có thể nhìn thấy được.


~6~

Hình 1.1. Phân loại kỹ thuật giấu tin
1.1.1. Khái niệm ẩn mã
Steganography có nguồn gốc từ tiếng Hy Lạp: Stegos có nghĩa là
“Cover” - Che đậy và Grafia có nghĩa là “Writing” – Văn bản. Cover Writing
được hiểu là văn bản được che đậy. Do vậy, Steganography là khoa học và
nghệ thuật về thông tin liên lạc vô hình. Kỹ thuật này được thực hiện thông
qua việc che giấu sự tồn tại của thông tin bằng việc ẩn nó vào một thông tin
khác [2].
1.1.2. Nguyên lý cơ bản của ẩn mã học
Hiện nay có rất nhiều khía cạnh và ứng dụng được phát triển từ khái
niệm ẩn mã Steganography nhưng hầu hết chúng đều dựa trên một mô hình,

một nguyên lý cơ bản chung như sau:
Alice muốn chia sẻ một thông điệp bí mật (Secret Message) với Bob,
bằng cách chọn ngẫu nhiên một thông điệp bao phủ (Cover Message hay môi


~7~

trường giấu tin) có thể là ảnh, văn bản, audio… Alice nhúng thông điệp bí
mật vào môi trường giấu tin, kết hợp với khóa bí mật (Secret Key) sẽ thu
được thông điệp mang tin mật (Stego Message) để truyền cho Bob nhằm tránh
sự nghi ngờ của bên thứ ba. Điều này cần được thực hiện hết sức cẩn thận, để
chắc chắn rằng bên thứ ba Wendy chỉ biết thông điệp chứa tin mật là vô hại
và không thể phát hiện ra thông điệp bí mật được chứa trong đó [3].

Hình 1.2. Mô hình cơ bản của kỹ thuật giấu tin
Tuy vậy, trong thực tế không phải dữ liệu nào cũng có thể được sử dụng
làm vật phủ trong truyền tin mật, bởi vì sự thay đổi thực hiện trong quá trình
giấu tin phải được coi là không nhìn thấy đối với những người không liên
quan đến quá trình truyền thông. Điều này đòi hỏi vật phủ phải có một lượng
dữ liệu dư thừa đủ để giấu thông tin mật, hay nói cách khác là đủ để thay thế
được thông tin mật.


~8~

Nếu một người tấn công truy nhập được vào hai “phiên bản” của một vật
phủ thì sẽ dễ dàng phát hiện sự có mặt của thông tin mật và thậm chí có thể
xây dựng lại được những thông tin đó. Vì vậy, một vật phủ không nên được
sử dụng hai lần. Do đó, để tránh việc sử dụng lại, cả người gửi và người nhận
phải huỷ bỏ các vật phủ đã được sử dụng trong quá trình truyền tin.

Trong quá trình giấu tin, để làm tăng tính bảo mật của thông điệp cần
giấu, có thể dùng nhiều phương pháp khác nhau. Tuy nhiên, về cơ bản thì có
hai loại giao thức ẩn mã học, đó là ẩn mã thuần tuý và ẩn mã có xử lý.
1.1.3. Ẩn mã thuần túy
Một hệ ẩn mã trong đó không trao đổi các thông tin bí mật hay một khóa
bí mật (Secret Key) được goi là hệ ẩn mã thuần túy.
Định nghĩa Hệ ẩn mã thuần túy (Pure Steganography):
Một bộ 4 = ( ,

, , ), trong đó

thông điệp cần giấu với điều kiện | | ≥ |

là tập các vật phủ có thể,
|

Quá trình gắn tin được mô tả bởi ánh xạ
nhúng thông điệp
:




vào thông điệp chứa

:

×




là một hàm

(hay còn gọi là hàm gắn tin) và
( ,

là hàm giải mã thông điệp sao cho

, ∈

là tập

) =

với mọi

được gọi là một hệ ẩn mã thuần túy.

Trong hầu hết các hệ ẩn mã, tập các vật phủ

có thể được chọn như tập

các ảnh số, hoặc tập các văn bản, video hay âm thanh. . ., hai bên có thể trao
đổi mà không bị nghi ngờ. Quá trình gắn tin được thực hiện sao cho giữa vật
phủ

và thông điệp bí mật tương ứng trông tương tự nhau. Tính chất tương

tự có thể được định nghĩa qua một hàm tương tự, ta có định nghĩa sau:
Định nghĩa Hàm tương tự:

Cho

là một tập không rỗng

Một hàm sim:

→ ( ∞, 1) được gọi là hàm tương tự trên
∀ ,

∈ ,

( , )=1↔

=

nếu


~9~

( , )<1↔



Trong trường hợp ảnh số hoặc âm thanh số, tương quan giữa hai tín hiệu
có thể được dùng làm hàm tương tự. Như vậy, hầu hết các hệ ẩn mã trong
thực tế đều cố gắng thoả mãn điều kiện


, ( ,


) ≈ 1 với mọi



∈ .
Một người tấn công phải không được quyền truy nhập vào các vật phủ sử

dụng trong truyền thông mật. Người gửi có thể tạo vật phủ bằng kĩ thuật ghi
âm hoặc quét ảnh. Với mỗi quá trình truyền tin, một vật phủ được chọn một
cách ngẫu nhiên. Tuy nhiên, người gửi có thể tìm kiếm trong cơ sở dữ liệu các
vật phủ dùng được và chọn một vật phủ mà quá trình gắn tin sẽ làm thay đổi ít
nhất nó. Một quá trình lựa chọn như vậy có thể được thực hiện thông qua hàm
tương tự sim. Khi mã hoá, người gửi chọn một vật phủ với
= max


( , ( ,

))

Đối với các vật phủ là bản thu âm hoặc quét ảnh thì người gửi có thể số
hóa nhiều lần, do sự nhiễu trong thiết bị số hóa, với mỗi lần như vậy sẽ thu
được một vật phủ được coi là hơi khác, người gửi có thể lựa chọn một vật phủ
phù hợp nhất cho quá trình gắn tin của mình.
1.2. Hệ mật mã RSA
1.2.1. Hệ thống mã hóa công khai
Vấn đề phát sinh trong các hệ thống mã hóa quy ước (mã hóa cổ điển) là
việc quy ước chung mã khóa k giữa người gửi A và người nhận B. Trên thực
tế, nhu cầu thay đổi nội dung của mã khóa k là cần thiết, do đó, cần có sự trao

đổi thông tin về mã khóa k giữa A và B. Để bảo mật mã khóa k, A và B phải
trao đổi với nhau trên một kênh liên lạc thật sự an toàn và bí mật. Tuy nhiên,
rất khó có thể bảo đảm được sự an toàn của kênh liên lạc nên mã khóa k vẫn
có thể bị phát hiện bởi người C!


~ 10 ~

Ý tưởng về hệ thống mã hóa khóa công khai được Martin Hellman,
Ralph Merkle và Whitfield Diffie tại Đại học Stanford giới thiệu vào năm
1976. Sau đó, phương pháp Diffie-Hellman của Martin Hellman và Whitfield
Diffie đã được công bố. Năm 1977, trên báo "The Scientific American", nhóm
tác giả Ronald Rivest, Adi Shamir và Leonard Adleman đã công bố phương
pháp RSA, phương pháp mã hóa khóa công khai nổi tiếng và được sử dụng
rất nhiều hiện nay trong các ứng dụng mã hóa và bảo vệ thông tin. RSA
nhanh chóng trở thành chuẩn mã hóa khóa công khai trên toàn thế giới do tính
an toàn và khả năng ứng dụng của nó.
Một hệ thống khóa công khai sử dụng hai loại khóa trong cùng một cặp
khóa: khóa công khai (Public key) được công bố rộng rãi và được sử dụng để
mã hóa thông tin, khóa bí mật hay khóa riêng (Private key) được sử dụng để
giải mã thông tin đã được mã hóa bằng khóa công khai. Các phương pháp mã
hóa này khai thác những ánh xạ f mà việc thực hiện ánh xạ ngược f –1 rất khó
so với việc thực hiện ánh xạ f. Chỉ khi biết được mã khóa bí mật thì mới có
thể thực hiện được ánh xạ ngược f –1.
Khi áp dụng hệ thống mã hóa khóa công khai, người A sử dụng khóa
công khai để mã hóa thông điệp và gửi cho người B. Do biết được khóa bí
mật nên B mới có thể giải mã thông điệp mà A đã mã hoá. Người C nếu phát
hiện được thông điệp mà A gửi cho B, kết hợp với thông tin về khóa công
khai đã được công bố, cũng rất khó có khả năng giải mã được thông điệp này
do không nắm được khóa bí mật của B.



~ 11 ~

Hình 1.3. Sơ đồ hệ thống mã hóa khóa công khai
1.2.2. Hệ mật mã khóa công khai RSA
RSA được lấy tên 3 chữ cái đầu của 3 tác giả R.L.Rivest, A.Shamir và
L.Adleman ở MIT (Trường Đại học Công nghệ Massachusetts) vào năm 1977
[8]. RSA được biết đến nhiều nhất và sử dụng rộng rãi nhất hiện nay. Nó dựa
trên các phép toán lũy thừa trong trường hữu hạn các số nguyên theo modulo
nguyên tố. Cụ thể, mã hóa hay giải mã là các phép toán luỹ thừa theo modulo
số rất lớn. Việc thám mã, tức là tìm khóa bí mật khi biết khóa công khai, dựa
trên bài toán khó là phân tích một số rất lớn đó ra thừa số nguyên tố. Người ta
chứng minh được rằng, phép lũy thừa cần O((log n)3) phép toán, nên có thể
coi lũy thừa là bài toán dễ. Chú ý rằng ở đây ta sử dụng các số rất lớn khoảng
1024 bit, tức là cỡ 10350. Tính an toàn dựa vào độ khó của bài toán phân tích
ra thừa số của các số lớn.
1.3. Độ an toàn và độ an toàn hoàn hảo trong ẩn mã
1.3.1. Độ an toàn của ẩn mã
Một hệ ẩn mã được gọi là không an toàn nếu như kẻ tấn công chứng
minh được sự tồn tại của thông điệp bí mật. Để phá một hệ ẩn mã, kẻ tấn công
phải thực hiện ba bước: phát hiện, rút thông tin và vô hiệu hóa thông tin. Nếu
kẻ tấn công không thể khẳng định hay xác nhận giả thiết của hắn về sự tổn tại


~ 12 ~

của thông điệp bí mật trong vật phủ thì lúc đó hệ ẩn mã được coi là an toàn về
lý thuyết.
1.3.2. Độ an toàn hoàn hảo trong ẩn mã

Cachin đưa ra một định nghĩa lý thuyết thông tin hình thức về an toàn
của hệ ẩn mã. Ý tưởng chính là việc lựa chọn vật phủ xem như một biến ngẫu
nhiên

với phân bố xác suất

. Việc gắn các thông điệp mật được xem như

một hàm định nghĩa trong . Gọi

là phân bố xác suất của

( ,

, ) là tập

tất cả các thông điệp mang tin mật được sinh ra bởi hệ ẩn mã. Nếu một vật
phủ

không bao giờ được sử dụng như một vật phủ sau khi gắn tin thì

( ) = 0. Để tính được

, phân bố xác suất trên

trước. Sử dụng định nghĩa Entropy tương đối


phải được cho


( || ) giữa hai phân bố

trên tập :
( || ) =

PC (c)

 P (c) log P (c)
C

cÎC





S

Đo độ không hiệu quả khi giả sử phân bố là

trong khi phân bố thực sự

(tác động của quá trình gắn tin trên phân bố

có thể đo được). Cụ thể,

chúng ta định nghĩa độ an toàn của một hệ ẩn mã theo ( || ).
1.3.3. Độ an toàn hoàn hảo của một hệ ẩn mã
Giả sử s là một hệ ẩn mã,
gắn tin gửi trên kênh,


là phân bố xác suất của các vật phủ sau khi

là phân bố xác suất của . s được gọi là e - an toàn

đối với người tấn công thụ động nếu
( || ) ≤ e
và gọi là an toàn một cách hoàn hảo nếu e = 0.
Do

( || ) = 0 nếu và chỉ nếu hai phân bố là bằng nhau, chúng ta có

thể kết luận rằng một hệ ẩn mã là an toàn một cách hoàn hảo về mặt lý thuyết,
nếu như quá trình gắn tin vào vật phủ không làm thay đổi phân bố xác suất
của . Chúng ta có thể xây dựng một hệ ẩn mã với độ an toàn hoàn hảo.


~ 13 ~

Định lý: Tồn tại một hệ ẩn mã có độ an toàn hoàn hảo
Chứng minh
Chúng ta sẽ đưa ra một chứng minh có tính chất xây dựng. Giả sử
tập các xâu bit có độ dài n.

là phân bố đều trên , và

mật ( Î ). Người gửi chọn ngẫu nhiên một

Î


và tính



là một thông điệp
=

Å , trong

đó Å là toán tử XOR bit. Vật phủ thu được sau khi gắn tin mật s sẽ được phân
bố đều trên , do vậy
điệp mật

=



( || ) 0. Trong quá trình rút tin, thông

có thể được xây dựng lại bằng cách tính Å .

1.4. Ứng dụng của ẩn mã trong môi trường thực tế
Kỹ thuật ẩn mã có rất nhiều ứng dụng trong môi trường thực tế, một
trong số đó có thể kể đến các ứng dụng sau:
• Lưu trữ và đảm bảo các thông tin bí mật: Trong ứng dụng này, việc
đảm bảo tính bí mật cho thông điệp cần giấu chính là điều quan trọng nhất.
Steganography cung cấp cho chúng ta khả năng che giấu đi sự tồn tại của dữ
liệu mật, gây khó khăn cho việc phát hiện có thông tin được ẩn và tăng độ an
toàn của dữ liệu được mã hóa. Trong thực tế, khi chúng ta sử dụng một kỹ
thuật ẩn mã, chúng ta nên chọn một môi trường nhúng phù hợp với kích thước

của dữ liệu cần giấu, đặc biệt, vật phủ càng lớn hơn so với thông điệp thì càng
tốt, và nên loại bỏ môi trường nhúng ban đầu để đảm bảo sự an toàn và tính bí
mật cho thông tin.
• Liên lạc bí mật: Trong nhiều trường hợp, sử dụng mật mã có thể gây ra
sự chú ý ngoài mong muốn. Ngược lại, việc giấu tin trong một vật phủ nào đó
rồi gửi đi trên kênh truyền lại ít gây sự chú ý hơn. Ta có thể sử dụng ẩn mã để
gửi đi một bí mật thương mại, một bản vẽ hoặc các thông tin nhạy cảm.
• Gán nhãn: Tiêu đề, chú giải, nhãn thời gian và các minh họa khác có
thể được nhúng vào ảnh, khi đó việc sao chép ảnh sẽ sao chép cả các dữ liệu
trong đó. Tuy nhiên chỉ chủ sở hữu của bức ảnh này mới có thể tách ra và


~ 14 ~

xem các thông tin này vì họ có khóa mật. Ngoài ra, nhờ việc ẩn mã, họ có thể
gán từ khóa vào cơ sở dữ liệu ảnh để từ đó, việc tìm kiếm bức ảnh sẽ nhanh
chóng hơn. Đối với video, người ta có thể gán thời điểm diễn ra sự kiện vào
một khung ảnh để có thể đồng bộ hình ảnh với âm thanh. Đặc biệt, ta cũng có
thể gán số lần ảnh được xem để tính tiền thanh toán theo số lần xem.
1.5. Giới thiệu chung về ảnh số
1.5.1. Khái niệm ảnh số
Ảnh số là một tập hợp các điểm màu nằm trên một bề mặt phẳng, nhằm
mục đích mô tả, ghi lại những cảm nhận thị giác của con người hoặc một đối
tượng vật lý nào đó.
1.5.2. Điểm ảnh
Điểm ảnh – Pixel (Picture Element) là đơn vị cơ bản nhất cấu tạo nên
một hình ảnh, nó thường được hiểu như là một thành phần nhỏ nhất của một
hình ảnh.
Điểm ảnh – Pixel là một phần tử của ảnh số tại tọa độ ( , ) với độ xám
hoặc một màu nhất định. Kích thước và khoảng cách giữa các điểm ảnh đó

được chọn thích hợp sao cho mắt người cảm nhận được sự liên tục về không
gian và mức xám hoặc màu của ảnh số gần như ảnh thật. Điểm ảnh được nhận
biết như là những khối màu, hình vuông, rất nhỏ. Một hình ảnh có thể được
cấu thành từ hàng triệu điểm ảnh, càng nhiều điểm ảnh thì hình ảnh càng chi
tiết và rõ nét.
Trong một hình ảnh, các điểm ảnh được sắp xếp gọn gàng thành cột và
hàng. Phép tính dùng để đo kích thước số điểm ảnh trên cột dọc và hàng
ngang của hình ảnh được gọi là Độ phân giải – Resolution. Khi nói một hình
ảnh có kích thước “779 x 498 pixel” tức là có 779 điểm ảnh trên hàng ngang
và 498 điểm ảnh trên hàng dọc. Hoặc, khi nói một màn hình có độ phân giải


~ 15 ~

là “1024 x 768 pixel” nghĩa là màn hình đó có 1024 hàng điểm ảnh, và 768
cột điểm ảnh. Độ phân giải càng cao thì ảnh càng đẹp và rõ nét.
Mỗi một pixel có thể nhận một hoặc nhiều các bit tín hiệu điện tử, dùng
để kích hoạt chúng. Số lượng các màu sắc khác nhau trên hình ảnh phụ thuộc
vào số bit trên một pixel (Bits per pixel – bpp). Số bit mà pixel có thể nhận
được phân loại như sau:
• 1bpp (1bit trên một pixel): Đây là đặc trưng của loại màn hình
Monochrome Monitor (màn hình đen trắng). Mỗi một pixel có thể được bật
hoặc tắt, hoặc được gán giá trị hoạt động là 0 và 1. Khi một pixel nhận giá trị
1, nó được bật, khi đó sẽ có màu xanh nhạt hoặc màu vàng đậm. Khi một
pixel nhận giá trị 0, nó ở trạng thái tắt, pixel tắt có màu đen.
• 2bpp (2bit trên một pixel): Là đặc trưng của loại màn hình CGA (Color
Graphic Adaptor), cho phép hiển thị 4 màu. Một pixel sẽ nhận được 2 bit tín
hiệu, khi đó:
Giá trị “00” biểu diễn màu đen.
Giá trị “01” biểu diễn màu đỏ.

Giá trị “10” biểu diễn màu xanh.
Giá trị “11” biểu diễn màu trắng.
• 4bpp (4bit trên một pixel): Đây là đặc trưng của loại màn hình EGA
(Enhanced Graphics Adaptor), cho phép hiển thị 4 bit kết hợp với nhau tạo
thành 16 màu riêng biệt, được biểu diễn từ 0000 đến 1111.
• 8bpp (8bit trên một pixel): Đây là đặc trưng của loại màn hình VGA
(Video Graphics Adaptor), cho phép hiển thị 8 bit kết hợp thành 256 nhóm 8
bit từ 00000000 đến 11111111, tương đương với 256 màu.
• 24 bpp (24bit trên một pixel): Là đặc trưng của loại màn hình SVGA
(Super Video Graphics Adaptor), cho phép hiển thị 24 bit tín hiệu kết hợp


×