1. Trang chủ
  2. » Giáo Dục - Đào Tạo

đồ án tốt nghiệp GIẤU TIN TRONG ẢNH DỰA TRÊN PHƯƠNG PHÁP OPVD VÀ HÀM ĐỒNG DƯ

84 52 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 84
Dung lượng 535,87 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

đồ án tốt nghiệp, GIẤU TIN TRONG ẢNH, DỰA TRÊN PHƯƠNG PHÁP, OPVD VÀ HÀM ĐỒNG DƯ

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ NÔNG NGHIỆP VÀ PTNT

TRƯỜNG ĐẠI HỌC THỦY LỢI

NGUYỄN PHƯƠNG ANH HÙNG CƯỜNG

GIẤU TIN TRONG ẢNH DỰA TRÊN PHƯƠNG PHÁP OPVD VÀ HÀM ĐỒNG DƯ

ĐỒ ÁN TỐT NGHIỆP

HÀ NỘI, NĂM 2015

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ NÔNG NGHIỆP VÀ PTNT

TRƯỜNG ĐẠI HỌC THỦY LỢI

NGUYỄN PHƯƠNG ANH HÙNG CƯỜNG

GIẤU TIN TRONG ẢNH DỰA TRÊN PHƯƠNG PHÁP OPVD VÀ HÀM ĐỒNG DƯ

Ngành (chuyên ngành) : Công nghệ thông tin

Mã số: 106

NGƯỜI HƯỚNG DẪN Ths Đinh Phú Hùng

HÀ NỘI, NĂM 2015

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan đây là Đồ án tốt nghiệp của bản thân tôi Các kết quả trong Đồ án tốtnghiệp này là trung thực, không sao chép từ bất kỳ một nguồn nào và dưới bất kỳhình thức nào.Việc tham khảo các nguồn tài liệu (nếu có) đã được thực hiện trích dẫn

và ghi nguồn tài liệu tham khảo đúng quy định

Sinh viên thực hiện

Chữ ký

Nguyễn Phương Anh Hùng Cường

Trang 4

LỜI CÁM ƠN

Lời đầu tiên, em xin chân thành gửi lời cám ơn tới các thầy cô trong trường Đại họcThủy Lợi nói chung và các thầy cô giáo trong Khoa Công nghệ thông tin nói riêng,những người đã nhiệt tình giảng dạy và truyền đạt những thức cần thiết trong suốt thờigian em học tập tại trường để em có thể hoàn thành tốt quá trình học tập của mình.Đặc biệt, em xin gửi lời cảm ơn chân thành và sâu sắc đến Thạc sĩ Đinh Phú Hùng,người đã trực tiếp hướng dẫn tận tình chỉ bảo em trong suốt quá trình làm đồ án tốtnghiệp

Do kiến thức còn hạn hẹp và khả năng còn hạn chế, kinh nghiệm thực tế không cónhiều, và thời gian có hạn nên trong đồ án tốt nghiệp còn nhiều điểm thiếu sót Kínhmong quý thầy cô và các bạn thông cảm và đưa ra những góp ý quý báu để đồ án tốtnghiệp của em được hoàn thiện hơn

Em xin chân thành cảm ơn!

Trang 5

MỤC LỤC

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

DANH MỤC BẢNG BIỂU vi

DANH MỤC CÁC TỪ VIẾT TẮT vii

MỞ ĐẦU 1

CHƯƠNG 1 TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN 3

1.1 Một số khái niệm tổng quan 3

1.1.1 Sơ lược về giấu tin 3

1.1.2 Đặc trưng và tính chất của kỹ thuật giấu tin trong ảnh 4

1.1.3 Mô hình kỹ thuật giấu tin trong ảnh cơ bản 4

1.2 Yêu cầu và đánh giá chất lượng ảnh sau khi giấu tin 6

CHƯƠNG 2 KỸ THUẬT GIẤU TIN ĐỀ XUẤT DỰA TRÊN PHƯƠNG PHÁP OPVD VÀ HÀM ĐỒNG DƯ 8

2.1 Cơ sở lý thuyết 8

2.1.1 Phương pháp Pixel Value Differencing (PVD) 8

2.1.2 Phương pháp Overlapping Pixel Value Differencing (OPVD) 10

2.2 Phương pháp kết hợp OPVD và hàm đồng dư 11

2.2.1 Ý tưởng thuật toán 11

2.2.2 Thuật toán giấu tin 11

2.2.3 Thuật toán tách tin 13

2.3 Ví dụ minh họa 14

2.3.1 Quá trình giấu tin 14

2.3.2 Quá trình tách tin 29

CHƯƠNG 3 ĐỀ XUẤT NÂNG CAO HIỆU QUẢ THUẬT TOÁN 40

3.1 Ý tưởng thuật toán 40

3.2 Thuật toán giấu tin 40

3.3 Thuật toán tách tin 41

3.4 Ví dụ minh họa 42

3.4.1 Quá trình giấu tin 42

3.4.2 Quá trình tách tin 61

CHƯƠNG 4 XÂY DỰNG CHƯƠNG TRÌNH 73

Trang 6

4.1 Giới thiệu chung 73

4.2 Các chức năng của chương trình 73

