Ví dụ, trong kỹthuật ẩn mã bằng hình ảnh, phương tiện phủ là hình ảnh, theo đó thông tin đượcnhúng bằng cách thay đổi một số thành phần không cần thiết của hình ảnh đó.Thông thường, tron
Trang 1BIẾN THỂ CỦA THUẬT TOÁN ẨN MÃ LSB ĐỂ
GIẤU THÔNG TIN TRONG ẢNH RGB
Sinh viên thực hiện: NGUYỄN VĂN THÀNH AT150452
HÀ VĂN THIỆU AT150255
PHÙNG VĂN THÀNH AT150451 NGUYỄN TIẾN SỸ AT131044 NGUYỄN TIẾN DŨNG AT140108 Nhóm 12
Giảng viên hướng dẫn: ThS HOÀNG THU PHƯƠNG
Hà Nội, 02-2022
Trang 2độ tương đồng về cấu trúc (SSIM), tỷ lệ bit (BR),và phân tích biểu đồ Kết quảthực nghiệm và các nghiên cứu so sánh đã tiết lộ rằng kỹ thuật được đề xuất cóthể che giấu thông điệp một cách hiệu quả, với rất ít sự khác biệt giữa ảnh phủ
và ảnh stego Kết quả cũng cho thấy rằng cách tiếp cận được đề xuất có thểnhúng lượng thông tin hợp lý
Từ khóa:Kĩ thuật ẩnn mã trên ảnh số, LSB, MSB, tính chẵn lẻ, ảnh RGB
Trang 3MỤC LỤC
TÓM LƯỢC ii
DANH MỤC HÌNH ẢNH i
DANH MỤC BẢNG ii
CHƯƠNG 1 GIỚI THIỆU 1
CHƯƠNG 2 CÁC CÔNG TRÌNH LIÊN QUAN 3
CHƯƠNG 3 LÝ THUYẾT LIÊN QUAN 5
3.1 Thuật toán LSB cổ điển 5
3.2 Khái niệm chẵn lẻ 6
CHƯƠNG 4 PHƯƠNG PHÁP LUẬN ĐƯỢC ĐỀ XUẤT 7
4.1 Mô tả model 7
4.2 Giải thích quá trình mã hóa và giải mã 8
4.2.1 Các bước mã hóa 10
4.2.2 Các bước giải mã 11
CHƯƠNG 5 KẾT QUẢ VÀ THẢO LUẬN 13
5.1 Cài đặt thử nghiệm và đánh giá chất lượng ảnh 13
5.2 So sánh với các phương pháp tốt nhất hiện tại 16
CHƯƠNG 6 KẾT LUẬN 18
TÀI LIỆU THAM KHẢO 19
Trang 4DANH MỤC HÌNH ẢNH
Hình 3.1 Ví dụ về nhúng 0/1 vào chuỗi nhị phân 5
Hình 3.2 Kĩ thuật LSB 5
Hình 4.1 Cấu trúc tổng thể của phương pháp (a) Quá trình mã hóa (b) Quá trình giải mã 8
Hình 4.2 Thủ tục lấy giá trị chẵn lẻ 9
Hình 4.3 Các bước chọn kênh màu 9
Hình 4.4 Quá trình mã hóa 9
Hình 4.5 Quá trình giải mã 10
Hình 5.1 Ảnh phủ và ảnh stego của Lena: (a) Ảnh phủ và biểu đồ RGB (b) Ảnh Stego và biểu đồ RGB 16
Trang 5DANH MỤC BẢNG
Bảng 1 Ví dụ về khái niệm chẵn lẻ 6
Bảng 2 Hoạt động nhúng bit thông điệp vào kênh 10
Bảng 3 Nhúng thông điệp sử dụng quá trình mã hóa 11
Bảng 4 Giải nén thông điệp bằng cách giải mã 12
Bảng 5 Kết quả đánh giá hiệu quả của thuật toán 15
Bảng 6 So sánh phương pháp này với phương pháp khác 16
Trang 6CHƯƠNG 1 GIỚI THIỆU
Lĩnh vực nghiên cứu che giấu thông tin đã thu hút nhiều nhà nghiên cứutrong việc làm ra các kỹ thuật đáng tin cậy để đảm bảo bảo vệ nội dung kỹ thuật
số khỏi nhiều các cuộc tấn công bảo mật, đặc biệt là trong miền trực tuyến.Những kỹ thuật như vậy được thấy trong lịch sử bao gồm mật mã, thủy vân và
ẩn mã [1-2] Một trong những cách tiếp cận phổ biến là kĩ thuật ẩn mã - nghệthuật và khoa học che giấu thông tin bằng cách nhúng tin nhắn trong phươngtiện phủ như tệp văn bản, hình ảnh, âm thanh hoặc video [3] Ví dụ, trong kỹthuật ẩn mã bằng hình ảnh, phương tiện phủ là hình ảnh, theo đó thông tin đượcnhúng bằng cách thay đổi một số thành phần không cần thiết của hình ảnh đó.Thông thường, trong kĩ thuật ẩn mã hình ảnh, có hai phương pháp của thuậttoán ẩn mã là miền biến đổi và miền không gian Ẩn mã trong miền biến đổihình ảnh bao gồm thực hiện hàng loạt thay đổi ảnh phủ trước khi ẩn thông tin.Biến đổi cosin rời rạc (DCT), biến đổi fourier (FT) và biến đổi wavelet rời rạc(DWT) là một số kỹ thuật được sử dụng cho mục đích này [4] Mặt khác,ẩn mãtrong miền không gian hình ảnh thường sử dụng kỹ thuật thay thế trực tiếp bit ítquan trọng nhất (LSB) - mã hóa ở mức LSB [5]
Kỹ thuật ẩn mã hình ảnh LSB là một cách tiếp cận phổ biến do tính không
bị phát hiện tốt hơn và khả năng chịu tải [6] Mặc dù nó đơn giản, nhưng LSBtruyền thống dễ bị khai thác vì xác suất phát hiện mật báo cao Do đó, một loạtcác phương pháp đã được đề xuất dựa trên kỹ thuật thay thế LSB Hầu hết cáccách tiếp cận hiện có cố gắng chọn một vùng hoặc các luồng bit của ảnh phủ vànhúng một thông báo,cái mà thường được mã hóa dựa trên mật mã hoặc cáchàm toán học khác,với một khóa bí mật được sử dụng để giải mã thông điệp [7-8] Mặc dù hiệu suất của các phương pháp này là tốt hơn so với phương phápthay thế LSB, nhưng quá trình trao đổi khóa bí mật là thách thức cũng như vềhiệu quả tổng thể, thường thì những phương pháp đó không khai thác triệt để.Chúng tôi đề xuất một phiên bản sửa đổi của kĩ thuật LSB cái mà có thể làmtăng khả năng nhận biết và tính mạnh mẽ của kỹ thuật ẩn mã hình ảnh LSB.Thay vì lưu trữ các bit thông điệp trực tiếp trong vị trí LSB, mỗi bit thông điệpđược mã hóa và đặt vào một trong 3 kênh của điểm ảnh RGB Việc lựa chọnmột kênh cụ thể được thực hiện trên cơ sở các bit MSB của điểm ảnh RGB đó,trong khi các giá trị chẵn lẻ của kênh đã chọn đó làm sai lệch quá trình mã hóacủa bit thông điệp Mặc dù thuật toán được đề xuất có thể được áp dụng cho
Trang 7không mất các định dạng hình ảnh như BMP, GIF, PNG hoặc TIF, chúng tôi chỉtập trung vào định dạng ảnh màu TIF 24-bit cho mục đích thí nghiệm.
Phần còn lại của bài báo được sắp xếp như sau: Phần 2 mô tả các công việcđược thực hiện trong ẩn mã, đặc biệt là ẩn mã hình ảnh RGB, trong khi Phần 3trình bày lý thuyết liên quan - thuật toán LSB cổ điển và khái niệm chẵn lẻ - cầnthiết cho nghiên cứu hiện tại Các mô tả về mô hình được đề xuất và các quytrình mã hóa và giải mã được trình bày trong Phần 4 Trong Phần 5, kết quả thínghiệm và thảo luận được đưa ra Cuối cùng, Phần 6 bao gồm kết luận và cácnghiên cứu trong tương lai
2
Trang 8CHƯƠNG 2 CÁC CÔNG TRÌNH LIÊN QUAN
Gần đây, sự phổ biến của phương pháp LSB đã thu hút nhiều nhà nghiêncứu trong sửa đổi hoặc kết hợp kỹ thuật LSB tiêu chuẩn trong kỹ thuật ẩn mãhình ảnh Một số các cuộc khảo sát về kỹ thuật ẩn mã hình ảnh đã nêu bật cáccách tiếp cận khác nhau [4-9] Saha, et al.,[10] đề xuất một lược đồ để ẩn cácthông điệp trong hình ảnh 24 bit bitmap, nơi các giá trị điểm ảnh có nhiểu nhất
và sự sửa đổi các điểm ảnh đó được tính toán để ẩn thông tin.Ta quan sát thấyrằng hiệu quả của phương pháp tiếp cận được đánh giá cao là do số lượng điểmảnh đủ điều kiện, với số lượng điểm ảnh đủ điều kiện vừa phải sẽ tạo ra kết quảtốt hơn Mặt khác, Islam [11] đã sử dụng ảnh bitmap 24 bit để nhúng thông điệpbằng cách sử dụng trình tạo luồng và khái niệm chẵn lẻ Một luồng được xâydựng bằng cách tổng hợp các LSB của 8 byte điểm ảnh và sau đó giá trị chẵn lẻcủa các điểm ảnh này quyết định cách nhúng thông báo Khái niệm này là hiệuquả, nhưng khả năng nhúng thấp Akhtar, et al., [12] đã sử dụng chiến lược đảongược bit theo cách sao cho số lượng LSB của các điểm ảnh bị thay đổi ít hơn.Chiến lược này nâng cao đáng kể khả năng không thể nhận ra nhưng yêu cầuthêm bộ nhớ để ghi lại các lần đảo ngược Jung và Yoo [13] đề xuất kết hợpphép nội suy và thay thế LSB cho dữ liệu ẩn Phương pháp nội suy, xử lý trướcảnh phủ để có dung lượng và chất lượng tốt hơn, chia tỷ lệ lên và xuống của ảnhphủ, trong khi đó, phương pháp thay thế LSB được áp dụng để nhúng Dữ liệu
bí mật có thể được lấy từ hình ảnh stego mà không cần thêm thông tin
Juneja và Sandhu [14] đã đề xuất một kỹ thuật phát hiện cạnh Điểm ảnh củacác cạnh của ảnh phủ được phát hiện bằng bộ lọc phát hiện cạnh nâng cao vàcác thông báo được nhúng vào các LSB của các điểm ảnh sử dụng số giả ngẫunhiên Tương tự như vậy, Jain, et al., [15] cũng sử dụng kỹ thuật phát hiện cạnh
để nhúng tin nhắn vào ảnh phủ Chakraborty, et al., [16] đã phát minh ra công
cụ dự đoán cạnh có tên là Trình phát hiện cạnh trung bình đã sửa đổi (MMED)cùng với chiến lược thích ứng để chọn phần cạnh của ảnh phủ Sau đó,khối nhịphân được nhúng vào vùng cạnh của ảnh phủ Kết quả cho thấy khả năng nhúngtốt hơn.Wu, et al., [17] đề xuất một lược đồ sử dụng phương pháp thay thế LSB
và phương pháp phân biệt giá trị điểm ảnh Phương pháp này nhúng nhiều dữliệu bí mật hơn vào các khu vực cạnh hơn là các khu vực mịn trong ảnh phủ Ởđây các khu vực trước đây sử dụng thay thế LSB và các khu vực sau sử dụngcác phương pháp giá trị điểm ảnh tương ứng Tyagi, et al., [18] đã mở rộng
Trang 9cách tiếp cận trong đó sự khác biệt của các giá trị điểm ảnh cùng với tổng giá trịđiểm ảnh của hai điểm ảnh liên tiếp được xử lý để ẩn dữ liệu bí mật Tuy nhiên,Mandal và Das [19] đã sử dụng phương pháp sự khác nhau của giá trị điểm ảnh
để nhúng thông điệp bí mật vào từng thành phần của điểm ảnh trong ảnh màu.Một phương pháp khác được đề xuất bởi Das và Tuithung [20] là sử dụng
mã hóa Huffman cho việc nhúng các thông điệp Mã hóa Huffman được thựchiện trên thông điệp bí mật trước khi được nhúng ở LSB của từng cường độđiểm ảnh của ảnh phủ Cùng thời điểm, luồng bit được mã hóa Huffman cũngnhư bảng Huffman cũng được nhúng vào ảnh phủ cho các cơ sở độc lập củastego-image Sun [1] cũng lựa chọn bảng Huffman và mã hóa Huffman đểnhúng dữ liệu bí mật vào cạnh ảnh phủ Đồng thời, một kỹ thuật hiệu chỉnhđược gọi là hiệu chỉnh 2^k được giới thiệu để giảm thiểu sự khác biệt giữa stego
và hình ảnh bìa
Nhiều nhà nghiên cứu cũng đã mở rộng mối quan tâm đến việc nhúng thôngđiệp không chỉ trong vị trí LSB đầu tiên mà còn ở vị trí LSB cao hơn, thườngđược gọi là phương pháp thay thế K-bit LSB Parvez và Gutub [21] đã đề xuấtcác giá trị cường độ RGB của điểm ảnh Trong cách tiếp cận của họ, thành phầnmàu thấp hơn chứa nhiều bit hơn thành phần màu cao hơn,với nhiều hơn một sựthay thế bit LSB xảy ra trong thành phần màu thấp hơn Phương pháp thay thếK-bit trong ẩn mã hình ảnh có thể được tìm ra bởi Liao, et al al., [22] và Nag,
et al., [23] trong đó 4 bit LSB của ảnh phủ được thay thế Mặc dù nhúng dữ liệutrong các lớp LSB cao hơn dễ bị tấn công hơn so với những dữ liệu được nhúngtrong các lớp thấp hơn, điều này làm tăng độ méo hình ảnh trong stego-image
Để giảm thiểu điều này, các phương pháp LSB thích hợp và tối ưu đã được sửdụng trong một số tài liệu bao gồm [24-26]
4
Trang 10CHƯƠNG 3 LÝ THUYẾT LIÊN QUAN
3.1 Thuật toán LSB cổ điển
Trong kỹ thuật này, các bit của thông báo được nhúng trực tiếp vào LSBcủa
ảnh phủ theo một trình tự xác định Việc sửa đổi này không gây ra bất kỳ tácđộng nào đến nhận thức của con người do biên độ thay đổi là nhỏ Về điều kiệncủa ảnh RGB 24-bit, mỗi điểm ảnh được lấy từ ba màu cơ bản: đỏ, lục và lam,
và mỗi màu cơ bản được biểu diễn bằng 8 bit Người ta có thể lưu trữ 3 bit trongmỗi pixel bằng cách thay đổi một chút của mỗi thành phần màu đỏ, lục và lam
Ví dụ: bên trong hình ảnh 24-bit, chúng tôi có ba pixel liền kề (9 byte), được thểhiện trong Hình 3 1 (a) Giả sử, chúng tôi muốn ẩn ký tự ‘a’ (mã ASCII của ‘a’
là 97, là 01100001 trong hệ nhị phân) Xếp chồng 8 bit này theo thứ tự trên LSBcủa 9 byte ở trên, chúng ta nhận được kết quả như trong Hình 3 1(b), (trong đócác bit in đậm và gạch chân biểu thị các thay đổi) Bằng cách này, các bit thôngbáo có thể được nhúng trong ảnh phủ tạo ra hình ảnh stego mà từ đó bit thôngđiệp có thể được trích xuất Hình 3 2, mô tả quy trình tổng thể của kĩ thuậtLSB này
Hình 3.1 Ví dụ về nhúng 0/1 vào chuỗi nhị phân
Trang 11Hình 3.2 Kĩ thuật LSB
3.2 Khái niệm chẵn lẻ
Thông thường, khái niệm chẵn lẻ được sử dụng nhiều trong truyền thông
dữ liệu để phát hiện lỗi [27] Đây là kỹ thuật gửi một bit dư thừa để xác minhtính toàn vẹn của dữ liệu nhận được Trong bài báo này, chúng tôi chỉ địnhnghĩa 'chẵn lẻ' là số các số 1 trong một luồng nhị phân nhất định Nếu như mộtdòng các bit có độ dài cụ thể L có số các số nhị phân 1 là chẵn, tính chẵn lẻ củadòng này được coi là tính chẵn và chúng tôi mô tả điều này là 1 Mặt khác, khiluồng các bit có độ dài cụ thể L có số các số nhị phân 1 là lẻ, tính chẵn lẻ củaluồng này được coi là tính lẻ và chúng tôi mô tả giá trị này là 0 (xem Bảng 1).Chúng tôi có thể dễ dàng tính toán liệu một luồng là chẵn hay lẻ bằng cách chỉcần thực hiện XNOR của tất cả các bit của một luồng Ví dụ, nếu B X1X2X3 Xn có độ dài n bit, thì tính chẵn lẻ là X1xnorX2xnorX3xnor
Xn Giá trị này là 1 hoặc 0, đại diện cho chẵn và lẻ tương ứng
Trang 12CHƯƠNG 4 PHƯƠNG PHÁP LUẬN ĐƯỢC ĐỀ XUẤT
Trong phần này, chúng tôi trình bày giải pháp được đề xuất của chúng tôitheo trình tự mô tả model, mã hóa và giải mã các thuật toán và giải thích về mãhóa và quá trình giải mã
4.1 Mô tả model
Phương pháp chúng tôi đề xuất sử dụng ảnh RGB 24-bit làm ảnh bìa Giốngnhư các ảnh RGB 24-bit khác, mỗi ảnh bìa là một tập hợp các pixel và mỗipixel được biết diễn bởi ba byte kênh màu đỏ xanh lá và xanh dương trong đó
Ở Hình 4 3(a), trong quá trình nhúng, những pixel của anh bìa chuyển đổithành một mảng byte kênh màu đỏ, xanh lá và xanh dương hoặc là thành cáckhối Tiếp theo, giá trị MSB của ba byte này(gồm các kênh màu đỏ, xanh là vàxanh dương) trong các pixel hoạt động như một chỉ báo(thị) xác định bit thôngđiệp được giữ trong kênh nào Sau quá trình lựa chọn kênh phù hợp, lúc nàycác bit thông điệp được nhúng vào kênh đã chọn bằng cách mã hóa Việc mãhóa được thức hiện với các khái niệm kiểm tra chẵn lẻ Nếu các giá trị chẵn lẻtrong kênh được chọn trùng với bit thông điệp, thì sẽ không có sự thay đổi LSBcủa kênh đã chọn Còn nếu không bit LSB của kênh đã chọn được chuyển đổi.Bằng cách này toàn bộ thông điệp được nhúng vào ảnh bìa Trong quá trình giảinén được thể hiện ở Hình 4 3(b) Những pixel của ảnh stego được biển đổithành một mảng byte của kênh RGB nơi mà MSB của 3 bytes lựa chọn kênhthích hợp chứa các bit thông điệp Cuối cùng, giá trị chẵn lẻ của kênh được chọncho biết bit thông điệp mong muốn Bằng cách này toàn bộ thông điệp có đượcbằng cách tổng hợp các bit thông điệp lại Lưu ý rằng sơ đồ dưới đây trong Hình
4 3, mô tả ngắn gọn toàn bộ khái niệm, trong khi các mã giả được trình bàytrong phần phụ sau đây mô tả giải thích chi tiết về phương pháp
Trang 13a)
b)
Hình 4.3 Cấu trúc tổng thể của phương pháp (a) Quá trình mã hóa (b) Quá trình giải
mã
4.2 Giải thích quá trình mã hóa và giải mã
Đoạn mã giả sau mô tả cách mà thông điệp được mã hóa tại ảnh bìa và giải
mã từ ảnh stego Chúng tôi đã đề ra xét các kí hiệu sử dụng trong quá trình mãhóa và giải mã của chúng tôi:
M:thông điệp dài n-bit
Mi: thông điệp dài 1-bit
Ic: ảnh bìa
:Khối pixel 8-bit từ ảnh bìa (kênh đỏ) [j] chỉ ra bit thứ j trong khối
:Khối pixel 8-bit từ ảnh bìa (kênh xanh lá) [j] chỉ ra bit thư j trong khối
8
Trang 14:Khối pixel 8-bit từ ảnh bìa (kênh xanh dương) [j] chỉ ra bit thư j trong khối
Is: ảnh stego
:Khối pixel 8-bit từ ảnh stego (kênh đỏ) [j] chỉ ra bit thư j trong khối :Khối pixel 8-bit từ ảnh stego (kênh xanh lá) [j] chỉ ra bit thư j trong khối
:Khối pixel 8-bit từ ảnh stego (kênh xanh dương) [j] chỉ ra bit thư j trong khối
Hình 4.4 Thủ tục lấy giá trị chẵn lẻ
Hình 4.5 Các bước chọn kênh màu
Hình 4.6 Quá trình mã hóa
Trang 15Hình 4.7 Quá trình giải mã
4.2.1 Các bước mã hóa
Để nhúng thông điệp vào ảnh bìa,Hình 4 6, cho thấy quá trình mã hóa cùng với các thủ tục được mô tả ở Hình 4 4, Hình 4 5 Theo các thuật toán, Để ẩn bit thông điệp Mi đến một pixel cụ thể của ảnh bìa Pi(=Pir or Pig or Pib) trong Ic, MSB của các kênh Pir, Pig, và Pib được thu thập và thực hiện bởi hoạt động modunlo trên
nó bằng 3 Giá trị mod này tạo ra bất kì giá trị nào trong các giá trị 0, 1, 2 ứng với các kênh màu tương ứng đỏ, xanh lá và xanh dương Bằng cách này, kênh riêng biệt được chọn để nhúng Sau đó, giá trị chẵn lẻ của kênh màu được chọn Pix (= Pir or Pig or Pib) sẽ so sanh với bit thông điệp Mi Điều này rất quan trọng bởi vì nó cho biết các bit thông điệp đã được mã hóa trong kênh đó Chẳng hạn, nếu giá trị chẵn lẻ của Pix là chẵn(p =1) và bit thông điệp bằng 1, bit LSB của kênh sẽ không bị thay đổi, nhưng trong trường hợp bit thông điệp bằng 0, LSB đơn lẻ trong kênh Pix đó được chuyển đổi Tất cả các hoạt động mã hóa khả thi có thể được mô tả ở Bảng 2.
Bảng 2 Hoạt động nhúng bit thông điệp vào kênh
Trường
hợp
Chẵn lẻ của kênh
Bit thông điệp Hoạt động trong LSB của kênh
Để minh họa quá trình mã hóa, chúng tôi lấy một bit thông điệp là 1100 và bốnpixel của ảnh bìa, với những pixel chứa đựng các kênh R, G và B Với bit thôngđiệp đầu tiên là 1 sẽ được nhúng vào một trong các kênh của pixel đầu tiên.MSB của ba kênh là 101(hệ nhị phân) = 5(hệ thập phân) và sau khi thực hiệnphép tính 5 mod 3 được kết quả là 2 Lưu ý rằng phép mod 3 cho biết số lượngkênh Vì vậy, theo thuật toán, kênh xanh dương sẽ được chọn để nhúng thôngđiệp Bây giờ, kênh xanh dương này có một số lẻ 1, nên giá trị chẵn lẻ của kênhbằng 0 Vì giá trị chẵn lẻ khác so với bit thông điệp Vị trí LSB của kênh xanh
10