1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giấu tin trong ảnh bằng thuật toán wu lee và lsb

39 14 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

Tiêu đề Giấu Tin Trong Ảnh Bằng Thuật Toán Wu-Lee Và Lsb
Tác giả Nguyễn Thị Hằng
Người hướng dẫn Th.s Lê Văn Thành
Trường học Đại học Vinh
Chuyên ngành Công nghệ thông tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2014
Thành phố Nghệ An
Định dạng
Số trang 39
Dung lượng 1,67 MB

Cấu trúc

  • CHƯƠNG 1. MỘT SỐ KHÁI NIỆM TỔNG QUAN (8)
    • 1.1. Tổng quan về kỹ thuật giấu tin (8)
      • 1.1.1. Sơ lƣợc về lịch sử giấu tin (8)
      • 1.1.2. Khái niệm giấu tin (8)
    • 1.2. Môi trường giấu tin (8)
      • 1.2.1. Giấu tin trong ảnh (8)
      • 1.2.2. Giấu tin trong Audio (9)
      • 1.2.3. Giấu tin trong video (9)
      • 1.2.4. Giấu thông tin trong văn bản dạng text (10)
    • 1.3. Các yêu cầu đối với giấu tin trong ảnh (10)
    • 1.4. Kỹ thuật giấu tin (10)
      • 1.4.1. Phân loại các kỹ thuật giấu tin (10)
      • 1.4.2. Mô hình kỹ thuật giấu tin cơ bản (11)
      • 1.4.3. Đặc trƣng của kỹ thuật giấu tin trong ảnh (12)
      • 1.4.4. Các phương pháp giấu tin (13)
    • 1.5. Một số thuật toán giấu tin cơ bản trong ảnh (14)
      • 1.5.1. Giấu tin theo khối bit (14)
      • 1.5.2. Giấu tin dựa vào sự biến đổi lƣợc đồ của ảnh (14)
      • 1.5.3. Giấu tin theo bit có trọng số thấp (14)
    • 1.6. Các ứng dụng của kỹ thuật giấu tin (15)
      • 1.6.1. Ứng dụng của thủy vân số (15)
      • 1.6.2. Ứng dụng của giấu tin mật (15)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT VÀ THUẬT TOÁN GIẤU TIN (15)
    • 2.1. Cơ sở lý thuyết (16)
      • 2.1.1. Cấu trúc ảnh bitmap (16)
    • 2.2. Thuật toán giấu tin (20)
      • 2.2.1. Thuật toán Wu-Lee (20)
      • 2.2.2. Thuật toán LSB (Least Significant Bit) (25)
    • 2.3. So sánh giữa 2 thuật toán: Wu-Lee và LSB (28)
  • CHƯƠNG 3. XÂY DỰNG CHƯƠNG TRÌNH THỰC NGHIỆM (29)
    • 3.1. Giao diện hệ thống (29)
      • 3.1.1. Giao diện các chức năng và modul chính (29)
    • 3.2. Giao diện giới thiệu (37)
  • KẾT LUẬN (38)
  • TÀI LIỆU THAM KHẢO (39)

Nội dung

MỘT SỐ KHÁI NIỆM TỔNG QUAN

Tổng quan về kỹ thuật giấu tin

1.1.1 Sơ lƣợc về lịch sử giấu tin Ý tưởng về che giấu thông tin đã có từ hàng nghìn năm về trước nhưng kỹ thuật này đƣợc dùng chủ yếu trong quân đội và trong các cơ quan tình báo Mãi cho tới vài thập niên gần đây, giấu thông tin mới nhận đƣợc sự quan tâm của các nhà nghiên cứu và các viện công nghệ thông tin với rất nhiều công trình nghiên cứu Cuộc sống 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 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 trên mạng của các dữ liệu đa phương tiện đã sinh ra những vấn đề nhức nhối về nạn ăn cắp bản quyền, phân phối bất hợp pháp, xuyên tạc trái phép… đây là lúc công nghệ giấu tin đƣợc chú ý và phát triển

