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

TÌM HIỂU VÀ NGHIÊN CỨU VỀ GIẤU TIN TRONG ẢNH ĐIỂM CAO

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 (574.7 KB, 41 trang )

UBND TỈNH QUẢNG NAM
TRƯỜNG ĐẠI HỌC QUẢNG NAM
KHOA CÔNG NGHỆ THÔNG TIN

----------

NGUYỄN THỊ VIỆT LY

TÌM HIỂU VÀ NGHIÊN CỨU VỀ GIẤU TIN
TRONG ẢNH

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC

Quảng Nam, tháng 4 năm 2017

UBND TỈNH QUẢNG NAM
TRƯỜNG ĐẠI HỌC QUẢNG NAM
KHOA: CÔNG NGHỆ THÔNG TIN

----------

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

Tên đề tài:

TÌM HIỂU VÀ NGHIÊN CỨU VỀ GIẤU TIN TRONG ẢNH

Sinh viên thực hiện
NGUYỄN THỊ VIỆT LY

MSSV: 2113021044



CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

KHÓA 2013 – 2017

Cán bộ hướng dẫn

ThS.DƯƠNG PHƯƠNG HÙNG
MSCB: ………

Quảng Nam, tháng 4 năm 2017

PHẦN 1. MỞ ĐẦU
1. Lý do chọn đề tài

Ngày nay, công nghệ thông tin ngày càng phát triển mạnh mẽ tạo nên
một môi trường mở và là phương tiện trao đổi thơng tin, tài liệu một cách
nhanh chóng, tiện lợi. Điều đó đồng nghĩa với nguy cơ khả năng những
thơng tin, tài liệu đó bị truy cập trái phép hay bị đánh cắp cũng tăng lên. Do
đó, bảo đảm an tồn và bảo mật thông tin cho việc dữ liệu truyền trên mạng
là rất cần thiết.

Nhiều kĩ thuật đã được nghiên cứu nhằm đảm bảo an tồn và bí mật
cho một thơng điệp truyền đi chẳng hạn như kĩ thuật giấu tin trong ảnh.
Không gây sự chú ý như phương pháp mã hóa dữ liệu, giấu tin trong ảnh
giấu các thông tin quan trọng trong những bức ảnh thơng thường. Nhìn bề
ngồi, các bức ảnh có chứa thơng tin cũng khơng khác gì với các bức ảnh
khác nên khó phát hiện bằng kĩ thuật thơng thường. Nhờ đó mà việc truyền
thơng tin mật trở nên dễ dàng và hiệu quả hơn.


Bên cạnh đó, giấu tin trong ảnh là một kĩ thuật còn tương đối mới,
phát triển rất nhanh và ngày càng phổ biến, thu hút được sự quan tâm của
nhiều người và cũng còn khá nhiều thách thức cần tìm hiểu. Chính vì vậy,
dưới sự hướng dẫn tận tình của giảng viên ThS. Dương Phương Hùng, em
đã lựa chọn đề tài: “Tìm hiểu và nghiên cứu về giấu tin trong ảnh” với
mong muốn được tìm hiểu nhiều hơn nữa và nâng cao tính an tồn cho
thơng tin, tài liệu quan trọng.
2. Mục tiêu của đề tài

Nghiên cứu các kĩ thuật giấu tin trong môi trường dữ liệu ảnh số và
các phương pháp giấu tin đảm bảo tính ẩn của dữ liệu được giấu và tăng
tính an tồn, bền vững cho tin đã giấu.

Nghiên cứu các kĩ thuật phát hiện ảnh giấu tin tập trung vào việc phát
hiện ra sự có mặt hay khơng các thơng điệp ẩn trong dữ liệu được quan sát.

1

3. Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu:

+ Các kĩ thuật giấu tin trong ảnh
+ Các kĩ thuật phát hiện ảnh giấu tin
- Phạm vi nghiên cứu:
+ Nghiên cứu về lý thuyết xử lý ảnh số.
+ Nghiên cứu về các kĩ thuật giấu tin trong ảnh số.
+ Đề xuất phương pháp giấu tin làm tăng tính an tồn cho tin giấu
trước các tấn công sử dụng kĩ thuật xử lý ảnh.
+ Cài đặt thử nghiệm phần mềm giấu tin
4. Phương pháp nghiên cứu

