Tải bản đầy đủ (.pdf) (13 trang)

BIẾN THỂ của THUẬT TOÁN mã hóa LSB để GIẤU THÔNG TIN TRONG ẢNH

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (548.5 KB, 13 trang )

HỌC VIỆN KỸ THUẬT MẬT MÃ

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO MÔN HỌC

KỸ THUẬT GIẤU TIN
ĐỀ TÀI

BIẾN THỂ CỦA THUẬT TỐN MÃ HĨA LSB ĐỂ GIẤU
THƠNG TIN TRONG ẢNH RGB

Sinh viên thực hiện:

NGUYỄN PHÚ LÂM - AT150330
TRẦN VĂN CÔNG - AT150307
BÙI TIẾN THÀNH - AT150350
NGUYỄN VIỆT HOÀNG – AT150319
LÊ TIẾN DŨNG – AT150311

Hà Nội, 02-2022


MỤC LỤC
1.

3

2.

4



3.

4.

5.

2.1

4

2.2

5

6

3.1

6

3.2

7

3.2.1

8

3.2.2


10

11

4.1

11

4.2

12

4.3

13

13


LỜI MỞ ĐẦU

Steganography(ẩn mã) là một kỹ thuật được sử dụng rộng rãi suốt nhiều thập
kỉ. Đến nay, kỹ thuật này đã được nghiên cứu và phát triển dưới nhiều dạng khác
nhau và được áp dụng trong nhiều lĩnh vực.
Trong kỹ thuật ẩn mã hình ảnh, phương pháp giấu trên bit có ít ý nghĩa nhất
(LSB- Least significant bit) là phổ biến nhất nhưng dễ bị tấn công bởi nhiều cuộc
tấn cơng bảo mật. Do đó, điều cấp thiết là phải làm cho kỹ thuật steganographic
mạnh mẽ và an toàn hơn. Bài báo này trình bày một cách tiếp cận mới để ẩn tin
nhắn văn bản trong hình ảnh Red-Green-Blue (RGB) dựa trên kỹ thuật LSB.

Không giống như kỹ thuật LSB tiêu chuẩn, trong đó các bit thơng điệp được
nhúng trực tiếp vào các vị trí LSB, thuật tốn đề xuất là mã hóa các bit thơng điệp
này trước khi nhúng vào các vị trí LSB. Q trình nhúng và mã hóa này được thực
hiện trên cơ sở hầu hết các giá trị bit quan trọng (MSB- Most Significant Bit) của
RGB và khái niệm về tỷ lệ chẵn và lẻ của các pixel đó tương ứng. Mục tiêu chính
của phương pháp được trình bày là cải thiện độ mạnh và chất lượng hình ảnh của
ảnh mang(stego-image). Hiệu suất của chất lượng hình ảnh stego được đo bằng
bình phương sai số trung bình (MSE), tỷ lệ tín hiệu trên nhiễu đỉnh (PSNR), phép
đo độ tương đồng về cấu trúc (SSIM), tỷ lệ bit (BR) và phân tích biểu đồ. Kết quả
thử nghiệm và các nghiên cứu so sánh đã cho thấy 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 sự khác biệt nhỏ giữa ảnh phủ và
ảnh stego. Kết quả cũng cho thấy rằng cách phương án đề xuất có thể nhúng một
lượng thơng tin hợp lý.

1. Giới thiệu
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
nhạy cảm và khả năng chịu tải tốt hơn của nó . Mặc dù tính đơn giản của
nó, LSB truyền thống rất dễ bị tấn cơng vì xác suất phát hiện ra thơng điệp
bí mật là cao. Do đó, một loạt các phương pháp đã được đề xuất dựa trên kỹ