"Giấu thông tin" hay "giấu tin" là kỹ thuật nhúng thông tin số vào một đối tượng dữ liệu số khác nhằm bảo mật cho dữ liệu được giấu và bảo vệ đối tượng mang thông tin Kỹ thuật này chia thành hai loại chính: giấu tin mật (Steganography) và thủy vân số (Watermarking).

Giấu tin trong đa phương tiện là phương pháp sử dụng "đồ dư thừa" của phương tiện để ẩn giấu thông tin, giúp người ngoài khó phát hiện ra sự tồn tại của dữ liệu bên trong.

Môi trường giấu tin

Giấu tin trong ảnh, audio, video và văn bản là các phương pháp phổ biến hiện nay Trong đó, giấu tin trong ảnh đang chiếm tỷ lệ lớn nhất trong hệ thống giấu tin đa phương tiện.

Giấu tin trong ảnh đang trở thành một xu hướng quan trọng, đặc biệt trong các ứng dụng bảo vệ thông tin như xác thực, phát hiện thông tin sai lệch và bảo vệ bản quyền Kỹ thuật này cho phép thông tin được ẩn bên trong dữ liệu ảnh mà không làm giảm chất lượng hình ảnh, giúp người dùng khó nhận ra sự tồn tại của thông tin ẩn Khi ảnh số ngày càng phổ biến, việc giấu thông tin trong ảnh mang lại nhiều ứng dụng thiết thực trong đời sống xã hội.

Phần mềm Microsoft WinWord cho phép người dùng lưu chữ ký trong định dạng ảnh nhị phân và gắn chúng vào vị trí cụ thể trong file văn bản, giúp bảo vệ tính an toàn của thông tin.

Thông tin có thể được giấu kín một cách tinh vi, cho phép truyền tải thông tin mật mà không ai hay biết Sau khi thực hiện việc giấu thông tin, chất lượng hình ảnh gần như không bị ảnh hưởng, đặc biệt đối với ảnh màu và ảnh xám.

Kỹ thuật giấu thông tin trong audio khác với kỹ thuật giấu thông tin trong ảnh, vì nó dựa vào hệ thống thính giác của con người (HAS) thay vì hệ thống thị giác (HSV) Con người có khả năng phát hiện sự khác biệt giữa các giải tần và công suất âm thanh rất kém, điều này cho phép âm thanh to và cao tần dễ dàng che giấu âm thanh nhỏ và thấp tần.

Giấu tin trong audio gặp nhiều khó khăn do ảnh hưởng của kênh truyền tin và băng thông chậm, điều này có thể làm giảm chất lượng thông tin sau khi giấu Quy trình này yêu cầu tính đồng bộ và an toàn thông tin cao Các phương pháp giấu tin thường khai thác những điểm yếu trong hệ thống thính giác của con người.

Giấu tin trong video, tương tự như trong ảnh và audio, đang ngày càng được chú trọng và phát triển mạnh mẽ Công nghệ này có nhiều ứng dụng quan trọng, bao gồm điều khiển truy cập thông tin, nhận thức thông tin và bảo vệ bản quyền tác giả.

Phương pháp giấu tin trong video do Cox đề xuất là phương pháp phân bố đều, với ý tưởng cơ bản là phân phối thông tin giấu theo tần số của dữ liệu gốc Nhiều nhà nghiên cứu đã sử dụng các hàm cosin riêng và hệ số truyền sóng riêng để thực hiện việc này Trước đây, các thuật toán chủ yếu cho phép giấu ảnh vào video, nhưng gần đây, các kỹ thuật mới đã phát triển để giấu cả âm thanh và hình ảnh vào video.

1.2.4 Giấu thông tin trong văn bản dạng text

Việc giấu thông tin trong văn bản dạng text gặp nhiều khó khăn do thiếu thông tin dư thừa Để thực hiện điều này, cần khéo léo khai thác các yếu tố dư thừa tự nhiên của ngôn ngữ Một phương pháp khác là sử dụng các định dạng văn bản, chẳng hạn như mã hóa thông tin vào khoảng cách giữa các từ hoặc các dòng văn bản.

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

- Tính ẩn của giấu tin đƣợc chèn vào ảnh: Sự hiện diện của giấu tin trong ảnh không làm ảnh hưởng tới chất lượng của ảnh đã chèn tin