- Tổng hợp và phân tích cơ sở lý thuyết các phương pháp giấu tin.
- So sánh, đánh giá kết quả giấu tin thông qua công thức và thực
nghiệm.
5. Lịch sử nghiên cứu
Đảm bảo an tồn bảo mật thơng tin là một trong những vấn đề quan
trọng được nhiều chuyên gia nghiên cứu trên các lĩnh vực kinh tế, chính
trị… Áp dụng và kế thừa từ những bài nghiên cứu đó, em đã đi sâu vào tìm
hiểu về đề tài giấu tin trong ảnh.
6. Đóng góp của đề tài
Đề tài nghiên cứu đề xuất phương pháp giấu tin làm tăng tính an
tồn, bền vững cho giấu tin trước các tấn cơng sử dụng kĩ thuật xử lí ảnh.
Phương pháp đề xuất thể hiện được ưu điểm so với các phương pháp
khác: làm giảm sự chú ý của các tin tặc từ đó làm giảm khả năng giải mã.
Đề xuất các phương pháp, kĩ thuật lấy thông tin đã ẩn giấu từ ảnh số
một cách rõ ràng để dễ dàng hơn cho những ai muốn tìm hiểu về vấn đề
này.

2

7. Cấu trúc đề tài
Ngoài phần mở đầu, đề tài gồm 4 chương sau:

Chương 1: Tổng quan về giấu tin
Chương 2: Một số kĩ thuật giấu tin trong ảnh
Chương 3: Một số kĩ thuật phát hiện ảnh giấu tin
Chương 4: Chương trình Demo ứng dụng

3

PHẦN 2. NỘI DUNG NGHIÊN CỨU

Chương 1: TỔNG QUAN VỀ GIẤU TIN
1.1. Định nghĩa và mục đích giấu tin
1.1.1. Định nghĩa
Giấu thông tin (steganography) là một kỹ thuật nhúng thông tin vào
một nguồn đa phương tiện nào đó, ví dụ như văn bản, ảnh, audio, video,...
Nguồn đa phương tiện này được gọi là môi trường giấu tin.
Giấu tin trong ảnh: Thông tin sẽ được giấu vào dữ liệu ảnh nhưng
chất lượng ảnh ít thay đổi và “khó” phát hiện mẩu tin mật đó. Trong ảnh
thơng tin giấu một cách vơ hình. Nó là một cách truyền thông tin mật cho
nhau mà người khác không thể biết được.
1.1.2. Mục đích
- Mục đích của việc giấu tin đảm bảo an tồn và bảo mật thơng tin.
Với 2 khía cạnh cần được quan tâm:
+ Bảo mật cho dữ liệu được đem giấu.
+ Bảo mật cho chính đối tượng được đem giấu thông tin.
- Ngày nay, nghệ thuật giấu tin được nghiên cứu để phục vụ cho các
mục đích tích cực như: bảo vệ bản quyền các tài liệu số hóa, hay giấu các
thơng tin bí mật về qn sự, kinh tế.
1.2. Mơ hình giấu tin

Hı̀nh 1.1: Mơ hình giấu tin và lấy tin

4

Mơ hình trên biễu diễn quá trình giấu và lấy tin cơ bản. Trong đó,
phương tiện chứa bao gồm các đối tượng được dùng để giấu tin như audio,
video, hình ảnh,...Thơng tin giấu là một lượng thơng tin mang ý nghĩa nào
đó tùy thuộc mục đích của người sử dụng. Thơng tin sẽ được giấu vào
trong phương tiện chứa nhờ một bộ nhúng. Bộ nhúng là những chương
trình triển khai các thuật tốn để giấu tin và thực hiện với một khóa bí mật

giống như các hệ mã cổ điển. Sau khi giấu tin ta thu được phương tiện chứa
các thông tin đã giấu và phân phối sử dụng trên mạng. Sau khi nhận được
đối tượng phương tiện có giấu tin, q trình giải mã được thực hiện thông
qua một bộ giải mã tương ứng với bộ nhúng thơng tin cùng với khóa của
q trình nhúng. Kết quả thu được gồm phương tiện chứa gốc và thông tin
đã giấu. Bước tiếp theo thông tin giấu sẽ được xử lí, kiểm định, so sánh với
thơng tin giấu ban đầu.
1.3. Phân loại các kĩ thuật giấu tin

Hı̀nh 1.2: Phân loại các kĩ thuật giấu tin
Theo sơ đồ này, giấu tin được chia thành hai loại lớn là giấu tin mật và
thủy vân số.
1.3.1. Giấu tin mật (Seganography)

