MỞ ĐẦU1. Lý do chọn đề tàiNgày nay cùng với sự phát triển mạnh mẽ của khoa học Công nghệ thông tin, Internet đã trở thành một nhu cầu, phương tiện không thể thiếu đối với mọi người. Với lượng thông tin được truyền qua mạng ngày càng nhiều thì nguy cơ dữ liệu bị truy cập trái phép cũng tăng lên, vì vậy vấn đề an toàn và bảo mật tin tức cho dữ liệu truyền trên mạng là rất cần thiết.Để đảm bảo an toàn và bí mật cho một thông điệp truyền đi, thời gian gần đây đã xuất hiện một cách tiếp cận mới để truyền các thông tin bí mật, đó là giấu các thông tin quan trọng trong những bức ảnh màu thông thường. Nhìn bề ngoài các bức ảnh có chứa thông tin cũng không có gì khác với các bức ảnh khác nên hạn chế được tầm kiểm soát của đối phương, mặt khác dù các bức ảnh đó bị phát hiện ra là có chứa thông tin trong đó thì với các khóa có độ bảo mật cao thì việc tìm kiếm được nội dung của thông tin cũng rất khó có thể thực hiện được.Xét theo khía cạnh tổng quát thì giấu thông tin cũng là một hệ mã mật nhằm đảm bảo tính an toàn của thông tin, nhưng phương pháp này ưu điểm là giảm được khả năng phát hiện sự tồn tại của thông tin trong các nguồn mang. Không giống như mã hóa thông tin là để chống sự truy cập và sửa chữa một cách trái phép thông tin, mục tiêu của giấu thông tin là làm thông tin trộn lẫn các điểm ảnh. Điều này sẽ đánh lừa sự phát hiện của các tin tặc, do đó sẽ làm giảm khả năng bị giãi mã. Với những thông tin trên tôi chọn đề tài “ Tìm hiều các kỹ thuật giấu tin trong ảnh” làm đồ án tốt nghiệp.2. Mục đích và giới hạn nghiên cứu2.1. Mục đích nghiên cứuNghiên cứu các kỹ thuật mật mã, các kỹ thuật giấu tin trong ảnh màu để đánh giá và so sánh các kỹ thuật giấu tin trong ảnh màu. Trên cơ sở đó, xây dựng chương trình giấu tin trong ảnh để bảo mật thông tin.
Trang 1LỜI CAM ĐOAN
Sau một thời gian học tập và nghiên cứu đồ án, tôi xin cam đoan đồ án tốt nghiệpcủa tôi không hoàn toàn giống với bất cứ đồ án nào hay là công trình nghiên cứunào trước đây
Nguyễn Dương Nhật Huy
Trang 2Xin chân thành cảm ơn các bạn đã động viên và đóng góp ý kiến xâydựng chương trình.
Trong quá trình thực hiện đồ án không tránh khỏi thiếu sót, vì vậy rấtmong nhận được sự góp ý của các thầy, cô giáo và các bạn
Đà Nẵng, ngày 10 tháng 05 năm 2005
Sinh viên thực hiện
Nguyễn Dương Nhật Huy
Trang 3MỤC LỤC
CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 5
MỞ ĐẦU 6
CHƯƠNG 1 - KỸ THUẬT MẬT MÃ 8
1.1 Giới thiệu chương 8
1.2 Khái niệm cơ bản về mật mã 8
1.3 Các hệ thống mã hóa cơ bản 10
1.4 Kết luận chương 29
CHƯƠNG 2 - TỔNG QUAN VỀ GIẤU THÔNG TIN TRONG ẢNH 30
2.1 Giới thiệu chương 30
2.2 Tổng quan về giấu thông tin trong ảnh 30
2.3 Giới thiệu về kỹ thuật giấu thông tin 35
2.4 Kết luận chương 38
CHƯƠNG 3 - CÁC KỸ THUẬT GIẤU THÔNG TIN TRONG ẢNH MÀU .39
3.1 Giới thiệu chương 39
3.2 Các kỹ thuật giấu thông tin trong ảnh thứ cấp 39
3.3 Các kỹ thuật giấu tin trong các loại ảnh màu 54
3.4 Kỹ thuật giảm nhiễu trên ảnh kết quả 60
3.5 Kết luận chương 60
CHƯƠNG 4 - ĐÁNH GIÁ VÀ SO SÁNH CÁC THUẬT TOÁN GIẤU TIN TRONG ẢNH MÀU 61
4.1 Giới thiệu chương 61
4.2 Các tiêu chuẩn đánh giá và so sánh các kỹ thuật giấu tin trong ảnh màu 61
4.3 Đánh giá và so sánh các kỹ thuật giấu tin trong ảnh màu 64
4.4 Kết luận chương 65
CHƯƠNG 5 - CHƯƠNG TRÌNH THỰC HIỆN 66
5.1 Giới thiệu chương 66
5.2 Môi trường làm việc 66
Trang 45.3 Ngôn ngữ thực hiện 66
5.4 Tổ chức và thực hiện chương trình 66
5.5 Kết luận chương 81
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỄN ĐỀ TÀI 83
TÀI LIỆU THAM KHẢO 84
PHỤ LỤC 85
Trang 5CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
CBC : Cipher block chaining
CFB : Cipher feed back
CPT : Yu-Yuan Chen, Hsiang KangPan and Yu-Chee TsengDES : Data Encryption Standard
IP : Initial Permutation
IP(-1) : Inverse Initial Permutation
GCD : Greastest Coommn Divion
LUC : Edouard Lucas
LSB : Least significant bit
MIT : Massachusetts Institute Technology
NIST : National Institute of Standards and Technology
NSA : National Security Agency
PC-1 : Permuted Choice 1
PC-2 : Permuted Choice 2
RSA : Ron Rivest, Adi Shamir and Len Adleman
WL : M.Y.Wu and J.H.Lee
Trang 6MỞ ĐẦU
1 Lý do chọn đề tài
Ngày nay cùng với sự phát triển mạnh mẽ của khoa học Công nghệ thông tin,Internet đã trở thành một nhu cầu, phương tiện không thể thiếu đối với mọi người.Với lượng thông tin được truyền qua mạng ngày càng nhiều thì nguy cơ dữ liệu bịtruy cập trái phép cũng tăng lên, vì vậy vấn đề an toàn và bảo mật tin tức cho dữliệu truyền trên mạng là rất cần thiết
Để đảm bảo an toàn và bí mật cho một thông điệp truyền đi, thời gian gầnđây đã xuất hiện một cách tiếp cận mới để truyền các thông tin bí mật, đó là giấucác thông tin quan trọng trong những bức ảnh màu thông thường Nhìn bề ngoài cácbức ảnh có chứa thông tin cũng không có gì khác với các bức ảnh khác nên hạn chếđược tầm kiểm soát của đối phương, mặt khác dù các bức ảnh đó bị phát hiện ra là
có chứa thông tin trong đó thì với các khóa có độ bảo mật cao thì việc tìm kiếmđược nội dung của thông tin cũng rất khó có thể thực hiện được
Xét theo khía cạnh tổng quát thì giấu thông tin cũng là một hệ mã mật nhằmđảm bảo tính an toàn của thông tin, nhưng phương pháp này ưu điểm là giảm đượckhả năng phát hiện sự tồn tại của thông tin trong các nguồn mang Không giống như
mã hóa thông tin là để chống sự truy cập và sửa chữa một cách trái phép thông tin,mục tiêu của giấu thông tin là làm thông tin trộn lẫn các điểm ảnh Điều này sẽ đánhlừa sự phát hiện của các tin tặc, do đó sẽ làm giảm khả năng bị giãi mã
Với những thông tin trên tôi chọn đề tài “ Tìm hiều các kỹ thuật giấu tin trong ảnh” làm đồ án tốt nghiệp.
2 Mục đích và giới hạn nghiên cứu
2.1 Mục đích nghiên cứu
Nghiên cứu các kỹ thuật mật mã, các kỹ thuật giấu tin trong ảnh màu để đánhgiá và so sánh các kỹ thuật giấu tin trong ảnh màu Trên cơ sở đó, xây dựng chươngtrình giấu tin trong ảnh để bảo mật thông tin
Trang 72.2 Giới hạn nghiên cứu
Bảo mật thông tin là một vấn đề rộng lớn Đồ án này chỉ giới thiệu nhữngvấn đề liên quan đến các kỹ thuật giấu tin trong ảnh màu để làm cơ sở xây dựngchương trình thực hiện kỹ thuật giấu tin trong ảnh
3 Các nhiệm vụ nghiên cứu
+ Nghiên cứu các hệ thống mã hóa cơ bản
+ Nghiên cứu các kỹ thuật giấu tin trong ảnh màu
+ Đánh giá và so sánh các kỹ thuật giấu tin trong ảnh màu
4 Phương pháp nghiên cứu
Đồ án được thực hiện dựa trên phương pháp nghiên cứu lý luận Tìm hiểu,phân tích các hệ thống bảo mật, hệ thống mã hóa thông tin và các kỹ thuật giấu tintrong ảnh màu Từ đó xây dựng chương trình thực hiện kỹ thuật giấu tin trong ảnhmàu
Chương 5 – Chương trình thực hiện: thực hiện giấu tin trong ảnh bằng thuậttoán giấu tin trong ảnh với ma trận khóa K
Trang 8CHƯƠNG 1 - KỸ THUẬT MẬT MÃ
1.1 Giới thiệu chương
Chương 1 gồm hai phần chính là giới thiệu những khái niệm cơ bản về mật
mã và các hệ thống mã hóa gồm mã hóa đối xứng và mã hóa không đối xứng, màtiêu biểu cho hai kiểu mã hóa này là mã hóa DES và mã hóa RSA
Cấu trúc chương gồm:
+ 1.1 Giới thiệu chương
+ 1.2 Khái niệm cơ bản về mật mã
mã hỗn loạn như thế
Tin tức được mã hóa gọi là văn bản rõ, mật mã có thể đem văn bản rõ biếnđổi thành một loại khác, gọi là văn bản mật Sự biến đổi văn bản rõ thành văn bảnmật gọi là mã hóa bảo mật Quá trình người thu nhận hợp pháp khôi phục từ vănbản mật trở thành văn bản rõ được gọi là quá trình giải mã Tổ hợp quy tắc đượcdùng để giải mã đối với văn bản được gọi là phép tính tăng cường bảo mật
1.2.2 Hệ thống mật mã
Sơ đồ khối của hệ thống tin tức mật mã thông thường như hình 1.1
Trang 9Hệ thống thông tin mật mã gồm những bộ phận sau đây hợp thành:
- Không gian tin tức văn bản rõ M
- Không gian tin tức văn bản mật E
- Không gian khóa mật mã K1 và K2
- Biến đổi tăng cường bảo mật Ek1: M E trong đó k1 K1
- Biến đổi giải mật Dk2: EM trong do k2 K2.Gọi chung (M,E,K1,K2,Ek1,Dk2) là hệ thống mật mã
Đối với tin tức văn bản rõ định trước m, khóa mật mã k1 K1, biến đổi tăngcường bảo mật biến văn bản rõ thành văn bản mật c:
c = f(m1,k1)= Ek1(m) ; m M, k2 K2.Người thu hợp pháp, dùng khóa giải mã k2 đã biết tiến hành giải mã để khôiphục tin tức của văn bản rõ
M = Dk2(c) ; m M, k2 K2
Còn tin tặc thì lợi dụng hàm số biến đổi h đã chọn, tiến hành đối với văn bảnmật c lấy được
m’=h(c), m M, k2 K2.Nói chung m’ ≠ m Nếu m’ = m, thì tin tặc đã giải dịch thành công
Kẻ xâm nhập
phi pháp
Người phân tích mật mã nghe trộm
Trang 10Hiện nay người ta thiết kế ra nhiều loại hệ thống mật mã Nếu lấy khóa mật
mã làm tiêu chuẩn, có thể phân khóa mật mã ra thành mật mã đối xứng (còn gọi làmật mã khóa đơn hoặc mật mã khóa riêng) và mật mã không đối xứng (còn gọi làmật mã khóa đôi hoặc mật mã khóa công)
Trong thể chế khóa đơn, khóa mật mã mã hóa bảo mật giống với khóa giải
mã (tức là K1=K2), lúc này khóa mật mã k phải đi qua đường tín hiệu khóa mật mã
từ phía người mã hóa văn bản truyền cho phía người thu
Ở thế chế khóa đôi, khóa mã hóa và giải mã là khác nhau, lúc này không cần
có đường tín hiệu an toàn để truyền đưa khóa mật mã, chỉ cần bộ phát sinh khóa mãtại chỗ để tạo ra khóa giải mã k2 K2
1.3 Các hệ thống mã hóa cơ bản
1.3.1 Các hệ thống mã hóa đối xứng
1.3.1.1 Giới thiệu hệ thống mã hóa đối xứng
Các hệ thống mã hóa dùng khóa đối xứng được sử dụng trong thương mạiđiện tử từ những năm 70, đặc điểm cơ bản là nó sử dụng một khóa duy nhất để thựchiện cho cả mã hóa và giải mã (hình 1.3)
Để thực hiện bảo mật theo cơ chế này cả hai hệ thống nhận và gửi phải biếtmột giá trị dữ liệu để sử dụng làm khóa, khóa này được giữ bí mật không một ai biếtngoại trừ hai bên trao đổi dữ liệu cho nhau và như vậy chỉ hai bên mới có khả nănggiải mã thông điệp
Trung gian an toànTrusted third party
Hình 1.2 - Mô hình mã hóa
Trang 11Một hệ thống mã hóa đối xứng tốt, ngoại trừ tất cả các bits của khóa đượccung cấp một cách chính xác cho hàm giải mã mà không một thông tin nào củathông điệp gốc có thể bị tiết lộ bằng hàm giải mã.
Một hệ thống mã hóa đối xứng có thể hoạt động ở dạng mã khối hoặc mãluồng Với hệ thống dùng mã khối, hàm mã hóa thực hiện trên một khối với độ dài
cố định n-bits và sinh ra một khối độ dài cố định cũng với n-bits cho ciphertext(thường một khối có độ dài 64 bits) Ngược lại hàm giải mã cũng hoạt động vớin-bits block của ciphertext để sinh ra n-bits block của plaintext Trong trường hợp
mã hóa luồng, hàm mã hóa thực hiện trên toàn bộ thông điệp hoặc một luồng dữliệu với kích thước không cố định và sinh ra một thông điệp mã hóa với cùng kíchthước với thông điệp nguyên dạng, một dạng điển hình là nó xử lý trên một dãy các
ký tự, ở đây mỗi ký tự có thể được xem xét trên một bit hoặc một nhóm bits
Trên thực tế, mã hóa luồng thường được sử dụng kết hợp với mã khối Hiệnnay có hai kiểu phổ biến nhất hiện được sử dụng rộng rãi cho các ứng dụng xử lý dữliệu là CBC (Cipher Block Chaining) và CFB (Cipher Feed Back)
Để hiểu các quá trình bảo mật thông tin sử dụng cơ chế mã hóa đối xứng,chúng ta phân tích thuật toán mã hóa tiêu biểu là DES
1.3.1.2 Thuật toán mã hóa DES (Data Encryption Standard)
Hệ thống mã hóa đối xứng đầu tiên được phát triển trên lĩnh vực thương mạiđiện tử là mã hóa dữ liệu DES do hãng IBM đề xuất năm 1794 và được chính thứccho dùng làm phép tính mã hóa bảo mật ở Mỹ từ 07/1977
Mã hóa dữ liệu DES là phép tính mật mã khóa đơn, làm việc theo phươngthức phân nhóm điển hình Phân mỗi 64 bits là một nhóm, dùng khóa mật mã 64bits tiến hành mã hóa bảo mật 16 vòng thay đổi và hoán vị, cuối cùng hình thành
Trang 12văn bản mật Điều lưu ý của DES là trình tự đưa vào khóa mật mã, các bước mã hóabảo mật và giải mã là hoàn toàn giống nhau Sau khi DES xuất hiện, người ta đãchứng minh được nó là phép tính mã hóa bảo mật dữ liệu có tính năng tốt, khôngnhững tính ngẫu nhiên tốt, độ phức tạp tuyến tính cao, mà còn dễ thực hiện, do đóDES được ứng dụng rông rãi ở nhiều lĩnh vực và nhiều nước trên thế giới.
Mã hóa DES được thực hiện với hai đầu vào (hình 1.4): dữ liệu cần mã hóa
và khóa Trong đó dữ liệu vào là 64 bits và khóa cũng là 64 bits, nhưng thực tế khóachỉ có 56 bits, 8 bit còn lại là những bit LSB của mỗi byte được dùng kiểm tra lỗi
a Quá trình tạo khóa K (Hình 1.5)
Hình 1.4 – Quá trình mã hóa của hệ thống DES
[8]
Trang 13Như đã nói ở trên, thực tế thì mã hóa DES chỉ sử dụng 56 bits khóa K.
KEY
PERMUTED CHOICE 1
K1
PERMUTED CHOICE 2
K16
Hình 1.5 – Quá trình tạo khóa K
[8]
Trang 14Bước đầu tiên, 64 bit khóa K đi qua một bộ hoán vị gọi là hoán vị chọn1,PC-1 ( Bảng 1.1) Chú ý là trong bảng này không có các bit 8, 16, 24, 32, 40, 48,
Thủ tục tạo khóa con gồm những bước như sau:
Bước 1: thiết lập giá trị vòng R = 1
Bước 2: tách 56 bit khóa K làm hai khối, L (28 bit bên trái) và R (28 bit bênphải)
Bước 3: dịch khối bit L sang trái với số bit tương ứng cho từng vòng (bảng1.2), và dịch khối bit R sang trái tương tự như vậy
Bước 4: kết hợp hai khối bit L và R để tạo thành khóa K mới
Bước 5: khóa K mới được đi qua bộ hoán vị chọn 2, PC – 2 ( Bảng 1.3) đểtạo thành khóa con K[R]
Bit0123456157494133251798158504234261
815102595143352722191136052443629635 547393123153676254463830224314661534
5372950211352820124
Bảng 1.1 – Hoán vị chọn 1
[8]
Trang 15Bước 6: tăng R lên 1 và lặp lại quá trình này để tạo 16 khóa con K[1]–K[16]
b Quá trình chuẩn bị mã hóa
Trước khi được mã hóa, văn bản rõ (plaintext) được đưa qua bộ hoán vị, gọi
là hoán vị ban đầu (IP: Initial Permutation ) (Bảng 1.4) Quá trình ngược lại với IP
là hoán vị ngược (IP^(-1): Inverse Initial Permutation) (Bảng 1.5), văn bản được
Round Number12345678910111213141516Number of bits to
Trang 16đưa qua bộ hoán vị ngược trước khi tạo thành văn bản mật (ciphertext).
Bảng 1.4 – Hoán vị ban đầu Bit01234567158504234261810296052443628201
24176254463830221462564564840322416833574 94133251791415951433527191134961534537292
113557635547393123157
[8]
Bảng 1.5 – Hoán vị ngược Bit01234567140848165624643293974715552363311 73864614542262302537545135321612933364441252
20602841353431151195927493424210501858265733
141949175725
Trang 17c Hàm nhân DES
Sau khi quá trình tạo khóa con K[1]-K[16] và chuẩn bị mã hóa được hoànthành thì quá trình mã hóa hoặc giải mã được thực hiện với thuật toán DES Khối dữliệu 64 bit ở ngõ vào được tách thành hai khối, L và R L là khối gồm 32 bit bêntrái, R là khối gồm 32 bit bên phải Quá trình này được lặp lại 16 lần trong quá trìnhthực hiện 16 vòng của chuẩn DES, tạo thành 16 khối L[0]-L[15] và 16 khối R[0]-R[15]
Bước 1: đưa R[I - 1], trong đó I là số vòng, bắt đầu với I =1 đi qua bộ chọnbit E ( Bảng 1.6 ) E dùng để chuyển R[I - 1] từ 32 bits lên 48 bits để chuẩn bị chobước tiếp theo
Bước 2: 48 bits R[I - 1] được XOR với K[I] và được lưu trữ trong bộ đệmtạm thời, vì vậy R[I - 1] vẫn không thay đổi
Bước 3: 48 bits R[I - 1] sau khi được XOR với K[I] thì được chia ra làm 8phần, mỗi phần 6 bits 6 bits bên trái là B[1], 6 bits bên phải là B[8] Mỗi khối bitB[1]-B[8] được đưa qua bộ S tương ứng S[1]-S[8] ( Bảng 1.7 – Bảng 1.14) S làmột mảng hai chiều dùng để chuyển dữ liệu từ ngõ vào 6 bits sang ngõ ra 4 bits
Bước 4: bắt đầu với B[1], bit đầu tiên và bit cuối cùng làm chỉ số dòng, 4 bits
Bảng 1.5 – Hoán vị ngược
Bit01234567140848165624643293974715552363311 73864614542262302537545135321612933364441252
20602841353431151195927493424210501858265733
141949175725
[8]
Trang 18ở giữa làm chỉ số cột của S[1] Lặp lại với B[2]-B[8] ta có S[2]-S[8] Kết hợp S[8] ta có 32 bit kết quả.
S[1]-Bước 5: 32 bit kết quả của bước 4 được đưa qua bộ hoán vị P (Bảng 1.15).Bước 6: 32 bit kết quả sau khi được đưa qua bộ hoán vị P thì XOR với L[I-1], rồi được chuyển vào R[I] R[I-1] được chuyển vào L[I]
Bước 7: lúc này ta có L[I] và R[I] mới Chúng ta tăng I và thực hiện lại hàmnhân cho đến khi I = 17, có nghĩa là thực hiện 16 vòng với khóa K[1]-K[16]
Qua 16 vòng thì ta có được L[16] và R[16], cả hai kết hợp lại tạo thành 64bits, L[16] là 32 bits bên phải, R[16] là 32 bits bên trái 64 bits này được gọi là khốitiền ngõ ra
Khối tiền ngõ ra sau khi đi qua bộ hoán vị ngược IP^(-1) tạo thành văn bản
mã ciphertext
Chú ý: thuật toán trên được sử dụng cho cả mã hóa và giải mã, tuy nhiên
trong quá trình giải mã có một số thay đổi Trong quá trình mã hóa, khóa K cungcấp từ K[1]-K[16] thì trong quá trình giải mã khóa K được cung cấp từ K[16]-K[1]
Ở bước 2 của hàm nhân DES, nếu quá trình mã hóa là R[I-1] XOR K[I] thì trongquá trình giải mã là R[I-1] XOR K[17-I]
Trang 23Ví dụ: để làm rõ hoạt động của các bộ S, ta có ví dụ gồm 48 bits như sau 011101000101110101000111101000011100101101011101
Để thực hiện bước 3, 48 bits được tách ra làm 8 khối 6 bits, B[1]-B[8]
211425
Bảng 1.15 – Hoán vị P
[8][8]
Trang 24truyền dữ liệu, vì lý do nào đó việc truyền hoặc nhận một dãy bits của ciphertext bịlỗi nhỏ thì sau quá trình giải mã dữ liệu thu được sẽ khác rất nhiều so với plaintextban đầu Tuy nhiên điều này cũng hoàn toàn hợp lý, nếu không một thay đổi nhỏtrong ciphertext tương ứng với một thay đổi trong plaintext thì sẽ dễ tìm ra đượcmột thủ tục để làm vô hiệu hóa qúa trình mã hóa Như vậy đối với DES, một thayđổi nhỏ trong khóa, plaintext hoặc ciphertext cũng là nguyên nhân làm biến đổi rấtlớn của dữ liệu đầu ra trong quá trình mã hóa.
Tóm lại, từ thuật toán mã hóa DES, ta rút ra một số kết luận sau:
Ưu điểm của mã hóa đối xứng là tính an toàn cao, tốc độ giải mã nhanh.Nhược điểm của mã hóa đối xứng là không có cách nào giải quyết vấn đềxác nhận tin tức, thiếu năng lực kiểm tra tự động
1.3.2 Mã hóa không đối xứng
1.3.2.1 Giới thiệu hệ thống mã hóa không đối xứng
Với sự phát triển của công nghệ thông tin, nhiều hệ thống mã hóa đã đượcđưa ra, một điển hình là tiêu chuẩn mã hóa dữ liệu DES của IBM Tuy nhiên, DESdựa vào những công cụ rất cơ bản là sự thay thế và hoán vị
Mã hóa không đối xứng sử dụng khóa công khai đưa ra một sự chuyểnhướng cơ bản từ các phương pháp trước đó Các thuật toán khóa công về cơ bản làcác hàm toán học hơn hẳn sự thay thế và hoán vị Một vấn đề quan trọng hơn, mãhóa khóa công sử dụng một cặp khóa, khác hẳn với phương pháp mã hóa đối xứngtruyền thống chỉ sử dụng một khóa duy nhất Việc sử dụng cặp khóa độc lập có ảnhhưởng hoàn toàn tới bảo mật, sự phân phối khóa và quá trình xác nhận
+ Nguyên lý cơ bản của các hệ thống mã hóa không đối xứng
Mã hóa không đối xứng được đưa ra từ việc giải quyết hai vấn đề khó khăntồn tại với mã hóa truyền thống:
- Đó là vấn đề phân phối khóa mà về cơ bản là tổ chức trung tâm phân phốikhóa và các đường truyền để chia sẻ một khóa bảo mật duy nhất
- Một vấn đề liên quan đến trao đổi thông tin điện tử số đó là chữ ký số.Các thuật toán mã hóa không đối xứng sử dụng một cặp khóa: một dùng để
Trang 25mã hóa và một dùng cho giải mã Các thuật toán này mang một số đặc tính quantrọng sau:
* Không thể xác định được khóa cho giải mã, nó chỉ được đưa lại sự nhậnbiết thuật toán mã hóa và khóa mã hóa
* Mỗi một trong hai khóa có quan hệ với nhau có thể được sử dụng cho mãhóa và khóa còn lại cho giải mã
Quá trình xử lý mã hóa không đối xứng được mô tả như sau (hình 1.5):
Bước 1: Hệ thống đầu cuối trong một mạng sinh ra một cặp khóa để sử dụngcho mã hóa và giải mã thông tin mà nó nhận được
Bước 2: Mỗi hệ thống công bố khóa mã của nó gọi là khóa công khai, khóacùng đôi với nó được giữ bí mật
Bước 3: Nếu A muốn gởi thông điệp cho B, việc mã hóa thông điệp được sửdụng khóa công khai của B
Bước 4: Khi B nhận được thông điệp, nó thực hiện giải mã bằng khóa mậtcủa nó Không một người nào khác nhận được thông điệp có thể giải mã được bởi vìchỉ có B mới biết mật mã của B
Giả sử rằng, nguồn A muốn gửi một thông điệp X cho B, B sinh ra một cặpkhóa với khóa công khai KUb và khóa mật KRb, tất nhiên KRb được giữ bí mật vàchỉ có KUb là A được biết
Với thông điệp X được mã hóa bởi khóa KUb có dạng:
Y = EKUb(X)
Và bên nhận có thể giải mã để thu được thông tin nguyên dạng với khóa mật:
X = DKRb(Y)
Trang 26Trong trường hợp A gửi thông điệp cho B và mã hóa bằng khóa mật của Akhi truyền đi, B có thể giải mã thông điệp khi sử dụng khóa công khai của A Chỉ có
A mới có khóa mật để mã hóa bản tin đó, cho nên trong trường hợp này có thể coi
đó như sự chứng minh cho bản tin
Có hai trường hợp xảy ra:
Thứ nhất, thông điệp được truyền và nhận bí mật, khi đó A mã hóa thôngđiệp bằng khóa công khai của B rồi gởi cho B, B nhận được thông điệp sẽ giải mã
nó bằng khóa mật của B
Thứ hai, chứng thực Khi đó A mã hóa bản tin bằng khóa mật của A đểtruyền cho B và khi B nhận được sẽ giải mã bằng khóa công khai của A Chỉ có Amới có khóa mật để mã hóa bản tin đó nên có thể coi đó là chứng thực cho bản tin.Như vậy, ta có thể kết hợp cả chức năng này để có một mô hình bảo mật dùng khóacông khai hai cấp an toàn hơn như sau:
Ban đầu bản tin được mã hóa bằng khóa mật của A, sau đó nó được mã hóamột lần nữa bằng khóa công khai của B và gửi cho B, B nhận được sẽ phải giải mãhai lần, một lần bằng khóa mật của B và lần hai bằng khóa công khai của A
* Ứng dụng của các hệ thống mã hóa không đối xứng
toán mã hóa
Thuật toán giải mã
Plaintext User B
Khóa công khai của B
Khóa mật của B
Hình 1.5 - Mã hóa dùng khóa công khai
Trang 27- Mã hóa/giải mã: người gửi mã hóa bản tin bằng mã công khai của ngườinhận.
- Trao đổi khóa: thực hiện cho việc trao đổi khóa phiên hai phía, một sốtrường hợp khác cho phép thực hiện cả với khóa mật của một hoặc hai bên
+ Yêu cầu đối với việc mã hóa bằng khóa không đối xứng
Các hệ thống mã hóa trên phụ thuộc vào các thuật toán mã hóa và cặp khóa,một số điều kiện các thuật toán phải thực hiện như sau:
- Việc tính toán phải đơn giản cho đối tác B sinh ra cặp khóa
- Việc tính toán phải đơn giản cho người gửi A mã hóa thông điệp M để sinh
ra thông điệp mã hóa tương ứng:
1.3.2.2 Thuật toán mã hóa không đối xứng RSA
Thuật toán được phát triển vào năm 1977 do ba học viên của Học viện Côngnghệ Massachusetts (MIT) là Ron Rivest, Adi Shamir và Len Adleman (RSA),thuật toán RSA được công bố lần đầu tiên vào năm 1978, cũng là một thể chế mật
mã khóa đôi hoàn thiện cho đến ngày nay về phương diện lý luận Tính an toàn của
nó dựa vào sự phân giải đại số nguyên Thuật toán RSA là thuật toán tiêu biểu dùngcho mã hóa không đối xứng
RSA có dạng mã khối, plaintext và ciphertext là các số nguyên trong khoảng
0 đến n-1 cho mỗi n
Mô tả thuật toán:
Thuật toán sử dụng biểu diễn các hàm mũ, plaintext được mã hóa trong các
Trang 28blocks với mỗi block có một giá trị nhị phân nhỏ hơn một số n nào đó Việc mã hóa
và giải mã theo một form cho mỗi plaintext block M và ciphertext block C:
Cho p,q là 2 số nguyên tố phân biệt, n = pq, φ = φ(n) = (p-1)(q-1), 1 < e < φ,
e và φ là hai nguyên tố cùng nhau, d = e-1 mod φ, 1 < d < φ, 0 ≤ m < n và
c = me mod n thì m = cd mod n
Chứng minh: do ed = 1 mod n, tồn tại 1 số nguyên k thỏa ed = 1 + kφ, theođịnh luật Euler, ta có mφ = 1 mod n, vì thế: [4]
(mφ mod n)k 1k mod n = 1 mod n
((mφ mod n)k mod n) m = (1 mod n) m = m mod n = m
m = (mkφ mod n)(m mod n) = m1+kφ mod n = med mod n
Vậy cd mod n = (me)d mod n = m
Thuật toán RSA dựa vào độ khó của sự phân tích một số thành hai số nguyên
tố, vì vậy với thuật toán RSA, p và q phải đủ lớn để không thể tìm ra được p, q từ n
Cả người gửi và người nhận đều phải biết giá trị n Người gửi biết giá trị của
e và chỉ nguời nhận mới biết giá trị của d Vì vậy, đây là một thuật toán mã hóa vớikhóa công khai là KU={e,n} và một khóa mật là KR={d,n}
Ta có thể biểu diễn từng bước RSA như sau :
e, với gcd(φ(n),e) = 1, 1 < e < n Được chọn, công khai
Tìm giá trị d ở bước 4 có thể viết lại là tìm giá trị số nguyên x sao cho :
d = [ x(p-1)(q-1) + 1 ] / e với d cũng là số nguyên [9]gcd(φ(n),e) = 1: ước số chung lớn nhất của φ(n) và e là 1
Khóa mật là tổ hợp của {d,n} và khóa công khai là tổ hợp của {e,n}
Giả sử A công bố khóa công khai của mình và B muốn gửi thông điệp M cho
A Khi đó B tính C = Me(mod n) và gửi C Khi nhận được thông điệp mã hóa này,
Trang 29người sử dụng A sẽ giải mã bằng việc tính:
Ta sử dụng một đặc tính toán học xử lý để rút gọn kết quả trung gian:
(a mod n) x (b mod n) = (a x b) mod n
Ví dụ: p =11, q = 3
n = p x q = 33
φ(n) = (p -1)(q-1) = 20
Chọn e = 3 ?Kiểm tra gcd(p-1,e) = gdc(10,3) =1
gcd (q -1, e) = gcd(2,3) =1
gcd(φ(n),e) = gcd(20,3) = 1
Tính toán d = ?
Trang 30Để giải mã ta có m = cd mod n = 137 mod 33 = 7.
Với bộ khóa công khai và khóa bí mật như trên ta có thể mã hóa các giá trị từ
Trước khi ứng dụng các hệ thống mã hóa khóa công khai, mỗi người tham
dự phải phát sinh ra một cặp khóa Nó bao hàm những công việc sau:
- Xác định hai số nguyên p và q
- Lựa chọn một trong hai số e và d và tính cái kia
- Trước hết, vì giá trị n = pq có thể đã biết và về mặt tổng quát thì các sốnguyên tố p và q phải được chọn trong một tập đủ lớn, trong trường hợp khácphương án được sử dụng để tìm một số nguyên tố lớn phải hợp lý
Một vấn đề nữa để hoàn thiện quá trình sinh khóa đó là xác định giá trị e vàtính giá trị d hoặc ngược lại xác định giá trị d và tính giá trị e Giả sử ta cần lựachọn giá trị e, e được chọn sao cho gcd(φ(n),e)=1 và tính d=e-1 mod φ(n) Để thực
Trang 31hiện công việc này, nói chung sử dụng một thuật toán tìm ước số chung lớn nhất củahai số nguyên, nếu gcd=1 xác định nghịch đảo của một trong hai số nguyên modulovới số kia.
Tóm lại : Từ thuật toán RSA ta rút ra một số kết luận sau:
Ưu điểm của mật mã không đối xứng là thuận tiện cho công tác quản lý khóa
và một số chức năng mới của hệ thống
Nhược điểm của mật mã không đối xứng là phép tính mật mã khóa đôi, nóichung là tương đối phức tạp, tốc độ giải mã chậm
Trang 32CHƯƠNG 2 - TỔNG QUAN VỀ GIẤU THÔNG TIN TRONG
ẢNH
2.1 Giới thiệu chương
Chương 2 gồm ba phần chính, đó là giới thiệu về cấu trúc file ảnh BMP, cáckiểu nén sử dụng trong ảnh màu, giới thiệu sơ lược về giấu thông tin trong ảnh màu
và các kỹ thuật giấu thông tin trong ảnh màu
Cấu trúc chương 2 gồm:
+ 2.1 Giới thiệu chương
+ 2.2 Tổng quan về giấu thông tin trong ảnh
+ 2.2.1 Giới thiệu về cấu trúc ảnh
+ 2.2.2 Các kiểu nén hỗ trợ trong ảnh màu
+ 2.3 Giới thiệu về kỹ thuật giấu thông tin
+ 2.3.1 Giấu thông tin trong ảnh số.
+ 2.3.2 Giấu tin trong ảnh màu
+ 2.3.2.1 Thay thế least significant bit (LSB)
+ 2.3.2.2 Sử dụng bảng màu
+ 2.4 Kết luận chương
2.2 Tổng quan về giấu thông tin trong ảnh
2.2.1 Giới thiệu về cấu trúc ảnh
File ảnh BMP được tạo bởi Microsoft và IBM, do đó nó tuân thủ theo kiếntrúc phần cứng của hai hãng này
2.2.1.1 Các khái niệm cơ bản
a Pixel (Picture Element): gọi là phần tử ảnh Một ảnh là một tập hợp các
pixel Mỗi pixel gồm một cặp tọa độ x, y và màu Cặp tọa độ x, y tạo nên độ phângiải của ảnh Khi được số hóa, nó thường được biểu diễn bởi mảng hai chiềuA(m,n), gồm m x n pixels, và ký hiệu A(m,n) để chỉ một pixel Ảnh trong thực tế làmột ảnh liên tục về không gian và về giá trị độ sáng
b Gray level (mức xám): mức xám là sự mã hóa tương ứng một cường độ
Trang 33sáng của mỗi điểm ảnh với một giá trị số Cách mã hóa kinh điển thường dùng là
16, 32, hay 64 mức Mã hóa 256 mức, mỗi pixel sẽ được mã hóa bởi 8 bits
c Phân loại ảnh: có nhiều loại ảnh đã được chuẩn hóa như: JPEG, PCX,
BMP, … Người ta có thể chuyển đổi các kiểu ảnh bằng các phần mềm chuyên
dụng Do vậy, trong giới hạn của đồ án này chỉ sử dụng ảnh bitmap có đuôi BMP.
File ảnh BMP có thể chứa các hình ảnh có định dạng 1, 4, 8, 16 hoặc 24 bits mỗipixels Các ảnh 1, 4, 8 bits có bảng ánh xạ màu, trong khi ảnh 16, 24, bits có màutrực tiếp
“BA”: ảnh Bitmap (OS/2)
11-14 Byte bắt đầu vùng dữ liệu Offset của byte bắt đầu vùng
dữ liệu15-18 Số byte cho vùng info
28h - Windows0Ch - OS/2 1.xF0h - OS/2 2.x
23-26 Chiều cao ảnh BMP, nói cách
khác nó là số dòng quét của bức ảnh
Tính bằng pixel
Trang 3429-30 Số bit cho một pixel
Có thể là 1, 4, 8, 16, 24,32
1 : Ảnh trắng đen
4 : Ảnh 16 màu
8 : Ảnh 256 màu
16 : Ảnh 16 bit (high color)
24 : Ảnh 24 bit (true color)
32 : Ảnh 32 bit (true color)31-34 Kiểu nén dữ liệu
0 : Không nén
1 : Nén runlength 8 bits/pixel
2 : Nén runlength 4 bits/pixel
- BitmapData: phần này nằm ngay sau phần palette màu của ảnh BMP Đây
là phần chứa giá trị màu của điểm ảnh trong BMP Các dòng ảnh được lưu từ dướilên trên, các điểm ảnh được lưu từ trái sang phải Giá trị của mỗi điểm ảnh là mộtchỉ số trỏ tới phần tử màu tương ứng của palette màu
Khi làm việc với ảnh bitmap thì phải dựa vào chế độ màu Chế độ màu xácđịnh đặc tính màu của ảnh và được mô tả theo các màu thành phần Chế độ màuRGB bao gồm các giá trị màu đỏ, xanh lục và xanh da trời và chế độ màu CMYKbao gồm các giá trị màu xanh biển, đỏ tươi, vàng và đen
Có thể sử dụng các phần mềm về sử lý ảnh để biến đổi ảnh bitmap từ chế độmàu này sang chế độ màu khác
Định dạng ảnh của Windows hỗ trợ 2 loại nén: RLE8 và RLE4
2.2.2 Các kiểu nén hỗ trợ trong ảnh màu
Trang 352.2.2.1 Nén runlength 8 bits/pixel (RLE8)
Sử dụng đối với định dạng ảnh 8 bits, gồm có 2 mode là mode mã hóa và
mode tuyệt đối
Mode mã hóa gồm có 2 byte: byte đầu tiên chỉ rõ số pixel liên tiếp sử dụngcùng một chỉ số màu, byte thứ hai chứa giá trị chỉ số màu của các pixel đó Nếu byte đầutiên của 2 byte đó có giá trị 00 thì byte thứ hai chứa giá trị kết thúc dòng, hoặc kết thúcbitmap, hoặc delta
0 Kết thúc dòng
1 Kết thúc ảnh
2 Delta Byte thứ hai chỉ khoảng cách theo phương ngang và phương
dọc của pixel kế tiếp từ vị trí hiện thời
Mode tuyệt đối: byte đầu tiên luôn giá trị 0, byte thứ hai có giá trị từ 03H đếnFFH Byte thứ hai tương ứng với số byte tiếp theo sử dụng mode tuyệt đối Nếubyte thứ hai có giá trị ít hơn 03H thì đó là giá trị thoát như mode mã hóa
Ví dụ : giá trị của ảnh nén 8 bit
03 04 05 06 00 03 45 56 67 00 02 78 00 02 05 01 02 78 00 00 091E 00 01
Giá trị trên có ý nghĩa là :
2.2.2.2 Nén runlength 4 bits/pixel (RLE4)
Sử dụng đối với định dạng ảnh 4 bits, gồm có hai mode là mode mã hóa và
Trang 36mode tuyệt đối.
Mode mã hóa: byte đầu tiên chứa số pixel cùng sử dụng chỉ số màu trongbyte thứ hai Byte thứ hai chứa đựng 2 chỉ số màu, 4 bits cao chứa chỉ số màu thứnhất, 4 bits thấp chứa chỉ số màu thứ hai Pixel đầu tiên sử dụng chỉ số màu đầutiên, pixel thứ hai sử dụng chỉ số màu thứ hai, pixel thứ ba sử dụng chỉ số màu đầutiên và liên tiếp như vậy cho đến pixel cuối cùng
Mode tuyệt đối: byte đầu tiên luôn giá trị 0, byte thứ hai chứa số chỉ số màu
trong mode này Và nó cũng có giá trị thoát: kết thúc dòng, kết thúc ảnh và deltanhư trong RLE8
Ví dụ: giá trị của ảnh nén 4 bits
03 04 05 06 00 06 45 56 67 00 04 78 00 02 05 01 04 78 00 00 091E 00 01
Giá trị trên có ý nghĩa là:
2.3 Giới thiệu về kỹ thuật giấu thông tin
Để giấu thông tin, người ta chuyển thông tin cần giấu sang dạng bit và có thể
sử dụng kỹ thuật nhúng thông tin vào một nguồn đa phượng tiện gọi là môi trường,chẳng hạn như file âm thanh, ảnh động, ảnh tĩnh, bản đồ số… Mục đích của chegiấu thông tin là làm cho nó trở nên không thể nhìn thấy Điều đó có nghĩa là đốiphương không nhận thấy sự tồn tại của dữ liệu đã được nhúng vào cho dù có nhìnthật cẩn thận vào môi trường có giấu dữ liệu Các phương pháp giấu tin được áp
Trang 37dụng trên các file có dạng nhị phân, bản đồ số , mỗi kỹ thuật giấu tin trong côngtác bảo mật thông tin gồm :
Chuyển thông tin sang dạng bit
Thuật toán giấu tin
Bộ giải mã thông tin
Chuyển từ dạng bit thành thông tin ban đầu
Kết hợp các kỹ thuật giấu tin trong các loại ảnh màu ta có thể nâng cao độ antoàn cho việc truyền tin Sơ đồ kết hợp khi đó sẽ như sau:
- Chuyển văn bản R thành file R’ có dạng bit
- A giấu R’ trong ảnh màu F để thu được ảnh màu F’
- A gửi ảnh màu F’ cho B
- Nhận được F’, B lọc tin để thu được file dạng bit R’
- Chuyển file dạng bit R’ thành văn bản R
Thuật toán giấu tin được dùng để giấu thông tin vào một phương tiện mangbằng cách sử dụng một khóa bí mật được dùng chung bởi người mã hóa và ngườigiải mã Việc giải mã thông tin chỉ có thể thực hiện được khi có khóa Bộ giải mãthực hiện quá trình giải mã trên phương tiện thông tin mang đã chứa dữ liệu và trảlại thông điệp ẩn trong nó (hình 2.3)
2.3.1 Giấu thông tin trong ảnh số
Thông tin giấu
Thuật toán nhúng
Phương tiện
mang
Truyền qua mạng
Bộ giải mã
Thông tin giấu
Khóa K
Khóa K
Hình 2.1 - Lược đồ chung cho kỹ thuật giấu thông tin
Trang 38Giấu tin trong ảnh số là một phần của khái niệm giấu thông tin với việc sửdụng ảnh số làm phương tiện mang tin Giấu thông tin trong ảnh số có nhiều ứngdụng trong thực tế như trong việc giấu các thông tin cần bảo mật và chuyển giao dữliệu một cách an toàn.
Ảnh nguồn mà ta đem nhúng thông tin vào được gọi là ảnh môi trường hay
ảnh gốc, thuật ngữ ảnh môi trường để thay cho ảnh nguồn Ảnh thu được sau khi
đã giấu thông tin gọi là ảnh kết quả Ảnh kết quả càng it nhiễu càng khó gây ra
nghi ngờ về sự tồn tại thông tin trong ảnh Thông thường ta không nên chọn nhữngbức ảnh nhiều người biết làm ảnh môi trường mà nên chọn những bức ảnh lạ nhưảnh cá nhân, ảnh phong cảnh,…
Mỗi kỹ thuật giấu tin trong ảnh có những đặc điểm nhất định cần quan tâmnhư: mối liên hệ giữa dữ liệu nhúng với phương tiện mang tin, ai là người sẽ giải
mã thông tin, có bao nhiêu người nhận, khóa là dùng chung hay là bí mật, tốc độnhúng cao hay thấp, việc giải mã có là vấn đề quan trọng không ?
Có nhiều cách để phân loại các kỹ thuật giấu thông tin trong ảnh số, dựa trênlĩnh vực áp dụng của kỹ thuật người ta chia kỹ thuật giấu thông tin trong ảnh thànhhai loại: watermarking và image hiding
Watermarking còn được gọi là thủy vân, là kỹ thuật nhúng một biểu tượng
vào trong ảnh môi trường để xác định quyền sở hữu ảnh môi trường Kích thướccủa biểu tượng thường nhỏ Kỹ thuật này cho phép đảm bảo nguyên vẹn biểu tượngkhi ảnh môi trường bị biến đổi bởi các phép thao tác như lọc, nén mất dữ liệu, haycác biến đổi hình học,…
Image hiding là kỹ thuật dùng một ảnh môi trường để lưu trữ và chuyển
giao các dữ liệu quan trọng với kích thước tương đối lớn một cách an toàn Mụcđích của image hiding là làm cho dữ liệu trở nên không quan sát được đối với thịgiác của con người
Hiện nay giấu thông tin trong ảnh là kỹ thuật còn tương đối mới và đang có
xu hướng phát triển rất nhanh
2.3.2 Giấu tin trong ảnh màu
Trang 39Giấu thông tin trong ảnh kỹ thuật số là một công nghệ tương đối mới và cókhả năng giải quyết được nhiều vấn đề quan trọng Lĩnh vực này tuy mới đượcnghiên cứu gần đây nhưng đang phát triển rất nhanh và cho những kết quả khảquan Một vài thuật toán đã được thực hiện trên một số kiểu ảnh cụ thể.Maxemchuk đã đưa ra một phương pháp giấu thông tin trong các file ảnh văn bảnlợi dụng khoảng trống giữa các dòng và giữa các ký tự Tuy nhiên cách thực hiệnnày bị hạn chế đối với các loại ảnh đen trắng khác và số lượng thông tin được giấutrong ảnh là rất hạn chế.
Koch và Zhao cũng đã đưa ra thuật toán giấu thông tin trong ảnh đen trắng
sử dụng những khối bit ảnh có tỷ lệ bit đen và bit trắng là nhỏ hơn hoặc lớn hơn 1,mặc dù thuật toán này nhắm vào việc giấu sao cho khó bị phát hiện nhưng thực tế
đã chứng minh nó không đủ an toàn Nhưng kỹ thuật này lại mở ra một ý tưởng mới
là giấu thông tin vào trong mỗi phần nhỏ của ảnh gọi là khối ảnh và đã được ápdụng cho hầu hết các thuật toán giấu thông tin trong ảnh
Đối với ảnh màu nói chung, việc phát triển các kỹ thuật giấu tin có nhiềuthuận lợi hơn vì ảnh màu được sử dụng rất nhiều và cung cấp lượng dữ liệu lớn hơncho việc giấu thông tin do mỗi điểm ảnh được biểu diễn bằng nhiều bit Hơn nữa,với ảnh màu thì việc thay đổi một giá trị nhỏ ở một điểm ảnh thì chất lượng ảnhdường như không đổi và do đó khả năng bị phát hiện là rất thấp dưới thị giác củacon người
Dưới đây là một số phương pháp được áp dụng rộng rãi cho việc giấu thôngtin trong ảnh màu
2.3.2.1 Thay thế least significant bit (LSB)
LSB là khái niệm chỉ bit ít đặc trưng nhất trong các bit biểu diễn một điểmảnh Thay thế LSB là một trong những kỹ thuật giấu thông tin được dùng phổ biếnnhất Việc thay thế hai hay nhiều hơn nữa các bit LSB của mỗi điểm ảnh làm tăngdung lượng nhưng làm giảm độ an toàn của thông tin được giấu Vì vậy cần quantâm tới độ an toàn của mỗi kỹ thuật giấu tin dựa trên sự thay thế LSB
2.3.2.2 Sử dụng bảng màu
Trang 40Thay vì tách các bit LSB của các điểm ảnh ta tách các bit LSB của bảng màu
và thực hiện quá trình giấu tin trên các bit vừa thu được Quá trình này cũng tương
tự như khi ta giấu tin trong ảnh 24 bit màu với kích thước ảnh là 256 điểm ảnh (ảnh
8 bits màu), do đó lượng thông tin giấu được sẽ rất ít, bị giới hạn bởi kích thướcbảng màu Chẳng hạn đối với ảnh 8 bits màu, chọn kích thước khối là 10 x 10, r = 4,lấy từ mỗi ô màu ra 3 bits ta sẽ chỉ giấu được một lượng thông tin cực đại là 28 bitsbằng thuật toán trên
Ưu điểm của sử dụng bảng màu là dễ thiết kế một kỹ thuật an toàn đối vớimột số nguồn ảnh nhất định Hạn chế của nó là dung lượng giấu phụ thuộc và bịgiới hạn bởi kích thước bảng màu, dễ gây ra nghi ngờ bởi sự giống nhau của ba ômàu liên tiếp trong bảng màu Hơn nữa, bảng màu có thể bị sắp xếp lại hoặc điềuchỉnh lại bởi phần mềm xử lý ảnh trong quá trình hiển thị hay lưu lại ảnh dẫn đếnthông tin đã được giấu có thể sẽ bị mất đi không khôi phục lại được
2.4 Kết luận chương
Qua tìm hiểu ở chương 2 ta biết được về cấu trúc định dạng file ảnh BMP, từ
đó tùy thuộc vào mỗi loại định dạng file ảnh BMP khác nhau, có nén hay khôngnén, có sử dụng bảng màu hay không sử dụng bảng màu để lựa chọn kỹ thuật giấutin trong file ảnh BMP cho thích hợp
CHƯƠNG 3 - CÁC KỸ THUẬT GIẤU THÔNG TIN TRONG
ẢNH MÀU
3.1 Giới thiệu chương
Sau khi tìm hiểu về mật mã và cấu trúc của ảnh bitmap BMP thì ở chương 3này, chúng ta sẽ tìm hiều về các thuật toán giấu tin trong ảnh, và các kỹ thuật giấutin cho các kiểu ảnh BMP khác nhau, ảnh nhỏ hơn hoặc bằng 8 bits màu, ảnh hi-color, ảnh true-color,
Cấu trúc chương gồm:
+ 3.1 Giới thiệu chương
+ 3.2 Các kỹ thuật giấu thông tin trong ảnh thứ cấp