kỹ thuật giấu tin

71
1 CHƢƠNG 1. TỔNG QUAN VỀ GIẤU TIN VÀ THỦY VÂN ............................................... 3 I. Kỹ thuật giấu tin............................................................................................................ 3 1. Khái niệm giấu tin .................................................................................................. 3 2. Phân loại các kỹ thuật giấu tin ................................................................................ 3 3. Phân biệt thủy vân và giấu tin mật ......................................................................... 4 4. Các hƣớng ứng dụng của thủy vân ......................................................................... 5 5. Môi trƣờng dấu tin .................................................................................................. 6 1. Giấu tin trong ảnh (image) .................................................................................. 6 2. Giấu tin trong audio ............................................................................................ 7 3. Giấu tin trong video ............................................................................................ 7 4. Giấu tin trong văn bản......................................................................................... 8 5. Mô hình kỹ thuật giấu tin .................................................................................... 8 6. Các phƣơng pháp dấu tin ...................................................................................... 10 1. Giấu tin trong miền quan sát ............................................................................. 10 2. Các phƣơng pháp dựa vào kỹ thuật biến đổi ảnh .............................................. 10 3. Các phƣơng pháp sử dụng mặt nạ giác quan .................................................... 10 II. Thủy vân ..................................................................................................................... 10 1. Khái nim thy vân .................................................................................................... 10 2. Mô hình của kỹ thuật thủy vân ................................................................................... 11 7. Đặc trƣng của thủy vân số .................................................................................... 12 8. Phân loại các kỹ thuật thủy vân ............................................................................ 13 9. Các khả năng tấn công trên hệ thống thủy vân ..................................................... 14 CHƢƠNG 2. CÁC PHƢƠNG PHÁP THỦY VÂN TRÊN ẢNH SỐ .................................... 16 III. Kỹ thuật miền không gian ........................................................................................ 16 10. Kỹ thuật thủy vân cho ảnh nhị phân ..................................................................... 16 6. Thuật toán 1 ...................................................................................................... 17 7. Thuật toán 2 ...................................................................................................... 20 8. Thuật toán 3 ...................................................................................................... 22 11. Kỹ thuật thủy vân cho ảnh xám ............................................................................ 26 IV. Thuật toán thủy vân dựa trên DCT........................................................................... 28 12. Ý tƣởng ................................................................................................................. 28 13. Chuyển đổi cosin rời rạc ....................................................................................... 28 9. Chuyển đổi tuyến tính ....................................................................................... 28 10. Biến đổi cosin rời rạc ........................................................................................ 29 14. Quá trình nhúng thủy vân ..................................................................................... 31 15. Thuật toán nhúng thủy vân WM.......................................................................... 33 16. Ví dụ minh họa ..................................................................................................... 34 17. Quá trình trích thủy vân ........................................................................................ 36 18. Kết luận................................................................................................................. 38 V. Kỹ thuật thủy vân sử dụng sóng nhỏ .......................................................................... 39 19. Giới thiệu về sóng nhỏ .......................................................................................... 39 20. Lý thuyết biến đổi sóng nhỏ rời rạc cho thủy vân ảnh (DWT)............................. 40 21. Xử lý ghép ............................................................................................................ 41 22. Phân tách kiểu hình chóp ...................................................................................... 42 23. Phân tách sóng nhỏ kiểu đóng gói ........................................................................ 43 24. Họ sóng nhỏ .......................................................................................................... 44 25. Kỹ thuật thủy vân sử dụng phép biến đổi sóng nhỏ ............................................. 45 11. Kỹ thuật thủy vân của Raval Mehul va Rege Priti ............................................ 45 12. Kỹ thuật thủy vân của Peining Tao và Ahmet M. Eskicioglu .......................... 46 VI. Thủy vân miền DFT ................................................................................................. 48

Upload: ngotiensy

Post on 05-Aug-2015

241 views

Category:

Documents


4 download

DESCRIPTION

Tổng quan về kỹ thuật giấu tin và một số phương pháp thông dụng.

TRANSCRIPT

Page 1: Kỹ thuật Giấu tin

1

CHƢƠNG 1. TỔNG QUAN VỀ GIẤU TIN VÀ THỦY VÂN ............................................... 3 I. Kỹ thuật giấu tin............................................................................................................ 3

1. Khái niệm giấu tin .................................................................................................. 3 2. Phân loại các kỹ thuật giấu tin ................................................................................ 3

3. Phân biệt thủy vân và giấu tin mật ......................................................................... 4 4. Các hƣớng ứng dụng của thủy vân ......................................................................... 5 5. Môi trƣờng dấu tin .................................................................................................. 6

1. Giấu tin trong ảnh (image) .................................................................................. 6 2. Giấu tin trong audio ............................................................................................ 7

3. Giấu tin trong video ............................................................................................ 7 4. Giấu tin trong văn bản......................................................................................... 8 5. Mô hình kỹ thuật giấu tin .................................................................................... 8

6. Các phƣơng pháp dấu tin ...................................................................................... 10 1. Giấu tin trong miền quan sát ............................................................................. 10 2. Các phƣơng pháp dựa vào kỹ thuật biến đổi ảnh .............................................. 10 3. Các phƣơng pháp sử dụng mặt nạ giác quan .................................................... 10

II. Thủy vân ..................................................................................................................... 10

1. Khái niệm thủy vân .................................................................................................... 10 2. Mô hình của kỹ thuật thủy vân ................................................................................... 11 7. Đặc trƣng của thủy vân số .................................................................................... 12

8. Phân loại các kỹ thuật thủy vân ............................................................................ 13 9. Các khả năng tấn công trên hệ thống thủy vân ..................................................... 14

CHƢƠNG 2. CÁC PHƢƠNG PHÁP THỦY VÂN TRÊN ẢNH SỐ .................................... 16

III. Kỹ thuật miền không gian ........................................................................................ 16

10. Kỹ thuật thủy vân cho ảnh nhị phân ..................................................................... 16 6. Thuật toán 1 ...................................................................................................... 17 7. Thuật toán 2 ...................................................................................................... 20

8. Thuật toán 3 ...................................................................................................... 22 11. Kỹ thuật thủy vân cho ảnh xám ............................................................................ 26

IV. Thuật toán thủy vân dựa trên DCT ........................................................................... 28 12. Ý tƣởng ................................................................................................................. 28 13. Chuyển đổi cosin rời rạc ....................................................................................... 28

9. Chuyển đổi tuyến tính ....................................................................................... 28

10. Biến đổi cosin rời rạc ........................................................................................ 29 14. Quá trình nhúng thủy vân ..................................................................................... 31 15. Thuật toán nhúng thủy vân WM .......................................................................... 33

16. Ví dụ minh họa ..................................................................................................... 34

17. Quá trình trích thủy vân ........................................................................................ 36 18. Kết luận................................................................................................................. 38

V. Kỹ thuật thủy vân sử dụng sóng nhỏ .......................................................................... 39

19. Giới thiệu về sóng nhỏ .......................................................................................... 39 20. Lý thuyết biến đổi sóng nhỏ rời rạc cho thủy vân ảnh (DWT)............................. 40 21. Xử lý ghép ............................................................................................................ 41 22. Phân tách kiểu hình chóp ...................................................................................... 42 23. Phân tách sóng nhỏ kiểu đóng gói ........................................................................ 43

24. Họ sóng nhỏ .......................................................................................................... 44 25. Kỹ thuật thủy vân sử dụng phép biến đổi sóng nhỏ ............................................. 45

11. Kỹ thuật thủy vân của Raval Mehul va Rege Priti ............................................ 45

12. Kỹ thuật thủy vân của Peining Tao và Ahmet M. Eskicioglu .......................... 46 VI. Thủy vân miền DFT ................................................................................................. 48

Page 2: Kỹ thuật Giấu tin

2

26. Mô hình hệ thống thủy vân ................................................................................... 48 27. Mô hình và phân bố tín hiệu của hệ số cƣờng độ DFT ........................................ 50 28. Bộ phát hiện thủy vân tối ƣu ................................................................................ 52 29. Kết quả thực nghiệm ............................................................................................. 58

Page 3: Kỹ thuật Giấu tin

3

CHƢƠNG 1. TỔNG QUAN VỀ GIẤU TIN VÀ THỦY VÂN

I. Kỹ thuật giấu tin

1. Khái niệm giấu tin

Loài ngƣời đã biết đến nhiều phƣơng pháp bảo vệ thông tin khác nhau, giải

pháp đƣợc biết đến sớm nhất đó là các hệ mật mã. Với phƣơng pháp này, thông tin

ban đầu đƣợc mã hóa, sau đó sẽ đƣợc giải mã nhờ khóa của hệ mã. Độ an toàn của

thông tin là do độ phức tạp của việc tìm ra khóa giải mã. Các hệ mật nhƣ DES, RSA,

NAPSACK…đã đƣợc sử dụng rất hiệu quả và phổ biến cho đến ngày nay.

Một hƣớng nghiên cứu mới đã thu hút sự quan tâm của nhiều ngƣời trong

những năm gần đây đó là phƣơng pháp giấu tin. Cho tới nay phƣơng pháp giấu tin đã

đƣợc ứng dụng mạnh mẽ ở nhiều nƣớc trên thế giới. Vậy giấu tin là gì? Giấu thông tin

là một kỹ thuật nhúng (giấu) một lƣợng thông tin số nào đó vào một đối tƣợng dữ liệu

số khác. Độ an toàn thông tin của phƣơng pháp này là do tính chất ẩn của thông tin

đƣợc giấu. Do đó yêu cầu cơ bản của giấu tin là không làm ảnh hƣởng đến dữ liệu

gốc.

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

Kỹ thuật giấu thông 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 dùng để giấu dữ liệu vào. Hai mục đích

khác nhau này dẫn đến hai hƣớng kỹ thuật chủ yếu của giấu tin.

Hƣớng thứ nhất là giấu tin mật, nhằm tập trung vào các kỹ thuật giấu tin sao

cho 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.

Hơn nữa, nếu phát hiện có tin giấu thì việc giải tin cũng khó thực hiện đƣợc. Đồng

thời, các kỹ thuật giấu tin mật còn quan tâm lƣợng tin có thể đƣợc giấu, lƣợng thông

tin dấu đƣợc càng nhiều càng tốt. Tuy nhiên lƣợng thông tin giấu càng lớn thì tính ẩn

của thông tin giấu càng thấp.

Hƣớng thứ hai là thủy vân số, liên quan tới ứng dụng giấu các mẫu tin ngắn

nhƣng đòi hỏi độ bền vững lớn của thông tin cần dấu trƣớc các biến đổi thông thƣờng

của tệp dữ liệu môi trƣờng. Hƣớng thủy vân số có miền ứng dụng lớn hơn. Ví dụ: ứng

dụng bảo vệ bản quyền, phát hiện xuyên tạc thông tin… Tùy theo mục đích của hệ

thủy vân mà ngƣời ta lại chia thành các hƣớng nhỏ nhƣ thủy vân dễ vỡ và thủy vân

Page 4: Kỹ thuật Giấu tin

4

bền vững. Thủy vân bền vững quan tâm nhiều đến việc nhúng những mẩu tin đòi hỏi

độ bền vững cao của thông tin đƣợc giấu trƣớc các biến đổi thông thƣờng trên dữ liệu

chứa. Hƣớng này đƣợc sử dụng để bảo vệ bản quyền tác giả. Thủy vân dễ vỡ yêu cầu

thông tin giấu sẽ bị sai lệch nếu có bất kỳ sự thay đổi nào trên dữ liệu chứa. Hƣớng

này đƣợc sử dụng để phát hiện xuyên tạc thông tin. Cũng có thể chia thủy vân theo

đặc tính, một loại cần đƣợc che dấu để chỉ có một số ngƣời tiếp xúc với nó có thể thấy

đƣợc thông tin, loại thứ hai đối lập, cần đƣợc mọi ngƣời nhìn thấy. Sau đây là sơ đồ

phân loại:

3. Phân biệt thủy vân và giấu tin mật

Xét về tính chất, thủy vân giống giấu tin mật ở chỗ cả hai hƣớng này đều tím

cách nhúng thông tin mật vào một môi trƣờng. Nhƣng về bản chất thì thủy vân có

những nét khác ở một số điểm sau:

Mục tiêu của thủy vân là nhúng thông tin không lớn, thƣờng là biểu tƣợng, chữ

ký hay các đánh dấu khác vào môi trƣờng phủ nhằm phục vụ việc xác nhận bản

quyền.

Hình 1. Phân loại các kỹ thuật dấu tin

Page 5: Kỹ thuật Giấu tin

5

Thủy vân khác với giấu tin mật ở chỗ giấu tin sau đó cần tách lại tin còn thủy vân

tìm cách biến tin giấu thành một thuộc tính của vật mang.

Chỉ tiêu quan trọng nhất của một thủy vân là tính bền vững, của giấu tin là dung

lƣợng.

Thủy vân có thể vô hình hoặc hữu hình trên vật mang.

4. Các hƣớng ứng dụng của thủy vân

Bảo vệ bản quyền tác giả (copyright protection): Đây là ứng dụng cơ bản nhất của

kỹ thuật thủy vân. Một thông tin nào đó mang ý nghĩa quyền sở hữu tác giả (ngƣời

ta gọi nó là thủy vân – watermark) sẽ đƣợc nhúng vào trong các sản phẩm, thủy

vân đó chỉ 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. Giả sử có một dữ liệu dạng đa phƣơng tiện

nhƣ ảnh, âm thanh, video cần đƣợc lƣu thông trên mạng. Để bảo vệ các sản phẩm

chống lại hành vi lấy cắp hoặc làm nhái cần phải có một kỹ thuật để “dán tem bản

quyền” vào sản phẩm này. Việc dán tem hay chính là việc nhúng thủy vân cần

phải đảm bảo không để lại một ảnh hƣởng lớn nào đến việc cảm nhận sản phẩm.

Yêu cầu kỹ thuật đối với ứng dụng này là thủy vân phải tồn tại bền vững cùng với

sản phẩm, muốn bỏ thủy vân này mà không đƣợc phép của ngƣời chủ sở hữu thì

chỉ có một cách duy nhất là phá hủy sản phẩm.

Xác thực thông tin và phát hiện xuyên tạc thông tin: một tập thông tin sẽ đƣợc

giấu trong phƣơng tiện chứa sau đó đƣợc sử dụng để nhận biết dữ liệu trên phƣơng

tiện gốc có bị thay đổi hay không. Các thủy vân nên đƣợc ẩn để tránh sự tò mò của

đối phƣơng, hơn nữa việc làm giả các thủy vân hợp lệ hay xuyên tạc thông tin

nguồn cũng cần xét đến. Trong các ứng dụng thực tế, ngƣời ta mong muốn tìm

đƣợc vị rí bị xuyên tạc cũng nhƣ phân biệt đƣợc các thay đổi (ví dụ nhƣ phân biệt

một đối tƣợng đa phƣơng tiện chứa thông tin giấu đã bị thay đổi, xuyên tạc nội

dung hay chỉ bị nén mất dữ liệu). Yêu cầu chung đối với ứng dụng này là khả năng

giấu thông tin cao và thủy vân không bền vững.

Dấu vân tay hay dán nhãn: Thủy vân trong những ứng dụng này đƣợc sử dụng để

nhận diện ngƣời gửi hay ngƣời nhận một thông tin nào đó. Ví dụ các vân khác

nhau sẽ đƣợc nhúng vào các bản copy khác nhau của thông tin gốc trƣớc khi

Page 6: Kỹ thuật Giấu tin

6

chuyển cho nhiều ngƣời. Với những ứng dụng này, yêu cầu là đảm bảo độ an toàn

cao cho các thủy vân, tránh khả năng xóa dấu vết trong khi phân phối.

Điều khiển truy nhập: Các thiết bị phát hiện thủy vân (ở đây sử dụng phƣơng pháp

phát hiện thủy vân đã giấu mà không cần thông tin gốc) đƣợc gắn sẵn vào trong