CHƯƠNG 5 THỰC NGHIỆM VÀ KẾT QUẢ 74

5.1 Dữ liệu thực nghiệm 74

5.2 Kết quả thực nghiệm 74

KẾT LUẬN 75

TÀI LIỆU THAM KHẢO 76

Trang 7

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

Hình 1.1 Mô hình giấu tin cơ bản 5

Hình 1.2 Mô hình tách tin cơ bản 5

Hình 2.1 Trình tự xử lý các khối điểm ảnh 8

Hình 2.2 Sự khác biệt giữa PVD và OPVD 10

Hình 2.3 Quá trình nhúng của phương pháp OPVD và hàm đồng dư 12

Hình 2.4 Quá trình tách tin của phương pháp OPVD và hàm đồng dư 14

Hình 4.1 Sơ đồ chức năng của chương trình 73

Trang 8

DANH MỤC BẢNG BIỂU

Bảng 2.1 Bộ phạm vi thứ nhất 9

Bảng 2.2 Bộ phạm vi thứ hai 9

Bảng 2.3 Bộ giá trị đánh dấu cho ảnh xám 15

Bảng 3.1 Bộ giá trị đánh dấu cho ảnh màu 43

Trang 9

DANH MỤC CÁC TỪ VIẾT TẮT

Differencing)

Phương pháp vi phân chồng chéo điểm ảnh

MỞ ĐẦU

Ngày nay, Internet đang đóng một vai trò quan trọng trong sự phát triển xã hội Do

đó, việc sử dụng nó để truyền tin bí mật đang gia tăng trên các ứng dụng Bảo mật cácthông tin này có thể rất quan trọng đối với chính phủ, kinh doanh, công nghiệp vàthậm chí là mỗi cá nhân Giấu tin là một trong những lĩnh vực cực kỳ quan trọng của

an toàn thông tin Không giống như mã hóa làm thay đổi thông điệp để cho nó khôngđọc được bởi kẻ địch (bên thứ ba), giấu tin che giấu sự hiện diện của thông tin bí mật

Nó sử dụng một vỏ bọc (đa phương tiện) để che giấu thông tin bí mật trong nó trướckhi truyền đến một kênh truyền thông công cộng Do đó, nó bảo vệ thông điệp chốnglại truy cập trái phép Dữ liệu có thể được mã hóa và/hoặc nén trước khi áp dụng giấutin nhằm tăng mức độ bảo mật giảm lượng dữ liệu cần nhúng khiến ảnh mang thôngđiệp bị giảm chất lượng

Trong thực tế, một số phương pháp giấu tin đã được đề xuất để nhúng dữ liệu vàotrong ảnh kỹ thuật số với vai trò là lớp vỏ, kể cả đối với miền không gian và miền tần

số Một trong những phương pháp khá gần đây, phương pháp PVD đã được đề xuấtnhằm tăng khả năng nhúng mà không thay đổi chất lượng ảnh Phương pháp này dựatrên giá trị chênh lệch các cặp điểm ảnh Do đó, số lượng các bit nhúng ở mỗi cặpđiểm ảnh được thay đổi Một phương pháp khác được đề xuất bởi Chang và các cộngsự[CITATION Cha06 \l 1033 ], được gọi là OPVD Không giống như phương pháp PVD,OPVD sử dụng các khối chồng lên nhau và chỉ giấu các bit bí mật ở điểm ảnh thứ haicủa mỗi cặp điểm ảnh bằng cách sử dụng phương pháp thay thế LSB Mặc dù phươngpháp này có hiệu quả cao hơn so với PVD, nó vẫn bỏ qua nhiều điểm ảnh mà không

Trang 10

sử dụng để giấu tin.

Trong đồ án này tìm hiểu một kỹ thuật giấu tin trong ảnh dựa trên khái niệm các khốichồng chéo tương tự như OPVD nhưng với một thủ tục điều chỉnh để giảm số lượngđiểm ảnh không sử dụng Không giống như OPVD, phương pháp này sử dụng hàmđồng dư để nhúng thay vì phương pháp thay thế LSB Với những sửa đổi đối vớiphương pháp OPVD, phương pháp đề xuất có khả năng nhúng cao hơn mà khó nhậnthấy được trong các biểu đồ phân tích

Nội dung được trình bày trong 5 chương như sau:

Chương 1 Tổng quan về kỹ thuật giấu tin.

Chương 2 Kỹ thuật giấu tin đề xuất dựa trên phương pháp OPVD và hàm đồng dư Chương 3 Đề xuất nâng cao hiệu quả thuật toán.

Chương 4 Xây dựng chương trình.

Chương 5 Thực nghiệm và kết quả.

Trang 11

CHƯƠNG 1 TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN

1.1 Một số khái niệm tổng quan

1.1.1 Sơ lược về giấu tin

Ý tưởng che giấu thông tin đã có từ hàng nghìn năm về trước nhưng được dùng chủyếu trong quân đội và trong các cơ quan tình báo Thuật ngữ Steganography có xuất