Giấu tin mật che giấu bản tin (đòi hỏi mật độ cao và dung lượng
càng lớn càng tốt) vào môi trường (đối tượng) gốc. Giấu tin mật quan tâm

5

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

Trong q trình giấu tin để tăng tính bảo mật, có thể phải dùng khóa
viết mật. Đó chính là giấu tin có xử lí. Nếu khơng dùng khóa viết mật, tức
là chỉ giấu tin đơn thuần vào môi trường giấu tin. Đó là giấu tin đơn thuần.
1.3.2. Thủy vân số (Watermaking)

Thủy vân số giấu mẩu tin ngắn nhưng đòi hỏi độ bền vững cao của
thông tin cần giấu (trước các biến đổi thơng thường của tệp dữ liệu mơi

trường). Nó đánh dấu vào đối tượ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 phân thành 2 loại:

- Thủy vân bền vững: thường được ứng dụng trong bảo vệ bản quyền.
Thủy vân được nhúng trong sản phẩm như một hình thức dán tem bản
quyền. Trong trường hợp này, thủy vân phải tồn tại bền vững cùng với sản
phẩm nhằm chống việc tẩy xóa, làm giả hay biến đổi phá hủy thủy vân.

+ Thủy vân ẩn: khơng thể nhìn thấy được bằng mắt thường.
+ Thủy vân hiện: là thủy vân hiện ngay trên sản phẩm và có thể nhìn
thấy được bằng mắt thường.

- Thủy vân dễ vỡ: là kỹ thuật nhúng thủy vân vào trong một đối tượng
(sản phẩm) sao cho khi phân bố sản phẩm (trong mơi trường mở) nếu có
bất kì phép biến đổi nào làm thay đổi sản phẩm gốc thì thủy vân đã được
giấu trong đối tượng sẽ khơng cịn ngun vẹn như trước khi giấu.
1.4. Các yêu cầu giấu tin

- Tính bền vững: Thể hiện khả năng ít bị thay đổi (về nội dung, hình
dạng) trước những tấn cơng từ bên ngồi. Hiện nay, chưa có kỹ thuật giấu
tin nào đảm bảo được yêu cầu này một cách tuyệt đối.

6

- Khả năng không bị phát hiện: Thể hiện ở việc khó xác định được đối
tượng có chứa thơng tin mật hay khơng. Các kỹ thuật giấu tin hiện nay cố
gắng đảm bảo yêu cầu này dựa vào hệ thống thị giác của con người.

- Khả năng lưu trữ: Thể hiện ở lượng thông tin được lưu trữ. Do cịn
phải đảm bảo “khả năng khơng bị phát hiện” nên với những thông tin mật

lớn, ta thường chia nhỏ nó ra, nhúng nhiều lần vào các đối tượng khác
nhau.
1.5. Một số ứng dụng

- 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ố. Một thông tin nào đó mang ý nghĩa sở hữu quyền tác giả (thủy vân)
sẽ được nhúng vào trong các sản phẩm, thủy vân đó chỉ có một mình người
chủ sở hữu hợp pháp các sản phẩm đó có và được dùng làm minh chứng
cho bản quyền sản phẩm.

- Điểm chỉ số: mục tiêu là để chuyển thông tin về người nhận chứ
không phải chủ sở hữu sản phẩm, phương tiện số nhằm xác định đây là bản
sao duy nhất của sản phẩm. Về mặt ý nghĩa, điểm chỉ số tương tự như số
seri của phần mềm.

- Xác thực thông tin hay xuyên tạc thông tin: một tập các thông tin sẽ
được giấu trong phương tiện chứa. Sau đó, nó được sử dụng để nhận biết
xem dữ liệu trên phương tiện gốc có bị thay đổi hay khơng.

- Dấu vân tay hay dán nhãn: Thủy vân trong ứng dụng này để nhận
diện người gửi hay người nhận của một thơng tin nào đó.

- Điều khiển truy cập: Thủy vân trong trường hợp này dùng để điều
khiển truy cập đối với thông tin. Các thiết bị phát hiện ra thủy vân thường
được gắn sẵn trong hệ thống đọc ghi.

- Giấu tin mật: Trong nhiều trường hợp, sử dụng mật mã có thể gây ra
sự chú ý ngoài mong muốn. Ngược lại, việc giấu tin trong môi trường nào

7