Tính bền của giấu tin cho phép thông tin tồn tại qua các phép biến đổi ảnh, biến dạng hình học, và các hình thức tấn công cố ý khác.

- Tính an toàn: Chỉ có bên nhận đƣợc cấp một khóa và bằng các kỹ thuật tách ảnh phù hợp mới có thể lấy đƣợc tin trong ảnh.

Kỹ thuật giấu tin

1.4.1 Phân loại các kỹ thuật giấu tin

Kỹ thuật giấu tin số đang trong giai đoạn phát triển chưa ổn định, với nhiều cách phân loại khác nhau dựa trên các tiêu chí đa dạng Theo Fabien A.P.Petitcolas vào năm 1999, lĩnh vực này có thể được chia thành hai hướng chính: giấu tin mật và giấu tin thủy vân số.

Giấu tin mật nhằm bảo vệ và bảo đảm an toàn cho thông tin, thông qua các kỹ thuật giấu thông tin hiệu quả, giúp người khác khó phát hiện sự tồn tại của tin được giấu Hơn nữa, nếu có ai đó phát hiện ra tin giấu, việc giải mã cũng trở nên khó khăn Đồng thời, cần xem xét vấn đề về lượng thông tin được giấu để đảm bảo tính khả thi và an toàn.

Thủy vân số được chia thành hai loại chính: thủy vân dễ vỡ và thủy vân bền vững Thủy vân dễ vỡ có đặc điểm là thông tin giấu sẽ bị sai lệch nếu có bất kỳ sự thay đổi nào trong môi trường chứa tin Ngược lại, thủy vân bền vững chú trọng đến việc nhúng tin với yêu cầu độ bền cao, đảm bảo thông tin không bị ảnh hưởng bởi các biến đổi thông thường trong môi trường.

Hình 1.1: Phân loại các kỹ thuật giấu tin

1.4.2 Mô hình kỹ thuật giấu tin cơ bản Để thực hiện giấu tin cần xây dựng đƣợc các thủ tục giấu tin Các thủ tục này sẽ thực hiện nhúng thông tin cần giấu vào môi trường giấu tin Các thủ tục giấu tin thường được thực hiện với một khóa giống như trong các hệ mật mã để tăng tính bảo mật Sau khi giấu tin ta thu đƣợc thông tin giấu và có thể phân phối đối tƣợng đó trên kênh thông tin

Giấu thông tin vào phương tiện chứa và tách lấy thông tin là hai quá trình ngược lại, có thể được mô tả qua sơ đồ khối của hệ thống.

Hình 1.2: Lược đồ chung cho quá trình giấu tin

Hình 2 biểu diễn quá tình giấu tin cơ bản Trong đó:

 Thông tin cần giấu tùy theo mục đích của người sử dụng, nó có thể là các thông điệp, các logo, hình ảnh bản quyền…

 Thông tin được giấu vào trong phương tiện chứa tin nhờ một bộ nhúng Phương tiện chứa tin có thể bao gồm: văn bản, ảnh, audio, video…

 Bộ nhúng là chương trình theo thuật toán giấu tin và được thực hiện với một khóa bí mật giống nhƣ trong hệ mật mã

 Đầu ra của chương trình giấu tin là phương tiện chứa đã được giấu tin Các phương tiện này có thể được phân phối trên mạng

Tách thông tin từ các phương tiện chứa diễn ra theo quy trình ngược lại, với đầu ra là các thông tin có thể được sử dụng và quản lý theo nhiều yêu cầu khác nhau.

Hình 1.3: Lược đồ chung cho quá trình giải mã

Sau khi nhận diện phương tiện chứa thông tin đã được giấu, quá trình giải mã sẽ được thực hiện bằng bộ giải mã tương ứng với bộ nhúng thông tin và khóa của quá trình nhúng Kết quả thu được bao gồm phương tiện chứa gốc, thông tin đã giấu và khóa nhúng Tiếp theo, thông tin đã giấu sẽ được xử lý và kiểm định để so sánh với thông tin ban đầu.

1.4.3 Đặc trƣng của kỹ thuật giấu tin trong ảnh

