Dấu tin thuận nghịch là kỹ thuật giấu thông tin mật vào dữ liệu ảnh trước khi ảnh được phân phối trên môi trường trao đổi không an toàn, việc giấu thông tin vào ảnh sẽ làm giảm chất lượn
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
-
LÊ TRƯỜNG THÔNG
GIẤU TIN THUẬN NGHỊCH TRÊN ẢNH SỐ SỬ DỤNG PHƯƠNG PHÁP DỰ ĐOÁN VÀ DỊCH CHUYỂN HISTOGRAM
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên - 2015
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan
Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy giáo, PGS.TS Phạm Văn Ất
Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố
Mọi sao chép không hợp lệ, vi phạm qui chế đào tạo, hay gian trá tôi xin chịu hoàn toàn trách nhiệm
HỌC VIÊN
Lê Trường Thông
Trang 3LỜI CẢM ƠN
Lời đầu tiên, em xin được bày tỏ sự kính trọng và lòng biết ơn sâu sắc
đến PGS.TS Phạm Văn Ất, một người thầy đã dạy em trong nhiều năm qua;
đặc biệt, qua thời gian làm luận văn, thầy luôn giảng giải cho em những kiến thức khoa học theo bản chất của chúng; thầy đã tận tình hướng dẫn, chỉ bảo
để em có thể làm chủ được kiến thức trong nội dung luận văn của mình
Em cũng xin gửi lời cảm ơn đến các thầy cô giáo giảng dạy cho Khoa
Công nghệ thông tin trường Đại học Công nghệ thông tin và truyền thông – Đại học Thái Nguyên đã truyền đạt những kiến thức và giúp đỡ em trong suốt
quá trình học của mình
Em cũng xin gửi lời cảm ơn tới Bộ phận đào tạo Sau đại học cũng như
Phòng đào tạo Trường Đại học Công nghệ thông tin và truyền thông đã tạo
điều kiện thuận lợi cho em trong suốt thời gian của khóa học và trong thời gian hoàn thành luận văn
Xin được gửi lời cảm ơn đến lãnh đạo và đồng nghiệp của Phòng Khảo
thí và Đảm bảo chất lượng Trường Đại học Công đoàn – đơn vị nơi tôi đang
công tác, đã tạo điều kiện, giúp đỡ tôi trong thời gian học tập cũng như làm luận văn
Không thể quên gửi lời cảm ơn đến một người anh là TS Đỗ Văn Tuấn,
người đã đóng góp nhiều ý kiến quý báu cũng như chỉ cho tôi nhiều kiến thức, đặc biệt là trong lúc tôi làm luận văn
Cuối cùng, xin được gửi lời cảm ơn tới gia đình và bạn bè – những
người đã ủng hộ, động viên, giúp đỡ và tạo mọi điều kiện để tôi có được kết quả như ngày hôm nay
Hà Nội, tháng 12 năm 2015
HỌC VIÊN
Lê Trường Thông
Trang 4MỤC LỤC
Trang bìa phụ
Lời cam đoan
Lời cảm ơn
Mục lục
Danh mục thuật ngữ Anh – Việt
MỞ ĐẦU 1
CHƯƠNG 1 TỔNG QUAN 1
1.1 Giấu tin 1
1.1.1 Vài nét về lịch sử giấu tin 1
1.1.2 Khái niệm giấu tin 2
1.1.3 Phân loại các kỹ thuật giấu tin 2
1.1.4 Mô hình kỹ thuật giấu tin 3
1.1.5 Ứng dụng của kỹ thuật giấu tin 5
1.2 Ảnh số 6
1.2.1 Khái niệm ảnh Bitmap 7
1.2.2 Phân loại ảnh Bitmap 7
1.2.3 Định dạng tệp ảnh Bitmap 7
1.2.4 Chất lượng ảnh 10
1.2.5 Một số đặc trưng ảnh số 11
1.3 Môi trường giấu tin 12
1.3.1 Giấu tin trong ảnh 12
1.3.2 Giấu tin trong audio 12
1.3.3 Giấu tin trong video 13
1.3.4 Giấu tin trong văn bản 13
1.4 Các hướng tiếp cận giấu tin trên ảnh 14
1.4.1 Tiếp cận miền không gian ảnh 14
1.4.2 Tiếp cận miền tần số ảnh 14
1.5 Một số lược đồ giấu tin trên ảnh nhị phân 15
Trang 51.5.1 Kỹ thuật giấu tin WuLee 15
1.5.2 Kỹ thuật giấu tin CPT 20
CHƯƠNG 2 PHƯƠNG PHÁP DỊCH CHUYỂN HISTOGRAM VÀ DỰ ĐOÁN 29
2.1 Sơ lược giấu tin thuận nghịch 29
2.1.1 Giấu tin không thuận nghịch và giấu tin thuận nghịch 29
2.1.2 Chút lịch sử giấu tin thuận nghịch 29
2.1.3 Giấu tin và thủy vân 30
2.1.4 Một số hướng tiếp cận giấu tin thuận nghịch 31
2.2 Phương pháp histogram 32
2.2.1 Một số khái niệm 32
2.2.2 Thuật toán giấu tin 33
2.2.3 Lược đồ giấu tin 34
2.2.4 Thuật toán trích tin và khôi phục ảnh gốc 35
2.2.5 Lược đồ trích tin và khôi phục ảnh gốc 36
2.2.6 Ví dụ 37
2.3 Phương pháp dự đoán 39
2.3.1 Dự đoán tuyến tính 39
2.3.2 Thuật toán giấu tin 39
2.3.3 Lược đồ giấu tin 40
2.3.4 Thuật toán trích tin và khôi phục ảnh gốc 41
2.3.5 Lược đồ trích tin và khôi phục ảnh gốc 42
2.3.6 Ví dụ 43
CHƯƠNG 3 CÀI ĐẶT THỬ NGHIỆM 46
3.1 Bài toán thử nghiệm 46
3.1.1 Tệp ảnh sử dụng để thử nghiệm 47
3.1.2 Bài toán giấu tin 48
3.1.3 Bài toán trích tin và khôi phục ảnh gốc 48
3.2 Chương trình thử nghiệm 49
3.2.1 Môi trường cài đặt 49
3.2.2 Tham quan thư mục chứa tệp mã nguồn 49
3.2.3 Một số đoạn mã nguồn quan trọng 50
Trang 6-3.2.4 Hướng dẫn sử dụng chương trình 53
3.3 Khả năng giấu tin và chất lượng ảnh 54
3.3.1 Khả năng giấu tin 54
3.3.2 Chất lượng ảnh chứa tin 54
KẾT LUẬN VÀ KIẾN NGHỊ 58
I Tiếng Việt 59
II Tiếng Anh 59
Trang 7-DANH MỤC THUẬT NGỮ ANH – VIỆT
Cover image / host/Original image Ảnh phủ / Ảnh gốc
Frequency domain Miền tần số
Hiding capacity Khả năng giấu tin
Histogram shifting Dịch chuyển histogram
Neighboring pixcel Điểm ảnh lân cận
Prediction technique Kỹ thuật dự đoán
Reversible data hiding Giấu tin thuận nghịch
Screte message / hidden data Tin mật / giữ liệu giấu
Stego-image / marked image Ảnh gốc
Embedding proceduce Thủ tục nhúng (tin)
Residual value Giá trị dự đoán
Residual histogram Histogram dự đoán
Extract and recovery proceduce Thủ tục trích và khôi phục Experimental result Kết quả thực nghiệm
PSNR - Peak Signal to Noise Ratio Tỉ số đỉnh tín hiệu trên nhiễu
Trang 8MỞ ĐẦU
Một trong những sự kiện trọng đại của những thập niên cuối thế kỷ 20, đầu thế kỷ 21 là sự ra đời phát triển của mạng Internet Thông tin đã trở thành sẵn sàng trực tuyến, mọi người đều có thể kết nối vào Internet để tìm kiếm thông tin một cách dễ dàng thông qua nhà cung cấp dịch vụ Internet Người dùng có thể đọc các thông tin mới nhất, tra cứu các thư viện số, tìm thông tin lĩnh vực mình quan tâm Bên cạnh đó các nhà cung cấp sản phẩm cũng sẵn sàng cung cấp dữ liệu của mình cho người dùng thông qua mạng
Hiện nay, các thông tin quan trọng thường được lưu trữ và truyền tải dưới dạng tệp dữ liệu số như: ảnh, âm thanh và video Tuy nhiên việc phân phối một cách phổ biến các tài nguyên trên mạng hiện nay với sự trợ giúp của phần mềm, người dùng có thể dễ dàng tạo ra các bản sao có chất lượng ngang bằng so với dữ liệu gốc Bên cạnh đó, vấn nạn sao chép, tái phân phối bất hợp pháp, làm giả dữ liệu số ngày một gia tăng Do vậy, vấn đề bảo vệ dữ liệu số nói chung và ảnh số nói riêng đang nhận được nhiều sự quan tâm của các nhà nghiên cứu trong và ngoài nước Một trong những mục tiêu nghiên cứu của an toàn dữ liệu và bảo mật thông tin là xây dựng quy trình và giải pháp bảo vệ các tài liệu, ngăn chặn các hoạt động không hợp pháp Giấu tin thuận nghịch hiện đang được xem là một trong những giải pháp quan trọng trong việc bảo
vệ thông tin mật và tính toàn vẹn của dữ liệu số
Dấu tin thuận nghịch là kỹ thuật giấu thông tin mật vào dữ liệu ảnh trước khi ảnh được phân phối trên môi trường trao đổi không an toàn, việc giấu thông tin vào ảnh sẽ làm giảm chất lượng ảnh Các thuật toán đề xuất đều
có mục tiêu không chỉ giấu được nhiều lượng thông tin mà còn giữ cho chất lượng ảnh ít bị thay đổi nhất Đây cũng là các tiêu chí để đánh giá một lược
đồ giấu tin tốt hay xấu
Trang 9Nội dung luận văn tập trung vào việc nghiên cứu một số kỹ thuật giấu tin thuận nghịch và đối tượng được chọn làm môi trường dấu tin là ảnh số
Cấu trúc của luận văn
Dựa vào mục tiêu đã xác định, nội dung của luận văn sẽ được trình bày qua 3 chương như sau:
Chương 1: Tổng quan
Chương 2: Phương pháp dịch chuyển histogram và dự đoán
Chương 3: Cài đặt thử nghiệm
Do thời gian và trình độ còn hạn chế nên luận văn khó tránh khỏi những sai sót, kính mong nhận được sự đóng góp chỉ bảo của các thầy, cô giáo và các bạn đồng nghiệp
Qua đây tôi xin cảm ơn thầy giáo, PGS.TS Phạm Văn Ất và các thầy, cô giáo trong Trường Đại học Công nghệ thông tin và truyền thông – Đại học
Thái Nguyên đã tận tình hướng dẫn tôi trong quá trình học tập cũng như trong
thời gian nghiên cứu hoàn thiện luận văn này
Trang 10CHƯƠNG 1 TỔNG QUAN
1.1 Giấu tin
1.1.1 Vài nét về lịch sử giấu tin
Các kỹ thuật giấu tin đã được đề xuất và sử dụng từ thời xa xưa, và sau này đã được phát triển ứng dụng cho nhiều lĩnh vực Từ Steganography bắt nguồn từ Hi Lạp với ý nghĩa tài liệu được phủ (covered writing) Các câu chuyện kể về kỹ thuật giấu thông tin được truyền qua nhiều thế hệ Có lẽ những ghi chếp sớm nhất về kỹ thuật giấu thông tin thuộc về sử gia Hi Lạp Herodotus Khi bạo chúa Herodotus bị vua Darius bắt ở Susa vào thế kỷ thứ
V trước công nguyên, ông ta đã gửi một bài báo bí mật cho con rể của mình là Aristagoras ở Milesus Để thực hiện điều này, Histiaeus đã cạo trọc đầu 1 nô
lệ tin cậy và xăm một thông báo trên da đầu người nô lệ ấy Khi tóc người nô
lệ đủ dài người nô lệ được gửi tới Milesus
Một câu chuyện khác về thời Hi Lạp cổ đại cũng do Herodotus ghi lại Môi trường để ghi văn bản chính là cá viên thuốc được bọc trong sáp ong Demeratus, một người Hi Lạp, cần thông báo cho Sparta rằng Xarxes định xâm chiếm Hi Lạp Để tránh bị phát hiện, anh ta đã bóc viên thuốc này, sau
đó bọc lại cá viên thuốc này bằng một lớp sáp mới Những viên thuốc được để ngỏ và lọt qua mọi sự kiểm soát một cách dễ dàng
Mực không màu là phương tiện hữu hiệu cho bảo mật thông tin trong một thời gian dài Người Roman cổ đã biết sử dụng những chất sẵn có như nước quả, nước tiểu và sữa để viết các thông báo bí mật giữa những hàng văn
tự thông thường Khi bị hơ nóng, những thứ mực không nhìn thấy trở nên sẫm màu và có thể đọc dễ dàng Mực không màu cũng được sử dụng rất gần đây, như trong thời gian chiến trang thứ II Như vậy ý tưởng về che giấu thông tin
đã có từ hàng nghìn năm về trước nhưng chủ yếu được áp dụng trong quân đội và các cơ quan tình báo Mãi cho tới vài thập niên gần đây, do sự phát
Trang 11triển rộng rãi của internet, nhu cầu bảo mật thông tin cho cá nhân và các cơ sở
tư nhân và các giao dịch trên mạng máy tính ngày một trở thành bức thiết, giấu thông tin mới nhận được sự quan tâm của các nhà nghiên cứu với hàng loạt công trình có giá trị được áp dụng rộng rãi và công khai trong hoạt động sản xuất, quản trị kinh doanh Cuộc cách mạng số hóa thông tin và sự phát triển nhanh chóng của mạng truyền thông là nguyên nhân chính dẫn đến sự thay đổi này Gần đây, những phiên bản sao chép hoàn hảo, các kỹ thuật thay thế, sửa đổi tinh vi, cộng với sự lưu thông phân phối trên diện rộng của các dữ liệu đa phương tiện đã làm nảy sinh nhiều vấn đề nhức nhối về nạn ăn cắp bản quyền, phân phối bất chấp hợp pháp, xuyên tạc trái phép càng đòi hỏi phải đẩy mạnh hơn nữa việc nghiên cứu trong lĩnh vực này
1.1.2 Khái niệm giấu tin
Giấu tin là một kỹ thuật giấu một lượng thông tin số nào đó vào một đối tượng dữ liệu số khác
Kỹ thuật giấu tin nhằm hai mục đích: một là bảo mật cho dữ liệu được đem giấu, hai là bảo vệ cho chính đối tượng được giấu tin ở trong Hai mục đích khác nhau này dẫn đến hai kỹ thuật chủ yếu của giấu tin Hướng thứ nhất
là giấu tin mật, nhằm tập trung vào các kỹ thuật giấu tin sao cho người khác khó phát hiện được đối tượng có chứa thông tin mật bên trong Hướng thứ hai
là thủy vân số, hướng thủy vân số có miền ứng dụng lớn hơn nên được quan tâm nghiên cứu nhiều hơn và thực tế đã có rất nhiều kỹ thuật đã được đề xuất
1.1.3 Phân loại các kỹ thuật giấu tin
Có nhiều cách phân loại khác nhau dựa trên những tiêu chí khác nhau Có thể chia lĩnh vực giấu tin thành hai hướng chính, đó là thủy vân số và giấu tin mật
Giấu tin mật với mục đích bảo toàn và bảo mật thông tin, tập trung vào các kỹ thuật giấu tin, sao cho người khác khó phát hiện việc có tin được giấu
Trang 12Kỹ thuật giấu tin mật luôn chú trọng đến tính che giấu, với tính che giấu, các
đối thủ khó có thể phát hiện được đối tượng có chứa tin mật bên trong hay không; hơn nữa, nếu phát hiện có giấu tin thì việc giải mã thông tin mật cũng khó có thể thực hiện được Ðồng thời, các kỹ thuật giấu tin mật còn quan tâm lượng tin có thể được giấu
Phạm vi ứng dụng của thủy vân đa dạng hơn, tuỳ theo mục đích của hệ thủy vân mà người ta lại chia thành các hướng nhỏ như: thủy vân dễ vỡ và thủy vân bền vững Thủy vân bền vững quan tâm nhiều đến việc nhúng những mẩu tin đòi hỏi độ bền vững cao của thông tin được giấu trước các biến đổi thông thường trên dữ liệu môi trường Thủy vân dễ vỡ yêu cầu thông tin giấu
sẽ bị sai lệch nếu có bất kỳ sự thay đổi nào trên dữ liệu chứa Như vậy, kỹ thuật giấu tin có thể được phân loại như trong Hình 1.1
1.1.4 Mô hình kỹ thuật giấu tin
Giống như các lược đồ mã hóa thông tin, một kỹ thuật giấu tin gồm thuật toán nhúng tin và thuật toán trích tin Theo [5], sơ đồ của thuật toán nhúng tin tổng quát có mô hình như sau:
Hình` 1.1 Phân loại kỹ thuật giấu tin
Trang 13Hình 1.2 Mô hình thuật toán nhúng tin
Trong Hình 1.2, môi trường giấu tin là những dữ liệu dùng để chứa thông tin mật, dữ liệu môi trường thường là những dữ liệu được dùng phổ biến trên Internet như: tệp ảnh, tệp âm thanh, tệp video, tệp text…Thông tin cần giấu là một lượng thông tin mang ý nghĩa và mục đích nào đó tùy thuộc vào mục đích và yêu cầu của người sử dụng (tin mật) Tin mật được nhúng vào trong môi trường chứa thông tin nhờ một bộ nhúng thông tin Trong quá trình nhúng tin, thuật toán có thể sử dụng hệ thống khóa làm tăng tính an toàn cho hệ thống Sau khi nhúng tin mật vào dữ liệu môi trường ta nhận được dữ liệu môi trường có chứa tin Dữ liệu này được truyền tải trên các môi trường truyền thông khác nhau
Khi nhận được dữ liệu có chứa tin, người nhận thực hiện thuật toán trích tin tương ứng để trích rút tin mật từ dữ liệu môi trường Trong một số trường hợp, người dùng có thể khôi phục lại dữ liệu môi trường từ dữ liệu chứa tin Theo , thuật toán trích tin có mô hình thực hiện như:
Trang 14và so sánh với thông tin đem giấu ban đầu Thông qua dữ liệu được tách ra từ môi trường chứa thông tin giấu, người ta có thể biết được trong quá trình truyền tải, phân phát dữ liệu có bị xâm phạm, tấn công hay không
Đối với các hệ thống giấu thông tin mật này rất quan tâm đến tính an toàn và bảo mật thông tin của dữ liệu cần giấu Hệ thống giấu tin mật có độ bảo mật cao nếu có độ 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ó các hệ thống chỉ quan tâm đến số lượng thông tin có thể được che giấu, hay quan tâm đến sự ảnh hưởng của thông tin mật đến các môi trường chứa dữ liệu
1.1.5 Ứng dụng của kỹ thuật giấu tin
Giấu tin mật: Thông tin được giấu trong những trường hợp này cần
được bảo mật trước các đối thủ Việc giải mã để nhận được thông tin cũng
Trang 15không cần dữ liệu môi trường gốc Đối với các thuật toán giấu tin mật chúng
ta không chú trọng đến việc bảo vệ thông tin mật trước sự tấn công của các đối thủ mà thay vào đó các thuật toán quan tâm đến tính ẩn và tính an toàn đối với dữ liệu cần giấu Do đó, các thuật toán giấu tin có độ bảo mật cao sẽ được
sử dụng trong các ứng dụng giấu tin mật
Bảo vệ bản quyền tác giả: Đây là ứng dụng cơ bản nhất của kỹ thuật
thủy vân số Một thông tin nào đó mang ý nghĩa bản quyền được sở hữu bởi tác giả gọi là thủy vân, thông tin này sẽ được nhúng vào trong các sản phẩm multimedia, và đó là minh chứng cho bản quyền của tác giả nhằm bảo vệ các sản phầm chống lại các hành vi lấy cắp hoặc làm nhái Yêu cầu kỹ thuật đối với ứng dụng này là thủy vân phải tồn tại bền vững cùng với sản phẩm, khi muốn bỏ thủy vân này mà không được phép của người chủ sở hữu thì chỉ còn cách là phá huỷ sản phẩm
Xác thực thông tin: Một tập các thông tin sẽ được giấu trong dữ liệu
nguồn và thông tin sẽ được sử dụng để nhận biết xem dữ liệu nguồn có bị thay đổi hay không Với kiểu ứng dụng này các thủy vân nên được ẩn để tránh được sự tò mò của đối phương, hơn nữa việc làm giả các thủy vân hợp lệ hay xuyên tạc thông tin nguồn cũng cần được xem xét Trong các ứng dụng thực
tế, người ta mong muốn tìm được vị trí bị xuyên tạc cũng như phân biệt được các thay đổi Yêu cầu chung đối với ứng dụng này là khả năng giấu thông tin cao và thủy vân không cần bền vững
1.2 Ảnh số
Như đã biết, ảnh số được lượng tử hóa từ ảnh liên tục (ảnh tự nhiên) Do
vậy, dữ liệu của ảnh số có sự tương quan cao Nói cách khác, các điểm ảnh lân cận (liền kề) thường có giá trị xấp xỉ nhau
Trang 161.2.1 Khái niệm ảnh Bitmap
Ảnh Bitmap là định dạng ảnh do Microsoft đề xuất, có phần mở rộng là BMP, loại ảnh này truyền tải, sử dụng rộng rãi trên máy tính, và các thiết bị điện tử khác
1.2.2 Phân loại ảnh Bitmap
Trên phương diện toán học, ảnh số được xem như là một ma trận nguyên dương có m hàng và n cột, mỗi phần tử của ma trận đại diện cho một điểm ảnh Dựa theo màu sắc ta có thể chia ảnh số thành 3 dạng cơ bản như: ảnh nhị phân, ảnh đa cấp xám và ảnh màu (true color)
- Ảnh nhị phân là ảnh chỉ có hai màu, một màu đại diện cho màu nền và màu còn lại cho đối tượng của ảnh Nếu hai màu là đen và trắng thì gọi là ảnh đen trắng Như vậy, ảnh nhị phân được xem như một ma trận nhị phân
- Ảnh đa cấp xám là ảnh có thể nhận tối đa 256 mức sáng khác nhau trong khoảng màu đen – màu trắng Như vậy, ảnh đa cấp xám xem như là ma trận không âm có giá trị tối đa 255
- Ảnh màu hay còn gọi là ảnh true color, mỗi điểm ảnh được biểu diễn bởi một số byte (thường 3 byte) đại diện cho 3 thành phần màu R, G và B Như vậy, ảnh màu có thể xem như 3 ma trận nguyên ứng với 3 thành phần màu của các điểm ảnh
Trong lĩnh vực giấu tin, mỗi dạng ảnh có những thuận lợi, khó khăn và cách tiếp cận riêng Tuy nhiên, một lược đồ giấu tin trên ảnh nhị phân ta có thể dễ dàng áp dụng cho ảnh đa cấp xám hoặc ảnh màu thông qua tính chẵn lẻ của giá trị điểm ảnh Nhưng từ lược đồ giấu tin trên ảnh màu hoặc ảnh đa cấp xám khó có thể áp dụng đối với ảnh nhị phân
1.2.3 Định dạng tệp ảnh Bitmap
Ảnh Bitmap được lưu trữ dưới dạng nhị phân, một tệp định dạng bitmap
được chia thành các phần cơ bản như: phần tiêu đề file (BITMAP
Trang 17HEADER), thông tin về ảnh (BITMAP INFOR), bảng màu (PALLETE Table) và vùng dữ liệu ảnh (DATA) Và thứ tự các phần của tệp ảnh được
lưu trữ tuần tự trong bộ nhớ như trong hình Hình 1.5
BITMAP HEADER
BITMAP INFOR PALLETE Table DATA
Hình 1.5 Minh hoạ cấu trúc tệp ảnh bitmap
Ý nghĩa các phần trong tệp ảnh bitmap
Bitmap Header: mô tả thông tin chung về File định dạng bitmap, độ dài
của phần này được cố định với mọi file ảnh bitmap
Bảng 1.1 Cấu trúc và nội dung của Bitmap File Header
3 - 6 Size of the file Unsigned long
11 - 14 Byte offset to bitmap data Số TT (tính từ 0) byte
đầu của BMP data
Bitmap Infor: mô tả thông tin về ảnh được lưu trữ, độ dài của phần này
cũng cố định
Bảng 1.2 Cấu trúc và nội dung của Bitmap Info
1 – 4 Number of bytes in Bitmap Info 40
5 – 8 Width of bitmap In pixels
Trang 189 – 12 Height of bitmap In pixels
13 – 14 Number of color planes 1
15 – 16 Number of bits per pixels 1, 4, 8 hoặc 24
37 – 40 Number of colors importal
Pallete Table: chính là bảng màu của ảnh bitmap, độ dài của phần này
có thể bằng không (không có bảng màu) đối với ảnh đen trắng và ảnh màu có
số lượng màu lớn hơn 256 màu
Bảng 1.3 Cấu trúc và nội dung của Color Palette
Trang 19Data: Thông tin của từng điểm ảnh, độ dài của phần này phụ thuộc kích
thước ảnh Phần này lưu trữ dữ liệu ảnh theo hướng từ dưới lên trên và từ trái qua phải
Với ảnh 8 bit màu giá trị của mỗi điểm ảnh trong vùng Data là chỉ số của màu trong bảng màu, chỉ số màu của điểm ảnh là một số nguyên có giá trị từ
0 đến 255
Như đã trình bày ở trên, với ảnh có số lượng màu lớn hơn 256 màu thì giá trị trong vùng Data chính là giá trị của các thành phần màu cơ bản, số lượng bit dùng để biểu diễn giá trị cho từng thành phần màu có thể sẽ khác nhau phụ thuộc vào chất lượng ảnh Đối với ảnh 24 bit màu, mỗi thành phần màu được lưu trữ bởi 8 bit và thứ tự lưu trữ là B, G, R
1.2.4 Chất lượng ảnh
Như đã đề cập ở trên, chất lượng ảnh chứa tin là một trong những yếu tố quan trọng trong giấu tin mật, đặc biệt là thủy vân số Chất lượng ảnh chứa tin
có thể được đánh giá bằng hệ số PSNR (Peak Signal-to-Noise Ratio) Lược đồ
có hệ số PSNR càng lớn thì chất lượng ảnh chứa tin càng cao Hệ số PSNR của ảnh chứa tin I’ so với ảnh gốc I kích thước m x n được tính theo công thức:
trong đó, MAX là giá trị cực đại của điểm ảnh và MSE (Mean Square Error)
được xác định theo công thức:
Đối với ảnh màu, giá trị PSNR có thể chấp nhận được nếu thuộc khoảng
từ 30 dB đến 50 dB
Trang 201.2.5 Một số đặc trưng ảnh số
Những đặc trưng của ảnh được trích chọn để sử dụng trong nhiều ứng dụng như xử lý ảnh, nhận dạng ảnh,… Hầu hết các phương pháp trích chọn các đặc trưng của ảnh tập trung vào: màu sắc, kết cấu, hình dạng
a Đặc trưng về màu sắc
Màu sắc là đặc tính hình ảnh được thể hiện nhiều nhất vì tính đơn giản của việc trích thông tin màu của ảnh đưa ra phân tích và đã có hiệu quả thông qua biểu đồ màu Các biểu đồ màu miêu tả các điểm màu trên những vùng màu của ảnh
Không gian màu RGB được sử dụng rộng rãi trong việc miêu tả màu sắc của ảnh Nó gồm ba thành phần màu cơ bản là đỏ (Reb), lục (Green), lam (Blue) Các màu khác được tạo ra bằng cách tổng hợp ba thành phần màu cơ bản này Tuy nhiên không gian màu RGB biến đổi không phù hợp với cảm nhận của mắt con người
b Đặc trưng về hình dạng
Hình dạng của đối tượng trong ảnh cũng là một đặc trưng có thể được xét đến Đối tượng của ảnh thể hiện nội dung ảnh nhiều nhất Ảnh được chụp hoặc tranh được vẽ luôn với mục đích mô tả lại các đối tượng đó Việc tách riêng các đối tượng và hình dạng của chúng trong ảnh là rất khó Khó hơn là
so sánh các đặc trưng đó thế nào
c Đặc trưng về kết cấu
Kết cấu bề mặt là phản ánh sự biểu diễn một mẫu về không gian có vài thuộc tính đồng đều không thể có được từ sự biểu diễn bằng một màu đơn hoặc một độ sáng trong vùng mà yêu cầu sự tương tác của nhiều màu, độ sáng khác nhau Để sử dụng kết cấu trong tìm kiếm ảnh, ta cần có các đặc tính kết cấu của một đối tượng hoặc một vùng quan tâm đến trong ảnh cung cấp đặc tính để tìm kiếm ảnh
Trang 211.3 Môi trường giấu tin
1.3.1 Giấu tin trong ảnh
Hiện nay, giấu thông tin trong ảnh chiếm tỷ lệ lớn trong các chương trình ứng dụng, các phần mềm, hệ thống giấu tin trong dữ liệu đa phương tiện bởi lượng thông tin được trao đổi bằng hình ảnh là rất lớn Hơn nữa, giấu thông tin trong ảnh cũng đóng vai trò hết sức quan trọng trong hầu hết các ứng dụng bảo vệ an toàn thông tin như: nhận thức thông tin, xác định xuyên tạc thông tin, bảo vệ bản quyền tác giả, điều khiển truy cập, giấu thông tin mật… Vì thế vấn đề này đã nhận được sự quan tâm rất lớn của các cá nhân, tổ chức, trường đại học và viện nghiên cứu trong và ngoài nước
Thông tin sẽ được giấu cùng với dữ liệu ảnh nhưng chất lượng ảnh ít thay đổi và mắt người không thể phát hiện được bên trong bức ảnh đó có chứa thông tin gì Và ngày nay, khi ảnh số đã được sử dụng phổ biến thì giấu thông tin trong ảnh đã đem lại rất nhiều ứng dụng quan trọng trên nhiều lĩnh vực trong đời sống xã hội Ví dụ như đối với các nước phát triển chữ ký tay đã được số hóa và được lưu trữ giống như hồ sơ cá nhân của các dịch vụ ngân hàng và tài chính, nó được dùng để xác thực trong các thẻ tín dụng của người tiêu dùng Thêm vào đó, lại có rất nhiều loại thông tin quan trọng cần được bảo mật, chúng rất dễ bị lấy trộm và bị thay đổi bởi các phần mềm chuyên dụng Việc nhận thức cũng như phát hiện thông tin xuyên tạc đã trở nên vô cùng quan trọng và cấp thiết Một đặc điểm của giấu thông tin trong ảnh đó là thông tin được giấu trong ảnh một cách vô hình, bởi sau khi giấu thông tin thì chất lượng ảnh gần như không thay đổi, đặc biệt đối với ảnh màu hay ảnh đa mức xám
1.3.2 Giấu tin trong audio
Giấu tin trong audio mang những đặc điểm riêng khác với giấu thông tin trong các đối tượng đa phương tiện khác Một những yêu cầu cơ bản của giấu
Trang 22tin là đảm bảo tính chất ẩn của thông tin được giấu đồng thời không làm ảnh hưởng nhiều đến chất lượng của dữ liệu gốc Để đảm bảo yêu cầu này, kỹ thuật giấu thông tin trong audio phụ thuộc vào hệ thống thính giác của con người Và một vấn đề khó khăn ở đây là hệ thống thính giác của con người nghe được các tín hiệu của các giải tần rộng và công suất lớn nên đã gây khó
dễ đối với các phương pháp giấu tin trong audio Nhưng theo một số tài liệu, công trình nghiên cứu đã công bố, hệ thống thính giác lại gặp những khó khăn trong việc phát hiện sự thay đổi nhỏ về âm lượng, tần suất của tín hiệu audio Điều này có nghĩa là các âm thanh lớn, tần số cao có thể che giấu được các
âm thanh nhỏ, tần số thấp một cách dễ dàng Và thông tin này sẽ giúp ích cho việc chọn các audio thích hợp cho việc giấu tin Vấn đề này khó khăn thứ hai đối với giấu thông tin trong audio là kênh truyền tin Kênh truyền hay băng thông chậm sẽ làm ảnh hưởng đến chất lượng thông tin sau khi giấu
1.3.3 Giấu tin trong video
Cũng giống như giấu thông tin trong ảnh hay audio, giấu tin trong video cũng được quan tâm và được phát triển mạnh mẽ cho nhiều ứng dụng như kiểm soát sao chép thông tin, nhận thực thông tin và bảo vệ bản quyền tác giả Với kỹ thuật giấu thông tin trong video, các thuật toán lợi dụng triệt để những nhược điểm của hệ thống thị giác và thính giác của con người để thực hiện quá trình giấu tin
1.3.4 Giấu tin trong văn bản
Trong việc trao đổi thông tin qua hệ thống máy tính, văn bản chiếm một
tỷ lệ rất lớn so với các loại phương tiện chứa khác Tuy vậy, giấu tin trong văn bản lại chưa được quan tâm nghiên cứu nhiều Các nghiên cứu về giấu tin trong văn bản được chia theo hai hướng, thứ nhất văn bản được sử dụng để giấu tin là những văn bản được chụp lại và lưu trên máy như một bức ảnh nhị phân Theo hướng này, các kỹ thuật giấu tin được thực hiện như kỹ thuật giấu
Trang 23tin trong ảnh Hướng thứ hai, phương tiện chứa sử dụng cho quá trình giấu tin được lưu dưới dạng văn bản Theo hướng này, các kỹ thuật giấu tin cũng tiến hành như giấu tin trong ảnh bằng cách thay đổi một số ký tự tại một số vị trí trên văn bản mà không làm ảnh hưởng nhiều đến nội dung văn bản gốc.
1.4 Các hướng tiếp cận giấu tin trên ảnh
1.4.1 Tiếp cận miền không gian ảnh
Miền không gian ảnh là miền dữ liệu ảnh gốc, tác động lên miền không gian ảnh chính là tác động lên các điểm ảnh, thay đổi giá trị trực tiếp của điểm ảnh Đây là hướng tiếp cận tự nhiên bởi vì khi nói đến việc giấu tin trong ảnh người ta thường nghĩ ngay đến việc thay đổi giá trị các điểm ảnh nguồn, một phương pháp phổ biến của hướng tiếp cận này là phương pháp tác động đến bit ít quan trọng của mỗi điểm ảnh
Tuy nhiên, phương pháp này cũng có nhiều hạn chế, chẳng hạn như không đảm bảo được tính bền vững của thông tin giấu đối với các thao tác biến đổi như quay ảnh hoặc nén ảnh Jpeg Điều này là dễ hiểu vì các thao tác nói trên cũng loại bỏ hoặc làm sai lệch các bit ít quan trọng nhất của mỗi điểm ảnh
1.4.2 Tiếp cận miền tần số ảnh
Hướng tiếp cận dựa trên miền không gian ảnh như đã trình bày ở trên là cách tiến hành khảo sát tín hiệu và hệ thống rời rạc một cách trực tiếp trên miền giá trị rời rạc của các điểm ảnh gọi là trên miền biến số độc lập tự nhiên Nhưng trong nhiều trường hợp, cách khảo sát trực tiếp này gặp phải những khó khăn nhất định hoặc rất phức tạp và hiệu quả không cao
Ngoài phương pháp khảo sát trực tiếp, có thể dùng phương pháp khảo sát gián tiếp thông qua các kỹ thuật biến đổi Các biến đổi này làm nhiệm vụ chuyển miền biến số độc lập sang các miền khác và như vậy tín hiệu và hệ thống rời rạc sẽ được biểu diễn trong các miền mới với các biến số mới Phương pháp biến đổi này cũng giống như phương pháp biến đổi trong phép
Trang 24tính tích phân hay phương pháp đổi hệ toạ độ trong giải tích của toán phổ thông quen thuộc
Mỗi cách biến đổi sẽ có những thuận lợi riêng, tuỳ từng trường hợp mà chúng ta chọn phép biến đổi nào cho phù hợp Sau khi khảo sát, biến đổi xong các tín hiệu và hệ thống rời rạc trong miền các biến số mới này, nếu cần thiết
có thể dùng cá biến đổi ngược để đưa chúng trở lại miền biến số độc lập Phương pháp khảo sát gián tiếp sẽ làm đơn giản rất nhiều các công việc gặp phải khi dùng phương pháp khảo sát trực tiếp trong miền biến số độc lập
tự nhiên Hệ thống rời rạc cần khảo sát chính là miền không gian các điểm ảnh Có một số phương pháp biến đổi được sử dụng rất phổ biến như: Furier, Cosine rời rạc (DCT), Wavelet rời rạc (DWT)… Đây là những phép biến đổi được sử dụng nhiều trong các kỹ thuật xử lý ảnh và âm thanh Trong giấu tin, đặc biệt trong kỹ thuật thủy vân tiếp cận theo miền tần số, các phép biến đổi
từ miền biến số tự nhiên của ảnh sang miền tần số như biến đổi Furier, biến đổi cosin rời rạc, Wavelet được sử dụng phổ biến
1.5 Một số lược đồ giấu tin trên ảnh nhị phân
1.5.1 Kỹ thuật giấu tin Wu-Lee
* Thuật toán giấu tin Wu-lee
Kỹ thuật giấu tin theo khối bit thể hiện độ an toàn không cao với việc sử dụng duy nhất kích thước khối là khoá cho quá trình giấu tin, đồng thời ảnh chứa thông tin giấu cũng dễ bị phát hiện do kỹ thuật có thể sẽ thay đổi giá trị của một bit trong các khối ảnh toàn màu đen hoặc toàn màu trắng Điều này
sẽ có thể dẫn tới sự bất thường ở vị trí thay đổi so với các vị trí lân cận trong khối
Thuật toán giấu thông tin trong ảnh đen trắng do M.Y.Wu và J.H.Lee [6] đưa ra trong một bài báo đăng tại Proceedings of international Symposium on Multimedia Information Processing 1999 đã khắc phục được phần nào những
Trang 25tồn tại nêu trên bằng cách đưa thêm khoá K cho việc giấu tin và đưa thêm các điều kiện để thay đổi bit trong mỗi khối
* Thuật toán nhúng tin
Thuật toán giấu tin được thể hiệu như sau: chia ảnh môi trường thành các khối điểm ảnh có cùng kích thước m x n Với mỗi khối điểm ảnh F (ma trận điểm ảnh) có thể được giấu tối đa 1 bit b (b= 0 hoặc b = 1) Quá trình giấu tin sẽ thực hiện biến đổi ma trận nhị phân F thành ma trận G nhưng giữa
F và G chỉ khác nhau tối đa là một vị trí
Tóm tắt thuật toán
Input:
m,n là kích thước của ma trận gồm m hàng và n cột, giá trị m, n được giữ bí mật
Fmxn là ma trận nhị phân và là ma trận môi trường để giấu tin
Kmxn là ma trận nhị phân khoá và giá trị của ma trận K phải được giữ bí mật
b là bit nhị phân cần giấu (b = 0 hoặc b = 1)
có thể dễ dàng xác định được G chứa giá trị bit đã giấu bằng 0 hay bằng 1 theo (1.3)
Trang 26b =SUM(G K) mod 2 (1.3)
Nội dung thuật toán
Bước 2: if 0 < s < SUM(K) then
// sẽ biến đổi F thành G thoả mãn bất biến (1.1) và (1.2)
Xét các trường hợp sau:
Trường hợp 1 if s mod 2 = b then
G = F // giấu mà không cần biến đổi
Trường hợp 2 if s = SUM(K) -1 then
- Chọn ngẫu nhiên phần tử (i,j) thoả Fi,j = 1 và Ki,j =1
Trường hợp 4 if (s >1) and (s <SUM(K) -1 ) then
- Chọn ngẫu nhiên phần tử (i,j) thoả Ki,j =1
- Fi,j = NOT (Fi,j)
- G = F
* Phân tích thuật toán
Thuật toán sử dụng K nhằm làm tăng độ bảo mật cho thuật toán giấu tin Nếu trước đây chỉ biết kích thước khối là m x n thì đối phương đã có thể dễ dàng giải mã được tin mật thông qua ảnh chứa tin, nhưng với thuật toán của Wu-Lee ngoài giá trị m, n các thuật toán thám mã còn phải xác định giá trị cụ thể của ma trận K Do vậy, để tìm được ma trận khóa K khi đã biết m, n các thuật toán thám mã phải duyệt trường hợp khác nhau
Trang 27Theo định nghĩa phép toán , và bất biến (1.2) nên nội dung thuật toán Wu-Lee sẽ biến đổi F thành G sao cho SUM(G K) cùng tính chẵn lẻ với b
Do vậy, nếu b không cùng tính chẵn lẻ với SUM(G K) thì thuật toán sẽ thực hiện đảo giá trị của phần tử Fi,j ứng với Ki,j = 1 để đạt được bất biến (1.2) Như vậy, khoá K được xem như một mặt nạ, tạo ra khung nhìn cho thuật toán
Điều kiện 0 < SUM(F K) < SUM(K) quy định, nếu mọi vị trí (i,j) của F tại các vị trí Ki,j = 1 mà Fi,j đều bằng không hoặc đều bằng một thì không nên giấu tin vì nếu thực hiện giấu dễ bị lộ khóa K
* Thí dụ minh họa thuật toán nhúng tin Wu-Lee
Giả sử ta cần giấu dãy bit b1b2b3 = 011 vào một ảnh kích thước 6 x 6 với
ma trận khóa K có kích thước 3 x 3 như trong hình vẽ Ta chia ảnh F thành 4 khối ảnh nhỏ với mỗi khối kích thước là 3 x 3 ta thu được F1, F2, F3, F4
Hình 1.6 Minh hoạ thuật toán nhúng tin của Wu-Lee
- Với F1, 0 < SUM(F1 K) = 3 < SUM(K) nên thuật toán sẽ giấu b1 (b1=0) vào F1 bằng cách biến đổi F1 thành G1 sao cho SUM(G1 K) mod 2 = b1 Trong trường hợp này, SUM(F1 K) thoả T/h 4 tại Bước 3 trong thuật toán,
do vậy chúng ta sẽ đảo giá trị tại phần tử (i,j) của F1 ứng với Ki,j = 1 Giải sử
ta chọn phần tử (1,2) kết quả sẽ thu được như G1
Trang 28- Vì SUM(F2 K) = 0 nên khối F2 sẽ không được dùng để giấu dữ liệu do vậy G2 = F2
- Với F3, do F3 thoả mãn điều kiện 0 < SUM(F3 K) = 3 < SUM(K), nên thuật toán sẽ thực hiện giấu b2 vào F3 Trong trường hợp này, ta thấy SUM(F3 K) mod 2 = 1 = b2 nên không cần biến đổi F3 và G3 = F3
- Với F4, 0< SUM(F4 K) = 4 <SUM(K) nên thuật toán sẽ thực hiện giấu bit
b3 = 1 vào khối F4 bằng cách biến đổi F4 thành G4 thoả mãn tính chất (2) và (3) Do SUM(F4 K) = SUM(K) -1 nên chúng ta chọn ngẫu nhiên phần tử (i,j) mà F4(i,j) = 1 mà Ki,j = 1 và thay đổi F4(i,j) = 0.Giả sử ta chọn phần tử (3,3) kết quả sẽ thu được như G4
* Một số nhận xét về thuật toán Wu-Lee
Thứ nhất: ảnh môi trường để thực hiện giấu thông tin cũng phải được
chọn kỹ càng Nếu một ảnh có quá nhiều điểm trắng (hoặc đen) thì tỉ lệ bit giấu được sẽ rất thấp
Thứ hai: Vì trong mỗi ma trận điểm ảnh F thuật toán chỉ biến đổi tối đa
là một phần tử (từ 1 thành 0 hoặc từ 0 thành 1), do vậy nếu chọn m, n đủ lớn thì sự thay đổi này khó có thể nhận biết bằng mắt thường nhưng khả năng giấu của thuật toán lại giảm đáng kể
Thứ ba: Khi cần biến đổi ma trận F, thuật toán luôn thay đổi ngẫu nhiên
một phần tử Fi,j ứng với Ki,j=1 Do vậy, trong một số trường hợp ảnh sau khi được giấu tin sẽ xuất hiện những điểm khác biệt so với ảnh gốc và dễ dàng phân biệt được bằng mắt thường Do đó, để tăng tính che giấu cho thuật toán chúng ta nên chọn phần tử (i,j) có định hướng theo một tiêu chí nào đó
Xét ví dụ giấu bit 0 vào ma trận có kích thước 5 x 4 với các giá trị cụ thể như sau:
Trang 29Hình 1.7 Minh hoạ giữa thay đổi ngẫu nhiên và thay đổi có định hướng
1.5.2 Kỹ thuật giấu tin CPT
Trang 30vậy độ an toàn của thuật toán CPT cao hơn của thuật toán giấu tin của Lee
Wu-* Thuật toán nhúng tin CPT
Tóm tắt thuật toán
Để tiện cho việc trình bày, trong luận văn sẽ trình bày nội dung thuật toán CPT áp dụng cho một khối bit (ma trận nhị phân) Các phép toán sử dụng trong thuật toán này đều được hiểu theo nghĩa
Input:
Fm × n là ma trận nhị phân (khối điểm ảnh) và là môi trường dùng để giấu tin
r là số bit cần giấu vào ma trận F, r phải thỏa mãn điều kiện
K là ma trận nhị phân cấp và là khóa bí mật để giải tin
Trang 31Nhận thấy nếu đảo giá trị (thay 0 thành 1 hoặc thay 1 thành 0) của một phần tử Fi,j sẽ làm cho S tăng thêm α đơn vị
Bước 4:
Gọi G là khối bit sau khi đã giấu b vào F và S’= SUM((G K) W) Bước này sẽ thực hiện giấu b bằng cách thay đổi tối đa hai bit trong F sao cho
đạt được bất biến: S’ = b (mod 2 r ) (1.5)
Bất biến (1.5) này cũng chính là cơ sở để khôi phục lại tin
- Tính d = b – S (mod 2r)
Trường hợp 1 Nếu d = 0 thì b = S (mod 2r) nên đã đạt được bất biến (1.5) do đó trường hợp này giấu b vào F mà không cần phải biến đổi F
Trường hợp 2 Nếu d 0 thì cần phải biến đổi F sao cho đạt được bất
biến (2.7) Trong trường hợp này có hai khả năng:
Trường hợp 2.1 Nếu Zd Ø thì chọn (i,j) Zd rồi đảo giá trị phần tử Fi,j, khi
đó theo định nghĩa (2.1) S sẽ tăng thêm d đơn vị do đó đạt được bất biến (1.5)
Trường hợp 2.2 Nếu Zd = Ø thì tiếp tục xét Z2d, Z3d Chọn h là số tự nhiên đầu tiên thoả mãn Zhd Ø (xem nhận xét 1.2 bên dưới)
+ Chọn (i,j) Zhd và thay đổi bit Fi,j, khi đó theo (1.4) S tăng thêm một
Nhận xét 1.1: Qua các bước thực hiện của thuật toán nhận thấy thuật toán sẽ
luôn thực hiện được nếu tồn tại h thoả mãn Zhd Ø
Điều này sẽ được chứng minh trong mục tiếp theo
Chứng minh tính đúng đắn của thuật toán
Trang 32Nhận xét 1.2: Theo định nghĩa tập Zα và tính chất của ma trận trọng số W thì
Vì vậy phải tồn tại ít nhất một cặp (i,j) sao cho Wi,j = α
Mặt khác do T là ma trận nhị phân nên Ti,j có giá trị bằng 0 hoặc 1 Xét các trường hợp:
- Nếu Ti,j = 0: Do Wi,j = α nên (i,j) thoả điều kiện thứ nhất trong (1.6), vậy (i,j) Zα
- Nếu Ti,j = 1: Do Wi,j = α mà α = 2r-1 = 2r – α nên (i,j) thoả điều kiện thứ hai trong (1.6), vậy (i,j) Zα Do đó tập Z 2 r 1 Ø
Mà 2r - α = - α (mod 2r) = - α
Do đó, khi Zα = Ø sẽ tồn tại (u,v) để (Wu,v = - α và Tu,v = 0) (1.8)
Từ (1.4) và (1.6), ta suy ra khi Zα = Ø thì Z -αØ (1.9)
Vì h là số tự nhiên đầu tiên thoả mãn điều kiện Zhd Ø, suy ra
Z( h - 1)d = Ø Theo (1.8) khi Z( h - 1)d = Ø thì Zd-hd Ø, vì vậy phép chọn phần
tử (u,v) trong (1.7) luôn thực hiện được
Trang 33Chứng minh
Trường hợp 1: Nếu d lẻ thì có thể biểu diễn d dưới dạng: d = 2t+1
Nhân cả 2 vế của biểu thức với 2r-1 ta có:
2r-1.d = 2r-1.2t+2r-1 suy ra 2r-1.d = t.2r+2r-1 = 2r-1 (mod 2r)
Chọn h = 2 r-1 ta có hd = 2r-1
Trường hợp 2: Nếu d chẵn và d chỉ chứa thừa số nguyên tố 2 thì có thể biểu
diễn d dưới dạng: d = 2u (với u ≤ r-1) Xét các khả năng:
+ Nếu u = r-1 thì chọn h = 1 ta có hd =1.2r-1= 2r-1
+ Nếu u < r-1 thì chọn h = 2 (r-1)-u ta có hd = 2(r-1)-u.2u = 2r-1
Trường hợp 3: Nếu d chẵn và d chứa cả các thừa số nguyên tố khác 2 thì có
thể biểu diễn d dưới dạng: d = (2t+1)2v (với 1 ≤ v < r-1)
Chọn h = 2 (r-1)-v ta có: hd = 2(r-1)-v (2t+1).2v
= (2t+1)2r-1 = t.2r + 2r-1 = 2r-1 (mod 2r)
* Chứng minh tính đúng của thuật toán
Theo nhận xét 1.2: để chứng minh tính đúng của thuật toán cần chỉ ra tồn tại h sao cho ZhdØ
Theo nhận xét 1.5 luôn tồn tại h sao cho hd = -1 (mod ) Mặt khác theo nhận xét 1.2 tập do đó luôn tồn tại h sao cho Điều
đó chứng tỏ thuật toán luôn thực hiện đúng
* Một số thí dụ minh họa thuật toán CPT
Thí dụ minh hoạ trường hợp thay đổi một bit
Quá trình giấu tin:
Giả sử cần giấu dãy bit 1011 vào ma trận điểm ảnh có kích thước 4 x 4:
F = 0 1 0 1 K = 0 1 1 0 W = 12 11 9 10
0 0 1 0 1 0 1 1 12 14 15 3
Trang 34Zα = {(i,j) | (Wi,,j=α và Ti,j = 0) hoặc (Wi,j=2r-α và Ti,j=1)}
Với α = d = 8, xét ma trận W ta thấy phần tử (2,2) thoả mãn điều kiện (W2,2=2r - d và T2,2 = 1), suy ra Zd Ø
Do Zd Ø, theo thuật toán CPT chỉ cần đảo giá trị phần tử Fi,j |(i ,j) thuộc
Zd Chọn i =2 và j = 2 thực hiện phép đảo phần tử F2,2 ta sẽ được ma trận kết quả G như trong Hình 1.8
Quá trình trích tin
Giả sử khi nhận được ma trận G đã chứa thông tin cần giấu, với các giá trị trên Hình 1.9, để giải mã thông tin giấu trong G ta sẽ thực hiện tính theo bất biến b’ =SUM(TW) mod 2r