đó rồi gửi đi trên mạng ít gây sự chú ý. Có thể dùng nó để gửi đi một bí
mật thương mại, một bản thiết kế hay các thông tin bất kì khác.
1.6. Các định dạng ảnh thơng dụng

Ảnh thu được sau quá trình số hóa có nhiều loại khác nhau, phụ thuộc
vào kỹ thuật số hóa ảnh.
1.6.1. Định dạng ảnh IMG (Image)

Ảnh IMG là ảnh đen trắng, mỗi điểm ảnh được thể hiện bởi 1bit. Toàn
bộ ảnh chỉ gồm các điểm sáng và tối tương ứng với giá trị 0 hoặc 1.

Tỉ lệ nén của kiểu định dạng này là khá cao. Ảnh IMG được nén theo
từng dòng. Mỗi dòng bao gồm các gói (Pack). Các dịng giống nhau được
nén thành một gói.
1.6.2. Định dạng ảnh PCX (Personal Computer Exchange )

Định dạng ảnh PCX là một trong những định dạng loại cổ điển nhất.
Nó sử dụng phương pháp mã loạt dài RLC để nén dữ liệu ảnh. Quá trình
nén và giải nén được thực hiện trên từng dòng ảnh. Thực tế phương pháp
giải nén PCX kém hiệu quả hơn so với kiểu IMG.

Định dạng ảnh PCX thường được dùng để lưu trữ ảnh vì thao tác đơn
giản, cho phép nén và giải nén nhanh. Tuy nhiên vì cấu trúc cố định nên
trong một số trường hợp nó làm tăng kích thước lưu trữ.
1.6.3. Định dạng ảnh GIF (Graphics Interchanger Format)

Định ảnh GIF do hãng Computer Incorporated (Mỹ) đề xuất lần đầu
tiên vào năm 1990. Ở định dạng này, khi số màu trong ảnh càng tăng, thì
ưu thế của nó càng nổi trội. Những ưu thế này có được là do GIF tiếp cận

các thuật toán LZW (Lampel Ziv Welch), dựa vào sự lặp lại của một nhóm
điểm, người ta xây dựng từ điển lưu các chuỗi kí tự có tần suất lặp lại cao
và thay thế bằng từ mã tương ứng mỗi khi gặp chúng. Dạng ảnh GIF cho
chất lượng cao, độ phân giải đồ họa tốt, cho phép hiển thị trên hầu hết các
phần cứng đồ họa.

8

1.6.4. Định dạng ảnh BMP (Bitmap )
Ảnh BMP (Bitmap) được phát triển bởi Microsoft Corporation, được

lưu trữ dưới dạng độc lập thiết bị cho phép Windows hiển thị dữ liệu không
phụ thuộc vào khung chỉ định màu trên bất kì phần cứng nào. Tên file mở
rộng mặc định của một file ảnh Bitmap là BMP, nét vẽ được thể hiện là các
điểm ảnh. Qui ước màu đen, trắng tương ứng với các giá trị 0, 1. Ảnh BMP
được sử dụng trên Microsoft Windows và các ứng dụng chạy trên
Windows từ version 3.0 trở lên. BMP thuộc loại ảnh mảnh.

Có rất nhiều định dạng ảnh thuộc kiểu bitmap như BMP, PCX, GIF,
JPEG, TAG, PNG,… Mỗi file ảnh BMP gồm 4 phần:

- Bitmap Header (14 bytes): giúp nhận dạng tập tin bitmap.
- Bitmap Information (40 bytes): chứa một số thông tin chi tiết giúp
hiển thị ảnh.
- Palette màu (4*x bytes), x là số màu của ảnh, định nghĩa các màu sẽ
được ứng dụng trong ảnh.
- Bitmap Data: chứa dữ liệu ảnh.

Đặc diểm nỗi bật nhất của định dạng BMP là tập tin ảnh thường
không được nén bằng bất kì thuật tốn nào. Khi lưu ảnh, các điểm ảnh

được ghi trực tiếp vào tập tin – một điểm ảnh sẽ được mô tả bởi một hay
nhiều byte tùy thuộc vào giá trị n của ảnh. Do đó, một hình ảnh lưu dưới
dạng BMP thường có kích cỡ rất lớn, gấp nhiều lần so với ảnh được nén
(như GIF, JPEG, PNG…)
1.6.5. Định dạng ảnh JPEG (Joint Photographic Expert Group)