xứ từ tiếng Hy Lạp cổ (Stanos có nghĩa là phủ, còn graphy là viết hoặc vẽ) Thời đó, đểgửi thông tin mật đi, người ta dùng các bảng gỗ khắc các thông báo và hình ảnh cầngiấu rồi phủ sáp ong lên hoặc xăm tin tức lên đầu của người mang tin, để một thờigian cho tóc mọc lại, rồi lại cạo trọc đi khi muốn đọc bản tin đó Trong chiến tranh thếgiới thứ hai, quân đội Đức dùng kỹ thuật này dưới dạng mực không màu Khi kỹ thuậtnày đã trở nên dễ bị phát hiện, người ta đã cải tiến bằng cách dùng những bản tin có

vẻ ngoài hoàn toàn bình thường Người nhận sẽ ghép các từ theo quy luật nào đó sẽnhận được một thông báo bí mật Ngày nay, giấu tin nhận được sự quan tâm của cácnhà nghiên cứu và các viện công nghệ thông tin với hàng loạt công trình nghiên cứugiá trị Cuộc cách mạng số hóa thông tin và sự phát triển nhanh chóng của mạngtruyền thông là nguyên nhân chính dẫn đến sự thay đổi này

“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 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 mang tin giấu Hai mục đíchkhác nhau này dẫn đến hai khuynh hướng chủ yếu của giấu tin Đó là giấu tin mật(Steganography) và thủy vân số (Watermarking)

thuật giấu tin sao cho thông tin được giấu nhiều và quan trọng là người khác khóphát hiện được một đối tượng có giấu tin bên trong hay không

nhằm khẳng định bản quyền sở hữu hay phát hiện xuyên tạc thông tin 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ó nhiều kỹ thuật cho khuynh hướng này

1.1.2 Đặc trưng và tính chất của kỹ thuật giấu tin trong ảnh

Kỹ thuật giấu tin trong ảnh thường chú ý những đặc trưng và các tính chất cơ bản sauđây:

chưa thì khi ta xem ảnh bằng thị giác, dữ liệu ảnh không thay đổi theo thời gian

khác nhau (ảnh đen trắng, ảnh xám, ảnh màu)

- Kỹ thuật giấu tin lợi dụng tính chất hệ thống thị giác của con người: Kỹ thuật giấutin phải đảm bảo một yêu cầu cơ bản là những thay đổi trên ảnh phải rất nhỏ sao

Trang 12

cho bằng mắt thường khó nhận thấy được sự thay đổi.

Các thuật toán thực hiện việc giấu thông tin sẽ được thực hiện trên dữ liệu củaảnh Do vậy mà kích thước ảnh trước hay sau khi giấu thông tin là như nhau

tin trong ảnh Sau khi giấu tin bên trong, ảnh phải đảm bảo được yêu cầu không bịbiến đổi để có thể bị phát hiện dễ dàng so với ảnh gốc

phép biến đổi làm ảnh thay đổi giá trị điểm ảnh thì sẽ làm thông tin giấu bị sailệch Nhờ đặc điểm này mà giấu tin trong ảnh có tác dụng nhận biết và phát hiệnxuyên tạc thông tin

- Vai trò của ảnh gốc sau khi giải tin: các kỹ thuật giấu tin phải xác định rõ ràng quátrình lọc ảnh để lấy thông tin giấu cần ảnh gốc hay không cần

1.1.3 Mô hình kỹ thuật giấu tin trong ảnh cơ bản

Kỹ thuật giấu tin trong ảnh bao gồm 2 quá trình, đó là:

Quá trình 1: Giấu tin vào ảnh

Đầu vào:

- Thông tin giấu: thông tin ở đây có thể là thông điệp, hình ảnh, video, âm thanh…

Đầu ra:

- Ảnh đã được giấu tin

Trang 13

Hình 1.1 Mô hình giấu tin cơ bản.

Quá trình 2: Tách tin từ ảnh giấu tin

Hình 1.2 Mô hình tách tin cơ bản

Trang 14

Đầu vào:

- Ảnh giấu tin

- Khóa che giấu

Đầu ra:

- Thông tin được che giấu

- Ảnh ban đầu (nếu có thể)

Quá trình giải mã được thực hiện thông qua thuật toán/kỹ thuật tách tin tương ứngvới thuật toán/kỹ thuật giấu tin cùng với khóa che giấu của quá trình nhúng Kết quảthu được gồm ảnh đã tách tin và thông tin đã giấu Thông tin đã giấu được kiểm tra

so sánh với thông tin ban đầu

1.2 Yêu cầu và đánh giá chất lượng ảnh sau khi giấu tin

Các yêu cầu đối với giấu tin trong ảnh:

không làm ảnh hưởng tới chất lượng của ảnh chèn tin

ảnh, biến dạng hình học hay các hình thức tấn công cố ý khác

phù hợp mới có thể lấy được tin trong ảnh

Để đánh giá chất lượng của bức ảnh (hay khung ảnh video) ở đầu ra của bộ mã hóa,người ta thường sử dụng hai tham số: Sai số bình phương trung bình – MSE (meansquare error) và phương pháp đề xuất với hệ số tỷ lệ tín hiệu/tín hiệu tạp PSNR (Peak

to Nose Ratio)

MSE giữa ảnh gốc và ảnh khôi phục được tính như sau:

(1-1)