Khi giấu thông tin trong ảnh, dữ liệu được ẩn giấu mà không làm giảm chất lượng hình ảnh, khiến cho việc phát hiện thông tin bí mật gần như không thể Phương pháp này cho phép truyền tải thông tin mật một cách an toàn, vì hình ảnh vẫn giữ nguyên vẻ bề ngoài bình thường, không ai có thể nhận ra rằng có thông tin được giấu kín bên trong.

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:

Phương tiện chứa dữ liệu tri giác tĩnh là loại dữ liệu không thay đổi theo thời gian, như hình ảnh, mà không giống với dữ liệu âm thanh hay video, vốn liên tục biến đổi theo cảm nhận của con người Khi xem hình ảnh, dù có thông tin ẩn hay không, dữ liệu vẫn giữ nguyên, tạo ra sự khác biệt rõ rệt so với các dạng dữ liệu động.

 Kỹ thuật giấu phụ thuộc ảnh: Kỹ thuật giấu tin khác nhau tùy theo các loại ảnh khác nhau (ảnh đen trắng, ảnh xám, ảnh màu)

Kỹ thuật giấu tin dựa vào đặc điểm hệ thống thị giác của con người yêu cầu rằng các thay đổi trên ảnh phải rất nhỏ, để mắt thường khó nhận thấy Điều này đảm bảo tính an toàn cho thông tin được giấu, giúp bảo vệ dữ liệu hiệu quả hơn.

Giấu thông tin trong ảnh mà không làm thay đổi kích thước ảnh là một quá trình thực hiện các thuật toán trên dữ liệu ảnh, bao gồm phần header, bảng màu và dữ liệu ảnh Kết quả là kích thước của ảnh vẫn giữ nguyên trước và sau khi thông tin được giấu.

Để đảm bảo hiệu quả của việc giấu tin trong ảnh, chất lượng hình ảnh sau khi giấu tin là yếu tố quan trọng Ảnh phải giữ nguyên trạng thái, không bị biến đổi để tránh việc dễ dàng bị phát hiện so với bản gốc.

Thông tin được giấu trong ảnh có thể bị biến đổi nếu ảnh trải qua bất kỳ thay đổi nào, do phương pháp giấu thông tin dựa trên việc điều chỉnh các giá trị bit theo quy tắc nhất định Khi các bit này bị thay đổi, thông tin được giấu sẽ bị sai lệch Từ đặc điểm này, việc giấu tin trong ảnh không chỉ giúp bảo vệ thông tin mà còn có khả năng nhận biết và phát hiện những sự xuyên tạc thông tin.

Ảnh gốc đóng vai trò quan trọng trong việc giải mã thông tin, bởi các kỹ thuật giấu tin cần xác định rõ liệu quá trình lọc ảnh có cần sử dụng ảnh gốc hay không để thu thập thông tin ẩn.

1.4.4 Các phương pháp giấu tin

 Các phương pháp giấu tin trong ảnh hiện nay đều phụ thuộc vào một trong ba nhóm:

Phương pháp giấu tin trong miền quan sát là kỹ thuật sử dụng để nhúng từng bit của thông tin mật vào các pixel của ảnh Bằng cách thay đổi các bit có trọng số thấp, phương pháp này đảm bảo rằng chất lượng ảnh không bị ảnh hưởng đáng kể, đồng thời khiến cho sự thay đổi trở nên khó nhận biết đối với mắt người.

- Các phương pháp dựa vào kỹ thuật biến đổi ảnh, ví dụ biến đổi từ miền không gian sang miền tần số

- Các phương pháp sử dụng mặt nạ che giấu

 Nếu phân chia các phương pháp theo định dạng ảnh thì ảnh có hai nhóm chính:

- Nhóm phương pháp phụ thuộc định dạng ảnh

- Nhóm phương pháp độc lập với định dạng ảnh

Một số thuật toán giấu tin cơ bản trong ảnh

1.5.1 Giấu tin theo khối bit