các hệ thống đọc ghi, tùy thuộc vào việc có thủy vân hay không để điều khiển (cho

phép/cấm) truy cập. Ví dụ hệ thống quản lý sao chép DVD đã đƣợc ứng dụng ở

Nhật.

5. Môi trƣờng dấu tin

Kỹ thuật giấu tin đã đƣợc nghiên cứu và áp dụng trong nhiều môi trƣờng dữ

liệu khác nhau nhƣ trong dữ liệu đa phƣơng tiện (văn bản, hình ảnh, âm thanh, phim),

trong sản phẩm phần mềm và gần đây là những nghiên cứu trên lĩnh vực cơ sở dữ liệu

quan hệ. Trong các dữ liệu đó, dữ liệu đa phƣơng tiện là môi trƣờng chiếm tỷ lệ chủ

yếu trong các kỹ thuật giấu tin.

1. Giấu tin trong ảnh (image)

Hiện nay giấu tin trong ảnh là một bộ phận chiếm tỷ lệ lớn nhất trong các

chƣơng trình ứng dụng, các phần mềm, hệ thống giấu tin trong phƣơng tiện do lƣợng

thông tin đƣợc trao đổi bằng ảnh là rất lớn và hơn nữa giấu thông tin trong ảnh cũng

đóng vai trò quan trọng trong hầu hết các ứng dụng bảo vệ an toàn thông tin nhƣ: xác

thực thông tin, xác định xuyên tạc thông tin, bảo vệ bản quyền tác giả, đieùe khiển

truy cập, giấu tin bí mật…Do đó vấn đề này đã nhận đƣợc sự quan tâm lớn của các cá

nhân, tổ chức, trƣờng đại học, và viện nghiên cứu trên thế giới.

Thông tin sẽ đƣợc giấu cùng với dữ liệu ảnh nhƣng chất lƣợng ảnh ít thay đổi

và không ai biết đƣợc đằng sau đó mang những thông tin có ý nghĩa. Ngày nay, khi

ảnh số đã đƣợc sử dụng phổ biến, giấu thông tin trong ảnh đã đem lại nhiều những

ứng dụng quan trọng trên nhiều lĩnh vực trong đời sống xã hội. Ví dụ đối với các

nƣớc phát triển, chữ ký tay đã đƣợc số hóa và lƣu trữ sử dụng nhƣ hồ sơ các nhân của

các dịch vụ ngân hàng và tài chính, nó đƣợc dùng để xác thực trong các thẻ tín dụng

của ngƣời tiêu dùng. Phần mềm WinWord của Microsoft cũng cho phép ngƣời dùng

lƣu trữ chữ ký trong ảnh nhị phân rồi gắn vào vị trí nào đó trong file văn bản để đảm

bảo tính an toàn của thông tin. Tài liệu sau đó đƣợc truyền trực tiếp qua máy fax hoặc

lƣu truyền trên mạng. Theo đó, việc xác thực chữ ký, xác thực thông tin đã trở thành

Page 7: Kỹ thuật Giấu tin

7

một vấn đề quan trọng khi việc ăn cắp thông tin hay xuyên tạc thông tin bởi các tin tặc

đang trở thành một vấn nạn đối với bất kỳ quốc gia nào, tổ chức nào. Hơn nữa có

nhiều loại thông tin quan trọng cần đƣợc bảo mật nhƣ những thông tin về an ninh,

thông tin về bảo hiểm hay các thông tin về tài chính, các thông tin này đƣợc số hóa và

lƣu trữ trong hệ thống máy tính hay trên mạng. Chúng dễ bị lấy cắp và bị thay đổi bởi

các phần mềm chuyên dụng. Việc xác thực cũng nhƣ phát hiện thông tin xuyên tạc đã

trở nên vô cùng quan trọng và cấp thiết. Một đặc điểm của giấu thông tin trong ảnh là

thông tin đƣợc giấu trong ảnh một cách vô hình, tƣơng tự cách truyền thông tin mật

cho nhau mà ngƣời khác không thể biết đƣợc bởi sau khi giấu thông tin chất lƣợng

ảnh gần nhƣ không thay đổi đặc biệt đối với ảnh mầu hay ảnh đa cấp xám.

2. Giấu tin trong audio

Giấu thông tin trong audio mang những đặc điểm riêng khác với giấu thông tin

trong các đối tƣợng đa phƣơng tiện khác. Một trong những yêu cầu cơ bản của giấu

tin là đảm bảo tính chất ẩn của thông tin đƣợc giấu đồng thời không làm ảnh hƣởng

nhiều đến chất lƣợng của dữ liệu gốc. Để đảm bảo yêu cầu này, kỹ thuật giấu thông

tin trong ảnh phụ thuộc vào hệ thống thị giác của con ngƣời, còn kỹ thuật giấu thông

tin trong audio lại phụ thuộc vào hệ thống thính giác. Và một vấn đề khó khăn ở đây

là hệ thống thích giác của con ngƣời nghe đƣợc các tín hiệu ở các giải tần rộng và

công suất lớn nên đã gây khó khăn đối với các phƣơng pháp dấu tin trong audio.

Nhƣng hệ thống thính giác lại kém trong việc phát hiện sự khác biệt của các giải tần

và công suất. Điều này có nghĩa là các âm thanh to, cao tần có thể che giấu đƣợc các

âm thanh nhỏ thấp một cách dễ dàng. Các mô hình phân tích tâm lý đã chỉ ra điểm

yếu trên và thông tin này sẽ giúp ích cho việc chọn các audio thích hợp cho việc giấu

tin. Vấn đề khó khăn thứ hai cho việc giấu thông tin trong audio là kênh truyền tin.

Kênh truyền hay băng thông chậm sẽ ảnh hƣởng đến chất lƣợng thông tin sau khi

giấu. Các phƣơng pháp giấu thông tin trong audio đều lợi dụng điểm yếu trong hệ

thống thính giác của con ngƣời.

3. Giấu tin trong video

Cũng giống nhƣ giấu tin trong ảnh hay trong audio, giấu tin trong video cũng

đƣợc quan tâm và đƣợc phát triển mạnh mẽ cho nhiều ứng dụng nhƣ kiểm soát sao

Page 8: Kỹ thuật Giấu tin

8

chép thông tin, nhận thực thông tin và bảo vệ bản quyền tác giả. Ta có thể lấy một ví

dụ là các hệ thống chƣơng trình trả tiền xem theo đoạn phim đã xem. Một phƣơng

pháp giấu tin trong video đƣợc đƣa ra bởi Cox [14] là phƣơng pháp phân bố đều. Ý

tƣởng cơ bản của phƣơng pháp là phân phối thông tin giấu dàn trải theo tần số của dữ

liệu chứa gốc. Nhiều nhà nghiên cứu đã dùng những hàm cosin riêng và các hệ số

truyền sóng riêng dể giấu tin. Trong các thuật toán khởi nguồn thì thƣờng các kỹ thuật

cho phép giấu cả âm thanh và hình ảnh vào video. Nhƣ phƣơng pháp của Swanson đã

sử dụng cách giấu theo khối, phƣơng pháp này đã giấu đƣợc hai bit vào khối 8x8.

Kỹ thuật giấu thông tin bằng video áp dụng cả đặc điểm thị giác và thính giác

của con ngƣời.

Kỹ thuật giấu tin đang đƣợc áp dụng cho nhiều loại đối tƣợng chứ không chỉ

riêng dữ liệu đa phƣơng tiện nhƣ ảnh, audio hay video. Gần đây, đã có một số nghiên

cứu giấu tin trong văn bản text, cơ sở dữ liệu quan hệ và cơ sở dữ liệu XML, cho phép

mở ra những hƣớng nghiên cứu mới.

4. Giấu tin trong văn bản

Trong trao đổi thông tin qua hệ thống máy tính, văn bản chiếm một tỷ lệ rất lớn

so với các loại phƣơng tiện chứa khác. Tuy vậy, giấu tin trong văn bản lại chƣa đƣợc

quan tâm nghiên cứu nhiều. Các nghiên cứu về giấu tin trong văn bản đƣợc chia theo

hai hƣớng, thứ nhất văn bản đƣợc sử dụng để giấu tin là những văn bản đƣợc chụp lại

và lƣu trên máy nhƣ một bức ảnh nhị phân. Theo hƣớng này, các kỹ thuật giấu tin

đƣợc thực hiện nhƣ kỹ thuật giấu tin trong ảnh. Hƣớng thứ hai, phƣơng tiện chứa sử

dụng cho quá trình giấu tin đƣợc lƣu dƣới dạng văn bản. Theo hƣớng này, các kỹ

thuật giấu tin cũng tiến hành nhƣ giấu tin trong ảnh bằng cách thay đổi một số ký tự

tại một số vị trí trên văn bản mà không làm ảnh hƣởng nhiều đến nội dung văn bản

gốc.

5. Mô hình kỹ thuật giấu tin

Hệ thống giấu tin nói chung bao gồm 2 phần chính: chèn tin và tách tin. Giai

đoạn chèn tin cần thông tin khóa K (công khai hoặc bí mật) và thông tin mật cần giấu

đƣợc chèn vào ảnh gốc để đƣợc ảnh có bản quyền. Giai đoạn tách tin cần ảnh có bản

Page 9: Kỹ thuật Giấu tin

9

quyền, khóa K, cần hoặc không cần ảnh gốc là cơ sở để tách thông tin từ ảnh có bản

quyền.

Mẩu tin mật: có thể là văn bản hoặc tệp ảnh hay bất kỳ một tệp nhị phân nào vì

quá trình xử lý nhúng tin ta đều phải chuyển dữ liệu cần giấu về dạng chuỗi nhị

phân.

Ảnh phủ hay ảnh gốc: ảnh đƣợc dùng để làm môi trƣờng nhúng tin mật

a) Qúa trình chèn tin

b) Qúa trình tách tin Hình ….Qúa trình dấu tin và tách tin

Page 10: Kỹ thuật Giấu tin

10

Khóa K: là khóa tham gia vào quá trình giấu tin nhằm tăng tính bảo mật.

Ảnh bản quyền: là ảnh sau khi đã đƣợc nhúng tin mật vào nó

6. Các phƣơng pháp dấu tin

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

1. Giấu tin trong miền quan sát.

Ví dụ: Nhúng vào các bít có trọng số thấp (Least Significant Bit). Phƣơng pháp

này đƣợc áp dụng trên các ảnh bitmap không nén, các ảnh dùng bảng mầu. Ý tƣởng

chính của phƣơng pháp là lấy từng bit của mẫu tin mật rồi rải nó lên ảnh mang, thay

đổi bit có trọng số thấp của ảnh bằng các bit của mẫu tin mật và mắt ngƣời không cảm

nhận đƣợc sự thay đổi đó.

2. 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ố nhằm đảm bảo tính bền

vững của thông tin dấu, sử dụng cho kỹ thuật thủy vân bền vững. Ý tƣởng chính là

nhúng thông tin bằng cách điều chế các hệ số của phép biến đổi Cosin rời rạc theo các

bit tin cần giấu và sự làm tròn lỗi khi lƣợng hóa. Một số phƣơng pháp khác thuộc

nhóm này sử dụng ảnh nhƣ mô hình vật lý vơi các dải phổ thể hiện mức năng lƣợng.

Khi đó giấu tin giống nhƣ việc điều chế một tín hiệu dải hẹp vào một dải tần rộng

(ảnh phủ).

3. Các phƣơng pháp sử dụng mặt nạ giác quan

Nhóm này dựa trên nguyên lý đánh lừa giác quan của con ngƣời. “Mặt nạ” ở

đây ám chỉ hiện tƣợng mắt ngƣời không cảm nhận đƣợc một tín hiệu nếu nó ở bên

cạnh một tín hiệu nhất định nào đó.

II. Thủy vân

1. Khái niệm thủy vân

Cách đây 700 năm thủy vân trên giấy đã đƣợc sử dụng ở Fabriano, Italy để xác

định nhãn hàng và nhà máy sản xuất ra sản phẩm. Ngƣời ta sử dụng các chất mà khi

viết lên không để lại dấu vết nhƣng kết quả lại đƣợc hiển thị khi hơ nó trên lửa. Sau

đó, thủy vân đã nhanh chóng lan rộng trên toàn Italy và rồi trên các nƣớc châu Âu.

Ban đầu, thủy vân đƣợc dùng với mục đích xác định nhãn hàng và nhà máy sản xuất.

Sau này đƣợc sử dụng để xác định định dạng, chất lƣợng và độ dài, ngày tháng…Đến

Page 11: Kỹ thuật Giấu tin

11

thế kỷ thứ 18 nó bắt đầu đƣợc dùng cho tiền tệ và các tài liệu văn bản khác. Cho đến

nay thủy vân vẫn là một công cụ đƣợc dùng rộng rãi với mục đích bảo mật cho tiền

tệ.

. Thuỷ vân trong đồng đô la và đồng Mark

Thuật ngữ thủy vân đƣợc đƣa ra vào cuối thế 18. Vì trong giai đoạn này ngƣời

ta đã thấy đƣợc ảnh hƣởng của việc đánh dấu lên trên giấy. Ví dụ đầu tiên của kỹ

thuật này có nghĩa tƣơng đƣơng với thủy vân số là lĩnh vực đòi hỏi sự kiên trì của

Emil Hembrooke cho việc định danh các tác phẩm âm nhạc. Năm 1988, Komatsu và

Tominaga đã đƣa ra thuật ngữ “thủy vân số”.

Vậy thủy vân số là gì? Thủy vân số là một mẫu các bit được chèn vào ảnh

số, audio, video hay text nhằm xác định thông tin bản quyền của tác phẩm. Mục đích

của thủy vân là bảo vệ bản quyền cho đối tượng dữ liệu mang thông tin thủy vân.

2. Mô hình của kỹ thuật thủy vân

Tƣơng tự nhƣ thủy vân trên đối tƣợng vật lý, kỹ thuật thủy vân số đƣợc sử

dụng cho nội dung số thay vì cho các đối tƣợng vật lý. Với thủy vân số, một tín hiệu

năng lƣợng thấp đƣợc chèn vào một tín hiệu khác. Tín hiệu năng lƣợng thấp đƣợc gọi

là thủy vân, nó mang thông tin bảo mật hoặc bản quyền về tín hiệu chính. Tín hiệu

chính là tín hiệu chứa thủy vân, còn gọi là tín hiệu phủ thủy vân, nó có thể là ảnh, âm

thanh, video, văn bản ở dạng số.

Page 12: Kỹ thuật Giấu tin

12

Hệ thống thủy vân số bao gồm: bộ nhúng thủy vân và bộ phát hiện thủy vân.

Bộ nhúng thủy vân chèn thủy vân vào tín hiệu phủ, bộ phát hiện thủy vân phát hiện ra

sự tồn tại của tín hiệu thủy vân. Lƣu ý, đối tƣợng gọi là khóa thủy vân đƣợc dùng cho

cả phiên nhúng và phát hiện thủy vân. Khóa thủy vân là duy nhất với mỗi tín hiệu

thủy vân. Khóa đó là khóa bí mật, chỉ tác giả mới biết. Điều đó nói lên rằng chỉ tác giả

mới phát hiện ra đƣợc thủy vân. Ngoài ra trên đƣờng truyền còn có nhiễu và sự tấn

công từ bên ngoài. Do đó các kỹ thuật thủy vân số phải bền vững với cả nhiễu và sự

tấn công trên.

7. Đặc trƣng của thủy vân số

Nhƣ đã đề cập trƣớc đây, kỹ thuật thủy vân số rất hữu dụng khi ta muốn nhúng

siêu dữ liệu vào trong nội dung số. Có một số cơ chế nhƣ sử dụng phần đầu của file

dữ liệu gốc để lƣu trữ siêu dữ liệu. Tuy nhiên khi muốn chèn các thủy vân hiện vào

ảnh và video, hoặc thêm thông tin về audio trong audio thì kỹ thuật thủy vân khá phức

tạp vì nó có các đặc trƣng chính sau đây:

Tính không thấy đƣợc (ẩn): Khi nội dung số đƣợc nhúng thủy vân ta có thể

không nhìn thấy đƣợc nội dung đã đƣợc nhúng vì gần nhƣ việc nhúng thủy vân vào