Ưu điểm của JPEG hơn GIF là nó có thể hiển thị hình ảnh với màu
chính xác (true-colour), có thể lên đến 16 triệu màu. Điều đó cho phép
JPEG được sử dụng tốt nhất cho hình ảnh chụp và hình ảnh minh họa có số
lượng màu lớn.

9

Nhược điểm chính của định dạng này là chúng được nén bằng thuật
toán lossy (mất dữ liệu), hình ảnh sẽ mất một số chi tiết khi chuyển sang
định dạng JPEG. Đường bao của các khối màu có thể xuất hiện nhiều điểm
mờ và các vùng sẽ mất sự rõ nét.

Nói cách khác, định dạng JPEG thực hiện bảo quản tất cả thơng tin
màu trong hình ảnh. Tuy nhiên, với các hình ảnh chất lượng màu cao (high-
colour), như hình ảnh chụp, thì sẽ khơng ảnh hưởng gì.

10

Chương 2: MỘT SỐ KĨ THUẬT GIẤU TIN TRONG ẢNH
2.1. Các kĩ thuật giấu tin trong ảnh Bitmap

Việc giấu tin trong ảnh màu có rất nhiều thuận lợi so với việc giấu tin
trong ảnh đen trắng, nó có ưu điểm như sau:


- Giấu được nhiều thông tin hơn so với ảnh đen trắng cùng kích cỡ.
- Độ an tồn cao hơn so với ảnh đen trắng vì có rất ít sự thay đổi so với

ảnh gốc ban đầu.
Đối với từng loại màu ta lại có kỹ thuật khác nhau:
2.1.1. Ảnh nhỏ hơn hoặc bằng 8 bit màu
Không phải tất cả những ảnh nhỏ hơn hoặc bằng 8 bit màu đều có
bảng màu được sắp xếp, do vậy việc sắp xếp LSB rất khó khăn. Ta cần sắp
xếp lại bảng màu:
- Chọn một màu bất kì, giả sử màu có dạng A(x, y, z) ta đưa vào vị trí

đầu tiên.
- Duyệt tất cả các màu B(m, n, p) còn lại và tính:

S(A, B) = sqrt((x - m)2 + (y - n)2 + (z - p)2)
- Ta sẽ chọn màu B có S(A, B) nhỏ nhất để sắp xếp cạnh màu A sau

đó lại tiếp tục thực hiện như bước 2.
- Quy trình được kết thúc khi bảng màu đã được sắp xếp.
2.1.2. Ảnh 16 bit màu

Thực tế chỉ có 15 bit được dùng để biểu diễn cho một điểm ảnh:
- 5 bit dùng để biểu diễn cường độ tương đối màu đỏ.
- 5 bit dùng để biểu diễn cường độ tương đối màu xanh lơ.
- 5 bit dùng để biểu diễn cường độ tương đối màu xanh lam.

Cịn 1 bit khơng dùng đến là bit cao nhất ở byte thứ 2, đó chính là bit
LSB của ảnh 16 bit màu. Nếu chỉ lấy một bit này thì lượng thơng tin giấu là
rất ít do đó cần lấy thêm một số bit nữa.


11

2.1.3. Ảnh 24 bit màu
Mỗi một điểm ảnh được biễu diễn bằng 3 byte:
- 1 byte dùng để biểu diễn cường độ tương đối màu đỏ.
- 1 byte dùng để biểu diễn cường độ tương đối màu xanh lơ.
- 1 byte dùng để biểu diễn cường độ tương đối màu xanh lam.
Trong mỗi byte các bit nằm càng về cuối càng ít ảnh hưởng đến phần

dữ liệu ảnh. Thơng thường để tăng lượng thông tin được giấu người ta
thường lấy 4 bit cuối mỗi byte để giấu thông tin.

Bằng thực nghiệm cho thấy nếu thay đổi tồn bộ bit cuối của một byte
thì ảnh kết quả cũng không khác nhiều lắm so với ảnh ban đầu. Điều này
vơ cùng có ý nghĩa vì ta có thể giấu được nhiều thơng tin trong ảnh.
2.1.4. Các phương pháp giấu tin

- Phương pháp nhúng vào các bit có trọng số thấp (Least Significant
Bit).

- 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ạ giác quan.
 Phương pháp nhúng vào các bit có trọng số thấp:
Nền tảng kỹ thuật
Khi chuyển đổi một ảnh tương tự sang ảnh số người ta thường chọn 3
cách thể hiện màu:
- 24 bit màu: mỗi điểm có thể nhận một trong 224 màu, mỗi màu được
tạo ra từ 3 màu căn bản: red (R), green (G) và blue (B), mỗi màu nhận một