thuật thay thế LSB. Hầu hết các phương pháp hiện có đều cố gắng chọn một
vùng hoặc các luồng bit của ảnh bìa và nhúng một thơng điệp được mã hóa,
với một khóa bí mật được sử dụng để giải mã thông điệp. Mặc dù hiệu suất
của các phương pháp này tốt hơn so với phương pháp thay thế LSB, việc
giao tiếp khóa bí mật là một thách thức cũng như về hiệu quả tổng thể,
thường các phương pháp này không được khai thác hết. Một phiên bản LSB
đã sửa đổi có thể làm tăng tính khơng nhạy cảm và độ bền của kỹ thuật ẩn
mã hình ảnh LSB đã được đề xuất. Thay vì lưu trữ các bit thơng điệp trực
tiếp ở các vị trí LSB, mỗi bit thơng điệp sẽ đượ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ọn mộ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 giá trị chẵn và
lẻ của kênh đã chọn đó sẽ làm sai lệch q trình mã hóa của bit thơng báo.
Mặc dù thuật tốn được đề xuất có thể được áp dụng cho các định dạng ảnh
không mất dữ liệu như BMP, GIF, PNG hoặc TIF, nhưng trong bản báo cáo
này chỉ tập trung vào định dạng ảnh màu TIF 24-bit cho mục đích thử
nghiệm.

2. Lý thuyết liên quan
2.1 Thuật tốn LSB cổ điển
Phương pháp giấu tin LSB thực hiện bằng cách thay đổi các bit quan
trọng của mỗi màu trong 24 bit màu hoặc chèn vào các bit ít quan trọng của
ảnh 8 bit.
Ví dụ chữ A có mã ASCII là 65 ( thập phân ), có thể biểu diễn nhị
phân là : 1000001. Để giấu chữ A vào trong ảnh, ta cần 3 điểm ảnh liên tiếp
trong ảnh 24 bit màu. Giả sử cho giá trị màu của 3 pixel trước khi chèn là :
10000000.10100100.10110101,10110101.11110011.10110111,11100111.1
0110011.00110011
Sau khi chèn, giá trị của các pixel màu sẽ như sau:
10000001.10100100.10110100.10110100.11110010.10110110.11100110.1
0110011.00110011
Ví dụ tương tự, cần giấu chữ A vào trong ảnh 8 bit màu, ta cần 8
pixel. Giả sử giá trị của 8 pixel ban đầu như sau :
10000000,10100100,10110101,10110101,11110011,10110111,11100111,10
110011


Sau khi chèn chữ A, giá trị của 8 điểm ảnh này sẽ như sau :
10000001,10100100,10110100,10110100,11110010,10110110,11100110,10
110011 (những giá trị đậm là những giá trị bị thay đổi). Từ những ví dụ

trên, ta có thể suy luận ra rằng phương pháp chèn vào các bit ít quan trọng
thường có 50% cơ hội để thay đổi một bit ít quan trọng trong 8 bit, vì thế
khơng tạo ra sự thay đổi lớn đối với ảnh phủ. Hay nói cách khác, ý tưởng cơ
bản của kỹ thuật này là thay đổi các bit biểu biễn các giá trị mà khả năng tri
giác của mắt người là kém nhất. Ví dụ như thay đổi giá trị các bit biểu diễn
thành phần màu xanh hay biểu diễn thành phần độ chói của điểm ảnh, là
những giá trị mà với một sự thay đổi nhỏ thì ta khó phát hiện ra sự thay đổi

Hình 1: Thuật tốn Least Significant Bit - LSB
2.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. Đây là kỹ thuật gửi một bit dư thừa để xác
minh tính tồn vẹn của dữ liệu nhận được. Trong bài báo cáo này chỉ định
nghĩa 'chẵn lẻ' là một số 1 trong một luồng nhị phân nhất định. Nếu một
luồng các bit có độ dài cụ thể L có một số chẵn của hệ nhị phân 1, thì tính
chẵn lẻ của luồng này được coi là chẵn và chúng ta mô tả điều này là 1. Mặt
khác, khi một luồng các bit có độ dài cụ thể L có số lẻ của hệ nhị phân 1,
tính chẵn lẻ của luồng này được coi là lẻ và chúng ta mô tả giá trị này là 0.
Chúng ta có thể dễ dàng tính tốn xem một luồng là chẵn hay lẻ bằng cách
thực hiện XNOR của tất cả các bit của một luồng.
Ví dụ, B = X1 X2 X3 X4 ..Xn có độ dài n bit thì tính chẵn lẻ là  = X1
xnorX2 xnorX3 xnorX4 .. xnorXn . Giá trị  này là 1 hoặc 0 tương ứng với
chẵn hoặc lẻ.