nội dung đa phƣơng tiện sẽ không làm thay đổi nhiều nội dung đa phƣơng tiện đó so

với nguyên bản của nó. Có nhiều phƣơng pháp khác nhau để đạt đƣợc điều đó. Ví dụ:

thay đổi tỷ lệ bit của video hoặc thay đổi tần số có thể nghe đƣợc trong tín hiệu của

audio.

Tính bền vững: Tùy vào từng ứng dụng mà sử dụng thủy vân có các mức hỗ

trợ khác nhau để chống lại sự thay đổi nội dung của dữ liệu gốc. Nếu sử dụng thủy

vân để xác định quyền sở hữu thì thủy vân tạo ra phải bền vững với bất kỳ thao tác

chỉnh sửa nào lên dữ liệu gốc. Thủy vân sẽ không bị thay đổi hay phá hủy do tác động

của các hành vi có chủ tâm hoặc các hành vi làm thay đổi hình dạng hình học của dữ

liệu gốc. Ví dụ: chuyển đổi từ tín hiệu tƣơng tự sang tín hiệu số, từ tín hiệu số sang tín

hiệu tƣơng tự, cắt xén, lấy mẫu, quay, co dãn tỷ lệ và nén. Nhƣng nếu thủy vân đƣợc

dùng để xác thực nội dung thì thủy vân phải là thủy vân dễ vỡ. Thủy vân này sẽ bị phá

hủy bất kỳ khi nào nội dung bị chỉnh sửa, vì vậy bất kỳ thao tác nào tác động vào nội

dung cũng sẽ bị phát hiện.

Page 13: Kỹ thuật Giấu tin

13

Tính không tách rời: khi nội dung số đã đƣợc nhúng thủy vân thì không thể tác

thủy vân ra khỏi nội dung số để lấy lại nội dung gốc.

Tính bảo mật: Kỹ thuật thủy vân giúp ngăn chặn việc sử dụng vi phạm bản

quyền nội dung số. Khóa thủy vân đảm bảo chỉ có tác giả mới có quyền chỉnh sửa

thủy vân có trong nội dung số.

8. Phân loại các kỹ thuật thủy vân

Việc phân lớp các kỹ thuật thủy vân phụ thuộc vào nhiều tham số khác nhau.

Dƣới đây là danh sách các kiểu thủy vân, mỗi kiểu thủy vân có các ứng dụng khác

nhau.

Phân loại dựa trên môi trƣờng: môi trƣờng để thực hiện thủy vân có thể là văn

bản, ảnh, âm thanh, video. Từ đó sẽ có các loại thủy vân tƣơng ứng là thủy vân văn

bản, thủy vân ảnh, thủy vân âm thanh và thủy vân video.

Thủy vân bền vững và thủy vân dễ vỡ: thủy vân bền vững là loại thủy vân mà

bất kỳ sửa đổi nào lên nội dung của dữ liệu đã đƣợc nhúng thủy vân thì cũng không

làm thay đổi thủy vân đƣợc nhúng trong đó. Ngƣợc lại, thủy vân dễ vỡ là loại thủy

vân khi có tác động chỉnh sửa hoặc thay thế lên nội dung của dữ liệu chứa thủy vân

thì thủy vân đó sẽ bị phá hủy.

Thủy vân ẩn và thủy vân hiện: thủy vân hiện là thủy vân mà khi nhúng thủy

vân vào nội dung số thì ta có thể nhìn thấy nội dung của thủy vân cùng với nội dung

của dữ liệu đƣợc nhúng. Ngƣợc lại, ta không thể nhìn thấy đƣợc nội dung của thủy

vân trong dữ liệu đƣợc nhúng đối với thủy vân ẩn.

Thủy vân công khai, thủy vân bí mật: với thủy vân công khai, ngƣời dùng có

thể phát hiện ra thủy vân trong nội dung số đã đƣợc nhúng thủy vân. Thủy vân bí mật

thì ngƣời dùng không có quyền phát hiện ra thủy vân có trong nội dung số.

Thủy vân đối xứng và thủy vân bất đối xứng: thủy vân đối xứng (gọi là thủy

vân khóa đối xứng) có chung một khóa cho quá trình nhúng và phát hiện thủy vân.

Thủy vân bất đối xứng (gọi là thủy vân khóa bất đối xứng) có khóa khác nhau cho quá

trình nhúng thủy vân và phát hiện thủy vân.

Page 14: Kỹ thuật Giấu tin

14

Ảnh 1.8. Thủy vân ẩn và thủy vân hiện

Phƣơng thức xử lý: Có thể phân loại thủy vân dựa trên cơ sở là chúng ta xử lý

trên miền không gian, miền tần số hay miền nén.

9. Các khả năng tấn công trên hệ thống thủy vân

Thủy vân bền vững phải vƣợt qua đƣợc các tấn công ngẫu nhiên và cố ý. Sau

đây là một số khả năng tấn công đƣợc biết đến nhiều nhất.

Tấn công đơn giản: là dạng tấn công cố gắng làm hỏng thủy vân đã đƣợc

nhúng bằng cách thao tác lên toàn bộ dữ liệu đã đƣợc nhúng thủy vân mà không có ý

định nhận dạng để tách lấy thủy vân.

Tấn công phát hiện: là sự tấn công với mục đích loại bỏ đi mối quan hệ và vô

hiệu hóa khả năng khôi phục thủy vân, làm cho bộ phát hiện không thể xác định đƣợc

thủy vân. Điều này đƣợc thực hiện chủ yếu bằng cách thay đổi hình dạng hình học

nhƣ: phóng to thu nhỏ, xoay, cắt xén, xóa hoặc chèn thêm điểm ảnh và các phép biến

đổi hình học…

Page 15: Kỹ thuật Giấu tin

15

Tấn công nhập nhằng: là sự tấn công với mục đích gây nhầm lẫn bằng cách tạo

ra dữ liệu gốc giả hoặc dữ liệu đã đƣợc nhúng thủy vân giả. Ví dụ: kẻ tấn công có thể

làm giản tính xác thực của thủy vân bằng cách nhúng một hoặc nhiều thủy vân bổ

sung sao cho thủy vân mới không thể phân biệt đƣợc với thủy vân ban đầu – thủy vân

dùng để xác thực.

Tấn công loại bỏ: nhằm mục đích phân tích để xác định ra thủy vân hoặc dữ

liệu gốc, tách dữ liệu đã đƣợc nhúng thủy vân thành dữ liệu gốc và thủy vân.

Cần chú ý rằng sự phân biệt trên nhiều khi không rõ ràng và nhiều khả năng

tấn công không thể phân loại đƣợc vào một nhóm cụ thể nào cả.

Page 16: Kỹ thuật Giấu tin

16

CHƢƠNG 2. CÁC PHƢƠNG PHÁP THỦY VÂN TRÊN ẢNH SỐ

III. Kỹ thuật miền không gian

Kỹ thuật thủy vân trong miền không gian có các đặc trƣng sau đây:

- Thủy vân đƣợc ứng dụng trong miền điểm ảnh

- Quá trình nhúng thủy vân không cần chuyển đổi ảnh gốc

- Các thao tác đơn giản đƣợc kết hợp với ảnh gốc trong miền điểm ảnh

- Thủy vân có thể đƣợc phát hiện bằng cách liên hệ mẫu mong muốn với tín hiệu nhận

đƣợc.

Thế mạnh của phƣơng thức thủy vân trong miền điểm ảnh là đơn giản và có độ

phức tạp tính toán thấp. Tuy nhiên phƣơng thức này cũng bộ lộ rõ một trở ngại chính:

nhu cầu để đồng bộ hóa hoàn toàn không gian dẫn tới hệ thống có tính nhạy cảm cao

với những tấn công không đồng bộ.

10. Kỹ thuật thủy vân cho ảnh nhị phân

Ảnh nhị phân là ảnh chỉ có hai giá trị mức xám là 0 (đen) và 1 (trắng). Để tạo

thủy vân cho ảnh đen trắng ta đem nhúng thủy vân nhị phân vào ảnh nhị phân. Thông

thƣờng việc nhúng thủy vân vào ảnh đen trắng khó thực hiện hơn ảnh đa cấp xám hay

ảnh mầu. Lý do là ảnh nhị phân chỉ có hai mức xám duy nhất, vì thế nếu thay đổi một

bit của điểm ảnh thì đồng nghĩa với thay đổi toàn bộ điểm ảnh.

Có hai cách để nhúng dữ liệu vào ảnh nhị phân là thay đổi giá trị của từng biết

riêng lẻ hoặc thay đổi giá trị của một nhóm bít. Cách thứ nhất sẽ đảo ngƣợc một điểm

đen thành trắng hoặc một điểm trắng thành đen. Cách tiếp cận thứ hai sẽ làm thay đổi

một số đặc trƣng của ảnh nhƣ độ dày của cạnh, vị trí tƣơng quan giữa các bit…Cách

tiếp cận này tùy thuộc nhiều vào kiểu ảnh (kiểu văn bản, kiểu bản đồ…). Vì số tham

số có thể thay đổi là hữu hạn, đặc biệt là với yêu cầu thủy vân ẩn, tổng số dữ liệu có

thể dấu đƣợc là hữu hạn. Dƣới đây sẽ trình bầy một trong các thuật toán thủy vân điển

hình.

Ý tƣởng cơ bản của thuật toán trong kỹ thuật này là chia một ảnh gốc thành các

khối nhỏ và trong mỗi khối nhỏ sẽ giấu không quá một bit thông tin. Thuật toán này

Page 17: Kỹ thuật Giấu tin

17

dùng cho cả ảnh màu, ảnh đa mức xám và ảnh đen trắng nhƣng để dễ trình bày thuật

toán chúng ta sẽ sử dụng ảnh đen trắng.

6. Thuật toán 1

Algorithm SW ( simple watermarking)

Input:

- File ảnh Bitmap đen trắng F

- Dữ liệu cần giấu d đƣợc biểu diễn dƣới dạng nhị phân (dãy bit 0/1).

Output:

- File ảnh đã giấu tin G

Method:

- Chia F thành các khối kích thƣớc m x n

- Với mỗi khối B trong F ta xét khả năng giấu một bit dữ liệu di của d

theo quy tắc cân bằng tính chẵn lẻ nhƣ sau:

Gọi t là tổng số điểm trắng (bit mang giá trị 1) trong B. Nếu t và di cùng tính

chẵn lẻ thì không sửa khối B và coi nhƣ khối này đã đƣợc giấu bit dữ liệu di. Trong

trƣờng hợp ngƣợc lại, nếu t và di khác tính chẵn lẻ thì đảo ngẫu nhiên một bit trong B

để t và di trở thành cùng tính chẵn lẻ.

Nhƣ vậy giả sử cần giấu 1 bit dữ liệu b vào khối B. Kí hiệu Sum(B) là tổng số

điểm trắng trong khối B, kí hiệu x=y (mod z) cho biết hai số nguyên x và y có cùng số

dƣ khi chia cho z ( x và y đồng dƣ theo modulo z). Nhƣ vậy biểu thức x=y (mod 2)

cho biết x và y có cùng tính chẵn lẻ. Ta cần xét hai trƣờng hợp sau đây:

- Trƣờng hợp 1: Sum(B)= b (mod 2), khối B đã thỏa mãn tính chất để

giấu bit dữ liệu b, ta không cần sửa khối B và xem nhƣ bit b đã đƣợc giấu vào

khối B.

- Trƣờng hợp 2: Sum(B) b (mod 2), trƣờng hợp này phải sửa B để thay

đổi tính chẵn lẻ của Sum(B). Dễ thấy, ta chỉ cần đảo một bit bất kỳ trong B thì

Page 18: Kỹ thuật Giấu tin

18

Sum(B) sẽ tăng hoặc giảm 1 đơn vị. Gọi B' là khối kết quả thu đƣợc từ khối B

sau khi đảo một bit trong B. Ta có Sum(B’) =b (mod 2).

Ví dụ dƣới đây minh họa cho hai trƣờng hợp trên:

+ Giả sử khi phải giấu một bit dữ liệu b=1 vào khối B nhƣ sau:

1 0 1 1

0 1 0 0

0 0 1 0

1 1 1 0

Hình 2.4. Khối B kích thƣớc 4 x 4, với Sum(B)=8

Ta đếm số bit 1 trong khối: trong trƣờng hợp trên khối B có 8 bit 1, nên

Sum(B)=8. Do đó, Sum(B) (mod 2). Nhƣ vậy khối B không thỏa mãn yêu cầu để

giấu bit 1. Muốn giấu bit 1 vào khối này ta cần phải thay đổi khối bằng cách chọn một

bit bất kỳ và đổi từ 0 sang 1 hoặc từ 1 sang 0. Giả sử ta sửa lại phần tử B[2,2] nhƣ

hình vẽ sau:

Hình 2.5. Khối B sau khi thay đổi bit

Sau khi thay đổi thì Sum(B’)=7, khi đó ta có Sum(B’)= 1 (mod 2).

1 0 1 1

0 0 0 0

0 0 1 0

1 1 1 0

Page 19: Kỹ thuật Giấu tin

19

+ Giả sử vẫn với khối B đã cho nhƣ trên nhƣng ta phải giấu bit dữ

liệu b=0 vào khối đó. Ta thấy do Sum(B)=8 nên Sum(B)=0 (mod 2).

Khối B đƣợc bảo toàn và bit dữ liệu b=0 xem nhƣ đƣợc giấu.

Trong thuật toán thủy vân này, khóa đơn giản là kích thƣớc của khối, tức là bộ

số (m, n). Nếu biết kích thƣớc của khối thì dễ dàng trích lại dữ liệu d theo thuật toán

SIW (Simple ivert watermarking) nhƣ sau:

Algorithm SIW

Input:

- File ảnh Bitmap đen trắng có chứa thủy vân G

Output:

- Dữ liệu d (dãy bit 0/1) trích từ ảnh G

Format: d= SIW(G)

Method

Chia A thành các khối kích thƣớc m x n, với mỗi khối Bi trong A ta tính di=

Sum(B) mod 2.

Với thuật toán này việc chọn khối là khá đơn giản: ta có thể bắt đầu từ khối

đầu tiên và các khối tiếp theo một cách tuần tự. Tuy nhiên, ta có thể chọn ngẫu nhiên

một khối chƣa giấu ở mỗi lần giấu, hoặc chọn các khối theo một thuật toán xác định

kèm theo một khóa K. Khi đó, ta đã làm tăng đƣợc độ an toàn của thuận toán vì khóa

bây giờ còn thêm cả chỉ số khối đã giấu tin cho từng bit. Hoặc ta có thể thay đổi kích

thƣớc khối ở mỗi lần giấu, chẳng hạn nhƣ khối thứ nhất có kích thƣớc khối là 8 x 8,

khối thứ hai có kích thƣớc là 8 x 12 trong trƣờng hợp này thì khóa sẽ gồm cả kích

thƣớc khối của mỗi lần giấu.

Kỹ thuật trên sẽ gặp phải hiện tƣợng gây bất thƣờng đối với ảnh sau khi giấu

thông tin đặc biệt khi chọn vào những khối ảnh một màu, chẳng hạn một khối toàn

đen hoặc toàn trắng. Khi đó, nếu cần đảo giá trị một bit thì vị trí bit đảo sẽ khác biệt

hoàn toàn với các bit trong khối và dễ bị nhận biết có sự thay đổi. Vì vậy để xác định

nên thay đổi bít nào trong khối bít ta phải tính hệ số ảnh hƣởng của bít đó khi nó bị

Page 20: Kỹ thuật Giấu tin

20

thay đổi. Hệ số này tính bằng cách xét sự thay đổi về tính trơn và tính liên kết với các

điểm láng giềng. Tính trơn đƣợc đo theo sự chuyển đổi mức xám theo chiều ngang và

chiều dọc, đƣờng chéo trong cửa sổ 3x3. Tính liên kết đƣợc tính bằng số nhóm điểm

đen và số nhóm điểm trắng. Ví dụ: Nếu đảo một điểm ảnh trong hình a sẽ ít bị chú ý