Giấu thông tin trong miền không gian chủ yếu dựa vào các thuật toán giấu tin theo khối bit, trong đó ý tưởng chính là chia miền không gian ảnh thành các khối m*n để nhúng thông tin Để thực hiện việc này, cần biến đổi các khối sao cho đạt được một bất biến nào đó Tuy nhiên, nếu đối phương đã nắm rõ thuật toán giấu tin theo khối bit, thì mức độ an toàn của thông tin chỉ phụ thuộc vào chỉ số m và n của từng khối ảnh, dẫn đến độ bảo mật của thuật toán này không cao.

1.5.2 Giấu tin dựa vào sự biến đổi lƣợc đồ của ảnh

Chúng tôi xây dựng lược đồ (Histogram) của ảnh để thu thập thông tin chi tiết về hình ảnh Dựa vào lược đồ này, chúng tôi phát triển phương pháp giấu tin vào ảnh một cách hiệu quả.

1.5.3 Giấu tin theo bit có trọng số thấp

Phương pháp giấu tin đơn giản này cho phép nhúng từng bit vào các bit có trọng số thấp, mang lại hiệu quả cao Tuy nhiên, do tính đơn giản của nó, phương pháp này không đảm bảo an toàn cao.

Các ứng dụng của kỹ thuật giấu tin

1.6.1 Ứng dụng của thủy vân số

Bảo vệ bản quyền tác giả là ứng dụng cơ bản nhất của kỹ thuật thủy vân số, trong đó thông tin quyền sở hữu được nhúng vào sản phẩm Thủy vân này chỉ có duy nhất người chủ sở hữu hợp pháp sở hữu và được sử dụng như minh chứng cho bản quyền Yêu cầu kỹ thuật cho ứng dụng này là thủy vân phải tồn tại bền vững cùng sản phẩm, và để loại bỏ thủy vân mà không có sự cho phép của chủ sở hữu, sản phẩm chỉ có thể bị phá hủy.

 Xác thực thông tin hay xuyên tạc thông tin

Thông tin sẽ được ẩn giấu trong phương tiện chứa để kiểm tra tính nguyên vẹn của phương tiện gốc Thủy vân cần được che giấu để tránh sự chú ý từ kẻ thù, đồng thời việc làm giả thủy vân hoặc xuyên tạc thông tin cũng cần được xem xét Trong thực tế, mục tiêu là xác định vị trí bị thay đổi và phân biệt các thay đổi Yêu cầu chung cho các ứng dụng là khả năng giấu thông tin cao mà không cần đảm bảo tính bền vững của thủy vân.

 Giấu vân tay hay dán nhãn

Thủy vân trong ứng dụng này được sử dụng để xác định danh tính của người gửi hoặc người nhận thông tin Ứng dụng yêu cầu đảm bảo mức độ an toàn cao cho thủy vân.

Thủy vân được sử dụng để kiểm soát sao chép thông tin, với thiết bị phát hiện thường được tích hợp trong hệ thống đọc ghi Ứng dụng này yêu cầu thủy vân phải được bảo mật và sử dụng phương pháp phát hiện thủy vân ẩn mà không cần thông tin gốc.

1.6.2 Ứng dụng của giấu tin mật

Trong trường hợp này, việc tối đa hóa thông tin giấu là rất quan trọng, và việc tách thông tin để nhận được nội dung giấu không yêu cầu phải có phương tiện chứa ban đầu Các yêu cầu về tính bền vững không cần thiết lắm; điều quan trọng hơn là thông tin giấu phải đảm bảo tính bí mật và giảm thiểu thời gian truyền tải trên đường truyền.

CƠ SỞ LÝ THUYẾT VÀ THUẬT TOÁN GIẤU TIN

Cơ sở lý thuyết

Cấu trúc file bitmap, hay BMP (Windows bitmap), là một định dạng tập tin hình ảnh phổ biến với đuôi BMP hoặc DIB Tập tin BMP có số bit trên mỗi điểm ảnh (bit per pixel) ký hiệu là n, với giá trị n càng lớn thì ảnh càng nhiều màu và rõ nét hơn Các giá trị tiêu biểu của n bao gồm 1 (đen trắng), 4 (16 màu), 8 (256 màu), 16 (65536 màu) và 24 (16 triệu màu), trong đó ảnh BMP 24-bit có chất lượng hình ảnh trung thực nhất Chiều cao và chiều rộng của ảnh được xác định bởi số điểm ảnh, và đặc điểm nổi bật của định dạng BMP là không sử dụng thuật toán nén, với các điểm ảnh được ghi trực tiếp vào tập tin.