Hình 2: Ví dụ về khái niệm chẵn lẻ
3. Phương pháp đề xuất
Trong phần này, phương phát đề xuất sẽ trình bày theo trình tự mơ tả
mơ hình, mã hóa và giải mã các thuật tốn và giải thích q trình mã hóa và
giải mã.

3.1 Mơ tả về mơ hình
Phương pháp đề xuất này sử dụng hình ảnh RGB 24-bit làm ảnh phủ.
Giống như các hình ảnh RGB 24-bit khác, mỗi hình ảnh phủ này là một tập
hợp các pixel và mỗi pixel được biểu thị bằng 3 byte cho biết cường độ của
các kênh đỏ, lục và lam trong pixel đó.
Trong Hình 3 (a), trong q trình nhúng, mỗi pixel của ảnh phủ được
chuyển đổi thành một mảng byte gồm các kênh màu đỏ, xanh lục và xanh
lam (RGB) hoặc các khối. Tiếp theo, giá trị MSB của ba byte này (mỗi kênh
đỏ, lục và lam) của pixel này hoạt động như một chỉ báo xác định bit thông
báo được giữ ở kênh nào. Sau khi chọn kênh thích hợp, bây giờ bit thông
điệp được nhúng vào kênh đã chọn bằng cách sử dụng mã hóa. Mã hóa này
được thực hiện với các khái niệm kiểm tra chẵn lẻ. Nếu giá trị chẵn lẻ của
kênh đã chọn trùng với bit thơng điệp, thì khơng có sự thay đổi LSB của
kênh đã chọn. Bằng cách này, tồn bộ thơng điệp được nhúng vào ảnh phủ.
Sau khi hồn tất q trình nhúng, hình ảnh được chuyển thành hình ảnh
stego.
Trong quá trình giải nén – được hiển thị trong Hình 3 (b), mỗi pixel
của stego-image này được chuyển đổi thành một mảng byte gồm các kênh
RGB trong đó MSB trong số ba byte chọn kênh mong muốn chứa các bit
thông điệp.
Cuối cùng, giá trị chẵn lẻ của kênh được chọn cho biết bit thơng điệp
mong muốn. Bằng cách này, tồn bộ thơng báo thu được bằng cách tổng hợp
tất cả các bit thông điệp.


S
Hình 3: Cấu trúc tổng thể của kỹ thuật được đề xuất (a) Quy trình mã hóa (b) Quy
trình giải mã
3.2 Giải thích quy trình mã hóa và giải mã
Các mã giả sau đây mô tả cách các bit thông điệp được mã hóa trong ảnh

phủ và được giải mã từ ảnh stego. Xem xét các ký hiệu sau trong q trình
mã hóa và giải mã :
M: thơng điệp nhúng dài n bit
Mi: bit thứ i trong khối thông điệp
Ic: Ảnh phủ
Pir: Khối 8 bit của pixel từ ảnh phủ Ic(red channel), Pir[j]: bit thứ j trong khối
Pig: Khối 8 bit của pixel từ ảnh phủ Ic(green channel), Pig[j]: bit thứ j trong
khối
Pib: Khối 8 bit của pixel từ ảnh phủ Ic(blue channel), Pib[j]: bit thứ j trong
khối
Is: Ảnh stego
Pir’: Khối 8 bit của pixel từ ảnh stego Is(red channel), Pir’[j]: bit thứ j trong
khối
Pig’: Khối 8 bit của pixel từ ảnh stego Is(green channel), Pig’[j]: bit thứ j trong
khối


Pib’: Khối 8 bit của pixel từ ảnh stego Is(blue channel), Pib’[j]: bit thứ j trong
khối

Hình 4: Thủ tục để tính tính chẵn lẻ

Hình 5: Lựa chọn kênh màu

Hình 6: Q trình mã hóa

Hình 7: Q trình giải mã

3.2.1 Q trình mã hóa
Để nhúng thơng điệp vào ảnh phủ, Hình 6 cho thấy quy trình mã hóa

cùng với các quy trình bổ sung được mơ tả trong Hình 4 và 5. Theo thuật