hơn điểm ảnh trong hình b.

7. Thuật toán 2

Với thuật toán này, có thể nhúng một bít vào mỗi khối bằng cách hiệu chỉnh

nhiều nhất 1 bít của khối. Kỹ thuật này có khả năng làm tăng dữ liệu có thể nhúng.

Xét ảnh gốc F, khóa bí mật K và một số dữ liệu đƣợc nhúng vào F. Khóa bí

mật K là khóa có kích thƣớc mxn. Để đơn giản ta giả sử kích thƣớc của ảnh gốc F là

bội số của mxn. Quá trình nhúng thu đƣợc ảnh F có một số bit đã bị hiệu chỉnh. Thuật

toán thực hiện nhƣ sau:

Bƣớc 1: Chia F thành các khối, mỗi khối có kích thƣớc mxn.

Bƣớc 2: Với mỗi khối Fi thu đƣợc ở bƣớc 1. Kiểm tra điều kiện:

0<SUM(FiK)<SUM(K)

Nếu điều kiện trên đúng thì tiếp tục thực hiện bƣớc 3 để nhúng một bit vào Fi.

Ngƣợc lại, dữ liệu sẽ không đƣợc nhúng vào Fi và Fi sẽ đƣợc giữ nguyên.

Bƣớc 3: Giả sử bit đƣợc nhúng vào Fi là b. Để hiệu chỉnh Fi ta làm nhƣ sau:

Nếu (SUM((FiK) mod 2 = b) thì giữ Fi nhƣ cũ.

Ngƣợc lại: nếu SUM((FiK)=1 thì chọn ngẫu nhiên một bit Fi(j,k)=0 mà

K(j,k)=1 và đổi Fi(j,k) thành 1.

Page 21: Kỹ thuật Giấu tin

21

Ngƣợc lại: nếu SUM(FiK)=SUM(K)-1 thì: chọn ngẫu nhiên một bit của Fi tại

vị trí (j,k) mà Fi(j,k)=1 và K(j,k)=1 và đổi Fi(j,k) thành 0.

Ngƣợc lại:chọn ngẫu nhiên một bit của Fi sao cho K(j,k)=1 và đảo ngƣợc

Fi(j,k).

Việc chọn khóa K nhằm làm tăng độ mật của thuật toán. Nếu trƣớc đây chỉ biết

kích thƣớc khối là M x N thì đối phƣơng rất dễ khai thác đƣợc bản tin mật, nay ngoài

kích thƣớc này còn phải biết giá trị cụ thể của khóa K.

Phép toán Fi^K quy định thuật toán chỉ đƣợc phép sửa các bit trong khối Fi

ứng với bit 1 trong khóa K. Nhƣ vậy, khóa K đƣợc xem nhƣ một mặt nạ, tạo ra khung

nhìn cho thuật toán. Dĩ nhiên ta có thể thay phép toán ^ bằng một phép toán khác,

chẳng hạn phép .

Điều kiện 0<SUM(Fi^K) < SUM(K) qui định nếu khối Fi^K toàn 0 hoặc giống

nhƣ khóa K thì không đƣợc giấu tin để tránh bị lộ.

Trong bƣớc S3 chỉ thực hiện tối đa một phép đảo một bit của Fi để thu đƣợc

khối Fi’ nhằm đảo bảo tính bất biến.

SUM(Fi’^K) mod 2=b

Do việc giấu tin vào khối chỉ cần thay đổi tối đa một bit nên việc chọn bit nào

trong F để đảo cần tuân thủ theo nguyên tắc:

Nếu Fi^K có nhiều bit 1 thì chọn bit 1, ngƣợc lại nếu Fi^K có quá ít bit 1 thì

chọn bit 0. Nguyên tắc này làm giảm khả năng bit đảo bị phát hiện. Có thể dễ dàng

kiểm chứng rằng sau bƣớc S3 ta thu đƣợc bất biến trên. Nhờ bất biến đó, ta dễ dàng

giả mã để lấy lại thông tin đã giấu nhƣ sau:

Duyệt lần lƣợt các khối Fi’ của ảnh đích F’. Nếu Fi’ thỏa mãn điều kiện

0<SUM(Fi’^K) <SUM(K) thì tính bit b đã đƣợc giấu vào trong khối bằng công thức

b= SUM(Fi’^K) mod 2.

Vì khóa K là bí mật nên thông tin đã nhúng là bí mật. Thuật toán này làm thay

đổi nhiều nhất một bit của khối Fi khi giấu một bit thông tin vào bên trong khối nên

với một khối có kích thƣớc m x n đủ lớn thì sự thay đổi của Fi là nhỏ.

Page 22: Kỹ thuật Giấu tin

22

Giả sử ta cần giấu dãy bit d=011 vào một ảnh F có kích thƣớc 6x6 với một ma

trận khóa K có kích thƣớc 3x3 nhƣ trong hình vẽ. Ta chia ảnh F thành bốn khối nhỏ

mỗi khối sẽ có kích thƣớc là 3x3 ta thu đƣợc F1, F2, F3, F4.

Ví dụ nhúng 3 bit

Áp dụng thuật toán:

- Vì SUM(F1^K) =SUM(K)=5 nên không giấu dữ liệu vào trong F1.

- Vì SUM(F2^K) =3 nên ta giấu bit đầu tiên b=0 của d vào khối này.

- Vì SUM(F2^K) mod 2=3 mod 2 0 và thỏa mãn điều kiện nên ta chọn ngẫu

nhiên một một phần tử, chẳng hạn phần tử (2,3) để đảo bit trong khối F2. Với phần tử

này ta có F2[2,3]=0 và K[2,3]=1. Sau khi đảo bit F2[2,3] ta thu đƣợc khối G2 nhƣ

trên hình vẽ (bit đổi đƣợc tô xám).

- Với F3, SUM(F3^K)=3 và bit cần giấu là bit thứ hai trong d, b=1 nên ta có

SUM(F3^K) mod 2=3 mod2=1=b. Khối F3 đƣợc giữ nguyên với ý nghĩa là khối đã

đƣợc giấu bit b=1 (trƣờng hợp 1).

- Cuối cùng, đối với F4, SUM(F4^K)=4=SUM(K)-1, và bit cần giấu là bit cuối

cùng của d, b=1 nên ta có SUM(F4^K) mod 2=4 mod 2=0 b.Trƣờng hợp này rơi

vào trƣờng hợp thứ 3 trong thuật toán. Ta chọn phần tử (2,1) để đảo bit trong khối F4

vì với phần tử này ta có F4[2,1]=1 và K[2,1]=1. Sau khi đảo bit F4[2,1] ta thu đƣợc -

khối G4 nhƣ trên hình vẽ (bit bị đảo đƣợc tô xám).

8. Thuật toán 3

Page 23: Kỹ thuật Giấu tin

23

* Ý tƣởng: Kỹ thuật này tốt hơn kỹ thuật trên vì có thể nhúng nhiều bit vào một khối.

Với một khối kích thƣớc mxn có thể nhúng log2(mn+1) bit dữ liệu bằng cách thay

đổi nhiều nhất 2 bít trong một khối. Ở đây ta sử dụng ma trận trọng số (W) khi nhúng

thủy vân. Thuật toán đảm bảo tốt, an toàn và giấu đƣợc nhiều thông tin trong ảnh

bằng cách thay đổi nhiều nhất 2 bit mỗi khối ảnh. Nhƣợc điểm của phƣơng pháp này

là chất lƣợng chƣa cao, dễ bị phát hiện, chỉ nên áp dụng cho ảnh màu. Thuật toán cải

tiến sẽ cải thiện rất nhiều chất lƣợng ảnh bằng kỹ thuật chọn hệ số phân bố bit đen

trắng và số bit giấu tƣơng đƣơng.

* Một số khái niệm

- Khóa bí mật K:

Khóa K là một ma trận nhị phân có cùng kích thƣớc mxn với kích thƣớc của khối ảnh.

Khóa đƣợc dùng một cách bí mật giữa ngƣời gửi và ngƣời nhận.

- Ma trận trọng số W cấp r: ma trận này có kích thƣớc bằng kích thƣớc của một khối

ảnh (mxn) và thỏa mãn các điều kiện sau:

+ W là một ma trận số nguyên có các phần tử nằm trong khoảng giá trị (0..2r-1) với r

cho trƣớc thỏa mãn điều kiện 2r<(mxn)

+ Mỗi một phần tử có giá trị từ (1..2r-1) phải xuất hiện ít nhất 1 lần trong W.

Với mỗi n,m,r thỏa mãn 2r-1<=mxn sẽ có:

)12(12 )12(!12 rr mnrr

mnC

Khả năng chọn W. Ví dụ với m=n=4, r=2 -> có 5.356.925.280 khả năng lựa

chọn W. Con số này đủ lớn để làm giảm nguy cơ thủy vân bị phát hiện bởi những kẻ

phá hoại.

K W

F1

F2

F3 F4

Page 24: Kỹ thuật Giấu tin

24

Hình 34. Ma trận ảnh F(F1,F2,F3,F4) khóa K và ma trận trọng số W

* Phép đảo bit:

Phép đảo bit là một phép biến đổi trên các bit nhị phân. Đảo bit b tƣơng đƣơng với

phép biến đổi thay b bởi 1-b, tức là nếu ban đầu b nhận giá trị 0 thì sau khi đảo bit nó

sẽ nhận giá trị 1 và ngƣợc lại, nếu ban đầu b có giá trị là 1 thì sau khi đảo nó sẽ mang

giá trị 0.

* Các phép toán trên ma trận dùng trong thuật toán

Ngoài các phép toán And, Xor, Sum đã đề cập, trong thuật toán còn sử dụng thêm

phép nhân ma trận (ký hiệu ).

Hình 35. FW là phép toán nhân giữa các cặp bit của hai ma trận

* Thuật toán:

- Dữ liệu vào:

+ F: là một ma trận ảnh gốc mà ta dùng để nhúng thông tin. F đƣợc chia thành các

khối nhỏ Fi, mỗi ma trận điểm ảnh F

i có kích thƣớc là (mxn), để đơn giản ta giả sử

rằng F là bội của các Fi.

+ K: là một ma trận khóa ngẫu nhiên có kích thƣớc mxn

+ W: là một ma trận trọng số ngẫu nhiên, cùng kích thƣớc của K

+ r: số lƣợng bit có thể dấu trong mỗi khối ảnh mxn

+ B: là lƣợng thông tin cần dấu, B=b1b2…bz (mỗi bi có r bit)

+ d: độ chênh lệch trọng số

- Dữ liệu ra:

Các ma trận điểm ảnh F’i đƣợc thay đổi từ Fi. Các Fi’ cho ra ảnh F’ đã có

thông tin thủy vân.

F W FW

Page 25: Kỹ thuật Giấu tin

25

Thuật toán sẽ thực hiện việc biến đổi mỗi Fi thành Fi’ sao cho luôn thỏa mãn

điều kiện sau:

SUM((Fi’ )K ) b1b2…br(mod 2r)

Mỗi Fi bị biến đổi nhiều nhất là 2 bit. Quá trình biến đổi gồm 4 bit sau đây:

B1) Tính ma trận T=FiK

B2) Tính tổng SUM(TW)

B3) Với ma trận T và với mọi w=1,2,…,2r-1 ta xác định tập hợp Sw nhƣ sau:

Sw={(x,y)|(W[x,y]=w T[x,y]=0) (W[x,y]=2r-w T[x,y]=1)}

Dễ nhận thấy Sw là tập hợp các tọa độ (x,y) của ma trận Fi[x,y] sao cho khi đảo bit

Fi[x,y] thì Sum ở bƣớc 2 tăng lên w. Thực vậy, ta có:

+ Trƣờng hợp 1: nếu W[x,y]=w và T[x,y]=0

Khi đó đảo bit Fi[x,y] sẽ làm cho T[x,y]=1, do đó Sum tăng lên w

+ Trƣờng hợp 2: Nếu W[x,y] = 2r-w và T[x,y]=1.

Khi đó đảo bit Fi[x,y] sẽ làm T[x,y] =0, do đó Sum sẽ giảm đi 2r-w, tức là tăng lên w

theo mod 2r.

Quy ƣớc rằng với mọi w’w(mod 2r) trong đó w=1,2,…,2r-1 ta có:

Sw’=Sw

B4) Ký hiệu d=(b1b2…br)- SUM(TW) mod 2r.

Ta cần thực hiện việc đảo bit trên Fi để đƣợc Fi’sao cho tổng Sum tính đƣợc ở bƣớc 2

khi thay Fi bởi Fi’ sẽ tăng lên d.

Nếu d=0, không cần thay đổi Fi

Nếu d 0 ta thực hiện các công việc sau:

1. Chọn h bất kỳ thuộc tập {0,1,2,…,2r-1} sao cho Shd và S-(h-1)d

2. Chọn (x,y) bất kỳ thuộc Shd và đảo bit Fi[x,y]

3. chọn (x,y) bất kỳ thuộc S-(h-1)d và đảo bit Fi[x,y]

Page 26: Kỹ thuật Giấu tin

26

Rõ ràng, để tăng Sum lên d, ta có thể chọn 2 tập khác rỗng Shd và S-(h-1)d. Thật vậy, hai

tập này chứa các vị trí bit trong khối Fi mà ta có thể đảo để tăng Sum lên hd và –(h-

1)d một cách tƣơng ứng, kết quả cuối cùng là sum sẽ tăng lên hd+(-(h-1)d) =d.

Tƣơng tự nhƣ các tập Sw khác ta cũng có thể coi tập S0 là tập chứa các vị trí mà khi

đảo những bit có vị trí này trên Fi thì sẽ tăng Sum lên 0. Kết quả này cũng đạt đƣợc

nếu ta không đảo bất kỳ bit nào trên Fi. Vì vậy ta có thể coi S0 là tập rỗng và khi nói

đảo một bit có vị trí thuộc tập S0 có nghĩa là không cần làm gì cả.

* Sau khi nghiên cứu thuật toán chúng ta có thể đƣa ra một số nhận xét

- Thuật toán cho phép nhúng đƣợc tới log2(mn+1) bit dữ liệu vào trong mỗi khối

ảnh mxn với điều kiện là 2r<mxn, bằng cách thay đổi nhiều nhất là 2 bit của một khối

ảnh. Nhƣ vậy, thuật toán đã có cải tiến nhiều so với những thuật toán khác chỉ nhúng

đƣợc một bit tin vào mỗi khối ảnh.

- Độ an toàn của thuật toán đƣợc nâng cao thông qua việc sử dụng hai ma trận: ma

trận khóa và ma trận trọng số để nhúng và tách thủy vân.

- Thuật toán tƣơng đối dễ cài đặt

- Đây là thuật toán nhúng thủy vân vào ảnh đen trắng nên ta cũng có thể tính toán hệ

số phân bố bit D để cải thiện chất lƣợng ảnh sau khi nhúng thủy vân. Thực nghiệm

cho thấy nếu kết hợp với phần cải tiến này thì chất lƣợng ảnh đƣợc nâng lên đáng kể.

- Sau cải tiến có thể áp dụng thuật toán cho ảnh màu và ảnh đa cấp xám. Ngƣời ta sử

dụng kỹ thuật chọn ra bit ít quan trọng nhất (LBS) của mỗi điểm ảnh để xây dựng ma

trận hai chiều các bit 0, 1 nhƣ với ảnh đen trắng.

Nếu áp dụng tốt thuật toán này cho ảnh màu thì có thể nói thuật toán đã đạt yêu cầu

cơ bản của một ứng dụng thủy vân, nhƣ đảm bảo tính ẩn, số lƣợng thủy vân dấu đƣợc

cao và an toàn.

11. Kỹ thuật thủy vân cho ảnh xám

Thuật toán SW nói trên mặc dù áp dụng cho ảnh đen trắng nhƣng nó cũng có

thể sử dụng cho ảnh màu hoặc ảnh đa cấp xám.

Page 27: Kỹ thuật Giấu tin

27

Các loại ảnh màu và đa mức xám có giá trị của mỗi điểm ảnh đƣợc biểu diễn