Ở đây: xij biểu thị giá trị điểm ảnh gốc, yij biểu thị giá trị điểm ảnh đã được biến đổi, m

và n lần lượt là chiều rộng và chiều cao của ảnh

PSNR, đơn vị: deciben (dB), thường được sử dụng trong nghiên cứu xử lý hình ảnh:

(1-2)Thông thường, nếu PSNR ≥ 37dB thì hệ thống mắt người gần như không phân biệtđược giữa ảnh gốc và ảnh khôi phục PSNR càng cao thì chất lượng khôi phục càngtốt Khi haihình ảnh giống hệt nhau, MSE sẽ bằng 0 và PSNR đi đến vô hạn

Đối với ảnh màu 4 giá trị ARGB trên 1 pixel, các tính toán cho PSNR tương tự ngoại trừ

Trang 15

việc tính MSE là tổng của 4 giá trị chia cho kích thước của ảnh và chia cho 4.

(1-3)

Trang 16

CHƯƠNG 2 KỸ THUẬT GIẤU TIN ĐỀ XUẤT DỰA TRÊN

PHƯƠNG PHÁP OPVD VÀ HÀM ĐỒNG DƯ

2.1 Cơ sở lý thuyết

2.1.1 Phương pháp Pixel Value Differencing (PVD)

Phương pháp PVD được đề xuất bởi Wu và Tsai[ CITATION WuD03 \l 1033 ] nhằm giấuthông tin mật trong 256 mức xám của ảnh Nó có thể nhúng một lượng lớn dữ liệu

mà không làm giảm chất lượng ảnh và do đó là hầu như không nhận biết được bởimắt người PVD sử dụng sự khác biệt giữa mỗi cặp điểm ảnh để xác định số lượng cácbit của thông điệp có thể nhúng vào mỗi cặp điểm ảnh Nó bắt đầu tại góc trên bêntrái hình ảnh và quét hình ảnh theo hình 2.1 Sau đó nó ngăn chuỗi kết quả thành cáckhối trong đó mỗi khối bao gồm hai điểm ảnh không chồng chéo liên tiếp Khác biệtlớn hơn giữa hai điểm ảnh trong một khối nghĩa là nhiều bit có thể được nhúng hơntrong mỗi cặp điểm ảnh

Hình 2.3 Trình tự xử lý các khối điểm ảnh

Do đó, thay vì chèn một số cố định các bít vào mỗi cặp điểm ảnh, giống như phươngpháp thay thế LSB đã làm, PVD điều chỉnh số bit nhúng với đặc điểm của từng cặpđiểm ảnh Để thực hiện điều đó, phạm vi của mức xám (0, 255) được chia thành các

Trang 17

phạm vi nhỏ hơn và mỗi khoảng ri được phân định bởi giới hạn trên và dưới, tươngứng là ui và li Sau đó, giá trị tuyệt đối khác biệt của mỗi cặp điểm ảnh thuộc mộtphạm vi và số lượng các bit được nhúng vào điểm ảnh được xác định bởi chiều rộngcủa phạm vi này Chiều rộng của phạm vi ri là và số bit được nhúng cho bởi Khoảnggần với 0 có độ rộng nhỏ hơn Mặc dù độ rộng các phạm vi có thể lấy giá trị bất kỳ,người ta thường sử dụng các giá trị là số mũ của 2 và tăng lên khi chúng cách xa giá trị

0 Các tác giả của PVD đã sử dụng hai bộ khác nhau cho các phạm vi:

Bảng 2.1 Bộ phạm vi thứ nhấtPhạm vi 0-1 2-

Lưu ý rằng mỗi bộ bao gồm toàn bộ dải màu xám quy mô của 256 giá trị

Mặc dù PVD có nhiều lợi thế về khả năng nhúng và PSNR, nó vẫn còn một số nhượcđiểm Để nâng cao chất lượng hình ảnh giấu tin của phương pháp PVD, Wang và các

đồng dư Không giống như PVD ban đầu sử dụng sự khác biệt giữa một cặp điểm ảnh,PVD với cách tiếp cận hàm đồng dư điều chỉnh phần còn lại của hai điểm ảnh liên tiếp

để nhúng một số lượng nhất định các bit bí mật Nhưng tương tự như PVD, số bitnhúng trong mỗi cặp điểm ảnh được xác định bởi chiều rộng của phạm vi được tínhbởi giá trị tuyệt đối hiệu 2 điểm ảnh

2.1.2 Phương pháp Overlapping Pixel Value Differencing (OPVD)

Mục tiêu của cách tiếp cận OPVD được đề xuất bởi Chang và các cộng sự[CITATIONCha06 \l 1033 ] là nhằm tăng khả năng nhúng của PVD trong khi vẫn giữ chất lượnghình ảnh chấp nhận được So với phương pháp PVD của Wu và Tsai[ CITATIONWuD03 \l 1033 ], OPVD đạt được hiệu quả nhúng cao hơn, tăng trung bình khoảng84.16% Phương pháp OPVD giấu các dữ liệu bí mật sử dụng trong các điểm ảnh riêngthay vì giấu chúng trong mỗi cặp điểm ảnh sử dụng thay thế LSB Hình 2.2 minhchứng cho khái niệm OPVD và so sánh nó với PVD