tốn, để ẩn một bit thơng điệp Mi vào một pixel ảnh phủ cụ thể, Pi (= Pir
hoặc Pig hoặc Pib) trong Ic, MSB của các kênh Pir, Pig và Pib được thu thập và
thực hiện chia lấy dư với 3. Giá trị mod này tạo ra bất kỳ giá trị nào trong số
0, 1, 2 cho biết Pir (kênh màu đỏ), Pig (kênh màu xanh lá cây) và Pib (kênh
màu xanh lam) tương ứng. Bằng cách này, một kênh cụ thể được chọn để
nhúng. Sau đó, giá trị chẵn lẻ của kênh màu đã chọn Pix (= Pir hoặc Pig hoặc
Pib) được so sánh với bit thông điệp Mi. Điều này rất quan trọng vì nó cho
biết cách bit thơng điệp này được mã hóa trong kênh đó. Ví dụ: nếu giá trị
chẵn lẻ của Pix là chẵn (p = 1) và bit thông điệp là 1, bit LSB của kênh này
sẽ không thay đổi, nhưng trong trường hợp bit thông điêp là 0, LSB đơn lẻ
của kênh Pix đó được chuyển đổi. Cách tiếp cận được đề cập ở trên thay đổi
LSB của mỗi kênh RGB được chỉ định của Ic cho đến khi kết thúc quá trình
nhúng của tất cả các bit thơng điệp.

Hình 8: Các hành động khi nhúng một bit thông điệp vào một kênh
Để minh họa thuật tốn mã hóa, chúng ta lấy các bit thông điệp 1100
và bốn pixel của một ảnh phủ, với mỗi pixel chứa các kênh R, G và B. Bit
thông báo đầu tiên, là 1 phải được nhúng vào một trong các kênh của pixel
đầu tiên. MSB của ba kênh này là 1012 = 510 và sau khi tính môđun (5 mod
3), kết quả là 2. Lưu ý rằng modulo 3 cho biết số kênh. Do đó, theo thuật
tốn, kênh màu xanh lam sẽ được chọn để nhúng các thơng điệp. Bây giờ,
kênh màu xanh lam này có số lẻ là 1, vì vậy tính chẵn lẻ của nó là 0. Vì giá
trị chẵn lẻ khác với bit thơng báo, vị trí LSB của kênh màu xanh lam sẽ được
chuyển cho biết bit thông điệp đã được nhúng. Bằng cách này, bit thông điệp
đầu tiên được nhúng. Tương tự, các bit thông báo thứ 2, 3 và 4 được nhúng
vào các pixel thứ 2, 3 và 4. Hình 3, minh họa quá trình này. Cũng quan sát
thấy rằng chỉ có hai LSB 4 pixel đã được thay đổi để nhúng 4 bit thông điệp.



Hình 9: Nhúng thơng điệp bằng cách sử dụng phương pháp mã hóa được đề xuất
3.2.2 Q trình giải mã
Q trình giải mã bắt đầu với thuật tốn giải mã được trình bày trong
Hình 7, và các thủ tục bổ sung trong Hình 4 và Hình 5. Để trích xuất bit
thơng điệp bí mật Mi từ pixel ảnh stego Pi ′ = (Pir’, Pig’, Pib’) ở Is, kênh cụ thể
Pix’ (từ MSB của Pir’, Pig’ và Pib’) được chọn bằng cách thực hiện chia lấy dư
các bit MSB với 3. Kênh được chọn này chứa bit thông điệp mong muốn, có
thể thu được bằng giá trị chẵn lẻ của kênh này. Giá trị chẵn lẻ (p = 1) của
Pix’ cho biết bit thông báo là 1, trong khi giá trị chẵn lẻ (p = 0) của Pix’ cho
biết bit thông báo là 0. Quá trình lặp sẽ tiếp tục cho đến khi tất cả các bit
thơng điệp được trích xuất. Có thể thấy rằng thơng báo được trích xuất giống
với thơng báo được nhúng.
Để giải thích q trình giải mã bằng một ví dụ, chúng ta lấy bốn pixel
của ảnh stego từ các bước mã hóa trước đó. MSB của pixel đầu tiên là 1012
= 510 và chia lấy dư với 3 được 2. Do đó, bit thơng điệp đầu tiên có thể được
tìm thấy từ thành kênh màu xanh lam. Vì giá trị chẵn lẻ của thành phần màu
xanh lam là chẵn (1) nên bit thông điệp là 1. Tương tự, các bit thơng điệp
khác có thể được trích xuất từ phần còn lại của các pixel.