giá trị từ 0 đến 255 (8 bit).
- 8 bit màu: mỗi điểm có thể nhận một trong 256 màu, chọn từ một
bảng màu (palette)
- 8 bit dải xám: mỗi điểm nhận một trong 256 (28) sắc thái xám.

12

Phương pháp LSB chọn ra các bit ít quan trọng và thay thế chúng
bằng các bit thơng tin cần giấu. Để khó bị phát hiện, thông tin giấu thường
được nhúng vào những vùng mắt người kém nhạy cảm với màu sắc. Từ đó,
các thơng tin được giấu sẽ lẫn vào đâu đó giống như nhiễu ảnh.

Hı̀nh 2.1: Giấu tin vào các bit ít quan trọng của điểm ảnh
Áp dụng kỹ thuật LSB, một điểm ảnh 24 bit có thể giấu được 3 bit
thơng tin, theo thứ tự từ trái sang phải, byte đầu tiên chứa giá trị biểu thị
cường độ màu lam (B), byte thứ hai chứa giá trị biểu thị cường độ màu lục
(G), byte thứ ba chứa giá trị biểu thị cường độ màu đỏ (R). Như vậy, mỗi
màu được xác định bởi một số nguyên có giá trị trong khoảng 0 – 255.
Ví dụ:
Giả sử, tin cần giấu là chữ cái ‘A’ có mã ASCII là 65 (hệ thập phân),
hệ nhị phân là 01000001. Giấu nó vào một vùng ảnh có 3 điểm ảnh các
màu kề nhau là lam, lục và đỏ (B, G, R):
Các điểm ảnh trước khi giấu có hệ nhị phân là:

Màu lam: 11111111, 00000000, 00000000
Màu lục: 00000000, 11111111, 00000000
Màu đỏ: 00000000, 00000000, 11111111
Chèn giá trị nhị phân của chữ ‘A’ vào 3 điểm ảnh trên theo kỹ thuật
LSB, lật bit bên phải nhất sẽ thu được kết quả sau:


11111110 00000001 00000000
00000000 11111110 00000000

13

00000000 00000001 11111111
Các bit được gạch chân là các bit bị lật. Dùng 4 bit có trọng số thấp
để giấu tin mà chất lượng không thay đổi bao nhiêu đối với mắt thường..
Từ ví dụ trên suy ra, nếu dùng 1 LSB thì xác suất phải lật bit là 50%,
vậy nên lượng nhiễu gây ra cho ảnh là rất ít. Đối với ảnh màu 24 bit, ta có
thể dùng 2 đến 3 bit thấp mà vẫn không để lộ tin mật. Nhưng đối với ảnh 8
bit thì khơng thể, vì ta chỉ có thể dùng 1 bit thấp nhất để giấu tin.
2.2. Các kĩ thuật giấu tin trong ảnh JPG
Các kĩ thuật giấu tin trong ảnh JPG như kỹ thuật dùng hệ số DCT,
kỹ thuật mặt nạ và lọc, kỹ thuật dùng hệ số của phép chiếu trực giao. Tuy
nhiên, kĩ thuật thường được sử dụng nhiều nhất là dùng hệ số DCT để giấu
tin.
2.2.1. Kĩ thuật dùng hệ số DCT
- Nền tảng kỹ thuật
JPEG viết tắt cho Joint Photographic Experts Group. Phần mở
rộng của các file JPEG thường có dạng .jpeg, .jfif, .jpg, hay .jpe; nhưng
.jpg là dạng được dùng phổ biến nhất. Các ảnh JPEG có tỉ lệ nén cao (tới
vài chục lần), chất lượng tốt, do đó chúng được sử dụng nhiều trên mạng.
Tuy nhiên, các tệp ảnh JPEG khơng phù hợp với xử lí bit như các ảnh dựa
trên bảng màu, tuy vậy vẫn có thể dùng chúng để giấu dữ liệu.
Ảnh JPEG dùng biến đổi Cosin rời rạc để thực hiện nén ảnh. Biến
đổi Cosin rời rạc là phép biến đổi mất dữ liệu vì khơng thể tính chính xác
các giá trị cosin, cũng như có thể có các lỗi làm trịn. Độ lệch giữa dữ liệu
gốc và dữ liệu phục hồi lại sau khi biến đổi phụ thuộc vào các giá trị và
phương pháp sử dụng để tính các giá trị cosin rời rạc.