Hình ảnh lưu dưới dạng BMP thường có kích thước lớn, do đó ảnh Bitmap, với phần mở rộng BMP, là định dạng do Microsoft đề xuất và được sử dụng rộng rãi trên máy tính và thiết bị điện tử Ảnh bitmap được chia thành ba loại: ảnh nhị phân (đen trắng), ảnh đa mức xám và ảnh màu Ảnh đen trắng chỉ có hai trạng thái 0 và 1 để biểu thị điểm ảnh đen hoặc trắng.

Ảnh đa mức xám là loại ảnh trong đó mỗi điểm ảnh được thể hiện bằng một giá trị tương ứng với cường độ ánh sáng của nó Ví dụ về ảnh đen trắng cho thấy sự khác biệt trong các mức độ sáng tối của từng điểm ảnh.

Hình 2.2: Ví dụ về ảnh xám Ảnh màu: Là ảnh mà mỗi điểm ảnh đƣợc biểu diễn bởi ba đại lƣợng R, G, B

Loại ảnh này có thể chứa đến 16.777.216 màu khác nhau (265^3), nhưng số lượng màu thực tế thường nhỏ hơn Để tiết kiệm bộ nhớ, các ảnh với số lượng màu dưới 256 được lưu trữ dưới dạng bảng màu Ngược lại, ảnh có số màu lớn không sử dụng bảng màu, mà lưu trữ giá trị của các điểm ảnh dưới dạng các thành phần màu R, G, B Tùy thuộc vào chất lượng ảnh, mỗi màu thường được biểu diễn bằng 24 bit hoặc 32 bit Trong trường hợp ảnh 24 bit, mỗi thành phần màu được mã hóa bằng một byte (8 bit).

Hình 2.3: Ví dụ về ảnh màu Ảnh Bitmap được lưu trữ dưới dạng nhị phân, một tệp dạng bitmap được chia thành các phần cơ bản nhƣ sau:

- Phần tiêu đề tệp (Bitmap header): Mô tả thông tin chung về tệp định dạng bitmap, độ lớn của phần này cố định với mọi tệp bitmap

- Thông tin về ảnh (Bitmap infor): Mô tả thông tin về ảnh được lưu trữ, độ lớn của phần này cố định

Bảng màu trong ảnh bitmap có thể có kích thước bằng 0 đối với ảnh đen trắng, trong khi ảnh màu có thể chứa nhiều hơn 256 màu.

Vùng dữ liệu chứa thông tin chi tiết về từng điểm ảnh trong ảnh, với kích thước của nó phụ thuộc vào kích thước tổng thể của bức ảnh Dữ liệu được lưu trữ theo hướng từ dưới lên trên và từ trái sang phải.

Thứ tự được lưu trữ trong bộ nhớ như sau: Bitmap Header-> Bitmap Infor-> Palette Table-> Data

Kiểu tệp, độ lớn và một số thông tin liên quan đến tệp

Bảng 2.1: Ý nghĩa từng trường trong vùng Bitmap Header

Offset(byte) Giá trị Ý nghĩa

3->6 Unsigned long Kích thước tệp

11-> 14 Unsigned long Địa chỉ phần dữ liệu

Trong phần Bitmap Header, thông tin về độ dài tệp rất quan trọng đối với mọi chương trình Tuy nhiên, thực tế cho thấy một số tệp có thông tin này không chính xác Vì vậy, báo cáo đề xuất cách tính kích thước tệp bitmap bằng công thức cụ thể.

Kích thước tệp hình ảnh (Têp_Size) được tính bằng tổng kích thước của tiêu đề bitmap, thông tin bitmap và dữ liệu Địa chỉ của vùng dữ liệu có thể xác định thông qua công thức: Địa chỉ vùng Data = 54 + Kích thước của 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, giá trị địa chỉ cố định là 54.