Hình 10: Trích xuất thơng điệp từ hình ảnh Stego bằng cách sử dụng phương pháp
giải mã được đề xuất
4. Phân tích đánh giá kết quả
4.1 Cài đặt thử nghiệm và đánh giá chất lượng hình ảnh
Hình 11, cho thấy ảnh phủ và hình ảnh stego tương ứng của Lena với
các ơ biểu đồ màu cho cả ba kênh. Có thể thấy rằng có rất ít sự khác biệt
trong biểu đồ ảnh phủ và hình ảnh stego của Lena. Đối với các hình ảnh
khác, các đặc điểm tương tự cũng thu được.


Hình 11: Ảnh phủ và biểu đồ RGB của ảnh phủ; Ảnh stego và biểu đồ RGB
Từ các kết quả thử nghiệm trên, rõ ràng là mỗi hình ảnh stego gần như tương
tự với hình ảnh phủ tương ứng. Chất lượng hình ảnh giảm sút do việc nhúng các
thơng điệp bí mật khơng thể phân biệt được. Phương pháp được đề xuất trên là an
toàn và mạnh mẽ theo nghĩa là thuật toán thay đổi một số lượng nhỏ các bit trong


quá trình nhúng một tin nhắn lớn và làm cho tin nhắn văn bản khó xác định. Bên
cạnh đó, nếu stego-analyzer vẫn phát hiện ra stego-images, thì việc tiết lộ các bit
thông báo sẽ không dễ dàng do cách tiếp cận được đề xuất không đặt thông báo
trực tiếp tại các vị trí LSB
4.2 Phân tích PSNR và MSE
- PSNR: Tỷ lệ tín hiệu cực đại nhiễu

Cơng thức tính PSNR và MSE
Khối PSNR tính tỷ lệ nhiễu tín hiệu cực đại, tính bằng db, giữa hai hình ảnh. Tỷ
lệ này được sử dụng như một phép đo chất lượng giữa ảnh gốc và ảnh
nén. PSNR càng cao, chất lượng của hình ảnh được nén hoặc tái tạo càng tốt.
- MSE: Lỗi bình phương trung bình.
Giá trị của MSE càng thấp, lỗi càng thấp
PSNR và MSE được sử dụng để so sánh chất lượng nén hình ảnh.

Hình 12: Các giá trị MSE và PSNR


4.3 Phân tích theo size

Hình 13: Kích thước hình ảnh trước và sau khi mã hóa
5. Kết Luận

Trong bài báo này, đã đề ra cách tiếp cận mới để ẩn thơng báo trong hình ảnh
RGB khơng mất dữ liệu. Nó trình bày một phương pháp ghi mật mã hình ảnh
LSB được cải tiến trong đó mỗi bit thơng điệp được mã hóa được nhúng vào
một trong ba kênh RGB trên cơ sở MSB của các kênh, với việc mã hóa được
thu được dựa trên các giá trị chẵn lẻ của kênh đã chọn đó. Các kết quả thử
nghiệm chứng minh rằng phương pháp chủ yếu cho thấy những cải tiến đáng
kể về tính khơng nhạy cảm và độ bền. Mặc dù công suất không cao lắm, nhưng
khả năng chịu tải cao hơn phải hy sinh để có độ nhạy cao hơn. Đóng góp chính
của nghiên cứu này là số lượng bit thơng điệp bí mật được mã hóa thành các
vị trí LSB một cách hiệu quả bằng cách thay đổi tương đối một vài số bit ảnh
bìa và khơng có sự tham gia trực tiếp của bất kỳ khóa mật mã nào. Trong
tương lai, chúng ta có thể mở rộng nghiên cứu của mình bằng cách thêm nhiều
bit LSB (Kth LSB bit). Điều này có khả năng cải thiện năng lực của kỹ thuật
in ẩn hình ảnh. Bên cạnh đó, việc sử dụng phương trình chuyển đổi khác trong
việc lựa chọn kênh thích hợp có thể tăng cường tính bảo mật của stego-image.



×