Thuật toán JPEG làm việc bằng cách chia ảnh ra thành các ma trận
8x8. Sau đó, tính hệ số biến đổi cosin rời rạc cho từng ma trận. Tiếp theo,
các hệ số này được nhân với một ma trận lượng hóa. Kết quả sẽ được làm

14

tròn đến số nguyên gần nhất, cuối cùng các số nguyên này được nén và lưu
lại.

Các cấu từ DCT chính là nơi chúng ta có thể giấu dữ liệu. Cách tiếp
cận phổ biến là chọn các hệ số DCT lớn và sửa đi chút ít. Vì hệ số lớn tới
mức “năng lượng” cao nên ít làm thay đổi ảnh nhất. Một hướng khác là
chọn các hệ số DCT trong các vùng mà mắt người khơng nhìn thấy.

Các thuật toán JPEG nổi tiếng áp dụng trong F5 và JSteg đều dùng
cách sửa DCT để nhúng dữ liệu. Cả 2 phương pháp này đều qua được mắt
thường nhưng khơng qua được các phương pháp phân tích, thống kê.

- Phép biến đổi cosin rời rạc
Phép biến đổi cosin rời rạc hay DCT – Discrete Cosine Transform đã

trở thành tiêu chuẩn quốc tế cho các hệ thống mã chuyển vị bởi nó có đặc
tính gói năng lượng tốt, cho kết quả là số thực và có thuật tốn nhanh để
thực hiện chúng. Phép biến đổi DCT đã được dùng trong dạng chuẩn ảnh
JPEG.

 Định nghĩa biến đổi cosin rời rạc 2 chiều
- Biến đổi DCT 2 chiều tổng quát là biến đổi trên khối 2 chiều bất kì
m x n, trong đó các khối kích thước 8*8, 16*16 được sử dụng nhiểu nhất.
Tuy nhiên, chúng ta sẽ chỉ tìm hiểu phép biến đổi DCT trên khối 8*8 được

sử dụng trong chuẩn nén JPEG.
- Phép biến đổi thuận DCT 8*8 được định nghĩa như sau:

I(u,v) = ∑∑ , cos cos

- Biến đổi ngược DCT định nghĩa như sau:

X(k,l) = ∑∑ , cos cos

Với √ 0 à √ 0
0 1 8 0 1 8

15

Trong đó, I (u, v) được gọi là hệ số DCT trong miền tần số, giá trị
X(k, l) biễu diễn các mức xám của ảnh trong miền không gian.

 Đặc điểm của phép biến đổi DCT 2 chiều
- Thể hiện đặc tính nội dung về tần số thơng tin ảnh. Hệ số góc trên là
lớn và đặc trưng cho giá trị trung bình thành phần một chiều gọi là hệ số
DC, cịn các hệ số khác có giá trị nhỏ hơn biểu diễn cho các thành phần tần
số cao theo hướng ngang và hướng thẳng đứng gọi là hệ số AC.
- Bản thân biến đổi DCT khơng nén được dữ liệu vì cũng sinh ra 64 hệ
số.
- Theo nguyên lý chung, khi biến đổi chi tiết giữa các điểm ảnh càng
lớn theo 1 hướng nào đó trong khối các điểm ảnh, hướng ngang, hướng
thẳng đứng hay theo hướng đường chéo thì tương ứng theo các hướng đó,
các biến đổi DCT càng lớn.
- DCT làm giảm độ tương quan không gian của thông tin trong khối
ảnh. Nhờ các đặc tính tần số khơng gian hệ thống nhìn của mắt người, các

hệ số DCT có thể được mã hóa phù hợp, chỉ các hệ số DCT quan trọng
nhất mới được mã hóa để truyền đi.
- Khối hệ số DCT có thể chia thành 3 miền:
+ Miền tần số thấp: chứa các thông tin quan trọng ảnh hưởng đến tri
giác.
+ Miền tần số cao: các thơng tin thường khơng mang tính tri giác cao,
khi nén JPEG thì thường loại bỏ thơng tin trong miền này. Trong các thuật
toán thủy vân, miền hệ số DCT tần số cao thường không được sử dụng do
nó thường khơng bền vững với các phép xử lí ảnh hoặc nén ảnh JPEG.
Miền tần số cao cũng khó được sử dụng do một sự thay đổi dù nhỏ trong
miền này cũng ảnh hưởng đến chất lượng tri giác của ảnh.
+ Miền tần số giữa: thường hay được sử dụng nhất và cho kết quả tốt
nhất. Trong thuật toán đề xuất cũng sử dụng miền thuật toán ở giữa.