Trang 18

Hình 2.4 Sự khác biệt giữa PVD và OPVDNếu sự khác biệt của mỗi cặp điểm ảnh trước và sau khi giấu các dữ liệu bí mật thuộc

về cùng một phạm vi, quá trình nhúng được thực thi Nếu không, các bit bí mật khôngthể nhúng và các điểm ảnh thứ hai được điều chỉnh để chỉ ra tình trạng này Việc điềuchỉnh này đặt sự khác biệt của cặp điểm ảnh đến mốc trên hoặc dưới của phạm vi củachúng Bất kể nhúng hay không, các điểm ảnh thứ hai sẽ là điểm ảnh đầu tiên trongpixel tiếp theo

Mặc dù phương pháp này nhúng được nhiều bit hơn so với PVD, nó vẫn có một lượnglớn điểm ảnh không sử dụng làm giới hạn khả năng nhúng của nó Hơn nữa, sử dụngphương pháp LSB và thủ tục điều chỉnh làm thay đổi biểu đồ ảnh giấu tin Do đó, cáchtiếp cận này có thể dễ dàng bị phát hiện bởi phát hiện giấu tin bằng biểu đồ Phươngpháp đề xuất giảm nhẹ các vấn đề bằng cách làm cho sự khác biệt giữa các cặp điểmảnh nằm trong cùng một phạm vi bằng cách sử dụng hàm đồng dư thay vì thay thếLSB sẽ được giải thích trong phần tiếp theo

2.2 Phương pháp kết hợp OPVD và hàm đồng dư

2.2.1 Ý tưởng thuật toán