bằng dãy nhiều bit. Trong dãy các bit này có một bit đƣợc gọi là bit it quan trọng nhất

(LSB – Least Significant Bit). Bit ít quan trọng nhất là bit mà khi ta đảo giá trị của nó

thì điểm màu bị thay đổi ít nhất. Ví dụ, với ảnh đa mức xám, mỗi mức xám đƣợc biểu

diễn qua một số nguyên không âm, thì mức xám m sẽ sai khác ít nhất so với hai mức

xám liền kề là m-1 hoặc m+1. Trong trƣờng hợp này bit it quan trọng nhất chính là bit

thấp nhất trong dạng biểu diễn nhị phân của m. Đảo bit này sẽ làm thay đổi mức xám

m thành m-1 hoặc m+1. Hầu hết các thuật toán thủy vân trên ảnh màu và ảnh đa cấp

xám thƣờng sử dụng gián tiếp thuật toán thủy vân trên ảnh đen trắng theo sơ đồ sau

đây:

Giả sử ta cần giấu bản tin d vào ảnh C

- Bước 1: Trích từ ảnh màu C ra một ảnh đen trắng F.

- Bước 2: Sử dụng thuật toán SW giấu bản tin d vào ảnh đen trắng F để thu đƣợc

ảnh đen trắng F’.

- Bước 3: Trả lại các bit của F’ vào mỗi điểm ảnh màu tƣơng ứng của F để thu

đƣợc ảnh mầu kết quả là G.

Có nhiều cách để trích ra một ảnh đen trắng từ một ảnh màu C. Ví dụ, với mỗi

giá trị biểu diễn điểm ảnh C ta chọn ra một bit thấp. Nếu bit này mang giá trị 0 thì sẽ

sinh ra một điểm đen tƣơng ứng trong ảnh F, ngƣợc lại nếu bit trích ra mang giá trị 1

thì sẽ sinh ra một điểm đen tƣơng ứng trong ảnh F, ngƣợc lại nếu bit trích ra mang

giá trị 1 thì sinh ra một điểm trắng tƣơng ứng cho ảnh đen trắng F.

Thủ tục trả lại ảnh đen trắng F’ vào ảnh màu gốc C là ngƣợc so với thủ tục

trích nói trên. Nếu điểm ảnh trong F’ là đen thì ta gán giá trị 0 cho bit thấp nhất của

điểm ảnh tƣơng ứng trong C, ngƣợc lại nếu điểm ảnh trong F’ là trắng thì ta gán trị 1

cho bit thấp nhất của điểm ảnh tƣơng ứng trong C.

Nhƣ vậy, đây là kỹ thuật thủy vân khá đơn giản nhƣng rất dễ bị tấn công do đó

phƣơng pháp chèn vào các bit quan trọng dƣờng nhƣ không thích hợp đối với thủy

vân số, nơi mà các bức ảnh phải đối mặt với các thay đổi cố tình làm phá hoại chúng,

cộng thêm các biến đổi khác nhƣ nén hoặc giải nén (có mất mát thông tin). Kỹ thuật

Page 28: Kỹ thuật Giấu tin

28

này đƣợc sử dụng cho các thuật toán thủy vân chống xuyên tạc do tính chất dễ bị phá

vỡ trƣớc các tấn công trên hệ thủy vân.

IV. Thuật toán thủy vân dựa trên DCT

12. Ý tƣởng

Thuật toán dƣới đây 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 các

khối ảnh cùng kích thƣớc đã đƣợc chọn ra 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 bit tín hiệu thủy vân sẽ đƣợc

nhúng trong một khối.

13. Chuyển đổi cosin rời rạc

9. Chuyển đổi tuyến tính

Trong chuyển đổi tuyến tính, dãy { n } sẽ nhận đƣợc từ dãy { n } theo công thức:

in

M

i

in ,

1

0

Đây là công thức chuyển đổi thuận. Dãy ban đầu có thể khôi phục thông qua công

thức chuyển đổi ngƣợc:

in

M

i

in ,

1

0

Nếu sử dụng ma trận ta cũng thu đƣợc kết quả tƣơng tự:

.A

.B

Trong đó, 110 ,....,, M , 110 ,...,, M và A, B là ma trận MxM với

jijjiji BA ,,,, ,

Ma trận biến đổi thuận và ngƣợc là biến đổi ngƣợc của nhau. Do đó, A.B=B.A=I. Với

I là ma trận đơn vị.

Mở rộng công thức này cho hàm hai chiều ta có công thức biến đổi thuận cho khối

tuyến tính có kích thƣớc MxM nhƣ sau:

Page 29: Kỹ thuật Giấu tin

29

lkji

M

i

M

j

jilk X ,,,

1

0

1

0

,, .

(3.5)

Biến đổi hai chiều gọi là có thể tách đƣợc nếu nó có thể phân thành một dãy biến đổi

một chiều. Với ảnh số, điều này tƣơng đƣơng với biến đổi theo hàng, sau đó là biến

đổi theo cột hoặc ngƣợc lại. Trong trƣờng hợp có thể phân tách thì công thức (3.5)

đƣợc biểu diễn nhƣ sau:

lj

M

i

M

j

jiiklk X ,

1

0

1

0

,,, ..

Với ma trận ta có:

TAXA ..

Và công thức ngƣợc:

TBBX ..

Một biến đổi đƣợc gọi là trực giao nếu ma trận ngƣợc của ma trận biến đổi chính là

ma trận chuyển vị.

B=A-1

=A*T

Từ đó ta có:

AAAA TTTTM

i

i

****1

0

2 .

(3.10)

Trong biến đổi trực giao, ma trận A chỉ ra rằng:

IAAAA T .. 1* (3.11)

Do đó:

1

0

2**M

n

n

TT I (3.12)

Kết hợp công thức 3.10 và 3.12 ta nhận đƣợc:

1

0

21

0

2M

n

n

M

n

n

10. Biến đổi cosin rời rạc

a) DCT một chiều

Page 30: Kỹ thuật Giấu tin

30

Cho mảng V gồm M số: V=[vo,v1,...,vM-1].

Dãy V’ đƣợc xây dựng từ V nhƣ sau:

V’=[vo,v1,...,vM-1,vM-1,…,v1,v0 ].

Nói cách khác:

1212

10'

MkMkMV

MkkVkV

Ta lấy biến đổi DFT 2M điểm của V’:

120,12' /12

/1

0

/12

0

MuekMVekVekVuT MkujM

Mk

MkujM

k

MkujM

k

(3.15)

Nếu đặt l=2M-1-k, công thức 3.15 trở thành:

120,/)12(1

0

/1

0

MuelVekVuT MulMjM

l

MkujM

k

Suy ra:

120),( 2/)12(2/)12(1

0

2/

MueekVeuT MukjMukjM

k

Muj

Do đó:

M

ukjkVeuT

M

k

Muj

2

)12(cos2.

1

0

2/

Hệ quả là ta có công thức chuyển đổi mới:

DCT(V[k])=C[u]=

11][.

0]0[2

1

2/ MuuTe

uT

Muj

Từ phân tích ở trên ta thấy biến đổi DCT của vector V thu đƣợc bằng cách lấy ảnh

ngƣợc, kết hợp với hai dãy để nhận đƣợc đãy 2M điểm, sau đó lấy M điểm đầu của

chuyển đổi DFT 2M điểm.

Cặp DCT đƣợc biểu diễn tổng quát hơn nhƣ sau cho biến đổi thuận:

Page 31: Kỹ thuật Giấu tin

31

M

ukkV

MuC

kVM

C

M

k

M

k

2

)12(cos

2

10

1

0

1

0

Biến đổi ngƣợc:

M

ukuC

MC

MkV

M

u 2

)12(cos

20

1 1

1

Biến trong công thức cosin đảm nhận việc điều chỉnh tần số, hệ số nhân với cosin

đảm nhận việc điều chỉnh biên độ của hàm. Rõ ràng IDCT là tổng cosin của các tần số

khác nhau và các hệ số DCT biểu diễn độ rộng của mỗi hàm cosin.

b) DCT hai chiều

Công thức chuyển đổi DCT hai chiều nhƣ sau:

M

jx

M

iyxyVjicjiT

M

y

M