Phần Bitmap Info chứa thông tin về ảnh, được lưu trữ trong tệp với kích thước cố định là 40 byte Ý nghĩa và giá trị của từng trường trong vùng Bitmap Info được mô tả chi tiết trong bảng.

Bảng 2.2: Ý nghĩa của từng trường trong vùng Bitmap Infor

Offset(byte) Giá trị Ý nghĩa

1->4 40 Số lƣợng byte của vùng bitmap info

5->8 Unsigned long Độ rộng của ảnh tính theo pixel

9->12 Unsigned long Độ cao của ảnh tính theo pixel

15->16 Unsigned long Số bit để biểu biễn 1 pixel

21->24 Unsigned long Độ lớn của ảnh(byte)

25->28 Unsigned long Độ phân giải cua rảnh theo chiều ngang 29->32 Unsigned long Độ phân giải của ảnh theo chiều dọc

33->36 Unsigned long Số lƣợng màu trong bảng màu

37->40 Unsigned long Số màu quan trọng

Bảng màu là tập hợp các màu sử dụng trong ảnh, với mỗi màu được gọi là một entry và được lưu trữ bằng 4 byte Mỗi thành phần màu (B, G, R) được lưu trữ bằng một byte, trong khi một byte còn lại được dành cho mục đích dự trữ Kích thước của bảng màu có thể được tính theo công thức cụ thể.

Sizeof(Pallete Table) = (Number color) *4

Vùng dữ liệu ảnh là tổng hợp giá trị của các điểm ảnh, với kích thước phụ thuộc vào chiều rộng, chiều cao và kiểu ảnh Đối với ảnh 8 bits màu, công thức tính toán cụ thể sẽ được áp dụng để xác định vùng dữ liệu.

Với ảnh có số màu lớn hơn 256 ta có công thức:

Sizeof(Data)=Width*Heigh*Bit_Number_of_Pixel

Trong vùng Data, giá trị của các thành phần màu cơ bản được biểu diễn bằng số lượng bit khác nhau, tùy thuộc vào chất lượng ảnh Đối với ảnh 24 bit, mỗi thành phần màu được lưu trữ bằng 8 bit, với thứ tự lưu trữ cụ thể.

Thuật toán giấu tin

2.2.1.1 Ý tưởng chính của thuật toán

Kỹ thuật giấu tin theo khối dựa vào tính chẵn lẻ của số bit 1 trong khối, nhưng độ an toàn không cao do kích thước khối là khóa duy nhất cho quá trình này Thêm vào đó, ảnh chứa thông tin dễ bị phát hiện vì kỹ thuật có thể đảo bit trong khối màu đen hoặc trắng, gây ra sự bất thường ở vị trí đảo so với các điểm lân cận.

Thuật toán giấu tin trong ảnh đen trằn do M.Y.Wu và J.H.Lee phát triển vào năm 1989 đã cải thiện những hạn chế trước đó bằng cách bổ sung khóa K cho việc giấu tin và thiết lập các điều kiện để đảo bit trong mỗi khối.

Gọi x và y là hai bit tùy ý, phép nhân bit được ký hiệu là x ^ y, trong khi phép cộng loại trừ (XOR) giữa hai bit x và y được ký hiệu là x ⊕ y Các phép toán này được định nghĩa thông qua bảng sau đây.

Hình 2.4: Các phép toán ^ và Với mỗi ma trận A, kí hiệu A[i,j] là phần tử trên mảng hàng i, cột j của ma trận

A Hai phép toán trên cũng đƣợc mở rộng cho các dãy bit hoặc cho các ma trận bit Định nghĩa 1.2:

Hai ma trận A và B có cùng kích thước mxn ta định nghĩa

Phép nhân theo vị trí trên hai ma trận A và B (các phần tử là các số nguyên) có cùng kích thước như sau:

Trong ma trận số B, chúng ta định nghĩa sum(B) là tổng tất cả các phần tử của ma trận này Đối với ma trận bit, sum(B) sẽ tương ứng với tổng số bit 1 có trong B.

Thuật toán này nhằm mục đích giấu thông tin trong ảnh mà vẫn duy trì chất lượng hình ảnh tốt nhất Cách tiếp cận chính là chia ảnh thành các khối bằng nhau, sau đó xác định khối nào ít bị phát hiện và giấu một bit thông tin vào khối đó.

