Trong phạm vi luận văn này sẽ tập trung tìm hiểu một số nội dung cơ bản của mã hoá thông tin và các kỹ thuật giấu tin trong ảnh đã được công bố, sau đó xây dựng chương trình giấu tin tro
Trang 1ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CNTT & TRUYỀN THÔNG
PHẠM VĂN THANH
GIẤU TIN TRONG ẢNH DỰA TRÊN
MA TRẬN TẦN SỐ
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên - Năm 2011
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
h tt p: / / w w .l r c - t nu .e du .vn
Trang 2ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CNTT & TRUYỀN THÔNG
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
HƯỚNG DẪN KHOA HỌC: PGS.TSKH NGUYỄN XUÂN HUY
Thái Nguyên - Năm 2011
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
h tt p: / / w w .l r c - t nu .e du .vn
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng cá nhân, không sao chép lại của người khác Trong toàn bộ nội dung của luận văn, những điều được trình bày hoặc là của cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho
lời cam đoan của mình
Thái Nguyên, ngày 15 tháng 11 năm 2011
Phạm Văn Thanh
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
h tt p: / / w w .l r c - t nu .e du .vn
Trang 4LỜI CẢM ƠN
Lời đầu tiên, tôi xin bày tỏ lòng biết ơn sâu sắc đến thầy giáo PGS -TSKH Nguyễn Xuân Huy - Viện Công nghệ Thông tin - Viện Khoa học Việt Nam, 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
Trang 5Trang phụ bìa
Lời cam đoan
Lời cảm ơn
MỤC LỤC
Trang
Mục lục i Danh mục các ký hiệu, các chữ viết tắt iii Danh mục các hình iv MỞ ĐẦU
1
CHƯƠNG 1 KHÁI QUÁT VỀ MÃ HÓA VÀ GIẤU TIN MẬT 3
1.1 Mã hóa thông tin 3
1.1.1 Các khái niệm cơ bản 3
1.1.2 Phân loại các hệ mật mã 4
1.2 Giấu tin mật 14
1.2.1 Các khái niệm cơ bản 14
1.2.2 Mô hình giấu tin 17
1.2.3 Tính chất của giấu tin mật 18
1.2.4 Ứng dụng của giấu tin mật 20
1.2.5 Kỹ thuật tấn công hệ giấu tin mật 21
1.3 Kết chương 22
CHƯƠNG 2 GIẤU TIN MẬT TRONG ẢNH SỐ
23 2.1 Ảnh số 23
2.1.1 Biểu diễn ảnh số 23
2.1.2 Các tham số chính của ảnh số 26
2.1.3 Nén ảnh 27
2.2 Giấu tin mật trong ảnh số 35
2.2.1 Giấu tin mật trong ảnh đen trắng 36
2.2.2 Giấu tin trong ảnh màu 40
2.3 Giấu tin trong ảnh dựa trên miền tần số 44
2.3.1 Biến đổi DCT thuận và nghịch 44
2.3.2 Đặc điểm của phép biến đổi DCT trên ảnh hai chiều 44
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên h tt p: / / w w .l r c - t nu .e du .vn
Trang 62.3.3 Một số giải thuật giấu tin trong ảnh JPEG 45
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
h tt p: / / w w .l r c - t nu .e du .vn
Trang 72.4 Kết chương 59
CHƯƠNG 3 CHƯƠNG TRÌNH GIẤU TIN TRONG ẢNH JPEG 61
3.1 Mục đích, yêu cầu 61
3.2 Giải pháp 61
3.3 Xây dựng và cài đặt chương trình 63
3.3.1 Xây dựng cơ sở dữ liệu ảnh mang 63
3.3.2 Lựa chọn kỹ thuật nén 63
3.3.3 Lựa chọn phương pháp mã hoá 63
3.3.4 Lựa chọn giải thuật giấu tin 64
3.3.5 Lựa chọn môi trường xây dựng 64
3.3.6 Thiết kế và cài đặt chương trình 65
3.3.7 Hạn chế và đề xuất 71
3.4 Kết chương 71
KẾT LUẬN 72
TÀI LIỆU THAM KHẢO 73
Trang 8DANH MỤC CÁC TỪ VIẾT TẮT TRONG LUẬN VĂN
AES Hệ mật mã tiên tiến (Advanced Encryption Standard)
DCT Biến đổi Cosine rời rạc (Discrete Cosine Transform)
DES Hệ mật mã chuẩn (Data Encryption Standard)
DFT Biến đổi Fourier rời rạc (Discrete Fourier Transform)
DPCM Điều xung mã vi phân (Differized Pulse Code Modulation)
ECC Hệ mã hóa đường cong Ellip (Elliptic Curve Cryptography)
HVS Hệ thống thị giác của con người (Human Visual System)
JPEG Chuẩn nén ảnh của ủy ban JPEG quốc tế
(Joint Photographic Experts Group)LZW Một phương pháp nén (Lempel - Zip và Welch)
PCM Điều biên mã xung (Pulse Code Modulation)
RLE Mã hóa loạt dài (Run Length Encoding)
RSA Mã hóa công khai RSA (Ron Rivest, Adi Shamir và Len
Adleman)
Trang 9DANH MỤC CÁC HÌNH
Trang
Hình 1.1 Quá trình mã hoá và giải mã 4
Hình 1.2 Mô hình hệ thống mật mã đối xứng 6
Hình 1.3 Mô hình hệ thống mật mã bất đối xứng 9
Hình 1.4.a Mô hình kết hợp mật mã đối xứng và bất đối xứng (bên gửi) 12
Hình 1.4.b Mô hình kết hợp mật mã đối xứng và bất đối xứng (bên nhận) 13
Hình 1.5 Mô hình phân loại các kỹ thuật giấu tin 16
Hình 1.6 Mô hình của quá trình giấu tin 18
Hình 1.7 Mô hình của quá trình giải mã tin giấu 18
Hình 2.1 Mô hình màu RGB 24
Hình 2.2 Mô hình màu YUV 25
Hình 2.3 Mô hình dòng ảnh biểu diễn dưới dạng sóng 29
Hình 2.4 Mô hình tạo ra sóng vuông 29
Hình 2.5 Mô hình chuyển đổi giữa miền thời gian và miền tần số 30
Hình 2.6 Mô hình nén ảnh JPEG 33
Hình 2.7 Thí dụ minh họa thuật toán Wu-Lee 39
Hình 2.8 Mô hình phân bố của các hệ số tần số của ảnh JPEG sau khi lượng tử hóa 46
Hình 2.9 Mô hình giấu thông tin Jsteg với 50% dung lượng 48
Hình 2.10 Mô hình phân bố của các hệ số tần số sử dụng giải thuật F3 50
Hình 2.11 Mô hình phân bố của các hệ số tần số sử dụng giải thuật F4 51
Hình 2.12 Đoạn mã nguồn bằng Java sử dụng giải thuật F4 52
Hình 3.1 Mô hình giấu tin của chương trình 62
Hình 3.2 Giao diện chính của chương trình 68
Hình 3.3 Giao diện giấu tin mật 69
Hình 3.4 Giao diện tách tin mật 70
Hình 3.5 Giao diện trợ giúp 70
Trang 10MỞ ĐẦU
Chúng ta đang sống trong xã hội thông tin Đã có truyền tin thì thường có yêu cầu bí mật quốc gia, có bí mật quân sự, có bí mật công nghệ, có bí mật kinh tế, và rất nhiều bí mật cá nhân nữa Chính vì vậy, vấn đề an toàn và bảo mật thông tin luôn nhận được sự quan tâm của nhiều lĩnh vực Các công nghệ và giải pháp để bảo vệ thông tin đã và đang được nghiên cứu, phát triển phù hợp với nhiều dạng lưu trữ các thông tin và phương thức truyền tải thông tin
Giải pháp bảo mật thông tin được sử dụng phổ biến nhất là dùng các hệ mật mã như: Hệ mã hoá công khai, hệ mã hoá bí mật Với giải pháp này, thông tin ban đầu sẽ được mã hoá thành bản mật mã Một phương pháp khác đã và đang được nghiên cứu, ứng dụng rất mạnh mẽ ở nhiều lĩnh vực đó là phương pháp giấu tin mật (Steganography) Nhiều cách thức giấu tin mật đã được nghiên cứu và ứng dụng, trên nhiều định dạng khác nhau như âm thanh, hình ảnh và video…Cả hai phương pháp trên đều có những ưu, nhược điểm nhất định Mã hoá giúp che giấu nội dung thông tin, giấu tin mật giúp che giấu hoạt động trao đổi thông tin Trên thực tế, để đảm bảo an toàn cho các kênh trao đổi thông tin bí mật ta cần phải kết hợp cả hai phương pháp này
Trong phạm vi luận văn này sẽ tập trung tìm hiểu một số nội dung cơ bản của mã hoá thông tin và các kỹ thuật giấu tin trong ảnh đã được công bố, sau đó xây dựng chương trình giấu tin trong ảnh có kết hợp mã hóa thông tin phục vụ cho quá trình trao đổi thông tin bí mật
Luận văn gồm 3 chương, cụ thể như sau:
Chương 1: Khái quát về mã hóa và giấu tin mật Chương này tìm hiểu tổng quan
về các kỹ thuật mã hoá thông tin và giấu tin mật Nội dung đề cập là các khái niệm cơ bản, tính chất, đặc điểm, ứng dụng và một số vấn đề có liên quan của các kỹ thuật này
Chương 2 Giấu tin mật trong ảnh số Để có thể thực hiện các kỹ thuật mã hoá và
giấu tin mật trong môi trường đa phương tiện thì vấn đề đặt ra là cần tìm hiểu cấu trúc, đặc điểm và tính chất của các định dạng trong môi trường đa phương
Trang 11tiện Chương này tập trung trình bày các khái niệm cơ bản, đặc điểm, tính chất và các kỹ thuật nén được áp dụng đối với ảnh số, đặc biệt là ảnh JPEG và một số phương pháp giấu tin mật trong ảnh dựa trên miền tần số
Chương 3: Chương trình giấu tin trong ảnh JPEG Chương này sẽ trình bày
cách sử dụng giải thuật giấu tin F5 dùng mã ma trận để xây dựng và cài đặt chương trình giấu tin trong ảnh JPEG có kết hợp nén và mã hoá thông tin Đồng thời này cũng đề xuất giải pháp giúp cho việc xây dựng ứng dụng giấu tin mật, đảm bảo bí mật và an toàn cho liên lạc bí mật cho nhiều lĩnh vực
Trang 12CHƯƠNG 1 KHÁI QUÁT VỀ MÃ HÓA VÀ GIẤU TIN MẬT 1.1 Mã hóa thông tin
1.1.1 Các khái niệm cơ bản
Luận văn này trình bày các khái niệm thường dùng trong ngành mật mã học
- Khái niệm mã hoá thông tin [8]
+ Mã hóa là quá trình chuyển thông tin có thể đọc được (gọi là Bản rõ) thành thông
tin ―khó‖ thể đọc được theo cách thông thường (gọi là Bản mã) Đây là một trong những
kỹ thuật để bảo mật thông tin
+ Giải mã là quá trình chuyển thông tin ngược lại, từ Bản mã thành Bản rõ.
+ Thuật toán mã hóa hay giải mã là thủ tục tính toán để mã hóa hay giải mã
+ Khóa mật mã (cryptographic key) là thành phần quan trọng trong thuật toán mật
mã Khóa mật mã có thể ví như chìa của một ổ khóa Ta có thể lắp được rất nhiều chìa (có cùng chiều dài, chiều rộng, kích thước rãnh ) vào một ổ khóa nhưng chỉ chìa nào có các răng cưa thích hợp mới có thể mở được ổ khóa Tương tự, mỗi thuật toán mật mã cần một khóa mật mã có chiều dài (dung lượng tính bằng bit) chính xác Ta có thể thực thi một thuật toán mật mã với một khóa mật mã bất kỳ có chiều dài như yêu cầu nhưng chỉ duy nhất khóa mật mã có cách sắp xếp các bit phù hợp mới có thể mã hóa hoặc giải mã
văn bản Phạm vi giá trị có thể có của khóa được gọi là Không gian khóa
Trang 13Ke - Khóa mã Kd - Khóa giải mã
Hình 1.1 Quá trình mã hoá và giải mã
Người gửi tin G muốn gửi bản tin T cho người nhận N Để đảm báo bí mật, G mã hoá bản tin bằng khoá lập mã ke, nhận được bản mã Cm = eke(T), sau đó gửi bản mã Cm cho N Tin tặc có thể trộm bản mã Cm nhưng cũng ―khó‖ để hiểu được bản tin gốc T nếu không có khoá giải mã kd
Người nhận N nhận được bản mã Cm, họ dùng khoá giải mã kd để giải mã và
nhận được bản tin gốc T = dkd(Cm) = dkd(eke(T))
1.1.2 Phân loại các hệ mật mã
Có 2 loại thuật toán mật mã chính là mật mã đối xứng (symmetric cryptography) và
mật mã bất đối xứng (asymmetric cryptography).
Trang 14- Mật mã đối xứng ( hay còn gọi là hệ mã hóa khóa bí mật) đã được sử dụng từ rất
lâu đời Căn cứ các dữ liệu khảo cổ, người ta tin rằng người Ai Cập cổ đã biết dùng loại mật mã này Trong hệ thống mật mã đối xứng, quá trình mã hóa và giải mã một thông
điệp sử dụng cùng một khóa mật mã gọi là khóa bí mật (secret key) hay khóa đối xứng
(symmetric key) Do đó, vấn đề bảo mật thông tin đã mã hóa hoàn toàn phụ thuộc vào việc giữ bí mật nội dung của khóa mật mã đã được sử dụng
Khóa mật mã dùng trong mật mã đối xứng thực chất là một chuỗi (chiều dài xác định) các bit được sắp xếp ngẫu nhiên Nếu thuật toán đối xứng dùng mã hóa đối xứng
40 bit thì dung lượng khóa mật mã là 40 bit Khóa mật mã dung lượng 128 bit được dùng cho mã hóa đối xứng 128 bit Một chuỗi 40 bit sẽ có thể cho ta 2 lũy thừa 40 khóa mật mã hay 1.1E12 khóa mật mã, tức là có hơn 1.000 tỷ khóa mật mã Một chuỗi 60 bit sẽ có thể cho ta 2 lũy thừa 60 khóa mật mã hay 1.8E19 khóa mật mã, tức là có gần 20 tỷ tỷ khóa mật
mã Hiện nay, khóa mật mã đối xứng chuẩn có chiều dài 128 bit Vậy ta có thể có 3.4E38 khóa mật mã, tức là có hơn 340 tỷ tỷ tỷ tỷ khóa mật mã
Thuật toán mật mã đối xứng dùng một khóa mật mã cho 2 quá trình mã hóa và giải
mã Mật mã đối xứng lại có thể được chia thành 2 hình thức: block cipher và stream cipher.[2]
Block cipher: Block cipher chia thông tin thành những đoạn ngắn có chiều dài cố
định (thường là 64 bit) và mã hóa từng đoạn này Một số thuật toán block cipher: DES, DES, RC2, RC5, RC6 và Rijndaen (còn được gọi là AES)
3-Thuật toán DES (Data Encryption Standard) phổ biến nhất và là thuật toán tiêu biểu cho mật mã đối xứng, được IBM phát triển vào cuối thập niên 1970 DES chia thông tin thành chuỗi 64 bit và mã hóa bằng khóa mật mã 56 bit Do sự gia tăng mạnh mẽ năng lực của máy tính, khóa mật mã 56 bit hiện nay trở nên thiếu an toàn nếu bị tấn công brute-force 3-DES (viết tắt của Triple DES) được phát triển để lấp yếu điểm này bằng cách mã hóa 3 lần hoặc phối hợp 3 phép toán
Trang 15có thể được xem là thuật toán cuối cùng trong thế hệ đầu của các chuẩn thuật toán mật mã đối xứng.
Thế hệ kế tiếp của các chuẩn mã đối xứng được gọi chung là AES - Advanced Encryption Standard - dùng khóa mật mã 128 bit có ưu thế vượt trội so với RC6 Thuật toán AES mạnh nhất là Rijindael do 2 người Bỉ đề xướng: Daemen và Rijmen Một
số thuật toán AES mới nhất gồm MARS (IBM), Serpent (Anderson, Riham và Knudsen), Twofish (Scheier, Kelsey, Whiting, Wagner, Hall và Ferguson)
Stream cipher: Stream cipher mã hóa từng bit của thông tin Stream cipher thông
dụng nhất là RC4 có thể dùng nhiều chiều dài khóa mật mã và có tốc độ nhanh hơn rất nhiều so với block cipher
Khi đã có thuật toán mật mã đối xứng và một số ngẫu nhiên dùng làm khóa
mật mã, quá trình mã hóa và giải mã có thể mô tả như sau:
Hệ mật mã đối xứng có đặc điểm sau:
+ Dùng chỉ một khóa mật mã cho cả hai quá trình mã hóa và giải mã
Trang 16+ Độ bảo mật cao
+ Tốc độ thực hiện nhanh
+ Bản mã có dung lượng tương đương bản gốc
+ Việc chuyển khóa mật mã đến người nhận có thể khiến cho bản mã chẳng còn gì
là bí mật đối với mọi người
+ Số lượng khóa mật mã phải quản lý gần bằng bình phương số đối tượng tham gia trao đổi thông tin, vì thế không phù hợp với giao dịch trên quy mô lớn
+ Việc quản lý khóa mật mã phức tạp, tốn nhiều công sức
Mật mã đối xứng thường được sử dụng trong môi trường mà khoá chung có thể dễ dàng trao chuyển bí mật, chẳng hạn trong cùng một mạng nội bộ và để mã hoá những bản tin lớn vì tốc độ mã hoá và giải mã nhanh hơn hệ mật mã bất đối xứng
- Mật mã bất đối xứng (hay còn gọi là hệ mã hóa khóa công khai)
Vào giữa thập niên 1970, Whitfield Diffie và Martin Hellman là những người đầu tiên đưa ra khái niệm mật mã bất đối xứng Thuật toán mật mã Diffie - Hellman được xây dựng trên cơ sở logarit rời rạc nhằm mục đích giải quyết vấn đề bảo vệ quá trình trao đổi khóa mật mã đối xứng
Một trong những thuật toán mật mã bất đối xứng thành công nhất là RSA RSA được Ron Rivest, Adi Shamir và Len Adleman mô tả lần đầu tiên vào năm
1977 tại Học viện Công nghệ Massachusetts (MIT - Massachusetts Institute of Technology) Tên của thuật toán lấy từ ba chữ cái đầu của tên ba tác giả RSA là thuật toán được nghiên cứu nhiều nhất và cho đến nay nó vẫn đứng vững trước những thử nghiệm tấn công của các chuyên gia mật mã RSA thường dùng khóa mật mã 1024 bit
và là thuật toán mật mã bất đối xứng được dùng phổ biến nhất trong công nghệ máy tính hiện nay
ECC (Elliptic Curve Cryptography) được Neal Koblitz và Victor S Miller đề xướng vào năm 1985 ECC có thời gian xử lý nhanh hơn RSA và tuy ra đời sau RSA nhưng ECC cũng đã trải qua rất nhiều thử nghiệm tấn công của các chuyên gia mật mã ECC có rất nhiều biến thể nên có thể được xem như một "họ" thuật toán
Trang 17chứ không chỉ là một thuật toán Để đạt được cùng một cấp độ bảo mật như RSA, ECC
có thể dùng một khóa mật mã ngắn hơn và ít hao tổn hiệu suất máy tính hơn
Vào tháng tư năm 2000, RSA Laboratories (trực thuộc RSA Security) công bố "A Cost-Based Security Analysis of Symmetric and Asymmetric Key Lengths" bao gồm một bảng thống kê:
- Các chiều dài khóa mật mã cần thiết của mỗi thuật toán để đạt cùng một cấp độ bảo mật
- Số máy tính dùng để bẻ khóa
- Dung lượng RAM
- Thời gian để bẻ khóa thành công
Chiều dài khóa mật mã Số máy
tínhcần
RAM
Bảng 1.1 Thống kê độ an toàn của các hệ mật mã
Thống kê trên đây [2] là kết quả của một số giả định và công thức tính khá phức tạp Thông qua kết quả cuối cùng, có thể nêu một vài nhận xét như sau:
- Để tăng cường bảo mật, nên thay thế DES (khóa mật mã 56 bit) bằng AES (khóa mật mã 128 bit) cũng như nên thay khóa mật mã RSA 768 bit bằng khóa mật
Trang 18là khóa mật mã công khai (public key), khóa còn lại đƣợc gọi là khóa mật mã cá nhân (private key) Điểm thú vị của khóa mật mã bất đối xứng là khi thông tin đƣợc
mã bằng khóa công khai thì chỉ có thể giải mã bằng khóa cá nhân và ngƣợc lại
Khóa công khai
Khóa công khai
Trang 19Hệ mật mã bất đối xứng có đặc điểm sau:
+ Dữ liệu mã hóa bởi một khóa mật mã (công khai hoặc cá nhân) sẽ chỉ có thể được giải mã với khóa mật mã còn lại (cá nhân hoặc công khai)
+ Độ bảo mật cao
+ Quá trình trao đổi khóa mật mã không ảnh hưởng đến việc bảo mật thông
tin
+ Số lượng khóa mật mã phải quản lý bằng với số đối tượng tham gia trao đổi
thông tin, do đó phù hợp với giao dịch trên mọi quy mô
+ Tốc độ thực hiện khá chậm
+ Bản mã có dung lượng lớn hơn nhiều so với bản gốc
Đặc trưng nổi bật của hệ mật mã bất đối xứng là khoá công khai và bản mã đều
có thể gửi đi trên một kênh truyền tin không an toàn Có biết cả khoá công khai và bản mã thì thám mã cũng không dễ khám phá bản rõ Nhưng vì có tốc độ mã hoá và giải mã chậm nên hệ mã hoá khoá công khai chỉ dùng để mã hoá những bản tin ngắn, ví dụ như mã hoá khoá bí mật gửi đi
- Phối hợp cả hai hình thức mã hóa đối xứng và bất đối xứng
Ta hãy so sánh ưu và nhược điểm của 2 loại thuật toán mật mã
- Việc chuyển khóa mật mã đến người
- Dữ liệu mã hóa bởi một khóa mật mã
(công khai hoặc cá nhân) sẽ chỉ có thể được giải mã với khóa mật mã còn lại (cá nhân hoặc công khai)
- Độ bảo mật cao
- Tốc độ thực hiện khá chậm
Trang 20nhận có thể khiến cho bản mã chẳng còn
gì là bí mật đối với mọi người
- Số lượng khóa mật mã phải quản lý
gần bằng bình phương số đối tượng
tham gia trao đổi thông tin, vì thế không
phù hợp với giao dịch trên quy mô lớn
- Việc quản lý khóa mật mã phức tạp,
Bảng 1.2 So sánh đặc điểm của mã đối xứng và mã công khai
Ta có thể thấy rằng nhược điểm của loại này lại là ưu điểm của loại kia Từ đó, người
ta nảy sinh ý tưởng kết hợp 2 loại thuật toán nhằm tận dụng ưu điểm và loại trừ khuyết điểm Cụ thể, người ta tìm cách kết hợp khóa mật mã đối xứng và khóa mật mã bất đối xứng để đạt được các yếu tố:
1- Độ bảo mật cao
2- Tốc độ thực hiện nhanh
3- Bản mã có dung lượng tương đương bản gốc
4- Quá trình trao đổi khóa mật mã không ảnh hưởng đến việc bảo mật thông
tin
5- Phù hợp với giao dịch trên mọi quy mô
Trang 21Quy trình xử lý như sơ đồ sau:
Kp - Khóa công khai
Hình 1.4.a Mô hình kết hợp mật mã đối xứng và bất đối xứng (bên gửi)
- Người gửi phát sinh ngẫu nhiên một khóa mật mã bí mật Ks ( khóa đối xứng)
- Người gửi dùng khóa mật mã đối xứng để mã hóa bản tin M, và có được một bản
mã của bản tin (M + Ks = Cm)
- Đến đây ta có thể thấy rằng ưu điểm của mật mã đối xứng đã được ứng dụng
(các yếu tố 1, 2, 3 đã nêu trên)
- Vấn đề kế tiếp cần giải quyết là làm sao để Người nhận có thể giải mã bằng khóa mật mã đối xứng mà Người gửi đã phát sinh ngẫu nhiên Bây giờ là lúc cặp khóa mật mã
công khai-cá nhân bắt đầu tham gia
- Người nhận phát sinh một cặp khóa mật mã bất đối xứng (Kp, Kr).
- Người nhận gửi cho Người gửi khóa mật mã công khai (Kp) và giữ kín khóa
mật mã cá nhân (Kr)
- Người gửi dùng khóa mật mã công khai của Người nhận để mã hóa khóa mật mã đối
xứng và có được bản mã của khóa mật mã đối xứng (Ks + Kp = Ck) Hành động dùng một
khóa mật mã để mã hóa một khóa mật mã khác còn được gọi là "key wrapping" (có thể dịch
là: "đóng gói khóa mật mã")
- Tuy mã hóa bất đối xứng có tốc độ rất chậm và dung lượng bản mã lớn hơn nhiều
so với bạch văn gốc nhưng trong tình huống cụ thể này thì đó không phải là vấn đề vì khóa mật mã đối xứng có dung lượng rất nhỏ (thường chỉ là 128 bit)
Trang 22- Người gửi gửi bản mã của khóa đối xứng và bản mã của bản tin (Ck và Cm) cho
Người nhận Sự kết hợp 2 loại bản mã này được gọi là "digital envelope" (có thể dịch là:
- Người nhận dùng khóa mật mã đối xứng vừa thu được để giải bản mã bí kiếp (Cm -
Ks = M) Người nhận đã có được bản tin Khóa mật mã đối xứng ngẫu nhiên mà Người gửi phát sinh bây giờ đã chấm dứt nhiệm vụ, Người nhận chẳng cần phải
lưu giữa khóa mật mã đối xứng này
Kr - Khóa cá nhân
Hình 1.4.b Mô hình kết hợp mật mã đối xứng và bất đối xứng (bên nhận)
Hầu hết các giải pháp mã hóa dữ liệu hiện tại đều dựa trên 2 quy trình trên Quy trình này được dùng mã hóa thư điện tử, giao dịch web và cả giao dịch trong mạng nội bộ
Trang 23Xin được tổng quát hóa quá trình thực hiện như sau:
Khi A muốn mã hóa thông điệp M để gửi cho B, A sẽ dùng khóa mật mã công
1.2 Giấu tin mật
1.2.1 Các khái niệm cơ bản
- Khái niệm giấu tin
Giấu tin là một kĩ thuật nhúng (giấu) một lượng thông tin số nào đó vào trong một đối tượng dữ liệu số khác
Giả sử ta có đối tượng cần bảo mật R (một văn bản, một tấm bản đồ hoặc một tệp âm thanh chẳng hạn) Nếu dùng phương pháp mã hoá để bảo mật R ta sẽ thu được bản mật
mã của R là R’ chẳng hạn Thông thường, R’ mang những giá trị ―vô nghĩa‖ và chính điều này làm cho đối phương nghi ngờ và tìm mọi cách thám mã Ngược lại, nếu dùng phương pháp giấu R vào một đối tượng khác, một bức ảnh F chẳng hạn ta sẽ thu được bức ảnh F’ hầu như không sai khác với F Sau đó chỉ cần gửi ảnh F’ cho người nhận Để lấy ra bản tin
R từ ảnh F’ ta không cần ảnh gốc F Xem như vậy, khi đối phương bắt được tấm ảnh F’ nếu đó là ảnh lạ (ảnh cá nhân, ảnh phong cảnh của những nơi không nổi tiếng) thì khó nảy sinh nghi ngờ về khả năng chứa tin mật trong F’
Trang 24- Phân loại các kỹ thuật giấu tin
Có thể chia lĩnh vực giấu tin thành hai hướng chính, đó là thuỷ ấn và giấu tin
Thủy ấn (Water marking) là lĩnh vực nghiên cứu việc nhúng thông tin phục vụ
xác thực, ví dụ như xác nhận bản quyền… Nếu thông tin giấu là một định danh duy nhất,
ví dụ như định danh người dùng, thì người ta gọi đó là Fingerprinting (nhận dạng vân
tay, điểm chỉ)
Giấu tin mật (hay còn gọi là viết phủ) là lĩnh vực nghiên cứu việc nhúng các tin mật
vào một môi trường phủ Trong quá trình giấu tin, để tăng tính bảo mật, người ta có
thể dùng một khoá viết mật, khi đó người ta nói về Intrinsic Steganography (giấu tin
có xử lý) Để giải mã người dùng cũng phải có khoá viết mật đó Khoá này có thể không phải là khoá dùng để lập mật mã mẩu tin, ví dụ nó có thể là khoá để sinh ra hàm băm phục vụ rải tin vào môi trường phủ Ngược lại nếu không dùng khoá viết mật thì người
ta chỉ giấu tin đơn thuần vào môi trường phủ thì khi đó người ta nói về Pure
Steganography (giấu tin đơn thuần).
Xét về tính chất thuỷ ấn giống giấu tin ở chỗ tìm cách nhúng thông tin mật vào một môi trường Tuy nhiên xét về bản chất thì thuỷ ấn có những nét khác ở một số điểm:
- Mục tiêu của thuỷ ấn là nhúng thông tin không lớn thường là biểu tượng, chữ ký hay các đánh dấu khác vào môi trường phủ nhằm phục vụ việc xác nhận bản quyền
- Khác với giấu tin ở chỗ giấu tin sau đó cần tách lại tin còn thuỷ ấn tìm cách
biến tin giấu thành một thuộc tính của vật mang
- Chỉ tiêu quan trọng nhất của một thuỷ ấn là tính bền vững, của giấu tin là dung lượng giấu
- Điểm khác nữa giữa thuỷ ấn và giấu tin là thuỷ ấn có thể vô hình hoặc hữu hình trên vật mang
Trang 25Hình 1.5 Mô hình phân loại các kỹ thuật giấu tin
- Các thành phần của hệ giấu tin mật:
Các thành phần chính của một hệ giấu tin mật gồm có:
+ Tin mật: có thể là văn bản, hình ảnh hay tệp tin tuỳ ý (âm thanh số, video số), vì
trong quá trình giấu tin, chúng đều được chuyển thành các chuỗi bit
+ Môi trường sẽ chứa tin mật: thường là ảnh, nên gọi là ảnh phủ hay ảnh gốc Ngoài
ra còn có thể là âm thanh số, video số, văn bản…
+ Khoá K: khoá viết mật, tham gia vào quá trình giấu tin để tăng tính bảo mật
+ Môi trường đã chứa tin mật: là môi trường chứa tin mật sau khi đã được
nhúng tin mật vào Trong trường hợp môi trường ảnh thì gọi là ảnh mang
Xét theo góc độ toán học, có thể định nghĩa một lược đồ giấu tin như sau
Gọi Ks là một khoá viết mật (stego key) được xác định từ một tập K của tất cả các
khoá viết mật; M là tập tất cả các thông điệp có thể được nhúng và C là tập tất cả các vật mang có thể Khi đó, một lược đồ giấu tin được thiết lập bởi 2 ánh xạ, ánh xạ nhúng
Emb và ánh xạ trích xuất Ext:
Emb: C x K x M → C
Ext: C → M
Sao cho Ext(Emb(c,Ks,m)) = m với tất cả c ? C, Ks ? K và m ? M Vật
mang s = Emb(c,Ks,m) được gọi là stego Data.
Trang 261.2.2 Mô hình giấu tin
Mô hình giấu tin được mô tả trong Hình 1.6 và 1.7 Trong đó, Hình 1.6 biểu diễn quá trình giấu tin Phương tiện chứa bao gồm các đối tượng được dùng làm môi trường
để giấu tin như các tệp Multimedia Thông tin cần giấu là một lượng thông tin mang một ý nghĩa nào đó tuỳ thuộc vào mục đích của người sử dụng Thông tin sẽ được giấu vào trong môi trường chứa nhờ một bộ nhúng Bộ nhúng là những chương trình, thuật toán để giấu tin và được thực hiện với một khoá bí mật giống như các hệ mật mã cổ điển Sau khi giấu tin ta thu được môi trường đã giấu tin và được phân phối trên các phương tiện truyền thông khác nhau
Hình 1.7 chỉ ra các công việc của quá trình giải mã thông tin đã được giấu Quá trình giải mã tin được thực hiện thông qua một bộ giải mã tương ứng với bộ nhúng thông tin kết hợp với khoá để giải mã thông tin Khoá để giải mã thông tin có thể giống hoặc khác với khoá để nhúng thông tin Kết quả thu được gồm môi trường gốc và thông tin
đã được giấu Tuỳ trường hợp, thông tin tách được có thể cần xử lí, kiểm định so sánh với thông tin giấu ban đầu Thông qua dữ liệu mật được tách ra từ môi trường chứa tin giấu, người ta có thể biết được trong quá trình phát tán dữ liệu có bị tấn công hay không
Với một hệ thống giấu tin mật, tính an toàn của dữ liệu cần giấu được quan tâm đặc biệt Một hệ thống được xem là có độ bảo mật cao nếu độ phức tạp của các thuật toán thám mã khó có thể thực hiện được trên máy tính Tuy nhiên, cũng có một số hệ thống lại quan tâm đến số lượng thông tin có thể được giấu, hoặc quan tâm đến sự ảnh hưởng của thông tin mật đến môi trường chứa dữ liệu
Trang 27Khóa K
F- Vật mang
(ảnh, audio, video)
Bộ nhúngtin
F’- Vật mang chứa tin giấu
M - Thông tincần giấu
Hình 1.6 Mô hình của quá trình giấu tin
M - Thông tin
đã giấu
Kiểm định
Hình 1.7 Mô hình của quá trình giải mã tin giấu
Tổng quát hóa quá trình thực hiện như sau:
1.2.3 Tính chất của giấu tin mật
Giấu tin mật là một lĩnh vực mới, đã và đang được nghiên cứu, thực nghiệm theo nhiều phương pháp khác nhau Để đánh giá chất lượng của một phương pháp giấu tin mật, người ta thường dựa vào các tiêu chí sau:
Trang 28- Đảm bảo tính vô hình
Giấu tin mật sẽ làm biến đổi vật mang tin Tính vô hình thể hiện mức độ bị biến đổi của vật mang Phương pháp giấu tin mật tốt sẽ làm cho thông tin cần giấu trở lên vô hình trên vật mang, tức là làm người dùng khó có thể nhận ra trong vật mang có ẩn chứa thông tin mật Tuy nhiên, thực tế không phải lúc nào người ta cũng cố gắng để đạt được tính vô hình cao nhất Ví dụ trong truyền hình, người ta gắn hình ảnh mờ gọi là thuỷ ấn để bảo vệ bản quyền bản tin
- Khả năng chống giả mạo
Mục đích của giấu tin mật là để truyền đi thông tin mật Nếu không thể do thám tin mật thì kẻ địch cũng cố tìm cách làm sai lạc tin mật, làm giả tạo tin mật để gây bất lợi cho đối phương Một phương pháp giấu tin tốt phải đảm bảo tin mật không bị tấn công một cách chủ động trên cơ sở những hiểu biết về thuật toán nhúng tin (nhưng không biết khoá giấu tin) và có vật mang
Đối với lĩnh vực thủy ấn số thì khả năng chống giả mạo là yêu cầu vô cùng quan trọng vì có như vậy mới bảo vệ được bản quyền, minh chứng tính pháp lý của sản phẩm
- Dung lượng nhúng
Dung lượng giấu được tính bằng tỷ lệ của lượng tin cần giấu so với kích thước của vật mang tin Các phương pháp này đều cố gắng giấu được càng nhiều tin càng tốt nhưng vẫn giữa được bí mật Tuy nhiên trong thực tế người ta luôn phải cân nhắc giữa dung lượng và các chỉ tiêu khác như tính vô hình, tính bền vững (ổn định)
- Tính bền vững
Sau khi giấu tin vào vật mang, bản thân vật mang có thể phải trải qua các biến đổi khác nhau, ví dụ như nếu vật mang là ảnh số thì có thể sẽ phải qua các biến đổi như lọc (tuyến tính, lọc phi tuyến) thêm nhiễu, làm sắc nét, mờ nhạt, quay, nén mất dữ liệu…Tính bền vững là thước đo sự nguyên vẹn của tin mật sau những biến đổi như vậy
Trang 29- Độ phức tạp tính toán
Chỉ tiêu độ phức tạp trong giấu tin và tách tin cũng là một yếu tố quan trọng trong đánh giá các phương pháp giấu tin mật Yêu cầu về độ phức tạp tính toán phụ thuộc vào từng ứng dụng Ví dụ một ứng dụng tạo thuỷ ấn để đánh dấu bản quyền cần phải có độ phức tạp tính toán cao thì mới đảm bảo chịu được sự tấn công của nhiều tin tặc nhằm phá huỷ thuỷ ấn
1.2.4 Ứng dụng của giấu tin mật
- Liên lạc bí mật
Trong mã hoá, bản mã của tin mật có thể gây ra sự chú ý của tin tặc nhưng tin mật được giấu vào trong môi trường nào đó rồi gửi đi trên mạng máy tính thì ít gây ra sự chú ý của tin tặc Đó là một ứng dụng của giấu tin
Hiện nay người ta phối hợp đồng thời nhiều giải pháp để truyền tin mật trên mạng công khai Đầu tiên tin mật được nén lại, sau đó được mã hoá, cuối cùng giấu bản mã vào môi trường nào đó
- Bảo vệ bản quyền
+ Thuỷ ấn: Một biểu tượng bí mật gọi là thuỷ ấn được nhúng vào trong một tài liệu
(hình ảnh, âm thanh…) để xác nhận quyền sở hữu tài liệu.Thuỷ ấn được đính lên tranh ảnh khi bán hoặc phân phối, thêm vào đó có thể gán một nhãn thời gian để chống giả tạo Thuỷ ấn cũng được dùng để phát hiện xem các sản phẩm có bị sửa đổi hay không Việc phát hiện thuỷ ấn được thực hiện bằng thống kê, so sánh độ tương quan hoặc bằng cách
đo đạc xác định chất lượng của thuỷ ấn trong vật mang
+ Điểm chỉ số : tương tự như số seri của phần mềm Điểm chỉ số dùng để truyền
thông tin về người nhận sản phẩm số (không phải chủ sở hữu) nhằm chứng thực bản sao duy nhất của sản phẩm
+ Gán nhãn: Tiêu đề, chú giải, nhãn thời gian…có thể được nhúng vào sản phẩm
số Gắn tên người lên ảnh của họ, gắn tên địa phương lên bản đồ Khi đó nếu sao chép sản phẩm thì cũng sẽ sao chép cả thông tin đã nhúng vào nó Chủ sở hữu của sản phẩm, người
có khoá viết mật có thể tách ra và xem các chú giải
Trang 30Trong một cơ sở dữ liệu ảnh, người ta có thể nhúng các từ khoá để các động cơ tìm kiếm có thể tìm nhanh một bức ảnh nào đó Nếu là một khung ảnh cho cả một đoạn phim, người ta có thể gán cả thời điểm diễn ra sự kiện để đồng bộ hình ảnh với âm thanh Người ta cũng có thể gán số lần mà hình ảnh được xem để tính tiền thanh toán.
1.2.5 Kỹ thuật tấn công hệ giấu tin mật
Tấn công một hệ giấu tin mật được gọi là steganalysis Đó là các phương pháp để
phát hiện, phá huỷ, trích rút hay sửa đổi thông tin mật Việc nghiên cứu các biện pháp của
kẻ tấn công sẽ hữu ích cho việc thiết kế một hệ ẩn giấu thông tin tốt Việc tấn công được coi là thành công hay không tuỳ theo ứng dụng Đối với liên lạc bí mật, việc phát hiện và chứng minh được một vật có chứa tin mật được coi là thành công Đối với bảo vệ bản quyền hay chống giả mạo thì việc tấn công được coi là thành công nếu không chỉ phát hiện ra thuỷ ấn mà còn phá huỷ hay sửa đổi nó nhưng không làm giảm chất lượng của vật mang
Có điểm giống nhau giữa mã hoá và giấu tin mật là người ta giả thiết thám tin biết trước phương pháp mã hoá hay giấu tin mật Như vậy, việc thám tin theo một phương pháp cụ thể (mã hoá hay giấu tin) phụ thuộc vào ―khoá‖ chứ không phải là phụ thuộc vào
độ phức tạp của phương pháp này (nguyên lý Kerkhoff)
Tương tự như thám mã trong mã hoá, các kỹ thuật thám tin trong giấu tin mật cũng được chia thành 5 nhóm:
- Biết vật mang tin (stego-object)
- Biết vật gốc (original object) và vật mang tin
- Biết có tin giấu trong vật mang tin
- Biết thuật toán giấu tin
- Biết thuật toán trích (tách) tin mật
Có nhiều phương pháp để thám tin Thám tin có thể phát hiện thủy ấn hay tin mật bằng cách phân tích các trạng thái, ví dụ với ảnh có thể thám tin bằng cách phân tích vùng nhiễu quá mức trên ảnh Tin tặc kinh nghiệm có thể nhận thấy các vùng nhiễu này bằng mắt thường Nếu biết được vật mang gốc thì việc thám tin còn
Trang 31đơn giản hơn nữa, vì khi đó có thể so sánh ảnh mang tin với ảnh gốc để tách nhiễu Nếu thám tin biết được có tin ẩn giấu, người ta có thể tạo ra các cặp ảnh gốc và ảnh mang để phân tích và xem xét liệu ảnh đang tìm hiểu có mang dấu ấn của chữ ký hay tin mật hay không.
Việc phá tin mật có thể đơn giản hay phức tạp tuỳ thuộc vào phương pháp giấu tin mật Ví dụ, đối với phương pháp nhúng tin vào bit có trọng số thấp khi giấu tin trong ảnh thì việc phá tin mật chỉ đơn thuần là thay đổi lại các bit này, như vậy ảnh mang tin trở
về trạng thái ban đầu
Phá tin mật đối với các phương pháp giấu tin mật mà vẫn giữ nguyên vật mang
là một việc khó Vì mục tiêu của thuỷ ấn là phải đạt được độ bền vững sao cho nếu có ai phá thuỷ ấn thì cũng làm hỏng ngay cả vật gốc
Thông thường người ta tìm cách áp dụng nhiều phép biến đổi vật mang với hy vọng rằng: tuy từng phép biến đổi không có tác dụng nhưng tổ hợp của chúng có thể giúp cho việc phá huỷ thủy ấn mà vẫn giữ được nội dung vật mang
Nếu biết tin mật và vật mang tin thì cơ hội phá tin mật sẽ cao hơn
Nếu biết thuật toán giấu tin thì kẻ thám tin có thể dùng nó thử giấu tin lên nhiều vật mang khác nhau, qua đó dùng phương pháp thống kê để tìm ra các quy luật gây nhiễu cũng như dùng nó để kiểm thử xem một vật có mang tin mật hay không
dạng này.
Trang 32CHƯƠNG 2 GIẤU TIN MẬT TRONG ẢNH SỐ 2.1 Ảnh số
Thông thường thu nhận ảnh số từ các phương pháp sau [4]:
- Số hóa ảnh chụp và ảnh in bằng scanner Nguyên tắc số hóa ảnh tương tự số hóa âm thanh Trong máy ảnh số có hệ thống ADC
- Các frame của video số
- Ảnh tạo ra từ các phần mềm đồ họa
2.1.1 Biểu diễn ảnh số
Ảnh có thể là ảnh véctơ hay ảnh raster.
- Ảnh véctơ: Là các dữ liệu đồ họa (graphics) Ba loại đối tượng đồ họa riêng biệt là
điểm, đường và vùng Ảnh véctơ được hình thành từ nhiều đối tượng đồ họa đơn giản: đoạn thẳng, elíp Khuôn mẫu ảnh có thể là DXF, WMF, PIC, CGM
- Ảnh raster: Bao gồm các dữ liệu ảnh (Image) Khuôn mẫu ảnh raster có thể là
BMP, JPEG, GIF Mỗi điểm ảnh (pixel) của loại ảnh này cần được xác định màu cụ thể Ảnh raster có thể là đa mức xám hay ảnh màu
Biểu diễn ảnh đa mức xám
Ảnh được hiển thị trên màn hình bởi các pixel Các pixel có độ chói (cường độ) khác nhau Dải cường độ từ đen đến trắng phụ thuộc vào chất lượng ảnh, hay tổng số bít
sử dụng cho mỗi pixel Thí dụ với 8 bit biểu diễn pixel thì có tới 255 mức cường độ khác nhau có thể biểu diễn
Tóm lại, ảnh đa mức xám được biểu diễn bằng mảng 2 chiều Mỗi phần tử của mảng tương ứng với 1 pixel
Việc sắp xếp các giá trị pixel này trong vùng bộ nhớ liên tục được gọi là bitmap Khái niệm này xuất phát từ ánh xạ (map) các pixel ảnh vật lý vào các địa chỉ liên tục trong bộ nhớ Bộ nhớ sử dụng để lưu trữ dữ liệu ảnh bitmap được gọi là
―frame buffer‖.
Trang 33Biểu diễn ảnh màu
Ảnh màu cũng bao gồm trường chữ nhật các pixel Khác biệt với các ảnh đa cấp xám là cần 3 giá trị để biểu diễn ảnh Mỗi giá trị biểu diễn một màu cơ sở Cách biểu diễn này xuất phát từ lý thuyết rằng màu có thể hình thành từ trộn ba màu cơ sở Các màu cơ
sở sử dụng trong TV và màn hình máy tính là Red, Green và Blue
Ảnh màu có thể biểu diễn bởi ba mảng hai chiều tương ứng với các màu cơ sở
Red, Green và Blue của ảnh
Màu và mô hình màu
Màu là phân bổ bước sóng ánh sáng (màu blue - 440 nm, màu green – 545 nm và màu red – 580 nm) Mắt người cảm nhận ba màu red, green và blue nhờ các tế bào hình
nón (khoảng 6-7 triệu) trên võng mạc Mắt người cảm nhận màu (bước sóng điện từ) trong dải từ 400 nm đến 700 nm
Phần lớn màu sắc xung quanh ta không có bước sóng đơn mà chúng được tạo bởi do trộn nhiều bước sóng khác nhau, mắt người nhạy với bước sóng trội
Mô hình màu là mô hình toán học trừu tượng mô tả cách biểu diễn màu mà con người có thể nhận biết bởi bộ các giá trị (thông thường là 3 hay 4 giá trị) hay bởi các thành phần màu
Có nhiều mô hình màu khác nhau dành cho các mục đích sử dụng khác nhau Thí dụ,
mô hình màu RGB dành cho màn hình máy tính, CMYK dành cho máy in màu, HSV dành cho người sử dụng (trực quan hơn), YUV dành cho nén ảnh, nén video và là chuẩn của TV
Mô hình màu RGB
Cyan(0,1,1)
Blue(0,0,1)
G
Black(0,0,0)
B B
Green(0,1,0)
White(1,1,1)
Magenta
(1,0,1)
Trang 34(1,1,0)
R
Red(1,0,0)
Hình 2.1 Mô hình màu RGB
Trang 35Là mô hình màu đơn giản nhất và hay sử dụng nhất Màu được hình thành từ ba thành phần R, G và B (hình 2.1) Chúng được sử dụng cho màn hình, máy quét và lưu trữ ảnh.
Mô hình màu YUV
Trong khi, với không gian màu RGB, màu được hình thành từ ba thành phần
R, G và B, thì màu trong không gian màu YUV được hình thành từ ba thành phần
Y, U và V Không gian màu YUV được hình thành như sau đây (hình 2.2)
G
Green (0,1,0)
Yellow (1,1,0) Cyan
Magenta
B
(1,0,1)
Hình 2.2 Mô hình màu YUV
Nối gốc tọa độ O với điểm màu trắng W ta có đường tổng hợp ánh sáng của 3 màu với giá trị bằng nhau Nó chính là đường thể hiện mức độ sáng của màu sắc
Không gian màu YUV được hình thành từ không gian màu RGB bằng cách sử dụng
mặt phẳng đi qua ba điểm Red, Green và Blue làm mặt phẳng màu Gọi mặt phẳng này là
mặt UV Chúng đi qua I, điểm giữa của đọan OK Trên mặt UV hình thành 2 đường U và
V vuông góc với nhau và đi qua I Gọi trục Y qua I và vuông góc với mặt UV, gọi chúng là trục thể hiện độ chói của điểm ảnh
Ta có mô hình màu YUV hay YcbCr: Y:
Luminance
U, Cb: trục U, thành phần blue.
V, Cr: trục V, thành phần red.
Trang 36Mô hình màu YUV được sử dụng làm chuẩn cho TV PAL, SECAM và nén
Mô hình màu YIQ
Mô hình màu này được sử dụng làm chuẩn cho TV Mỹ (NTSC) Việc hình thành
mô hình màu này tương tự YUV, nhưng mặt phẳng màu được xoay đi một góc 330 theo chiều kim đồng hồ sao cho I là trục có phương Orange – Blue và Q có phương Purple – Green
Y = 0.299R + 0.587G + 0.114B
I = 0.74(R-Y) – 0.27(B-Y) = 0.596R – 0.275G – 0.321B Q =
0.48(R-Y) + 0.41(B-Y) = 0.212R – 0.523G + 0.311B
2.1.2 Các tham số chính của ảnh số
Chất lượng ảnh được đo bởi các tham số chính sau đây:
Kích thước ảnh: Tổng số pixel trên hàng và tổng số cột pixel Ta thường nói kích
thước ảnh là x pixel và y dòng Để đạt được chất lượng ảnh gốc thì tổng số điểm ảnh/dòng và tổng số dòng phải bằng giá trị tối thiểu xác định theo định lý
Trang 37Nyquist Thí dụ mật độ ảnh gốc là 300 dpi thì tổng số pixel (mẫu) / inch phải ít nhất
300 Nếu không nó bị suy giảm so với ảnh gốc
Tổng số bit biểu diễn từng pixel (pixel depth): Với ảnh đa mức xám chất lượng chấp
nhận được đòi hỏi 8 bit/pixel Với ảnh màu, cần 24 bít/pixel (mỗi thành phần màu cần 8 bít)
Dữ liệu của ảnh được tính như sau: D = xyb
- Lấy mẫu phụ không gian (Spatial Subsampling)
Vì dữ liệu ảnh chứa dư thừa, cho nên không giữ lại mọi pixel ảnh gốc Kỹ thuật này gọi là lấy mẫu phụ không gian Phía nén ảnh ta chọn và truyền tải một trong vài điểm ảnh Phía giải nén ảnh, các điểm ảnh thiếu sẽ được nội suy trên cơ sở các điểm ảnh thu được để sinh ra trình tự video gốc với độ phân dải thấp hơn Bộ giải mã sẽ giải mã và
hiển thị ảnh subsampled không gian nhỏ hơn.
Kỹ thuật này khá đơn giản nhưng hiệu quả Nó được sử dụng làm tiền xử lý cho các kỹ thuật nén khác (MPEG)
- Mã hóa dự báo (Predictive coding)
Nguyên lý mã hóa dự báo trước cho ảnh tương tự cho âm thanh Tổng quát thì các giá trị mẫu (sample) của các phần tử ảnh láng giềng (về mặt không gian) là tương quan Sự tương quan hay sự phụ thuộc thống kê tuyến tính chỉ ra rằng dự báo tuyến tính của các giá trị mẫu trên cơ sở các giá trị mẫu của phần tử ảnh láng giềng là kết quả trong lỗi dự báo mà nó có bất biến nhỏ hơn giá trị mẫu gốc Các thuật
Trang 38toán dự báo 1-D sử dụng tương quan của các phần tử ảnh láng giềng trong dòng quét Lược đồ phức tạp hơn với tương quan dòng - dòng và khung - khung (dự báo
2D và 3D) Dao động nhỏ hơn của tín hiệu sẽ được lượng tử hóa, mã hóa và truyền tải trong hệ thống mã hóa dự báo có thể thu nhỏ dải biên độ của bộ lượng tử hóa và làm giảm tổng số mức lượng tử hóa, dẫn tới đòi hỏi ít bits/pixel (so với hệ thống PCM) mà vẫn không làm giảm tỷ lệ tín hiệu – nhiễu lượng tử hóa
- Mã hóa biến đổi (Transform Coding)
Ý tưởng chính: Loại bỏ tương quan giữa các điểm ảnh (chuyển đổi các phần tử ảnh phụ thuộc thống kê thành các hằng số độc lập) và tập trung năng lượng ảnh vào một vài hằng số Do vậy, có thể loại bỏ dư thừa trong ảnh
Trong mã hóa biến đổi thường chia ảnh gốc thành các khối (block) ảnh nhỏ Áp dụng biến đổi toán học cho từ khối con để chuyển đổi khối con từ miền không gian sang miền tần số Kết quả là năng lượng chỉ tập trung vào một vài mẫu ở miền tần số thấp Chú
ý rằng áp dụng biến đổi dữ liệu ảnh không làm giảm dữ liệu Nếu dữ liệu ảnh trong miền không gian có tính tương quan cao, thì dữ liệu kết quả trong miền tần số sẽ trong hình thức
phù hợp cho việc làm giảm thiểu dữ liệu bằng kỹ thuật nén Huffman hay RLE.
Nhiều loại biến đổi có thể áp dụng để nén ảnh: KLT, DCT, WHT, DFT Trong đó KLT
là hiệu quả nhất về hiệu năng loại bỏ tương quan (decorrelation) Nhưng có các thuật toán biến đổi DCT nhanh cho nên biến đổi DCT được sử dụng rộng rãi nhất trong nén ảnh
- Biến đổi DCT (Discrete Cosine Transform)
Biến đổi DCT xuất phát từ ý tưởng biến đổi tín hiệu do Jean Baptiste Fourier đề
xuất như sau: Bất kỳ tín hiệu hay dạng sóng nào đều có thể được tạo ra từ dãy các sóng hình sin với cường độ và tần số phù hợp Tương tự biến đổi Fourier, DCT là phương trình tính toán tần số, cường độ và pha của các sóng hình sin cần có để tạo ra tín hiệu cho trước
Một dòng ảnh có thể biểu diễn dưới dạng sóng như hình 2.3 Ta có thể biến đổi chúng sang miền tần số để thực hiện nén (JPEG)
Trang 39Theo Fourier thì sóng vuông có đƣợc do cộng các sóng hình sin tinh khiết với các tần
số cơ bản nhƣ hình 2.4 Có nghĩa rằng ta có thể dễ dàng chuyển đổi xuôi ngƣợc giữa miền thời gian và miền tần số (hình 2.5).[4]
Hình 2.3 Mô hình dòng ảnh biểu diễn dưới dạng sóng
Hình 2.4 Mô hình tạo ra sóng vuông
Trang 40Biên độ
Tần số
Hình 2.5 Mô hình chuyển đổi giữa miền thời gian và miền tần số
Các bước chính khi cài đặt hệ thống nén ảnh biến đổi
+ Chọn loại biến đổi Biến đổi tốt nhất thỏa mãn thỏa hiệp giữa phi tương quan và khả năng tập trung năng lượng với thực tế cài đặt DCT được áp dụng rộng rãi
+ Chọn kích thước khối ảnh và áp dụng biến đổi trên chúng Nếu khối ảnh quá nhỏ thì tương quan giữa các điểm ảnh láng giềng không được khai thác hết Mặt khác, nếu khối ảnh quá lớn thì làm tăng độ phức tạp cài đặt phần cứng và gây khó chịu khi quan sát biên của các khối Kích thước khối ảnh lựa chọn tốt nhất là 8x8
+ Lượng tử hóa các hằng số biến đổi để giảm dung lượng lưu trữ hay truyền
- Lượng tử hóa véctơ (VQ)
Lượng tử hóa được thực hiện trên từng mẫu giá trị thực của dạng sóng hay các
pixel ảnh Mã hóa biến đổi thực hiện lượng tử hóa như sau: trước hết biến đổi blốc điểm ảnh sau đó mã hóa riêng rẽ các hệ số biến đổi Mã hóa dự báo thực hiện việc này bằng lượng tử hóa giá trị lỗi (là hiệu số giữa mẫu mới và dự báo mẫu mới trên cơ sở đầu ra mã hóa trước đó)
Bộ lượng tử hóa véctơ được định nghĩa như ánh xạ Q của các véctơ
K chiều trong không gian Euclid RK vào tập con hữu hạn các véctơ Y của
RK, Q: RK ? Y, trong đó, Y = (x’
i; i = 1, 2, .N), x’i là véctơ thứ i
trong Y và được gọi là codevector hay codeword.
Với mỗi codeword có một vùng láng giềng gần nhất liên quan (vùng