16

2.2.2. Kỹ thuật giấu tin trong miền biến đổi DCT
Thuật toán dưới đây sẽ sử dụng phương pháp nhúng thủy vân trong

miền tần số của ảnh, giải tần được sử dụng để chứa tín hiệu thủy vân là
miền tần số ở giữa của một khối DCT 8x8. Trong đó, các khối DCT 8x8 là
những khối ảnh cùng kích thước đã được chọn ra ngẫu nhiên từ ảnh ban
đầu và được áp dụng phép biến đổi cosin rời rạc DCT để chuyển sang miền
tần số. Mỗi tín hiệu thủy vân sẽ được chứa trong một khối.

 Quá trình nhúng thủy vân

Input:

- Một chuỗi các bit B.


- Một ảnh F.

Output:

- Một ảnh F’ sau khi thủy vân.

- Khóa để giải mã.

Bước 1: Một ảnh có kích thước m x n sẽ được chia thành (m x n)/64

khối 8 x 8, mỗi bit sẽ đượcgiấu trong một khối Bk.

Bước 2: Chọn một khối bất kì Bk và biến đổi DCT khối đó thu được

Ck

với Ck = DCT(Bk).

Bước 3: Chọn hai hệ số ở vị trí bất kì trong miền tần số ở giữa của

khối Ck, giả sử đó là Ck[i, j] và Ck[p, q].

Bước 4: Ta tính: d = || Ck[i, j] | - | Ck[p, q]|| mod a

Trong đó a là một tham số thỏa mãn: a = 2(2t + 1), t là một số

nguyên dương.

Bước 5: Bit bk sẽ được nhúng vào Ck sau khi thỏa mãn điều kiện :


21 ế 1

21 ế 0

17

Bước 6: Nếu d < 2t + 1 mà bk = 1 thì một trong hai hệ số DCT Ck[i,j]
hoặc Ck[p, q] có trị tuyệt đối lớn hơn sẽ bị thay đổi để thỏa mãn d 2t+1
theo công thức như sau :

Max (|Ck[i, j]|, |Ck[p, q]|) + (INT (0.75*a) - d)
với hàm Max (|Ck[i, j]|, |Ck[p, q]|) là hàm chọn ra hệ số có trị tuyệt
đối lớn hơn, hệ số được chọn sẽ được cộng thêm một lượng là (INT
(0.75*a) - d) hoặc cũng có thể biến đổi một trong hai hệ số theo công thức:

Min(|Ck[i, j]|, |Ck[p, q]|) - (INT (0.75*a) + d)
với hàm Min (|Ck[i, j]|, |Ck[p, q]|) là hàm chọn ra hệ số có trị tuyệt
đối nhỏ hơn, hệ số được chọn sẽ bị trừ đi một lượng là (INT (0.75*a) + d)
INT() là hàm lấy phần nguyên của một số thực.
Bước 7: Nếu d 2t + 1 mà bk = 0 thì một trong hai hệ số DCT Ck[i, j]
hoặc Ck[p, q] có trị tuyệt đối lớn hơn sẽ được thay đổi để thỏa mãn d<2t+1
theo công thức như sau:

Max(|Ck[i, j]|, |Ck[p, q]|) - (d – INT (0.75*a))
hàm Max(|Ck[i, j]|, |Ck[p, q]|) là hàm chọn ra hệ số có trị tuyệt đối
lớn, hệ số được chọn sẽ bị trừ đi một lượng là (d – (INT (0.75*a))) hoặc
cũng có thể biến đổi một trong hai hệ số theo công thức:

Min(|Ck[i, j]|, |Ck[p, q]|) + (INT (0.75*a) - d)

với hàm Min(|Ck[i, j]|, |Ck[p, q]|) là hàm chọn ra hệ số có trị tuyệt đối
nhỏ hơn, hệ số được chọn sẽ được cộng thêm một lượng là (INT (0.75*a) -
d).
Bước 8: Thực hiện phép biến đổi ngược IDCT đối với khối Ck, Bk =
IDCT(Ck).
Bước 9: Ghép các khối ảnh B’kđể được ảnh chứa thủy vân F’.

18


×