x 2

)12(cos

2

)12(cos,),(],[

1

0

1

0

lainguocM

jiM

jic2

0,1

),(

Chuyển đổi IDCT cho hai chiều:

M

jx

M

iyjiTjicxyV

M

j

M

i 2

)12(cos

2

)12(cos,),(,

1

0

1

0

Không giống nhƣ DFT, DCT làm việc với số thực và nó đƣợc biết đến nhiều

hơn so với DFT. Với DCT ta có thể tránh đƣợc các hệ số lớn cho các thành phần tần

số cao so với DFT do có biên không liên tục.

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

Input:

Thủy vân: Một chuỗi các bit S hoặc một ảnh nhị phân W, và một ảnh F

Output: Ảnh gốc đã nhúng thủy vân FW

Page 32: Kỹ thuật Giấu tin

32

Thực hiện:

Một ảnh có kích thƣớc M x N sẽ đƣợc chia thành (M x N)/64 khối 8x8,

mỗi bit thủy vân sẽ đƣợc giấu trong một khối.

Bƣớc 1: Chọn một khối bất kỳ B và biến đổi DCT khối đó thu đƣợc B’

Bƣớc 2: Chọn hai hệ số ở vị trí bất kỳ trong miền tần số ở giữa của khối B’, giả

sử đó là B’(i,j) và B’(p,q).

Bƣớc 3: Tính độ chênh lệch d= || B’(i,j) | - | B’(p,q)|| mod a, trong đó a là một

tham số thỏa mãn a=2(2t+1), t là số nguyên dƣơng.

Bƣớc 4: Bit thủy vân Si sẽ đƣợc nhúng sao cho thỏa mãn điều kiện

12

12

td

td

Nếu d<2t+1 mà Si=1 thì một trong hai hệ số DCT b’(i,j) hoặc b’(p,q) có trị

tuyệt đối lớn hơn sẽ bị thay đổi để t>=2t+1 theo công thức sau:

Max(|b’(i,j)|, |b’(p,q)|) + (INT(0.75 x a) –d)

Với hàm max(|b’(i,j)|, b’(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 x a) –d), hoặc cũng có thể

biến đổi một trong hai hệ số theo công thức:

Min(|b’(i,j) , |b’(p,q)|) - (INT(0.25 x a) +d), INT() là hàm lấy phần nguyên của

một số thực.

Tƣơng tự, nếu d>=2t+1 mà Si=0 thì một trong hai hệ số DCT b’(i,j) hoặc

b’(p,q) có trị tuyệt đối lớn hơn sẽ đƣợc thay đổi để thỏa mãn d<2t+1 nhƣ sau:

Max(|b’(i,j) , |b’(p,q)|) – (d - (INT(0.75 x a) )

Hàm max(|b’(i,j)| , |b’(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ẽ bị trừ đi một lƣợng là (d – INT(0.25 x a)), hoặc cũng có thể biến đổi

một trong hai hệ số theo công thức:

Min(|b’(i,j) , |b’(p,q)|) + (INT(0.25 x a) - d)

nếu Si=1

nếu Si=0

Page 33: Kỹ thuật Giấu tin

33

Hàm Min(|b’(i,j) , |b’(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.25 x a) - d)

Bƣớc 5: Thực hiện phép biến đổi ngƣợc IDCT đối với khối ảnh đã nhúng bit

thông tin thủy vân. Ghép các khối ảnh kết quả để đƣợc ảnh chứa thủy vân.

15. Thuật toán nhúng thủy vân WM

Để nhúng thủy vân W thể hiện qua dãy bit (w1, w2,…, wn) vào ảnh nguồn F ta

lấy ngẫu nhiên từng khối bit B của ảnh nguồn và giấu lần lƣợt các bit thủy vân wi vào

mỗi khối. Khóa dùng để trích thủy vân bao gồm giá trị n là bậc của các khối ảnh B,

trật tự ngẫu nhiên K của quá trình chọn các khối B và các cặp chỉ số (i,j), (p,q) đƣợc

chọn để sửa ma trận hệ số C trong các lời gọi thuật toán WM1 cho mỗi khối. Quá

trình nhúng thủy vân đƣợc mô tả qua sơ đồ sau:

Hình 3.1. Quá trình nhúng thủy vân

Algorithm WM

Input

- Số tự nhiên n: bậc của khối

- Số tự nhiên t

Ảnh gốc

Các khối DCT

Ảnh đã nhúng thủy vân

Các khối ảnh

Các khối đã nhúng thủy vân

Watermark

Tách

Biến đổi

Nhúng thủy vân

Biến đổi

Các khối đã biến đổi ngƣợc IDCT

Ghép ảnh

Page 34: Kỹ thuật Giấu tin

34

- Thủy vân W=(wi, w2,…, wm)

- Ảnh nguồn F

Output

- Ảnh đã chứa W biến đổi từ F

- Trật tự chọn khối K

- Dãy các cặp chỉ số S

Procedure WM(W, F, n, t, S)

Method

1. Khởi trị

K:= null;

S:= null;

m:=length(W);

2. for i:=1 to m do

Chọn ngẫu nhiên theo chỉ số r khối B trong F chƣa giấu tin;

Add r to K

WM1(wi, B, n, t, i, j, p, q);

Add(i,j) to S;

Add(p,q) to S;

End for;

End WM.

Do thuật toán WM có độ phức tạp tính toán là O(n2log2n) nên độ phức tạp tính

toán của thuật toán WM sẽ là O(mn2log2n), trong đó m là chiều dài tính theo số bit

của thủy vân, n là bậc của một khối ảnh.

16. Ví dụ minh họa

Giả sử ta cần giấu một bit thủy vân b vào khối ảnh B. Ta chọn a=18=

2(2x4+1), do đó t=4.

Quá trình giấu tin đƣợc thực hiện nhƣ sau:

Giả sử có giá trị nhƣ bảng dƣới đây. Khối này đƣợc lấy ra từ thành phần Blue

của một ảnh màu 24 bit.

58 75 77 55 55 55 55 55

Page 35: Kỹ thuật Giấu tin

35

26 77 77 77 55 77 77 76

78 25 77 77 77 78 26 76

33 26 33 27 27 26 26 77

203 202 202 202 27 26 26 26

202 202 151 149 150 201 26 27

244 202 40 201 202 102 244 201

202 208 202 202 202 202 202 201

Hình 3.2. Khối ảnh tách từ mầu Blue

Sau khi biến đổi DCT ta thu đƣợc khối B’ chứa các hệ số DCT nhƣ sau

862 117 3 0 36 6 -17 -50

-409 -63 -28 -53 -30 -6 50 9

174 -123 13 32 0 -8 -58 18

30 144 -18 28 -18 1 -22 -43

-38 40 11 -76 -23 21 16 5

-71 -109 57 53 72 -6 -59 22

4 47 -70 44 -26 -38 100 -7

72 63 28 -40 47 59 -51 1

Hình 3.3. Miền tần số giữa của khối sau phép biến đổi DCT

Từ khối hệ số B’ nói trên ta sẽ chọn bất kỳ hai hệ số trong miền tần số ở giữa

đƣợc đánh dấu sẫm. Giả sử đó là hai vị trí B’[4,2] và B’[8,1] giá trị tƣơng ứng là 144

và 72.

Tính d: d=||144|-|72|| mod 18=0

Page 36: Kỹ thuật Giấu tin

36

Vì d<2t+1 =9 nên nếu phải giấu bit b=0 vào khối này thì ta sẽ giữ nguyên khối

vì d đã thỏa mãn điều kiện giấu.

Trong trƣờng hợp này, thực hiện phép biến đổi DCT ngƣợc ta thu lại đƣợc

chính khối B ban đầu IDCT(B’, B, n).

Ngƣợc lại, nếu phải chọn giấu bit b=1 vào B thì ta phải thay đổi một trong hai

hệ số đã chọn để thu đƣợc hệ thức d>=2t+1.

Vì B’[4,2]=144 có trị tuyệt đối lớn hơn B’[8,1]=72 nên B’[4,2] đƣợc chọn để

sửa trị. Giá trị mới của B’[4,2] khi đó sẽ là:

B’[4,2]:= B’[4,2] + INT(0.75 x a)-d=144+INT(0.75x18)-0=157

Bây giờ, tính lại d với trƣờng hợp hệ số B’[4,2] đã thay đổi thành 157.

D=(157-72) mod 18 = 13>9=2t+1 và thỏa mãn điều kiện giấu bit 1 vào khối.

Sau đó, khối B’ lại đƣợc biến đổi ngƣợc DCT để thu đƣợc khối ảnh mới sau đây.

61 78 57 78 55 53 52 52

25 77 76 77 55 77 77 77

74 23 75 76 77 79 29 80

32 25 32 26 27 27 27 78

205 203 203 202 26 25 24 25

206 205 152 150 150 200 23 24

245 202 41 202 201 102 244 200

199 206 201 202 203 204 204 204

Hình 3.4. Khối ảnh sau khi giấu dữ liệu

17. Quá trình trích thủy vân

Dựa vào trật tự K của quá trình chọn khối và dãy các cặp hệ số trong mỗi lần

sửa khối, thuật toán trích thủy vân IWM trình bày dƣới đây sẽ đọc mỗi lần một khối B

từ ảnh chứa thủy vân FW và sau đó gán trị cho bit b theo điều kiện dƣới đây:

Page 37: Kỹ thuật Giấu tin

37

Nếu d>=2t+1, đặt b:=1;

Nếu d<2t+1, đặt b:=0;

Giá trị t xem nhƣ đã biết trƣớc, a=2(2t+1).

Trong thuật toán IWM, hàm length(K) cho ra số lƣợng phần tử trong dãy K.

Algorithm IWM

Input

- Ảnh đen trắng F có chứa thủy vân

- Bậc của khối n

- Số tự nhiên t

- Dãy K chứa các chỉ số của các khối chọn ngẫu nhiên trong thuật toán

nhúng thủy vân.

- Dãy S chứa các cặp chỉ số quy định vị trí các phần tử đã sửa trong mỗi

khối.

Output

- Thủy vân W biểu diễn qua dãy bit

Procedure IWM(F, V, K, S, n, t)

Method

Khởi tạo W:=null;

m:=length(K);

for f:=1 to m do

get rth block B in F;

get next index(p,q) in S;

DCT (B, C, n)

d:=||C[i,j]|-|C[p,q]|| mod a;

if d>=2t+1 then b:=1 else b:=0

Page 38: Kỹ thuật Giấu tin

38

endif;

add b to W;

endfor;

End IWM.

Quá trình tách thủy vân đƣợc mô tả nhƣ hình dƣới đây

Hình 3.5. Quá trình trích thủy vân

18. Kết luận

Kích thƣớc khối ảnh nêu trong kỹ thuật là 8 x 8. Tuy nhiên, có thể lựa chọn các

kích thƣớc khác nhau tùy ý theo kích thƣớc từng ảnh gốc và kích thƣớc thực tế của

thủy vân.

Việc chọn một cặp hệ số trong miền tần số giữa có thể đƣợc chọn cố định cho

tất cả các khối trong quá trình nhúng thủy vân. Khi đó, thủy vân có thể rất dễ bị phát

hiện thông qua việc thử lần lƣợt các cặp hệ số trong miền tần số giữa. Có thể làm tăng

độ an toàn và khó phát hiện thủy vân bằng cách đƣa ra một thuật toán có sử dụng

khóa cho sự lựa chọn cặp hệ số trong miền tần số giữa cho từng khối DCT. Khi đó, vị

Ảnh đã nhúng thủy vân

Lấy ra các khối đã chọn

Khối đã biến đổi DCT

Watermarks

Tách khối

Biến đổi DCT

Giải mã

Page 39: Kỹ thuật Giấu tin

39

trí của cặp hệ số đƣợc chọn cho quá trình nhúng thủy vân trong từng khối sẽ đƣợc lƣu

sử dụng làm khóa cho quá trình tách thủy vân.

Trong kỹ thuật này, quá trình tách thủy vân không cần sử dụng ảnh gốc. Tham

số a trong kỹ thuật đóng vai trò nhƣ là hệ số tƣơng quan giữa tính ẩn và tính bền vững

của thủy vân. Khi tăng hệ số a lên thì độ sai lệch của thủy vân giảm đi và nhƣ vậy nó

bền vững hơn. Tuy nhiên, nếu tăng a thì chất lƣợng ảnh sau khi giấu sẽ giảm. Điều

này rất dễ hiểu vì a lớn nghĩa là phân lớp khoảng cách hai hệ số lớn nên khoảng biến

đổi của một hệ số để thỏa mãn điều kiện giấu lớn dẫn đến ảnh hƣởng nhiều đến chất

lƣợng ảnh.

(Phần này phải làm lại ví dụ và lấy ví dụ cho phân tách thủy vân)

/*******************************************/

V. Kỹ thuật thủy vân sử dụng sóng nhỏ

19. Giới thiệu về sóng nhỏ

Biến đổi tín hiệu chỉ là dạng biểu diễn khác của tín hiệu. Nó không làm thay

đổi nội dung thông tin của tín hiệu. Biến đổi sóng nhỏ cung cấp cách biểu diễn thời

gian – tần số của tín hiệu. Biến đổi này tạo ra nhằm khắc phục những hạn chế của

biến đổi Fourier thời gian ngắn (Short Time Fourier Transform-STFT) và cũng đƣợc

sử dụng để phân tích tín hiệu động. Trong khi đó STFT cho độ phân dải không đổi ở

tất cả các tần số. Biến đổi sóng nhỏ sử dụng kỹ thuật đa độ phân dải bằng cách với

mỗi tần số khác nhau nó phân tích với một độ phân dải khác nhau.

Mỗi sóng là một hàm dao động của thời gian hoặc không gian và tuần hoàn.

Ngƣợc lại, sóng nhỏ là sóng cục bộ, chúng có năng lƣợng tập trung ở thời gian hoặc

không gian và thích hợp để phân tích tín hiệu tạm thời. Trong khi biến đổi fourier và

STFT sử dụng sóng để phân tích tín hiệu thì biến đổi sóng nhỏ sử dụng sóng nhỏ của

năng lƣợng hữu hạn.

Page 40: Kỹ thuật Giấu tin

40

Hình 2.1. Sự khác nhau giữa sóng(a) và sóng nhỏ(b)

Trong phân tích sóng nhỏ, tín hiệu đƣợc phân tích nhiều lần với hàm sóng nhỏ

và sự biến đổi đƣợc tính toán với mỗi phần đƣợc tạo ra. Với tần số cao, biến đổi sóng

nhỏ cho độ phân dải rất tốt về thời gian và độ phân dải không tốt về tần số. Với tần số

thấp, biến đổi sóng nhỏ cho độ phân dải tốt về tần số và độ phân dải không tốt về thời

gian.

20. Lý thuyết biến đổi sóng nhỏ rời rạc cho thủy vân ảnh (DWT)

DWT là chủ đề rất lớn. Ở đây chỉ tập trung vào những vấn đề của DWT mà có

liên quan đến vấn đề ta đang quan tâm là thủy vân. Hai vấn đề chung của tất cả các

thuật toán biến đổi sang miền tần số là biến đổi thuận và biến đổi ngƣợc.

DWT là viết tắt cả Discrete Wavelet Transformation, sử dụng để biến đổi dữ

liệu mẫu thành hệ số sóng nhỏ.

IDWT là viết tắt của Inverse Discrete Wavelet Transformation, dùng để biến

đổi ngƣợc hệ số sóng nhỏ thành dữ liệu mẫu gốc.

Ở đây ta thảo luận về ảnh có kích thƣớc NxN.

2.2.1. Xử lý phân tách

Ảnh đƣợc lọc thông cao và thông thấp giữa các dòng. Kết quả lọc của mỗi lần

đƣợc lấy mẫu hai lần theo thông cao và thông thấp. Hai tín hiệu con này tƣơng ứng

với thành phần tần số cao và thành phần tần số thấp giữa các dòng. Mỗi tín hiệu con

này một lần nữa đƣợc lọc thông cao và thông thấp, nhƣng lần này là giữa các cột. Kết

quả này một lần nữa đƣợc lấy mẫu.

Page 41: Kỹ thuật Giấu tin

41

Hình 2.2. Bƣớc phân tách của ảnh hai chiều

Ở bƣớc này dữ liệu gốc đƣợc phân thành 4 ảnh con, mỗi ảnh có kích thƣớc

N/2xN/2 chứa thông tin về các thành phần tần số khác nhau. Hình 2.2. thể hiện bƣớc

phân tách của ảnh xám hai chiều. Hình 2.3. thể hiện 4 nhánh con khi phân tách ảnh.

Hình 2.3. Bƣớc phân tách DWT

LL là kết quả lọc thông thấp cả dòng và cột, chứa thành phần miêu tả thô về

ảnh. Do đó LL còn đƣợc gọi là xấp xỉ của ảnh. HH là kết quả lọc thông cao theo cả

hàng và cột và nó chứa thành phần tần số cao của tín hiệu tƣơng tự. HL và LH là kết

quả của lọc thông thấp một chiều và lọc thông cao ở chiều còn lại. LH chứa thông tin

chi tiết theo chiều đứng, tƣơng ứng với cung ngang. HL biểu diễn thông tin chi tiết

theo chiều ngang từ cung đứng. Tất cả 3 thành phần con: HL, LH, HH đƣợc gọi là

nhánh con chi tiết vì nó bổ sung chi tiết tần số cao cho ảnh xấp xỉ.

21. Xử lý ghép

Xử lý ngƣợc thể hiện trên hình 2.4. Thông tin từ 4 ảnh con đƣợc lấy mẫu và lọc

ngƣợc giữa các cột. Kết quả thu đƣợc một lần nữa đƣợc lấy mẫu và lọc ngƣợc với bộ

Page 42: Kỹ thuật Giấu tin

42

lọc ngƣợc. Kết quả cuối cùng thu đƣợc chính là ảnh gốc. Ở đây không có sự mất mát

thông tin trong quá trình phân tách cũng nhƣ quá trình ghép để thu đƣợc ảnh gốc.

Hình 2.4. Bƣớc ghép 4 thành phần ảnh con

Với DWT có thể phân tách ảnh nhiều lần. Có thể tiếp tục phân tách cho đến

khi tín hiệu đƣợc phân tách toàn bộ hoặc để ngƣời dùng tự động ngắt quá trình phân

tách một cách thủ công. Với các ứng dụng nén và thủy vân, thông thƣờng quá trình

phân tách không thực hiện quá 5 lần.

Hầu hết sử dụng hai cách phân tách sau:

- Phân tách kiểu hình chóp

- Phân tách kiểu đóng gói

22. Phân tách kiểu hình chóp

Kiểu phân tách đơn giản và phổ biến nhất là phân tách kiểu hình chóp. Với

cách phân tách này, ta chỉ tiến hành phân tách tiếp cho thành phần con LL. Hình 2.5.

thể hiện lƣợc đồ phân tách của 3 mức. Ở mỗi mức¸ chi tiết của mỗi thành phần là kết

quả cuối cùng của mức đó, nhƣng chỉ có thành phần xấp xỉ là LL đƣợc phân tách tiếp.

Hình 2.5. 3 mức phân tách ảnh sử dụng kiểu phân tách hình chóp

Page 43: Kỹ thuật Giấu tin

43

Hình 2.6 thể hiện cấu trúc hình chóp là kết quả của cách phân tách này. Ở mức

phân tách sâu nhất sẽ có một ảnh con xấp xỉ và 9 nhánh con ở các mức khác nhau.

Sau khi phân tách thành phần LL, có tất cả D(L)=3*L+1 nhánh con.

Hình 2.6. Hình chóp sau 3 mức phân tách

Hình 2.7 là một ví dụ về kết quả của phân tách kiểu hình chóp. Đó là kết quả

tƣơng ứng với một, hai và ba mức phân tách.

Hình 2.7. Phân tách ảnh lần 1, 2 và 3

23. Phân tách sóng nhỏ kiểu đóng gói

Kiểu phân tách này không hạn chế số lần phân tách với từng thành phần ảnh, ở

mỗi lần phân tách tất cả các thành phần con đều đƣợc phân tách. Hình 2.8 thể hiện

lƣợc đồ của kiểu phân tách đóng gói qua hai lần phân tách.

Page 44: Kỹ thuật Giấu tin

44

Hình 2.8. Hai lần phân tách của kỹ thuật đóng gói.

Hình 2.9 thể hiện kết quả phân tách ảnh qua 2 lần

Hình 2.10. Kết quả phân tách kiểu đóng gói sau 2 lần phân tách

24. Họ sóng nhỏ

Page 45: Kỹ thuật Giấu tin

45

Có một số hàm cơ sở đƣợc dùng làm họ sóng nhỏ cho biến đổi sóng nhỏ. Vì họ

sóng nhỏ tạo ra tất cả các hàm sóng nhỏ, nó xác định đặc trƣng của biến đổi sóng nhỏ

sau khi thực hiện. Do đó, chi tiết của ứng dụng cụ thể nên đƣợc xem xét kỹ để xác

định ra họ sóng nhỏ nên sử dụng sao cho quá trình biến đổi sóng nhỏ sẽ hiệu quả cho

ứng dụng tƣơng ứng.

Hình 2.11. minh họa một số hàm sóng nhỏ phổ biến. Hàm Haar là một trong

những hàm đơn giản và lâu đời nhất. Do đó bất kỳ thảo luận nào về sóng nhỏ đều bắt

đầu với hàm Haar. Hàm Daubechies là hàm phổ biến nhất. Nó thể hiện cơ sở của xử

lý tín hiệu sóng nhỏ và thƣờng dùng cho các ứng dụng lớn. Hai hàm Haar và

Daubechies còn đƣợc gọi là sóng Maxflat vì đáp ứng xung của chúng có độ dẹt nhất ở

tần số 0 và π. Đây là đặc trƣng mà nhiều ứng dụng mong muốn đạt đƣợc. Hàm Haar,

Daubechies, Symlets và Coiflets đều đƣợc hỗ trợ sóng nhỏ trực giao. Sóng này cùng

với sóng nhỏ Meyer có khả xây dựng lại cấu trúc một cách hoàn hảo. Sóng Meyer,

Morlet va Mexican Hat là các sóng có hình dạng đối xứng.

25. Kỹ thuật thủy vân sử dụng phép biến đổi sóng nhỏ

11. Kỹ thuật thủy vân của Raval Mehul va Rege Priti

3.3.1.1. Ý tưởng

Dựa trên kỹ thuật biến đổi sóng nhỏ hai tác giả Raval Mehul và Rege Priti đã

đề xuất kỹ thuật thủy vân sử dụng phép biến đổi sóng nhỏ hai chiều để phân tích ảnh

gốc thành bốn băng LL, HL, LH và HH rồi nhúng tín hiệu thủy vân thứ nhất vào băng

LL, nhúng một thủy vân khác vào băng HH. Kết quả thử nghiệm cho thấy thủy vân

bền vững trƣớc một số phép xử lý ảnh thông thƣờng.

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

Input:

- Thủy vân: hai ảnh nhị phân J, K kích thƣớc N x N

- Một ảnh chứa I kích thƣớc 4N x 4N

Output: Ảnh chứa đã nhúng thủy vân I’

Method:

- Sử dụng phép biến đổi sóng nhỏ hai chiều mức hai đối với I

Page 46: Kỹ thuật Giấu tin

46

- Nhúng thủy vân J vào băng LL2, nhúng thủy vân K vào băng HH2 bởi

công thức : Vi,j’=Vi,j+Wi,j. Với Vi,j là hệ số tƣơng ứng trong LL2 và HH2;

là hệ số tƣơng quan giữa tính ẩn và tính bền vững của thủy vân.

- Sử dụng phép biến đổi ngƣợc IDWT để tổng hợp lại đƣợc ảnh chứa

thủy vân.

3.3.1.3. Quá trình tách thủy vân

- Sử dụng phép biến đổi sóng nhỏ hai chiều mức hai đối với ảnh gốc I và

ảnh chứa thủy vân I’.

- Từ kết quả phân tích trên, tính giá trị lệch giữa các điểm tƣơng ứng

thuộc các băng LL2, HH2 của ảnh chứa thủy vân và ảnh gốc rồi chia cho để

đƣợc bit tƣơng ứng thuộc ảnh thủy vân: Wi,j’= (Vi,j - Vi,j)/ .

- Kiểm định, đánh giá thủy vân tách đƣợc với thủy vân gốc.

3.3.1.4. Kết quả

Qua thử nghiệm, kỹ thuật thủy vân của Raval Mehul va Rege Prit cho kết

quả thủy vân bền vững trƣớc một nhóm các biến đổi thông thƣờng đối với ảnh

chứa thủy vân. Thủy vân nhúng ở băng LL bền vững trƣớc một nhóm các phép

biến đổi, trong khi thủy vân nhúng ở băng HH lại bền vững trƣớc một nhóm các

biến đổi khác. Điều đó thể hiện, thủy vân đƣợc nhúng ở các băng khác nhau thể

hiện tính bền vững khác nhau trƣớc các tấn công vào hệ thủy vân. Nhƣ vậy, có thể

sử dụng thủy vân nhúng vào tất cả cá băng trong phép phân tích sóng nhỏ để có

thể tìm đƣợc sự bền vững ở ít nhất một trong các băng trƣớc các tấn công hoặc có

thể xây dựng một phƣơng pháp nhúng kết hợp vào các băng để tìm một thủy vân

tổng hợp từ các băng đã nhúng.

Quá trình tách thủy vân ở đây đƣợc yêu cầu sử dụng cả ảnh gốc và ảnh

chứa thủy vân.

12. Kỹ thuật thủy vân của Peining Tao và Ahmet M. Eskicioglu

Với kỹ thuật trên các tác giả đã sử dụng phép biến đổi sóng nhỏ hai chiều

để phân tích ảnh gốc thành các băng tần khác nhau, rồi nhúng tín hiệu thủy vân

vào một hoặc một số các băng tần. Theo cách đó, thủy vân có thể bền vững trƣớc

một số tấn công nhƣng lại kém bền vững với một nhóm các tấn công khác. Khắc

phục yếu điểm trên, trong thuật toán này, các tác giả Peining Tao và Ahmet M.

Page 47: Kỹ thuật Giấu tin

47

Eskicioglu đã nhúng tín hiệu thủy vân vào cả bốn băng tần trong phép phân tích

sóng nhỏ, mỗi băng tần có thể sử dụng các hệ số khác nhau.

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

Input:

Ảnh chứa, I=(aij, 0i, j2n),

Ảnh thủy vân là ảnh nhị phân, W=(wij 0, 1, 0i, jn)

Output: Ảnh chứa đã đƣợc nhúng thủy vân IW

Method:

- Thực hiện phép biến đổi sóng nhỏ DWT mức một để phân tích

ảnh chứa I.

- Sửa các miền tần số Vij tƣơng ứng với các băng LL, HL, LH, và

HH:

- ijk

k

ij

k

ijw WVV , ; với i,j=1,….,n; k=1, 2, 3, 4

- Thực hiện phép biến đổi ngƣợc IDWT đối với các băng đã sửa

đổi tƣơng ứng trong bƣớc thứ 2 để đƣợc ảnh chứa đã nhúng thủy vân IW.

3.3.2.2. Quá trình tách thủy vân

Input : Ảnh chứa đã nhúng thủy vân, ảnh gốc

Output: Thủy vân là ảnh nhị phân W*

Method:

- Thực hiện phép biến đổi sóng nhỏ DWT mức một để phân tích

ảnh gốc I và ảnh đã nhúng thủy vân (có thể đã qua xử lý).

- Tách thủy vân từ các băng LL, HL, LH, HH:

;/)( *

,

*

k

k

ij

k

ijw

k

ij VVW với i, j=1,…,n; k=1, 2, 3, 4

- Nếu 5.0* ijW thì lấy 1* ijW ngƣợc lại lấy *

ijW =0.

3.3.2.3. Kết quả

Với kỹ thuật nhúng thủy vân sử dụng phép biến đổi sóng nhỏ trên đây, thủy

vân sau khi đƣợc nhúng ở băng tần thấp thì bền vững đối với một nhóm các tấn

công, trong khi thủy vân đƣợc nhúng ở băng tần cao lại bền vững trƣớc một nhóm

các tấn công khác, thủy vân nhúng trong những băng tần giữa cũng bền vững với

một số tấn công.

Page 48: Kỹ thuật Giấu tin

48

VI. Thủy vân miền DFT

26. Mô hình hệ thống thủy vân

Cho s(i), i=1,2,…,N là mẫu của tín hiệu gốc s với độ dài N. Cho S(k),

k=1,2,…,N là hệ số biến đổi DFT của s(i) và M(k), P(k) là độ lớn của biến đổi Fourier

(M(k)= )(kS ) và pha của nó tƣơng ứng là P(k) = arg(S(k)). Giả sử rằng SR(k) và SI(k)

ký hiệu cho phần thực và phần ảo của S(k). Việc nhúng thủy vân sẽ đƣợc thực hiện

trong miền Fourier và cụ thể hơn là độ lớn của nó. Do đó, xuất phát từ độ lớn của biến

đổi Fourier M ta tạo ra độ lớn biến đổi đã đƣợc nhúng thủy vân. Gỉa sử M’ là độ lớn

đã đƣợc nhúng thủy vân đƣợc tạo ra bằng cách nhúng thủy vân vào hàm f:

M’=f(M,W,p) (1)

Trong công thức trên, vecter M chứa mẫu của dãy thuỷ vân. Dãy này do bộ

sinh ngẫu nhiên tạo ra. Gỉa sử W(k), k=1,2,…,N là tín hiệu ngẫu nhiên thuộc miền

{1,-1}. Do đó, trung bình của dãy thủy vân mẫu W(k) tƣơng đƣơng với 0. Trong

trƣờng hợp f là hàm tuyến tính, dễ dàng chứng minh rằng trung bình của độ lớn đã

đƣợc thủy vân vẫn không thay đổi. Tham số p xuất hiện trong công thức (1) là số

thực, số này cho biết độ dài của thủy vân. Khi p tăng lên thì thủy vân càng bền vững.

Nếu hàm nhúng thủy vân là hàm nhân, độ lớn của thủy vân tính theo công thức

sau:

M’=M+MWp=M(1+Wp) (2)

Để xác định tín hiệu đã đƣợc nhúng thủy vân cuối cùng s’ (trong miền không

gian) ta sử dụng công thức biến đổi Fourier rời rạc ngƣợc IDFT áp dụng lên độ lớn

thủy vân M’ và hệ số DFT gốc với pha là P.

s’=IDFT(M’,P) (3)

Cho tín hiệu thủy vân y, bộ phát hiện thủy vân có mục đích quyết định liệu y

có phải là tín hiệu gốc của thủy vân W hay không. Bộ phát hiện thủy vân có thể xem

nhƣ là một bộ kiểm tra giả thiết, trong đó hai giả thiết có thể có là:

H0: tín hiệu y không phải là tín hiệu gốc của thủy vân W

H1: tín hiệu y là tín hiệu gốc của thủy vân W

Page 49: Kỹ thuật Giấu tin

49

Chú ý rằng giả thiết H0 có thể xuất hiện trong trƣờng hợp tín hiệu y chƣa đƣợc

thủy vân(H0a) hoặc tín hiệu y đã đƣợc thủy vân bởi thủy vân W’ khác(H0b), trong đó

W≠W’. H0a và H0b là loại trừ lẫn nhau và hợp của chúng tạo thành H0.

Hiệu quả của một phƣơng thức thủy vân phụ thuộc phần lớn vào sự lựa chọn

bộ phát hiện thủy vân d. Bộ phát hiện tƣơng quan và bộ phát hiện thủy vân đƣợc dùng

phổ biến. Nó xuất hiện trong một số phƣơng thức thuỷ vân không chỉ trong miền

không gian mà còn trong miền tần số. Việc kiểm tra của bộ phát hiện thủy vân là sự

tƣơng quan giữa thủy vân và tín hiệu thủy vân y của nó.

(4)

Để quết định theo giả thiết hợp lệ, bộ phát hiện thủy vân đƣa đầu ra d để so

sánh với ngƣỡng đã chọn là T. Việc tính toán của phƣơng thức thủy vân có thể đo

bằng cách sử dụng xác suất khai báo Pfs và xác xuất loại bỏ Pfr. Xác xuất khai báo là

kiểu lỗi I, nó là khả năng của giả thiết bác bỏ H0, thậm chí điều đó là đúng. Trong

trƣờng hợp này, nó là khả năng phát hiện ra thủy vân W trong tín hiệu. Với kiểu lỗi II

tƣơng ứng với xác xuất loại bỏ, xác suất này cho biết không phát hiện ra thủy vân W

trong tín hiệu (trừ khi H0 là sai).

Trong hầu hết các phƣơng thức thủy vân, giả thiết H0 đƣợc chấp nhận khi bộ

phát hiện thủy vân lớn hơn ngƣỡng T. Do đó, xác suất khai báo và xác suất loại bỏ có

thể biểu diễn theo công thức sau:

Có thể thực hiện theo công thức xác suất ở trên nếu bộ phát hiện thủy vân phân

bố cho cả hai giả thiết. Do đó, giả sử f0(x),f1(x) là hàm xác suất cho giả thiết H0 và H1

thì xác suất lỗi là:

Page 50: Kỹ thuật Giấu tin

50

Theo công thức ở trên, Pfa và Pfr phụ thuộc vào ngƣỡng T. Sự thay đổi T sẽ làm

tăng một xác suất và làm giảm xác suất còn lại. Do đó, ngoài bộ phát hiện thủy vân,

việc chọn ngƣỡng thích hợp cũng là một vấn đề quan trọng. Trong một số trƣờng hợp,

bộ phát hiện có ý nghĩa nhƣ là tổng hoặc tích của các giai đoạn độc lập so với các

phân bổ giống nhau. Theo lý thuyết hữu hạn trung tâm, bộ phát hiện tuân theo phân

bổ Gaussian. Do đó trong trƣờng hợp này, có thể tính xác suất lỗi nhƣ sau:

Trong đó 0, 1 là giá trị trung bình và 0,1 là độ lệch chuẩn của phân bố f0, f1

tƣơng ứng.

27. Mô hình và phân bố tín hiệu của hệ số cƣờng độ DFT

Bƣớc cơ sở để xây dựng bộ phát hiện tối ƣu là tính ra hệ số phân bố biến đổi.

Vì thế trong phần này sẽ tính phân bố của hệ số độ lớn DFT của tín hiệu. Mô hình

thống kê tín hiệu nhƣ sau:

Với E(.) là giá trị mong muốn.

Hàm tự động tƣơng quan giả định là:

Với a là hằng giá trị thực. a nhận giá trị trong đoạn [0.9,…,0,99] với một vài

lớp tín hiệu một chiều. Chú ý rằng a có khuynh hƣớng về 0 với cách tiếp cận hệ số

tƣơng quan tự động phân bố Dirac.

Page 51: Kỹ thuật Giấu tin

51

Từ công thức (5) và (8) ở trên ta thấy hệ số tƣơng quan tín hiệu Fs,s(D) chỉ phụ

thuộc vào sự khác nhau tuyệt đối D của tín hiệu. Biến đổi DFT của tín hiệu s(i),

i=1,…,N cho theo công thức sau:

Giả thiết biến đổi DFT ở trên theo phân bố Gaussian, theo lý thuyết hữu hạn

trung tâm với các biến ngẫu nhiên. Giả thiết này sẽ hợp lệ ít nhất với trƣờng hợp giá

trị của tham số a nhỏ. Nhằm kiểm tra bằng thực nghiệm, ta thực hiện kiểm tra

Kolmogorov-Smirnov với tất cả hệ số. Hình 2 là giá trị của p với mỗi hệ số trong

trƣơng hợp a=0 và a=0.995. Tham số thống kê dùng để kiểm tra Kolmogorov-

Smirnov (giá trị mong muốn và biến) nhận từ công thức 12, 13 và 30. Điều đó chứng

tỏ rằng giá trị p là rất thấp với tất cả các hệ số theo phân bố Gaussian.

Từ đó suy ra công thức tính trung bình của S(k):

Chứng minh công thức này đƣợc trình bầy trong phần tiếp theo. Biến của S(k)

đƣợc tính tách biệt so với phần thực SR(k) và phần ảo SI(k) theo công thức sau:

Thay thế giá trị ở công thức 5 vào công thức 10 ta đƣợc :

Kết quả cuối cùng để tính biến của SR(k) và SI(k) nhƣ sau:

Page 52: Kỹ thuật Giấu tin

52

Công thức này đƣợc chứng mình trong phần tiếp theo.

Hình 1 thể hiện các biến giả thiết và tiềm năng của phần thực và phần ảo của

các hệ số biến đổi Fourier rời rạc. Trong ví dụ này 100 tín hiệu có độ dài 1000 theo

mô hình (8) đƣợc dùng với a=0,99.

Bƣớc tiếp theo là tính phân bố độ lớn của cƣờng độ Fourier )(kS . Quan sát

công thức (10) ta thấy tất cả các giai đoạn của DC đều có giá trị trung bình bằng 0.

Nếu biến của SR(k) và SI(k) bằng nhau thì cũng có thể kết luận phân bố của )(kS là

một Rayleigh:

Tuy nhiên biến của phần thực và phần ảo của S(k) chỉ bằng nhau khi tất cả các

mẫu tín hiệu có thể đƣợc mô hình nhƣ một biến phân bố hoàn toàn độc lập (a=0). Do

đó, trong các trƣờng hợp khác ta phải sử dụng hàm xác suất của tín hiệu.

Trong đó: và 1≠2. Các biến z cho trong

công thức:

Trongn đó I0 là hàm Bessel và 1, 2 là độ lệch chuẩn của phần thực và phần

ảo của S(k). Do đó phân bố độ lớn DF nhƣ sau:

28. Bộ phát hiện thủy vân tối ƣu

Phần này trình bầy về bộ phát hiện thủy vân tối ƣu cho thủy vân nhân bằng cách sử

dụng bộ kiểm tra tỷ lệ khả năng (Likelihood Ratio Test- LRT). Theo lý thuyết

Page 53: Kỹ thuật Giấu tin

53

Neyman-Pearson, để tối ƣu hóa khả năng của bộ phát hiện PD với Pfa=e, ta quyết định

là H1 nếu:

Với ngƣỡng T xác định từ công thức:

Công thức (16) gọi là bộ kiểm tra LRT. Hàm mật độ xác suất của tín hiệu đã đƣợc

nhúng thủy vân P(M’, H0), P(M’,H1) đƣợc tính toán cho mỗi tín hiệu đã đƣợc thủy

vân với thủy vân đã biết và chƣa biết. Với P(M’;H0) ta giả thiết rằng thủy vân là ngẫu

nhiên và đƣợc mô hình bởi:

Theo công thức nhúng (2), dễ dàng chứng minh rằng PDF của tín hiệu đã đƣợc thuỷ

vân bằng:

Xây dựng f’M với hàm mật độ xác suất của phân bố trong công thức (14) ta thấy:

Trong trƣờng hợp giả thiết H1, tín hiệu đƣợc thủy vân bởi thủy vân đã biết W. Do đó,

xác suất sẽ là:

Page 54: Kỹ thuật Giấu tin

54

Nếu giữa các hệ số của S là độc lập, ta kết luận rằng:

Kết hợp với công thức (14), (21), (16) ta nhận đƣợc lƣợc đồ phát hiện tối ƣu:

Ngƣỡng đƣợc lựa chọn sao cho có thể xác định đƣợc xác suất lỗi khai báo thất bại đã

đƣợc định nghĩa trƣớc. Để tính xác suất lỗi khai báo thất bại, trƣớc hết phải biết phân

bố bộ phát hiện trong trƣờng hợp phát hiện thủy vân sai. Giả thiết phân bố là

Gaussian. Sau đó tính tham số phân bố từ thống kê phân bố qua thực nghiệm. Cuối

cùng xác định lỗi thủy vân từ tín hiệu đã đƣợc nhúng thủy vân.

Từ thống kê phân bố qua thực nghiệm và xác suất lỗi khai báo thất bại mong muốn, ta

tính ngƣỡng theo công thức sau:

Trong đó mũ và mũ là giá trị mong đợi và độ lệch chuẩn của tập đầu ra của bộ

phát hiện. Do đó theo công thức trên ta có ngƣỡng T sau:

Nhu cầu về số lƣợng của bộ phát hiện là không biết trƣớc, tuy nhiên số lƣợng phải đủ

lớn nếu muốn xấp xỉ chính xác phân bố. Bằng thực nghiệm, số lƣợng ít nhất đủ để xấp

xỉ phân bố đƣợc xác định thông qua thủ tục sau đây. Trƣớc hết ƣớc lƣợng tham số

phân bố mũ và mũ sử dụng phân bố thực nghiệm đƣợc tạo ra từ đầu ra của bộ

phát hiện L. Cho L tăng trong khoảng từ Lmin đến Lmax. Sau đó theo thống kê này để

tính ngƣỡng nhằm thu đƣợc xác suất khai báo thất bại tƣơng đƣơng với 10-10

. Ta dừng

tại L* mà tại đó dẫn tới một ƣớc lƣợng ổn định của T.

Page 55: Kỹ thuật Giấu tin

55

Thủ tục này đƣợc minh họa trong hình 4 với Lmin=5, Lmax=1000. Theo hình này, giá trị

ngƣỡng ổn định khi số lần thực nghiệm lớn hơn L*=100. Tất nhiên L* phụ thuộc vào

sức mạnh của bộ nhúng thuỷ vân, độ dài của tín hiệu và đặc trƣng của tín hiệu. Vì thế

ta đề xuất thực hiện thủ tục trên với tập tín hiệu đại diện và với các bộ nhúng trong

các ứng dụng cụ thể.

1. Chứng minh các công thức

* Tính trung bình hệ số fourier rời rạc

Trung bình của S(k) là:

Thay na bằng N

kj2 theo công thức (30):

Thì thu đƣợc:

Thay vào tổng với điều kiện ràng buộc: 0<=k<N, a≠2lπ => N

k2≠2lπ=>k≠0.

Cuối cùng ta thu đƣợc:

Sử dụng công thức:

Page 56: Kỹ thuật Giấu tin

56

Ta thu đƣợc:

Do đó, giá trị trung bình bằng:

* Tính biến của hệ số Fourier rời rạc

S(k) là một tín hiệu phức tạp, do đó biến của phần thực và phần ảo sẽ đƣợc tính riêng

biệt với nhau.

- Biến của phần thực:

Tính theo công thức:

Tổng thứ 2 tính trong công thức (30). Tổng thứ nhất tƣơng đƣơng với:

Áp dụng công thức (31):

Sau đó chia tổng thành 2 phần:

Page 57: Kỹ thuật Giấu tin

57

Từ đó nhận đƣợc công thức 12.

- Biến của phần ảo:

Tính theo công thức:

Chia công thức trên giống nhƣ công thức 34 và sử dụng công thức 31 ta có:

Từ đó thu đƣợc công thức 13

* Tính phân bố của fz(z):

Phần này ta tính 22)( yxzf z , trong đó x N(0,12),y N(0,2

2) và 1≠2. Thay x

bằng zcos(t), y bằng z sin(t), phân bố ở trên trên bằng:

Thay vào công thức 37:

Page 58: Kỹ thuật Giấu tin

58

Sau khi đƣa vào tổng chu kỳ của hàm sin và tính đối xứng:

Có thể viết công thức 38 nhƣ sau:

Sử dụng công thức 31:

Với I0(z) là hàm Bessel của z, áp dụng công thức 39:

Cuối cùng thay thế q và dùng công thức 41, công thức 38 trở thành:

Trƣờng hợp đặc biệt 1=2, hàm phân bố xác xuất f(z) là hàm Rayleigh.

29. Kết quả thực nghiệm

Qua thực nghiệm, ngƣời ta xác định mức độ ƣu tiên của các bộ phát hiện đã đề xuất

so với các bộ phát hiện tƣơng quan cổ điển. Thực nghiệm thực hiện trên tín hiệu số

một chiều.

Để xây dựng các tín hiệu với đặc trƣng tƣơng quan tự động mong muốn, ta lọc một tín

hiệu phân bố thông thƣờng S có giá trị trung bình bằng 0 với bộ lọc IIR:

Bộ lọc này tạo ra tín hiệu có hàm tƣơng quan tự động có dạng sau:

Page 59: Kỹ thuật Giấu tin

59

Công thức này giống với công thức 8 khi s2=0. Biến của tín hiệu đã lọc bằng (1-

a)/(1+a) s2. Nhúng thủy vân theo công thức 2. Sau đó tín hiệu đã đƣợc thủy vân sẽ

đƣợc đƣa vào công thức tƣơng quan (4) và bộ phát hiện đề xuất (23). Để ƣớc lƣợng

xác suất loại bỏ thất bại và xác suất khai báo thất bại, cả khóa đúng và khóa lỗi đều

phải đƣợc dùng trong suốt phiên phát hiện.

Thủ tục trên đƣợc thực hiện với một số lƣợng lớn các khóa khác nhau. Nhờ lý thuyết

hữu hạn trung tâm nên phân bố của L(x) là thông thƣờng. Kết quả là phân bố của

ln(L(x)) cũng là thông thƣờng, với ln(x) là logarit tự nhiên của x. Để thể hiện khả

năng xấp xỉ rất tốt của đầu ra của bộ phát hiện bởi phân bố Gaussian, ta đƣa ra kết quả

thực nghiệm của nó trong hình 3. Hình 3a và 3b là kết quả phân bố sử dụng khóa lỗi

và khóa đúng tƣơng ứng. Kết quả này khá tốt vì theo lý thuyết null của Kolmogorov-

Smirnov mức độ quan trọng bằng 0.01 đã bị loại bỏ. Sau đây ta sẽ sử dụng bộ phát

hiện L(x) thay cho ln(L(x)). Cho dr(x) và de(x) là phân bố của đầu ra của bộ phát hiện

cho thủy vân lỗi và thủy vân đúng tƣơng ứng.

Tính giá trị trung bình thực nghiệm và độ lệch chuẩn bằng cách xấp xỉ pdf thực

nghiệm với pdf thông thƣờng, có thể dùng đặc trƣng toán tử nhận đƣợc (Receiver

Operator Characteristic – ROC) cho cả hai đầu ra của bộ phát hiện. Đƣờng cong ROC

dùng để so sánh hiệu quả của bộ phát hiện.

Thủ tục trên đƣợc dùng với các giá trị khác nhau của tham số a. Quá trình phát hiện

thực hiện nhƣ sau:

- Bộ phát hiện tƣơng quan

- Bộ phát hiện đề xuất xem xét tham số a đã biết.

- Bộ phát hiện đề xuất ƣớc lƣợng tham số a chƣa biết từ dãy thủy vân

- Hệ số tƣơng quan đã đƣợc chuẩn hóa

Hình 5-8 là kết thực nghiệm của bộ phát hiện đề xuất so với bộ phát hiện tƣơng quan,

tham số a đƣợc thay đổi trong phạm vi từ [0,1].

Hình 5, giá trị của tham số a bằng 0. Đây là trƣờng hợp đặc biệt với tín hiệu trắng,

không sử dung công thức lọc 26. Hệ quả là tham số a tăng lên đạt tới giá trị 0.995

trong hình 8. Quan sát hình 5-8 có thể kết luận:

Page 60: Kỹ thuật Giấu tin

60

- Bộ phát hiện đề xuất tốt hơn nhiều so với bộ phát hiện tƣơng quan

- Hiệu năng của bộ phát hiện đề xuất dùng để ƣớc lƣợng tham số a cũng

giống nhƣ sử dụng tham số a đã biết vì đƣờng cong ROC đều gần với cả hai

bộ phát hiện này.

- Đƣờng cong ROC tƣơng ứng với bộ phát hiện đề xuất không ảnh hƣởng

nhiều đến giá trị tham số a so với bộ phát hiện tƣơng quan.

Figure 1: Biến thực nghiệm và biến lý thuyết của phần thực và phần ảo của mỗi hệ số Fourier rời rạc cho

100 tín hiệu với độ dài 1000 và hệ số a=0.99

Figure 2: Giá trị P (đầu ra của bộ kiểm tra Kolmogorov-Smirnov) với mỗi hệ số của phần thực sau khi

biến đổi Fourier của tín hiệu. Hình a:a=0, hình b:a=0.995

Page 61: Kỹ thuật Giấu tin

61

Figure 3: Phân bố đầu ra của bộ phát hiện thực nghiệm. Hình a: khóa lỗi, hình b: khóa đúng.

Figure 4: ƣớc lƣợng ngƣỡng và số lần thực nghiệm

Page 62: Kỹ thuật Giấu tin

62

Figure 5: Đƣờng cong ROC bộ phát hiện tƣơng quan, bộ phát hiện tƣơng quan chuẩn, bộ phát hiện

tƣơng quan đề xuất sử dụng tham số đã biết a=0.

Figure 6: Đƣờng cong ROC bộ phát hiện tƣơng quan, bộ phát hiện tƣơng quan chuẩn, bộ phát hiện

tƣơng quan đề xuất sử dụng tham số đã biết a=0.9.

Page 63: Kỹ thuật Giấu tin

63

Figure 7: Đƣờng cong ROC bộ phát hiện tƣơng quan, bộ phát hiện tƣơng quan chuẩn, bộ phát hiện

tƣơng quan đề xuất sử dụng tham số đã biết a=0.97.

Figure 8: Đƣờng cong ROC bộ phát hiện tƣơng quan, bộ phát hiện tƣơng quan chuẩn, bộ phát hiện

tƣơng quan đề xuất sử dụng tham số đã biết a=0.995.

Page 64: Kỹ thuật Giấu tin

64

CHƢƠNG 3. XÂY DỰNG ỨNG DỤNG

I. Xây dựng các modul cho các thuật toán sử dụng để xác thực nội dung

1. Xử lý chuỗi thành dãy nhị phân

Nội dung thủy vân cần nhúng vào ảnh có thể là một chuỗi.

Ví dụ: “Phùng Thị Lan”. Nhƣng thông tin nhúng đƣợc vào ảnh là các bit và

đoạn bit. Vì thế phải chuyển chuỗi thành xâu nhị phân tƣơng ứng bằng cách lấy

ra từng ký tự của chuỗi, sử dụng bảng mã ASCII để lấy ra mã của ký tự. Tiếp

theo sử dụng thuật toán chia liên tiếp cho 2 để lấy ra từng bit của mã ASCII

tƣơng ứng và lƣu các bit này vào một mảng kiểu nguyên. Đây là mảng dãy nhị

phân cần nhúng vào ảnh.

2. Tạo khóa cho thuật toán thủy vân

Ma trận khóa là một ma trận nhị phân. Chƣơng trình cho phép chọn kích thƣớc

của ma trận khóa gồm số dòng và số cột. Và đó cũng là kích thƣớc của khối ảnh

và kích thƣớc của ma trận trọng số. Sau khi chọn kích thƣớc sẽ có một hộp

thoại hiện ra để chọn giá trị của ma trận. Mỗi phần tử của ma trận ứng với một

nút CheckBox, nếu nút này đƣợc tích thì có nghĩa là phần tử tƣơng ứng của ma

trận khóa sẽ nhận giá trị 1, ngƣợc lại nhận giá trị 0.

Mặc định, ma trận này có kích thƣớc là 3x3 và giá trị của các phần tử có dạng

hình chữ thập nhƣ minh họa ở hình dƣới.

Với ma trận trọng số, sau khi ngƣời dùng đƣa vào số bit có thể giấu trong một khối là

r (số bít này phải đảm bảo 2r<mxn), dựa vào giá trị này trong chƣơng trình sử dụng

Page 65: Kỹ thuật Giấu tin

65

hàm chọn ngẫu nhiên các giá trị trong khoảng từ 0 đến 2r-1 để tạo giá trị cho ma trận

trọng số. Tất nhiên phải đảm bảo mỗi giá trị trên xuất hiện ít nhất một lần trong ma

trận.

2. Kết quả demo chƣơng trình

- Giao diện chính của chƣơng trình:

- Để nhúng thủy vân: gõ thông tin nội dung thủy vân cần nhúng vào mục “nội dung

thủy vân cần nhúng”, tiếp theo mở một file ảnh và chọn một trong 3 thuật toán: 1,

2, 3 sẽ thu đƣợc ảnh chứa thủy vân.

- Để lấy thủy vân chứa trong ảnh đã nhúng thủy vân, chọn mục tách thủy vân. Nếu

khối lƣợng thủy vân cần nhúng quá lớn so với kích thƣớc của ảnh, chƣơng trình sẽ

cảnh báo để ngƣời dùng nhập lại nội dung thủy vân. Sau đây là các kết quả thu đƣợc từ 3 thuật toán thủy vân dùng để xác thực nội dung ảnh số:

Thuật toán 1:

Page 66: Kỹ thuật Giấu tin

66

Thuật toán 2:

Thuật toán 3:

Page 67: Kỹ thuật Giấu tin

67

Đánh giá:

- Vì chƣơng trình xử lý với ảnh 24 bit mầu, nghĩa là chỉ có một thành phần R hoặc G hoặc

B tham gia nhúng thủy vân nên khả năng “lộ” của ảnh rất thấp. Nếu quan sát kỹ trên các

kết quả tại các vùng sáng của ảnh thì có khả năng nhận ra đƣợc một vài điểm ảnh có sự

thay đổi trên gam màu tƣơng ứng.

- Để giảm khả năng bị lộ, có thể tăng kích thƣớc khối.

- Sẽ có sự đánh đổi giữa dung lƣợng thủy vân cần nhúng và khả năng bị lộ của ảnh. Khi tỷ

lệ nhúng lớn thì khả năng bị lộ càng tăng và ngƣợc lại.

3. Kiểm tra khả năng xác thực nội dung của chƣơng trình

Để xác thực nội dung ảnh:

- Lấy ảnh đã giấu thủy vân bằng các thuật toán trong miền không gian, sau đó lƣu ảnh kết

quả.

- Lấy ảnh kết quả chứa thủy vân ở bƣớc trên để thực hiện một số kỹ thuật tấn công: tạo

nhiễu, phóng to, thu nhỏ, cắt ảnh, xoay ảnh, bóp méo, tăng giảm độ sáng…

- Xác thực nội dung ảnh bằng cách lấy lại thủy vân từ các ảnh đã bị tấn công và thấy thủy

vân này không phải là thủy vân mà tác giả đã nhúng. Điều đó chứng tỏ nội dung ảnh đã

bị chỉnh sửa. Hay nói cách khác nội dung của ảnh không còn nhƣ nguyên bản của nó.

Page 68: Kỹ thuật Giấu tin

68

Figure 9: ảnh gốc

Dƣới đây là ảnh chứa thủy vân bị chỉnh sửa theo các tác động: tạo nhiễu, phóng to, thu

nhỏ, cắt ảnh, xoay ảnh, bóp méo, tăng giảm độ sáng…

Ảnh nhúng thủy vân: Phung Thị Lan

Page 69: Kỹ thuật Giấu tin

69

Page 70: Kỹ thuật Giấu tin

70

Kết quả tách thủy vân sử dụng chức năng tách thủy vân của chƣơng trình cài đặt cho thấy tất

cả các ảnh đã bị tác động của các thao tác trên đều không thu đƣợc thủy vân “Phung Thị

Lan” đã giấu. Vậy các ảnh không phải là ảnh nguyên bản của tác giả. Hay nội dung ảnh đã

đƣợc xác thực.

4. Đánh giá tính bền vững của thủy vân với thuật toán DCT

Dƣới đây là một số kết quả thực nghiệm trên một số bài viết của tạp chí IEEE thực hiện

nhúng thủy vân bằng thuật toán DCT với ảnh xám.

Page 71: Kỹ thuật Giấu tin

71