- Tổng số bit 1 trong K (sum(K))

- Xâu bit dữ liệu cần giấu D

- Một file ảnh F‟ đã giấu tin bên trong

Bước 1: Chia ảnh F‟ thành các khối nhỏ F i , mỗi khối có kích thước K (K=mxn)

Chuyển sang bước 3 để giấu thông tin vào khối Fi,

Bước 3: Giả sử bit cần giấu vào khối Fi là b, thay đổi F i nhƣ sau:

Chọn ngẫu nhiên một bit [j,k] thỏa mãn đồng thời F i [j,k] và K[j,k]=1 Đảo giá trị của bit F i [j,k]=1

Else if sum(F i^ K)= sum(K)-1 then

Chọn ngẫu nhiên môtk bit [j,k] thỏa F i [j,k]=1 và K[j,k]=1 Đảo giá trị của bit F i [j,k] từ 1 thành 0 hoặc từ 0 thành 1

Khi chọn bit trong F để đảo, cần tuân theo nguyên tắc: nếu F i^ K có nhiều bit 1 (sum(F i^ K) = sum(K) - 1), thì chọn bit 1; ngược lại, nếu F i^ K có ít bit 1 (sum(F i^ K) = 1), thì chọn bit 0 Nguyên tắc này giúp giảm khả năng phát hiện bit bị đảo.

Nhờ bất biến có đƣợc khi giấu tin, ta dễ dàng giải mã để lấy lại thông tin đã giấu nhƣ sau:

Duyệt qua các khối Fi của ảnh đích F, nếu F i thỏa mãn điều kiện 0 < sum(F i^ K) < sum(K), thì tính bit b đã được giấu vào trong khối theo công thức b = sum(F i ‟ ^ K) mod 2.

Để giấu dãy bit D = "101" vào ảnh F kích thước 8x8, ta sử dụng một ma trận khóa K kích thước 4x4 Ảnh F sẽ được chia thành 4 khối nhỏ để thực hiện quá trình giấu thông tin.

F 1, F 2 , F 3, F 4 , mỗi khối nhỏ sẽ có kích thước là 4x4

(c) Minh họa giấu dữ liệu D=” 101” vào 4 khối ảnh nhị phân

- Với khối F1: Ta có có b=1, sum(F 1^ K) = 5, suy ra sum(F 1^ K)mod 2 =1 Ta giữ nguyên F 1

Trong khối F2, với b=0 và tổng sum(F2^K) = 7, ta có sum(F2^K) mod 2 = 1, không bằng b Tuy nhiên, vì sum(F2^K) = 7 = sum(K) - 1, ta quyết định chọn ngẫu nhiên phần tử [4,2] để đảo bit trong khối F2, do F2[4,2] = 1 và K[4,2] = 1 Kết quả thu được là khối đã được điều chỉnh.

F 2 ‟ Bằng cách đảo bit của F 2 [4,2]=0

- Với khối F 3 : sum(F 3 ^K) = 8 = sum(K) nên ta không giấu đƣợc bit dữ liệu tiếp theo vào khối này

- Với khối F4: Ta có b=1, sum(F 4^ K)=4, nên sum(F 4^ K) mod 2 = 0 ≠ b Chọn ngẫu nhiên ô F 4 [3,1] ứng với K[3,1]=1 đảo bit của F 4 [3,1] từ 0 thành 1 ta thu đƣợc khối F 4 ‟

- Kết quả thu đƣợc minh họa trên hình (c)

- F‟ là ảnh đã đƣợc giấu dãy bit bí mật D

- K là ma trận khóa bí mật, kích thước mxn

- F là file ảnh chứa tin đã đƣợc giấu

- D là dãy bit bí mật đã giấu

- Đọc header ảnh để biết các thông tin về ảnh, đọc bảng màu, đọc phần dữ liệu ảnh vảo ma trận hai chiều M

- Chia M thành các khối nhỏ F i ‟ với kích thước mxn

If 0

Ngày đăng: 25/08/2021, 15:33

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

TÀI LIỆU LIÊN QUAN

w