Mục tiêu nghiên cứu của El-Sayed M El-Alfy và Azzat A Al-Sadi[CITATION ESM12 \l

OPVD mà không làm giảm chất lượng hình ảnh Để đạt được các mục tiêu này, mộtphương pháp giấu tin dựa trên các điểm ảnh chồng chéo được đề xuất Tương tự nhưOPVD, các phương pháp được đề xuất sử dụng sự khác biệt của một khối gồm haiđiểm ảnh để xác định độ mịn và độ tương phản trong khối đó Sau đó, nó nhúng cáccác bit bí mật vào điểm ảnh thứ hai dựa trên sự khác biệt tính toán Tiếp theo, điểmảnh thứ hai được sử dụng như điểm ảnh đầu tiên trong khối tiếp theo và quá trìnhnày được lặp đi lặp lại Điều này làm tăng khả năng nhúng

Không giống như OPVD bỏ qua quá nhiều điểm ảnh khi nhúng do vượt quá giá trịmức xám, phương pháp được đề xuất khắc phục vấn đề bằng một thủ tục điều chỉnh

vi với sự khác biệt db trước khi nhúng, phương pháp đề xuất có thể hạn chế các điểmảnh không sử dụng tốt hơn Mặc dù điều chỉnh này ảnh hưởng đến giá trị điểm ảnhnhưng nó không làm thay đổi đến giá trị của dữ liệu được nhúng Ngoài ra thay vì sửdụng thay thế LSB trong OPVD, phương pháp này nhúng thông điệp bí mật vào các

Trang 19

điểm ảnh bằng cách thay đổi phần còn lại của các cặp điểm ảnh sử dụng hàm đồng

dư Như vậy, phương pháp này tăng mức độ an ninh hơn LSB và không nhận ra đượctrên biểu đồ ảnh giấu tin

2.2.2 Thuật toán giấu tin

Đầu vào:

Đầu ra:

với i thuộc [0, MxN-1] và thực hiện những bước sau:

Hình 2.5 Quá trình nhúng của phương pháp OPVD và hàm đồng dư

Bước 1: Xét khối Fi có cặp điểm ảnh Pix và Piy

Trang 20

Bước 3: Nhúng ni bit dữ liệu mật vào trong điểm ảnh thứ hai Piy

- Nếu ni > L nhỏ hơn độ dài thông điệp hiện tại thì trích ni bit từ thông điệp

- Ngược lại, nếu ni >L (độ dài thông điệp hiện tại) thì thêm vào sau thông điệp hiệntại một lượng bit 0 để đạt được độ dài ni

- Đổi ni bit vừa được trích từ thông điệp ra số thập phân bi = Fai và tính P’iy theocông thức:

(2-3)

- Trong đó, , và P’iy là giá trị của điểm ảnh thứ hai sau khi nhúng

Bước 4: Điều chỉnh điểm ảnh thứ Piy khối Fi nếu cần

giữa nguyên …Ngược lại, điều chinhr …theo công thức sau:

Kiểm tra sự khác biệt của cặp điểm ảnh sau khi nhúng để đảm bảo có cùng một phạm

vi với dbi Nếu chúng ở hai phạm vi khác nhau, P’iy được điều chỉnh bằng cách cộnghoặc trừ Việc điều chỉnh này sẽ đưa dbi và dai về cùng một phạm vi mà không làm ảnhhưởng tới thông tin bí mật

Bước 5: Tính giá trị của P’yi

kiểm tra giá trị P’yi xem có thuộc khoảng (0, 255)

Sau khi điều chỉnh cho dbi và dai về cùng một phạm vi, giá trị của điểm ảnh có thể nằmngoài khoảng (0, 255) Những điểm ảnh này không sử dụng để nhúng và chúng sẽđược đánh dấu không sử dụng Thực hiện lại từ bước 1 cho tới bước 5 đến khi thôngđiệp kết thúc hoặc ảnh không thể đủ lớn để giấu tin

2.2.3 Thuật toán tách tin

Đầu vào:

Đầu ra:

Quá trình tách tin được thể hiện trong hình 2.4, duyệt ảnh đầu vào theo từng khối Fi

với i thuộc [0, MxN-1] và thực hiện những bước sau:

Trang 21

Bước 1: Xét khối Fi có cặp điểm ảnh Pix và Piy Khởi tạo thông điệp bí mật S=null

Bước 2: Kiểm tra xem Piy có phải điểm ảnh đánh dấu trong quá trình nhúng haykhông Nếu Piy là điểm đánh dấu, bỏ qua điểm này và chuyển sang khối điểm ảnh tiếp

Trang 22

2.3 Ví dụ minh họa

2.3.1 Quá trình giấu tin

Đầu vào: Ma trận 5x5, thông điệp giấu Đầu ra: Ma trận 5x5 chứa thông điệp.

Trang 23

Sử dụng bộ giá trị đánh dấu theo bảng sau:

Bảng 2.3 Bộ giá trị đánh dấu cho ảnh xám

Ký hiệu:

Trang 24

Duyệt ma trận theo các khối Fi với I từ 0-24

Bước 3: Nhúng n1 bit từ thông điệp bí mật vào điểm ảnh thứ hai

- Đổi thông điệp được trích ra hệ thập phân b1 = 58

Bước 5: Kiểm tra xem P’1y có thuộc (0-255) không?

Trang 25

Bước 3: Nhúng n2 bit từ thông điệp bí mật vào điểm ảnh thứ hai

- Đổi thông điệp được trích ra hệ thập phân b2 = 29

- m1 = |Fb2 – b2| = |49 – 29| = 20, m2 = – m1 = 26 – 20 = 44

- Do Fb2 > b2 và m1 <  P’2y = P2y – m1 = 180 – 20 = 160

Bước 4: Kiểm tra db2 và da2 có cùng phạm vi không?

- da2 = |P’2y – P2x| = |160 – 253| = 93

- 93 thuộc (64-127) giống với db2 = 73 thuộc (64-127) Không cần điều chỉnh

Bước 5: Kiểm tra xem P’2y có thuộc (0-255) không?

- P’2y = 160 thuộc (0-255)  P2x+1 = 160

thành điểm ảnh thứ nhất trong khối tiếp theo

Trang 26

Bước 2: Tính db3, Fb3, n3.

- db3 = |P3y – P3x| = |173 – 160| = 13

- 13 thuộc (8-15)  Tra bảng 2.2, ta có n3 = 3

- Fb3 = (P3y + P3x) mod = (173 + 160) mod 23 = 5

Bước 3: Nhúng n3 bit từ thông điệp bí mật vào điểm ảnh thứ hai

- Đổi thông điệp được trích ra hệ thập phân b3 = 0

thành điểm ảnh thứ nhất trong khối tiếp theo

Trang 27

Bước 3: Nhúng n4 bit từ thông điệp bí mật vào điểm ảnh thứ hai

- Đổi thông điệp được trích ra hệ thập phân b4 = 0

- m1 = |Fb4 – b4| = |4 – 0| = 4, m2 = – m1 = 23 – 4 = 4

- Do Fb4 > b4 và m1 =  P’4y = P3y – m1 = 172 – 4 = 168

Bước 4: Kiểm tra db4 và da4 có cùng phạm vi không?

- da4 = |P’4y – P4x| = |168 – 168| = 0

- 0 thuộc (0-7) giống với db4 = 4 thuộc (0-7)  Không cần điều chỉnh

Bước 5: Kiểm tra xem P’4y có thuộc (0-255) không?

- P’4y = 168 thuộc (0-255)  P4x+1 = 168

thành điểm ảnh thứ nhất trong khối tiếp theo

Bước 3: Nhúng n5 bit từ thông điệp bí mật vào điểm ảnh thứ hai

- Đổi thông điệp được trích ra hệ thập phân b5 = 0

- m1 = |Fb5 – b5| = |3 – 0| = 3, m2 = – m1 = 23 – 3 = 5

Trang 28

- Do Fb5 > b5 và m1 <  P’5y = P5y – m1 = 163 – 3 = 160.

Bước 4: Kiểm tra db5 và da5 có cùng phạm vi không?

- da5 = |P’5y – P5x| = |160 – 168| = 8

- 8 thuộc (8-15) khác với db5 = 5 thuộc (0-7)  P’5y = P’5y + = 160 + 23 = 168

Bước 5: Kiểm tra xem P’5y có thuộc (0-255) không?

- P’5y = 168 thuộc (0-255)  P5x+1 = 168

thành điểm ảnh thứ nhất trong khối tiếp theo

Bước 3: Nhúng n6 bit từ thông điệp bí mật vào điểm ảnh thứ hai

- Đổi thông điệp được trích ra hệ thập phân b6 = 3

- m1 = |Fb6 – b6| = |15 – 3| = 12, m2 = – m1 = 24 – 12 = 4

- Do Fb6 > b6 và m1 >  P’6y = P6y + m2 = 151 + 4 = 155

Bước 4: Kiểm tra db6 và da6 có cùng phạm vi không?

- da6 = |P’6y – P6x| = |155 – 168| = 13

Trang 29

- 13 thuộc (8-15) khác db6 = 17 thuộc (16-31)  P’6y = P’6y – = 155 – 24 = 139.

Bước 5: Kiểm tra xem P’6y có thuộc (0-255) không?

- P’6y = 139 thuộc (0-255)  P6x+1 = 139

thành điểm ảnh thứ nhất trong khối tiếp theo

Bước 3: Nhúng n7 bit từ thông điệp bí mật vào điểm ảnh thứ hai

- Đổi thông điệp được trích ra hệ thập phân b7 = 8

- m1 = |Fb7 – b7| = |31 – 8| = 23, m2 = – m1 = 25 – 23 = 9

- Do Fb7 > b7 và m1 >  P’7y = P7y + m2 = 180 + 9 = 189

Bước 4: Kiểm tra db7 và da7 có cùng phạm vi không?

- da7 = |P’7y – P7x| = |189 – 139| = 50

- 50 thuộc (32-63) giống với db7 = 41 thuộc (32-63)  Không cần điều chỉnh

Bước 5: Kiểm tra xem P’7y có thuộc (0-255) không?

- P’7y = 189 thuộc (0-255)  P7x+1 = 189

Trang 30

- Binary message: : 00000000 1110110100011110

thành điểm ảnh thứ nhất trong khối tiếp theo

Bước 3: Nhúng n8 bit từ thông điệp bí mật vào điểm ảnh thứ hai

- Đổi thông điệp được trích ra hệ thập phân b8 = 0

- m1 = |Fb8 – b8| = |4 – 0| = 4, m2 = – m1 = 24 – 4 = 12

- Do Fb8 > b8 và m1 <  P’8y = P8y – m1 = 167 – 4 = 163

Bước 4: Kiểm tra db8 và da8 có cùng phạm vi không?

- da8 = |P’8y – P8x| = |163 – 189| = 26

- 26 thuộc (16-31) giống với db8 = 22 thuộc (16-31)  Không cần điều chỉnh

Bước 5: Kiểm tra xem P’8y có thuộc (0-255) không?

- P’8y = 163 thuộc (0-255)  P8x+1 = 163

thành điểm ảnh thứ nhất trong khối tiếp theo

Trang 31

Bước 3: Nhúng n9 bit từ thông điệp bí mật vào điểm ảnh thứ hai

- Đổi thông điệp được trích ra hệ thập phân b9 = 0

- m1 = |Fb9 – b9| = |5 – 0| = 5, m2 = – m1 = 23 – 5 = 3

- Do Fb9 > b9 và m1 >  P’9y = P9y + m2 = 170 + 3 = 173

Bước 4: Kiểm tra db9 và da9 có cùng phạm vi không?

- da9 = |P’9y – P9x| = |173 – 163| = 10

- 10 thuộc (8-15) khác với db9 = 7 thuộc (0-7)  P’9y = P’9y – = 173 – 23 = 165

Bước 5: Kiểm tra xem P’9y có thuộc (0-255) không?

- P’9y = 165 thuộc (0-255)  P9x+1 = 165

thành điểm ảnh thứ nhất trong khối tiếp theo

11

Trang 32

- Fb10 = (P10y + P10x) mod = (173 + 165) mod 23 = 2.

Bước 3: Nhúng n10 bit từ thông điệp bí mật vào điểm ảnh thứ hai

- Đổi thông điệp được trích ra hệ thập phân b10 = 3

- m1 = |Fb10 – b10| = |2 – 3| = 1, m2 = – m1 = 23 – 1 = 7

- Do Fb10 < b10 và m1 <  P’10y = P10y + m1 = 173 + 1 = 174

Bước 4: Kiểm tra db10 và da10 có cùng phạm vi không?

- da10 = |P’10y – P10x| = |174 – 165| = 9

- 9 thuộc (8-15) giống với db10 = 8 thuộc (8-15)  Không cần điều chỉnh

Bước 5: Kiểm tra xem P’10y có thuộc (0-255) không?

- P’10y = 174 thuộc (0-255)  P10x+1 = 174

thành điểm ảnh thứ nhất trong khối tiếp theo

11

16

Trang 33

- Fb11 = (P11y + P11x) mod = (110 + 174) mod 26 = 28.

Bước 3: Nhúng n11 bit từ thông điệp bí mật vào điểm ảnh thứ hai

- Đổi thông điệp được trích ra hệ thập phân b11 = 45

- m1 = |Fb11 – b11| = |28 – 45| = 17, m2 = – m1 = 26 – 17 = 47

- Do Fb11 < b11 và m1 <  P’11y = P11y + m1 = 110 + 17 = 127

Bước 4: Kiểm tra db11 và da11 có cùng phạm vi không?

- da11 = |P’11y – P11x| = |127 – 174| = 47

- 47 thuộc (31-63) ≠ db11 = 64 thuộc (64-127)  P’11y = P’11y – = 127 – 26 = 63

Bước 5: Kiểm tra xem P’11y có thuộc (0-255) không?

- P’11y = 63 thuộc (0-255)  P11x+1 = 63

thành điểm ảnh thứ nhất trong khối tiếp theo

Trang 34

- Fb12 = (P12y + P12x) mod = (63 + 127) mod 26 = 62.

Bước 3: Nhúng n12 bit từ thông điệp bí mật vào điểm ảnh thứ hai

- Đổi thông điệp được trích ra hệ thập phân b12 = 7

- m1 = |Fb12 – b12| = |62 – 7| = 55, m2 = – m1 = 26 – 55 = 9

- Do Fb12 > b12 và m1 >  P’12y = P12y + m2 = 127 + 9 = 136

Bước 4: Kiểm tra db12 và da12 có cùng phạm vi không?

- da12 = |P’12y – P12x| = |136 – 63| = 73

- 73 thuộc (64-127) giống với db12 = 64 thuộc (64-127)  Không cần điều chỉnh

Bước 5: Kiểm tra xem P’12y có thuộc (0-255) không?

- P’12y = 136 thuộc (0-255)  P12x+1 = 136

thành điểm ảnh thứ nhất trong khối tiếp theo

Trang 35

- Fb13 = (P13y + P13x) mod = (173 + 136) mod 25 = 21.

Bước 3: Nhúng n13 bit từ thông điệp bí mật vào điểm ảnh thứ hai

bit 0 để đạt được độ dài cần thiết  Thông điệp nhúng: 10000

- Đổi thông điệp được trích ra hệ thập phân b13 = 16

- m1 = |Fb13 – b13| = |21 – 16| = 5, m2 = – m1 = 25 – 5 = 27

- Do Fb13 > b13 và m1 <  P’13y = P13y – m1 = 173 – 5 = 168

Bước 4: Kiểm tra db13 và da13 có cùng phạm vi không?

- da13 = |P’13y – P13x| = |168 – 136| = 32

- 32 thuộc (31-63) giống với db13 = 37 thuộc (31-63)  Không cần điều chỉnh

Bước 5: Kiểm tra xem P’13y có thuộc (0-255) không?

Trang 36

Ta có ma trận sau khi giấu tin:

Đầu vào: Ma trận 5x5 mang thông điệp ẩn.

Đầu ra: Thông điệp ẩn trong ma trận.

Sử dụng bộ phạm vi, bộ giá trị đánh dấu và cách duyệt giống như lúc giấu tin

Ký hiệu:

Trang 37

122 102 174 135 10

0Xét khối F1:

Bước 1: Lấy 2 pixel P1x = 110 và P1y = 253

Bước 2: Xét xem P1y có bị đánh dấu không?

- P1y = 253 là điểm đánh dấu  bỏ qua, chuyển sang khối tiếp theo.Xét khối F2:

Trang 38

Bước 1: Lấy 2 pixel P2x = 253 và P2y = 160

Bước 2: Xét xem P2y có bị đánh dấu không?

- P2y = 160 không phải điểm đánh dấu

Bước 3: Tính da2, Fa2, n2

- da2 = |P2y – P2x| = |160 – 253| = 93

- 93 thuộc (64-127)  Tra bảng 2.2, ta có n2 = 6

- Fa2 = (P2y + P2x) mod = (160 + 253) mod 26 = 29

Bước 4: Chuyển đổi Fa2 = b2 từ thập phân sang nhị phân độ dài n2

- b2 = 29 và n2 = 6  Thông điệp được trích: 011101

Bước 1: Lấy 2 pixel P3x = 160 và P3y = 168

Bước 2: Xét xem P3y có bị đánh dấu không?

- P3y = 168 không phải điểm đánh dấu

Bước 3: Tính da3, Fa3, n3

- da3 = |P3y – P3x| = |168 – 160| = 8

- 8 thuộc (8-15)  Tra bảng 2.2, ta có n3 = 3

- Fa3 = (P3y + P3x) mod = (168 + 160) mod 23 = 0

Trang 39

Bước 4: Chuyển đổi Fa3 = b3 từ thập phân sang nhị phân độ dài n3

- b3 = 0 và n3 = 3  Thông điệp được trích: 000

Trang 40

Bước 1: Lấy 2 pixel P4x = 168 và P4y = 168

Bước 2: Xét xem P4y có bị đánh dấu không?

- P4y = 168 không phải điểm đánh dấu

Bước 3: Tính da4, Fa4, n4

- da4 = |P4y – P4x| = |168 – 168| = 0

- 0 thuộc (0-7)  Tra bảng 2.2, ta có n4 = 3

- Fa4 = (P4y + P4x) mod = (168 + 168) mod 23 = 0

Bước 4: Chuyển đổi Fa4 = b4 từ thập phân sang nhị phân độ dài n4

- b4 = 0 và n4 = 3  Thông điệp được trích: 000

Bước 1: Lấy 2 pixel P5x = 168 và P5y = 168

Bước 2: Xét xem P5y có bị đánh dấu không?

Ngày đăng: 28/09/2019, 10:41

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w