❖ Thủy vân ẩn: - Thủy vân ẩn ền vữngb : Được nhúng bằng cách thay đổi trên điểm ảnh sao cho hệ thống cảm giác của con người không thể nhận thấy và phải chịu được các công tác xử lý tín h
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
HOÀNG TUẤN ANH
NGHIÊN CỨU KỸ THUẬT GIẤU TIN, ĐÁNH DẤU VÀO DỮ LIỆU
VÀ ỨNG DỤNG TRONG PHÒNG CHỐNG TỘI PHẠM
LUẬN VĂN THẠC SĨ KỸ THUẬT MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG DỮ LIỆU
Hà Nội Năm 2019 -
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
HOÀNG TUẤN ANH
NGHIÊN CỨU KỸ THUẬT GIẤU TIN, ĐÁNH DẤU VÀO DỮ LIỆU
VÀ ỨNG DỤNG TRONG PHÒNG CHỐNG TỘI PHẠM
Chuyên ngành : Mạng máy tính và truyền thông dữ liệu
LUẬN VĂN THẠC SĨ KỸ THUẬT MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG DỮ LIỆU
NGƯỜI HƯỚNG DẪN KHOA HỌC :
PSG TS Nguyễn Linh Giang
Trang 3MỤC LỤC
M Ở ĐẦU 4
CHƯƠNG I - T NG QUAN V TH Y VÂN S 6 Ổ Ề Ủ Ố 1 Khái niệm th y vân s 6 ủ ố 2 Phân lo i th y vân 7 ạ ủ 2.1 Phân lo i th y vân theo mi n nhúng: 7 ạ ủ ề 2.2 Phân loại theo đối tượng được nhúng th y vân: 7 ủ 2.3 Phân lo i th y vân theo cạ ủ ảm nhậ ủa con ngườn c i 8
3 Mô hình thủy vân s 9 ố 3.1 T o th y vân s 9 ạ ủ ố 3.2 Quy trình nhúng thủy vân 10
3.3 Trích xuất và tìm ki m th y vân 11 ế ủ 4 Các hướng ứng dụng của thủy vân 12
4.1 B o v b n quy n nh s 12 ả ệ ả ề ả ố 4.2 Xác thực thông tin và phát hi n xuyên t c thông tin 13 ệ ạ 4.3 D u vân tay hay dán nhãn 13 ấ 4.4 Điều khi n truy nh p 14 ể ậ 5 Đặc tính của thủy vân 14
5.1 Độ trung th c 14 ự 5.2 Tính bền v ng 14 ữ 5.3 Tính dễ ỏ h ng 15
5.4 T l lỉ ệ ỗi sai dương 16
5.5 Tính dư thừa 16
5.6 Đa thủy vân 16
5.7 Độ phức tạp tính toán 16
6 Yêu cầu đố ới phương pháp thủi v y vân 17
7 Khả năng tấn công trên h ệthống th y vân s 18 ủ ố CHƯƠNG II - K THU T TH Y VÂN S 19 Ỹ Ậ Ủ Ố
1 Hướng ti p c n theo mi n không gian nh 19 ế ậ ề ả
Trang 41.1 Thuật toán SW 20
1.2 Thuật toán WU-LEE 23
1.3 Thuật toán LBS 26
1.4 Thuật toán CPT 30
2 Hướng ti p c n theo mi n t n s 36 ế ậ ề ầ ố 2.1 Biến đổi cosin r i r c (DCT) 36 ờ ạ 2.2 Biến đổi Fourier rời rạc 45
2.3 Thuật toán th y vân dủ ựa trên miền DWT 53
CHƯƠNG III CHƯƠNG TRÌNH THỬ- NGHI M 59 Ệ Danh mục các hình v ẽ 1 Hình 1.1: Sơ đồ phân lo i h ạ ệ thố ng th y vân ủ 7
2 Hình 1.2: Quy trình nhúng th y vân ủ 10
3 Hình 1.3: Quy trình trích xu t và tìm ki m th y vân ấ ế ủ 11
4 Hình 2.1: Minh h a thu t toán SW: nhúng bit 1 vào kh ọ ậ ố i ả nh B 21
5 Hình 2.2: Minh h a ch ọ ọn điểm ả nh gi u tin vào nh ng kh ấ ữ ối ả nh màu 22
6 Hình 2.3: Minh h a thu t toán WU- ọ ậ LEE nhúng đoạn bit 011 24
7 Hình 2.4: Ví d b ụ ả ng các h s ệ ố DCT 37
8 Hình 2.5: Phân chia 3 mi n t n s ề ầ ố thấ p gi a, cao c a phép bi ữ ủ ến đổ i DCT 38
9 Hình 2.6: Quy trình nhúng và tách thủy vân theo kỹ thuật thủy vân trên miền DCT 39
10 Hình 2.7: (a): nh g Ả ố c Lena.bmp; (b): Ảnh biên độ (c): Ph ổ pha 47
11 Hình 2.8: M t mi ộ ền vành đai giữ a d i t n ả ầ 49 12 Hình 2.9: Miền vành đai chia thành những đường tròn đồng tâm và chia góc 49
13 Hình 2.10: D i t n s ả ầ ố trung bình được chia thành các cung đồ ng tâm 52
14 Hình 2.11: Biến đổ i Wavelet và c u trúc d i thông ấ ả 54
15 Hình 2.12: (a) Thủy vân gốc (b) thủy vân tách được từ các khối (c) Thủy vân kết hợp 55
16 Hình 2.13: D i thông LL ả 2đượ c chia thành các kh i nh ố ỏ hơn 56
17 Hình 2.14: (a) nh g c (b) Ả ố Ảnh đã thủ y vân v i Q= 35 ớ 57 18 Hình 3.1: Giao diện chương trình 60
19 Hình 3.2: (LBS) Kết qu trích xu ả ất khi chư ử ụ a s d ng t n công nhi u ấ ễ 61
20 Hình 3.3: (LBS) Kết qu trích xu t khi s d ng t n công nhi u ả ấ ử ụ ấ ễ 61
21 Hình 3.4: (DCT) K t qu trích xu ế ả ất khi chưa sử ụ d ng t n công nhi u ấ ễ 62
22 Hình 3.5: (DCT) K t qu trích xu t khi s d ng t n công nhi u ế ả ấ ử ụ ấ ễ 63
23 Hình 3.6: (DWT) K t qu trích xu ế ả ất khi chưa sử ụ d ng t n công nhi u ấ ễ 63
24 Hình 3.7: (DWT) K t qu trích xu t khi s d ng t n công nhi u ế ả ấ ử ụ ấ ễ 64
Trang 5Danh mục từ ế vi t tắt
SW Thuật toán thủy vân đơn giản (Simple Watermarking)
WU-LEE Thuật toán thủy vân đặt theo tên của hai tác giả M.Y.Wu và J.H.LEE PCT Thuật toán thủy vân đặt theo tên của 3 tác giảPan, Yu- Yuan Chen và Yu- chee Treng : Hsiang Kuang –LSB Least Significant Bit
DCT Biến đổi Cosine rời rạc (Discrete Cosine Transform)
DWT Biến đổi sóng rời rạc (Discrete Wavelet Transform)
Trang 6MỞ ĐẦU
1. Lý do chọn đề tài
S phát tri n m nh m các h ự ể ạ ẽ ệ thống đa phương tiện k t n i m ng Internet ế ố ạ
dẫn đến nhu c u b o v b n quyầ ả ệ ả ền cho các phương tiện d ữliệu số, như các bức ảnh, các audio, video clip… Hầu hết các thông tin ngày nay đều được lưu trữ dướ ại d ng
s ố hóa Đồng th i, quá trình toàn c u hóa mờ ầ ạng Internet đã biến xã hội ảo là nơi
diễn ra trao đổi thông tin trong mọi lĩnh vực chính tr , quân s , qu c phòng, kinh tị ự ố ế, thương mại Tuy nhiên, công ngh s ệ ố cũng tạo ra kh ả năng sao chép hoàn hảo, không có b t k khuyấ ỳ ết điểm và phân ph i l i nh ng s n ph m này trên toàn th ố ạ ữ ả ẩ ế
gi i, có ho c không s cho phép cớ ặ ự ủa ngườ ở ữi s h u Việc trao đổi, phân b , sao chép ố
và x lý các s n ph m s ử ả ẩ ố này ngày càng nhanh chóng, đơn giản, n m ngoài tằ ầm
ki m soát c a các t ể ủ ổ chức Vấn đề đặ t ra cho t t c ấ ả các phương thức kinh doanh, phân ph i tài nguyên s trên m ng là tuân th các nguyên t c v quy n s h u trí ố ố ạ ủ ắ ề ề ở ữtuệ, và không c n tr quá trình phân phả ở ối, trao đổi tài nguyên s Nhu cố ầu được b o ả
v b n quy n và s h u trí tu các s n ph m s ệ ả ề ở ữ ệ ả ẩ ố đã trở thành m t vộ ấn đề quan tr ng ọ
và đang được quan tâm
Hiện nay, có hàng t b c ảnh đượỉ ứ c phân ph i trên các kênh truy n công c ng ố ề ộ
Do chúng có đặc tính d sao chép, d ch nh s a nên nhiễ ễ ỉ ử ều đối tượng l i d ng c ý ợ ụ ốđánh cắp, làm sai l ch, gi m o b c nh g c T ệ ả ạ ứ ả ố ừ đó, có thể gây thi t hệ ại đến uy tín, thiệ ạ ềt h i v kinh t ế cho ngườ ở ữi s h u b c ảnh đặứ c bi t trong b i c nh bùng n ệ ố ả ổInternet
Để ả gi i quy t cho các vế ấn đề an toàn truy n thông vào b o v b n quy n tài ề ả ệ ả ề
liệu s c bi t là nh s thì vi c xây d ng m t h ốố đặ ệ ả ố ệ ự ộ ệ th ng có s d ng k ử ụ ỹthuật nhúng thủy vân v n là m t gi i pháp tẫ ộ ả ối ưu Thuỷ vân s là mố ột phương pháp mới dựa trên
lý thuy t t ng h p c a nhiế ổ ợ ủ ều lĩnh vực khác nhau như mật mã h c, lý thuy t thông ọ ếtin, lý thuy t truy n thông và x lý tín hi u s , x ế ề ử ệ ố ử lý ảnh B ng cách s d ng thằ ử ụ ủy vân, d u s s b o v kh i s sao chép b t h p pháp T o th y vân là mữ liệ ố ẽ ả ệ ỏ ự ấ ợ ạ ủ ột phương pháp nhúng m t lư ng ộ ợ thông tin nào đó vào trong dữ ệu đa phương tiệ li n
cần được b o v s hả ệ ở ữu mà không để ại ả l nh hưởng nào đến chất lượng c a sủ ản
ph m Th y vân luôn g n k t v i s n phẩ ủ ắ ế ớ ả ẩm đó Bằng tr c giác khó có th phát hiự ể ện được th y vân trong d li u ch a, nh ng có th tách chúng b ng các chương trình ủ ữ ệ ứ ư ể ằ
Trang 7có cài đặt thu t toán th y vân Thậ ủ ủy vân được tách t d li u s chính là b ng ừ ữ ệ ố ằchứng k t lu n d li u s có b xuyên tác thông tin hay vi ph m b n quy n hay ế ậ ữ ệ ố ị ạ ả ềkhông
Chính vì tính h u ích trong ng d ng th c ti n, ph c v công tác ữ ứ ụ ự ễ ụ ụ chứng minh d ữ ệli u s có b xuyên t c thông tin hay vi ph m b n quy n s hay không c a ố ị ạ ạ ả ề ố ủ
thủy vân s nên em quyố ết định l a chự ọn đề tài là: “Nghiên c u k ứ ỹ thuật gi u tin, ấđánh dấu vào d li u và ng d ng trong phòng ch ng t i ph m” ữ ệ ứ ụ ố ộ ạ
2. Mục đích của luận văn
Mục đích của luận văn là nghiên cứu h ệthống th y vân s và các ủ ố hướng ng ứ
d ng c a th y vân s ụ ủ ủ ốchủ ế y u là ng d ng trong b o v b n quy n nh s T p trung ứ ụ ả ệ ả ề ả ố ậvào phân tích các thu t toán th y vân s T ậ ủ ố ừ đó, xây dựng chương trình th nghiử ệm cài đặt m t s thu t toán th y vân nh m ng d ng xác th c thông tin và b o v b n ộ ố ậ ủ ằ ứ ụ ự ả ệ ảquy n cho d u nh s ề ữliệ ả ố
3. Đối tượng và phạm vi nghiên cứu
Luận văn tập trung nghiên c u các k thu t th y vân trên nh s ng d ng ứ ỹ ậ ủ ả ố Ứ ụ
mà luận văn xây dựng là h ệthống nhúng và tách th y vân nh m xác th c n i dung ủ ằ ự ộthông tin và bảo v b n quy n nh s ệ ả ề ả ố
4. Phương pháp thực hiện
Phương pháp th c hiự ện đề tài là nghiên c u các vứ ấn đề liên quan đến gi u ấtin, t p trung nghiên c u ti n hành xây d ng ậ ứ ế ự chương trình và cài đặt chương trình thử nghi m ệ
5. Kết quả đạt được
Luận văn đã hệ ố th ng l i các ki n thạ ế ức cơ bản v th y vân s , nghiên c u ề ủ ố ứ
m s ột ố thuật toán trên mi n không gian và mi n t n s ề ề ầ ố Đồng thời cài đặt thành công thu t toán th y vân trên mi n t n s và mi n không gian nhậ ủ ề ầ ố ề ằm ứng d ng xác ụthực bản quy n ảề nh s cố ủa tác giả
6. Bố cục của luận văn
Chương I: T ng quan v th y vân s ổ ề ủ ố
Chương II: K thu t th y vân s ỹ ậ ủ ố
Chương : ChươIII ng trình th nghi m ử ệ
Trang 8CHƯƠNG I TỔNG QUAN VỀ THỦY VÂN SỐ -
1. Khái niệm thủy vân số
K ỹthuật th y vân trên gi y xu t hi n trong các tác ph m ngh ủ ấ ấ ệ ẩ ệthuật làm giấy thủ công cách đây khoảng 700 năm Loại gi y có th y vân c nhấ ủ ổ ất được tìm th y ấvào những năm 1929 và nguyên bản c a nó b t ngu n t n Fabriano ủ ắ ồ ừ thị trấ ở Ý đã đóng góp một vai trò r t lấ ớn đố ớ ự ếi v i s ti n hóa c a công nghi p s n xu t gi y Vào ủ ệ ả ấ ấ
thời điểm này, k ỹ thuật thủy vân được xem là phương pháp h u hiữ ệu để xác định ngu n g c s n ph m, giúp ồ ố ả ẩ người dùng l a chự ọn đúng hãng sản xu t gi y mà mình ấ ấmuốn mua
Thuật ng ữwatermark t ngu n t m t lo i m c vô hình bắ ồ ừ ộ ạ ự được vi t trên gi y ế ấ
và ch hi n th khi nhúng giỉ ể ị ấy đó vào nước Thu t ng ậ ữThủy vân s ố được ộng đồc ng thế ớ gi i ch p nh n rấ ậ ộng rãi vào đầu th p niên 1990 Khoậ ảng năm 1995, sự quan tâm
đến th y vân s b t đ u phát tri n nhanh ủ ố ắ ầ ể
Thủy vân s là quá trình s d ng các thông tin ( nh, chu i bít, chu i s ) ố ử ụ ả ỗ ỗ ốnhúng m t cách tinh vi vào d u s ( nh s , audio, video hay text) nhộ ữliệ ố ả ố ằ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 s ốlà bảo v b n quy n ệ ả ềcho phương ệ ti n d li u s mang thông tin th y vân ữ ệ ố ủ
Thao tác đưa thủy vân vào m t môi ộ trường s ố được ọg i là th y vân s Thủ ố ủy vân s ố được xem như là m t hình thộ ức ẩn giấu tin Theo sơ đồ phân lo i k ạ ỹ thuật
gi u tin c a A.P Pentitcolas 1999 theo hai ấ ủ hướng nghiên c u chính là gi u tin mứ ấ ật
và th y vân s Có th xem ủ ố ể watermarking là thao tác nhúng tin mà trong đó người
dùng đầu cu i không c n quan tâm t i thông tin ố ầ ớ được giấu bên trong đối tư ng ch a ợ ứtin
Như ậ v y, Th y vân s là quá trình nhúng nh ng d li u vào mủ ố ữ ữ ệ ột đối tượng
đ phương ệa ti n theo m t ộ phương pháp nào đó, để sau đó có thể phát hi n ho c trích ệ ặ
xu t th y vân cho mấ ủ ục đích xác thực ngu n g c c a s n ph m Th y vân là mồ ố ủ ả ẩ ủ ột
phần đặc trưng c a thông tin nhúng vào d u c n b o v M t yêu c u quan tr ng ủ ữliệ ầ ả ệ ộ ầ ọ
Trang 9đối v i th y vân là rớ ủ ất khó để trích xu t ho c g b ấ ặ ỡ ỏ được nó t i tưừ đố ợng được nhúng th y vân mà không biủ ết được chìa khóa bí m ật.
2 P hân loại thủy vân
Thủy vân và k thu t th y vân tùy theo t ng tiêu chí phân lo i mà có th ỹ ậ ủ ừ ạ ểđược chia thành nhi u lo i khác nhau: ề ạ
1 Hình 1 : 1 Sơ đồ phân loại hệ thố ng th y vân ủ2.1. Phân loại thủy vân theo miền nhúng:
M t trong nhộ ững tiêu chí để phân loại “miền nhúng” là nơi chứa th y vân Ví ủ
d , th y vân có th ụ ủ ể được thực hiện trong “miền không gian” Một kh ả năng khác là thủy vân trong mi n t n s ề ầ ố
2.2. Phân loại theo đối tượng được nhúng thủy vân:
K ỹthuật th y vân có th ủ ể được phân loại theo đối tượng đa phương tiện cần nhúng thủy vân như sau:
+ Thủy vân trên ảnh
+ Thủy vân trên video
+ Thủy vân trên âm thanh
+ Thủy vân trên văn bản
Trang 102.3. Phân loại thủy vân theo cảm nhận của con người
Tùy theo c m nh n c a con ả ậ ủ người, th y vân có th ủ ể được chia ba lo i khác ạnhau:
❖ Thủy vân hiện: Hiển thị cho người xem thông tin về sản phẩm dưới dạng các hình mờ
❖ Thủy vân ẩn:
- Thủy vân ẩn ền vữngb : Được nhúng bằng cách thay đổi trên điểm ảnh sao cho hệ thống cảm giác của con người không thể nhận thấy và phải chịu được các
công tác xử lý tín hiệu thông thường “tấn công” và nó chỉ có thể được phục hồi với
cơ chế giải mã thích hợp mà thôi Xét theo tính bí mật của thủy vân bền vững được phân loại nhỏ hơn như sau:
+ Lược đồ “thủy vân” bí mật Cần tới ảnh gốc để trích xuất thủy vân Có 2 : loại lược đồ thủy vân bí mật:
• Loại 1: êu cầu cả ảnh bị biến đổi và ảnh gốc khi trích xuất thủy vân YẢnh gốc được sử dụng để tìm kiếm vị trí thủy vân trong bức ảnh bị biển đối
• Loại 2: êu cầu một bản sao của thủy vân trong quá trình trích xuất và Ykiểm tra mới có thể biết được thủy vân có ở trong bức ảnh cần kiểm tra hay không
Trong hai lo i trên khi trích xu t th y vân cạ ấ ủ ần đòi hỏi có chìa khóa bí m t ậ
Đố ới v i lo i th nh t thì chìa khóa bí m t ạ ứ ấ ậ ở đây là ảnh gốc, còn đối v i lo i chìa ớ ạkhóa th 2 thì chìa khóa bí m t là d u bí mứ ậ ữ liệ ật được ử ụ g đểs d n nhúng vào bức
ảnh (hay nói cách khác là th y vân ) ủ
+ Lược đồ thủy vân nửa bí mật Không sử dụng ảnh gốc trong quá trình xác : định thủy vân Tuy nhiên, lược đồ này chỉ đưa ra thông tin có sự hiện diện của thủy vân hay không
+ Lược đồ thủy vân mù: Trong lược đồ này, không yêu cầu ảnh gốc lẫn thủy vân được nhúng trong quá trình trích thủy vân
Trang 11+ Lược đồ thủy vân khóa công khai: Còn được gọi là thủy vân bất đối xứng Trong lược đồ này, chìa khóa để tìm kiếm và trích xuất thủy vân được công khai với mọi người trái ngược với thủy vân bí mật chìa khóa để tìm kiếm và trích xuất thủy vân là chìa khóa bí mật Biết được khóa công khai “k ” mà tính được khóa bí mật hó
và khóa bí mật được sử dụng để nhúng và loại bỏ thủy vân
- Thủy vân ẩn dễ vỡ: Được nhúng theo cách mà bất kỳ biến đổi hay giả mạo đều làm thay đổi hay phá hủy “thủy vân”
❖ Thủy vân hiện và ẩn đồng thời (dual watermark): Là sự kết hợp giữa thủy
vân ẩn và thủy vân hiện
3 Mô hình thủy vân số
3.1. Tạo thủy vân số
Thủy vân có th là m t hình nh dể ộ ả ạng logo hay văn bản với độ dài cho trư c ớThủy vân d ng hình nh có kh ạ ả ả năng chống ch u trư c các phép x ị ớ ử lý ảnh tốt hơn nhi u ề so ớ ạv i d ng th y vân d ng ký t Th y vân có th ủ ạ ự ủ ể được ến đổbi i (b ng mã ằhóa, chuyển đổi định d ng), ạ trước khi gi u vào nh Các thu t toán nhúng th y vân ấ ả ậ ủ
d ng logo ạ được ọg i là thu t toán th y vân h p nhậ ủ ợ ất ảnh Th y vân d ng nh có lủ ạ ả ợi ích là d dàng nh n bi t v m t tr c giác và ễ ậ ế ề ặ ự đưa ra m t chộ ứng minh đúng đắn v ềquy n s h u nh Bình ề ở ữ ả thường s có m t khóa bí mẽ ộ ật K dùng để ả b o m t cho d ậ ữliệ đượu c nhúng Do tính b n v ng ề ữ được đảm bảo hơn nên thủy vân d ng nh ạ ả được
s d ng nhiử ụ ều hơn
Để tăng thêm tính an toàn và dung ợlư ng thì th y vân trư c khi nhúng vào ủ ớ
ảnh mang có th ể được mã hóa hay nén lại Theo cơ chế này, đầu tiên th y vân s s ủ ố ẽđược nén lại để lư ng d li u th y vân có th ợ ữ ệ ủ ể tăng lên, sau đó đượ mã hóa để tăng c tính b o m t cho thông tin ả ậ trước khi được ấgi u vào nh mang Tuy nhiên, gi i pháp ả ảnày làm tăng độ ph c t p c a bài toán v phát hi n th y vân ứ ạ ủ ề ệ ủ
Trang 123.2. Quy trình nhúng thủy vân
Giai đoạn này g m thông tin khóa th y vân, th y vân, d li u ch a và b ồ ủ ủ ữ ệ ứ ộnhúng th y vân D u ch a bao gủ ữ liệ ứ ồm các đối tượng như: văn bản, audio, video, ảnh… dạng số, được dùng làm môi trư ng gi u tin ờ để ấ
B nhúng th y vân là ộ ủ chương trình được cài đặt nh ng thu t toán th y vân ữ ậ ủ
và được thực hiện v i mớ ột khóa bí mật
Thủy vân s ẽ được nhúng vào trong d u ch a nh m t b nhúng th y vân ữliệ ứ ờ ộ ộ ủ
Kết quả quá trình này là được ữ liệd u chứa đã nhúngthủy vân được ọi là dữ liệg u có
b n quy n và phân ph i trên các môi ả ề ố trường khác nhau Trên đường phân ph i có ốnhi u và s t n công t ễ ự ấ ừ bên ngoài Do đó, yêu cầu 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 ễ ự ấ
2 Hình 1.2: Quy trình nhúng th y vân ủHình 1.2 trình bày và gi i thích quá trình nhúng th y vân cho ả ủ ảnh tĩnh Trong
đó, Ảnh gốc được ký hi u bệ ằng I, “thủy vân” ợđư c ký hi u b ng W, hình nh chệ ằ ả ứa
“thủy vân” là Iw và K là khóa nhúng Hàm nhúng EMB có đầu vào là ảnh gốc I, “thủy vân” W, khóa K và tạo ra một ảnh mới có chứa th y vân m i thủ ớ ể n bhiệ ằng Iw
Khóa nhúng K là th c s c n thi t cho vi c nâng cao kh ự ự ầ ế ệ ả năng bảo m t cậ ủa
h ệ thống “thủy vân” Trước quá trình nhúng, hình nh g c có th ả ố ể được chuyển đổi sang mi n t n s ho c sang ề ầ ố ặ miền không gian Miền được chọn ph thu c vào viụ ộ ệc
l a ch n k thuự ọ ỹ ật “thủy vân” Nếu quá trình nhúng được thực hi n trong mi n tệ ề ần
s , biố ến đổi nghịch đả được o áp dụng để thu được hình nh chả ứa “thủy vân” Biểu
thức toán học cho hàm nhúng có th ể được thể ệ như sau hi n :
Trang 13- Đối với kỹ thuật biến đổi theo miền không gian:
- Đối với kỹ thuật biến đổi theo miền tần số:
f h s cho phép bi
Trong đó “ ” là vectơ ệ ố ến đổi.
3.3. Trích xuất và tìm kiếm thủy vân
Quá trình tách thủy vân được th c hi n thông qua m t b tách th y vân ự ệ ộ ộ ủ
tương ứng v i b nhúng th y vân cùng v i khóa c a quá trình nhúng K t qu thu ớ ộ ủ ớ ủ ế ảđược là m t th y vân Thộ ủ ủy vân thu được có th gi ng v i thể ố ớ ủy vân ban đầu ho c ặsai khác do nhiễu và s tự ấn công trên đường đi
3 Hình 1.3: Quy trình trích xuấ t và tìm ki m thế ủy vân.
Hình 1.3 trình bày và gi i thích quy trình trích xu t và tìm ki m th y vân ả ấ ế ủ ởtrong ảnh tĩnh Một hàm phát hi n ệ Dtc có đầu vào là hình nh ả Ir có chức năng xác
định quy n s h u s n ph m Các hình nh ề ở ữ ả ẩ ả Ir có th ể chứa th y vân ho c không ủ ặchứa th y vân Trong tr ng h p t ng quát, hình nh có th b biủ ườ ợ ổ ả ể ị ến đổi Hàm phát
hi n có kh ệ ả năng khôi phục th y vân ủ We t bừ ức ảnh ho c ki m tra s hi n di n cặ ể ự ệ ệ ủa thủy vân trong bW ức ảnh đã cho Ir hay không Trong quá trình này hình nh gả ốc Icũng có thể yêu c u, ph thu c vào lầ ụ ộ ược đồ ủy vân đượ th c lựa ch n ọ
Biểu th c toán h c cho th t c trích xu t mù (trích xu t không s d ng nh ứ ọ ủ ụ ấ ấ ử ụ ả
gốc I) cụ thể ư sau nh :
D (I , K) = W
Emb (I, W, K) = Iw
Emb (f, W, K) = Iw
Trang 14Biểu th c toán h c cho th t c trích xu t không mù (trích xu t có s d ng ứ ọ ủ ụ ấ ấ ử ụ
ảnh g c I) c th nh sau: ố ụ ể ư
Dtc (Ir, I, K) = We
Thuật toán phát hi n thệ ủy vân mù có đầu ra là m t giá tr nhi phân cho bi t ộ ị ế
có sự ệ hi n di n cệ ủa thủy vân hay không B i vậở y, có th gi s : ể ả ử
Trong lược đồ tách th y vân phủ ải được trích xu t m t cách chính xác, ấ ộnguyên m u Lẫ ược đồ trích xu t th y vân có th ấ ủ ể chứng minh được quy n s h u, ề ở ữtrong khi lược đồ phát hi n th y vân có th xác nh n có s hi n di n c a th y vân ệ ủ ể ậ ự ệ ệ ủ ủhay không
4 Các hướng ứng dụng của thủy vân
4.1 Bảo vệ bản quyền ảnh số
Mặc dù đã có nhiều quy định v b o v b n quyề ả ệ ả ền và đã có những chuy n ể
bi n tích c c trong vi c th c thi quy n tác gi , nh ng v n chế ự ệ ự ề ả ư ẫ ưa đủ Nh ng hành ữ
động xâm ph m b n quy n tác gi di n ra tràn lan, tinh vi và công khai tr c s b t ạ ả ề ả ễ ướ ự ấ
l c c a ch s hự ủ ủ ở ữu Đặc bi t v i d u s nh nh s v i nhiệ ớ ữ liệ ố ư ả ố ớ ều định d ng thì vạ ấn
đề ả b o v b n quy n tr ệ ả ề ở nên khó khăn hơn
Trong việc mua bán và trao đổi các tác ph m s này n y sinh các vẩ ố ả ấn đề ụ c thể nh ưsau:
- Đảm bảo quyền tác giả: Để bảo vệ được bản quyền của người sở hữu ảnh số thì ảnh số đó phải có những thông tin đặc biệt chứng minh nó là thuộc quyền sở hữu của mình
+ Đảm b o thông tin s n sang cho ng i dùng h p pháp và ch ng phân ph i ả ẵ ườ ợ ố ố
bất hợp pháp n i dung tác phộ ẩm: mua bán,…
1 N u có th y vânế ủ
Dtc (Ir , K) =
0 N u không có th y vân ế ủ
Trang 15+ L n v t thông tin phát hi n ng i phân ph i s n ph m b t h p pháp: Kầ ế ệ ườ ố ả ậ ấ ợ hi
vấn đề ề v vi ph m b n quy n x y ra ho c khi ch s h u s n ph m s nghi ng ạ ả ề ả ặ ủ ở ữ ả ẩ ố ờ là
có bản sao s n ph m không h p l ả ẩ ợ ệ
Đây là ứng dụng cơ bản nh t c a k thu t th y vân Trong th c t , nhi u tác ấ ủ ỹ ậ ủ ự ế ề
phẩm đã có tác quyền nh ng v n b s d ng sai mư ẫ ị ử ụ ục đích Các thông báo tác quyền này thường được đặt ở ột vị trí nào đ m ó trên tác ph m phân ph ẩ ối
Do các d u th y vân v a không th nhìn th y v a không th tách r i tác ấ ủ ừ ể ấ ừ ể ờ
ph m ch a nó nên s là gi i pháp t t nh t cho vi c b o v b n quy n tác gi Dẩ ứ ẽ ả ố ấ ệ ả ệ ả ề ả ấu thủy vân (một thông tin nào đó mang ý nghĩa quyền s h u tác gi ) s ở ữ ả ẽ được nhúng vào trong các s n ph m, d u thả ẩ ấ ủy vân đó chỉ ng i ch s h u h p pháp các sườ ủ ở ữ ợ ản
phẩm đó và được dùng làm minh ch ng cho b n quy n s n phứ ả ề ả ẩm
4.2 Xác thực thông tin và phát hiện xuyên tạc thông tin
Dấu thủy vân không chỉ được dùng đểchỉ ra thông tin b n quy n tác gi ả ề ả mà còn được dùng để xác th c thông tin và phát hi n ra xuyên t c thông tin D u th y ự ệ ạ ấ ủvân s ẽ được nhúng trong m t tác phộ ẩm sau đó đượ ấc l y ra và so sánh v i d u thớ ấ ủy vân ban đầu N u có s sai l ch ch ng t tác ph m gế ự ệ ứ ỏ ẩ ốc đã bị ấ t n công và xuyên t c ạ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 trí 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 đố ượng đa phương tiệi t 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 u) Yêu cạ ộ ỉ ị ấ ữliệ ầu chung đối
với ứng d ng này la kh ụ ả năng giấu thông tin cao và th y vân không b n v ng ủ ề ữ
4.3 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 chuyển cho nhiều ngư Những ờiứ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
Trang 164.4 Đ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 ở hậtN
5. Đặc tính của thủy vân
Một số thuộc tính như: tính phức tạp, tính trung thực hình ảnh, độ tin cậy phát hiện, tính bền vững, dung lượng, bảo mật,… Trong thực tế, không thể để thiết
kế một hệ thống thủy vân đảm bảo được tất cả các thuộc tính trên Do đó, việc đảm bảo cân bằng giữa các thuộc tính là thực sự cần thiết và vấn đề đảm bảo cân bằng phải dựa trên sự phân tích ứng dụng một cách cẩn thận
5.1 Độ trung thực
Độ trung thực nghĩa là người theo dõi không thể phát hiện ra dấu thủy vân hay nói cách khác dấu thủy vân không làm giảm chất lượng hình ảnh Để tín hiệu thực sự là không thể nhận thấy thì thông tin phải được nhúng vào những bít ít quan trọng Tuy nhiên, tín hiệu lại dễ dàng bị loại bỏ trong quá trình nên có tổn thất thông tin
Các nghiên cứu trước đây về thủy vân đều tập trung hầu hết vào việc thiết kế thủy vân không thể thấy được và thường nhúng thủy vân vào trong vùng tín hiệu ít quan trọng về mặt cảm nhận, ví dụ như tần số cao hoặc các bít ít quan trọng Tuy nhiên, gần đây, các kỹ thuật khác (như kỹ thuật trải phổ) lại chèn giấu thủy vân không thấy được vào trong vùng tín hiệu quan trọng về mặt cảm nhận Đặt dấu thủy vân trong vùng tín hiệu quan trọng về mặt cảm nhận còn có thể nâng cao tính bền vững chống lại các quá trình xử lý tín hiệu
5.2 Tính bền vững
Hình ảnh được thủy vân có thể phải trải qua nhiều loại xử lý biến đổi khác nhau, ví dụ, tăng độ tương phản, lọc thông, làm mờ,…
Trang 17Do vậy, dấu thủy vân phải có tính bền vững mới chịu được các phép biến đổi ảnh cũng như biến đổi tín hiệu số thành tín hiệu tương tự, tín hiệu ương tự t thành tín hiệu số và nén
Ngoài ra, ảnh chứa thủy vân phải chịu được các phép biến đổi hình học như
Thủy vân có thể được nhúng trong hình ảnh bằng cách thay đổi các giá trị điểm ảnh Trong trường hợp biến đổi miền không gian, thủy vân đơn giản có thể được nhúng vào trong ảnh bằng cách thay đổi các giá trị điểm ảnh hoặc giá trị các bít quan trọng nhất (LSB), CPT Tuy nhiên, “thủy vân” bền vững hơn nếu được nhúng vào trong miền biến đổi của hình ảnh bằng cách thay đổi các hệ số
Vào năm 1997, tác giả Cox et.al trình bày một bài báo về “Thủy vân dựa trên trải phổ bảo vệ cho dữ liệu đa phương tiện” và sau đó hầu hết các nỗ lực nghiên cứu
về các kỹ thuật biến đổi trên miền tần số được dựa trên bài báo này
5.3 Tính dễ hỏng
Là thuộc tính đối ngược hoàn toàn với tính bền vững của thủy vân Thuộc tính này thường được ứng dụng trong lược đồ thủy vân vỡ Với lược đồ này yêu cầu đặt ra là dấu thủy ký hoặc bị phá hủy bởi bất cứ phương pháp sao chép nào ngoại trừ các phương pháp sao chép hợp pháp Ví dụ, thủy vân đặt trong một văn bản hợp pháp tồn tại qua bất cứ lần sao chép nào mà không thay đổi nội dung nhưng sẽ bị phá hủy nếu nội dung bị thay đổi Yêu cầu này không giống với chữ ký số trong kỹ
Trang 18thuật mã hóa, trong đó, có thể xác thực tính nguyên vẹn của các bít một cách chính xác nhưng không thể phân biệt các mức biến đổi có thể chấp nhận được.
5.4 Tỉ lệ lỗi sai dương
Tỉ lệ lỗi sai dương là xác suất hệ thống phát hiện nhầm: ác định một mẩu X
dữ liệu không mang dấu thủy vân là mang dấu thủy vân Tùy theo ứng dụng mà ảnh hưởng của lỗi là khác nhau, trong một số ứng dụng có thể là rất nghiêm trọng Do
đó, trong ứng dụng, người ta phải tính toán trước sao cho tỷ lệ lỗi sai dương nhỏ hơn mức cho phép
5.5 Tính dư thừa
Tính d ư thừa liên quan đến một thực tế là thủy vân được lặp lại ở những vùng tấn số khac nhau, do đó nếu có một lỗi trên một vùng tần số thì vẫn có thể được khôi phục thông điệp từ các dải tần khác Tính dư thừa ánh xạ đến tính bền vững, có nghĩa là thủy vân có thể được khôi phục ngay cả khi nó bị biến đổi ở độ nhất dịnh do sự vô ý hay tấn công có chủ ý
5.6 Đa thủy vân
Một kẻ tấn công có thể thủy vân lại một đối tượng đã đóng dấu thủy vân và sau đó tuyên bố sản phẩm thuộc quyền sở hữu của mình Một giải pháp đơn giản nhất trong trường hợp này là gán nhãn thời gian cho thông tin thủy vân với sự có mặt của cơ quan chứng thực hay có thể nhúng thủy vân khác nhau với những người
sử dụng khác nhau Với phương pháp nhúng nhiều thủy vân cho phép lần vết theo nội dung thủy vân nhưng lại tạo điều kiện cho phép tấn công loại bỏ bằng cách lấy trung bình xác suất (tấn công đồng thời)
5.7 Độ phức tạp tính toán
Cũng như bất cứ công nghệ nào sử dụng trong thương mại, độ phức tạp tính toán của lược đồ thủy vân đều rất quan trọng Điều này, đặc biệt đúng khi sử lý với các dữ liệu thời gian thực
Mặt khác, cần phải xem xét tính co giãn của độ phức tạp tính toán Người thiết kế lược đồ thủy vân luôn mong muốn thiết kế được lược đồ mà quy trình
Trang 19nhúng và phát hiện thủy vân có tính co giãn theo các thế hệ của máy tính Ví dụ, lược đồ thủy vân thế hệ đầu tiên có độ phức tạp tính toán không lớn nhưng độ tin cậy không cao so với lược đồ thủy vân thế hệ tiếp theo Nhưng khi giải quyết một vấn đề tính toán lớn thì lược đồ thủy vân ở thế hệ sau lại làm việc tốt hơn
6 Y êu cầu đối với phương pháp thủy vân
Khi thực hiện thủy vân ảnh số, cần phải có một số tiêu chí để đánh giá chất
lượng của giải thuật Thông thường người ta dựa trên các tính chất sau:
➢ Khả năng chống giả mạo (tính toàn vẹn)
Đối với thủy vân thì khả năng chống giả mạo là yêu cầu vô cùng quan trọng
vì có nh ư vậy mới bảo vệ được bản quyền, minh chứng cho tính pháp lý của sản phẩm Để có thể chống lại giả mạo thì bất cứ sự thay đổi nào về nội dung của các ảnh số thì thủy vân này sẽ bị hủy đi Do đó, rất khó làm giả các ảnh số có chứa thủy vân
➢ Tính bền vững
Yêu cầu thứ 3 là thủy vân phải bền vững Thủy vân phải có khả năng tồn tại cao với các hình thức tấn công có chủ đích và không có chủ đích Các tấn công không có chủ đích đối với ảnh số bao gồm như nén ảnh, lấy mẫu, lọc, chuyển đối A/D và D/A
Trang 20Tấn công có chủ đích có thể là việc xóa, thay đổi hoặc làm nhiễu thủy vân trong ảnh Để thực hiện được điều này, thủy vân phải được dấu trong các vùng quan trọng đối với trực giác Phương pháp thủy vân phải đám bảo sao cho việc không thể lấy lại thủy vân tương đương với việc ảnh bị biến đổi quá nhiều, không còn giá trị
về thương mại
➢ Dung lượng
Với yêu cầu này, thủy vân nhúng vào ảnh phải đủ dùng trong ứng dụng mà không làm thay đổi quá nhiều chất lượng ảnh
Việc giấu thủy vân trong ảnh thì bắt buộc phải thay đổi dữ liệu ảnh Chúng ta
có thể tăng tính bền vững cho thủy vân bằng cách tăng lượng thay đổi ảnh cho mỗi đơn vị cần giấu Nhưng, nếu thay đổi quá nhiều thì tính ẩn không còn được đảm bảo nữa Còn nếu thay đổi ảnh quá ít thì các yếu tố dùng để xác định thủy vân trong ảnh sau các phép tấn công có thể không đủ để xác định thủy vân Nếu thông tin được giấu quá nhiều thì cũng dễ làm thay đổi chất lượng ảnh và làm giảm tính bền vững
Vì vậy, lượng thay đổi ảnh lớn nhất có thể chấp nhận và tính bền vững là nhân tố quyết định cho khối lượng tin được giấu trong ảnh
Trong thực tế, người ta luôn phải cân nhắc giữa chất lượng (tính bí mật, tính toàn vẹn, tính bền vững) và dung lượng thủy vân
7 K hả năng tấn công trên hệ thống thủy vân số
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ố ý
- Tấn công đơn giản: à dạng tấn công làm hỏng thủy vân đã được nhúng Lbằ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 để lấy tách 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 quá 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 các điểm ảnh và phép biến đổi hình học
Trang 21- Tấn công nhập nhằng: à sự tấn công với mục đích gây nhầm lẫn bằng Lcá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ảm tính xác thực của thủy vân bằng cách nhúng một hoặc nhiềuthủ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
CHƯƠNG - II KỸ THUẬT THỦY VÂN SỐ
D a trên nh ng mi n d ự ữ ề ữ liệu đượ ử ụng đểc s d nhúng th y vân, lủ ược đồthủy vân có th ể được phân thành hai lớp:
- Lớp các kỹ thuật thủy vân “miền không gian” (thao tác trên điểm ảnh và lân cận) Hệ thống thủy vân trực tiếp làm thay đổi các phần tử dữ liệu chính, chẳng hạn như trong một bức ảnh số các điểm ảnh được thay đổi để giấu cac dữ liệu về
“thủy vân”
- Lớp các kỹ thuật thủy vân trên “miền tần số” (thao tác trên tần số) Hệ thống thủy vân làm biến đổi tần số của các phần tử dữ liệu trên một bức ảnh để ẩn
đi các dữ liệu về “thủy vân”
1 H ướng tiếp cận theo miền không gian ảnh
Các thu t toán trong mi n không gian t p trung vào vi c ậ ề ậ ệ thay đổi tr c tiự ếp trong miền điểm ảnh 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, k thu t này ch m b o ứ ạ ấ ỹ ậ ỉ đả ảthuộc tính n mà không có tính b n v ng Vì v y, thuẩ ề ữ ậ ật toán này được cài đặt cho
ứng d ng xác th c thông tin c a nh s ụ ự ủ ả ố
Ý 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 , s l ng bit gi u trong m i kh i là tùy thu c vào t ng thu t toán ố ỏ ố ượ ấ ỗ ố ộ ừ ậ
Trang 22Thuật toán này 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 d ng ử ụ ảnh đen trắng
Ảnh đen trắng hay còn g i là nh nh phân là nh ch có hai m c giá tr m c ọ ả ị ả ỉ ứ ị ứxám là m c 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 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 bít 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 bit ị ủ ừ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 2 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à 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 ữ ạ
1.1 Thuật toán SW
Đây là một thuật toán đơn giản Cho m t file ộ ảnh Bitmap đen trắng , dF ữ ệ li u
thủy vân d được bi u di n d i d ng nh phân (dãy bit 0/1) Các bit 1 gể ễ ướ ạ ị ọi là điểm đen, các bit 0 gọi là điểm tr ng ắ
Ý tưởng cơ bản c a thu t toán này là chia mủ ậ ột ảnh g c thành các kh i nhố ố ỏ, trong mỗi khối nhỏ ẽ ấ s gi u không quá m t bit thông tin ộ
➢ Quá trình nhúng thủy vân
- 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 dicủa d theo các bước:
+ B ước 1: Tính tổng SUM[B] các điểm đen trong khối B,
đặt t = SUM[B] mod 2
+ B ước 2: So sánh tính chẵn lẻ giữa t và di
Trang 23N u và ế t di cùng tính ch n l thì khẵ ẻ ối B ặc nhiên đã giấu đượ m c bit di mà không c n làm gì ầ
N u và ế t di khác tính ch n l thì ta s o 1 bit trong Chính sách o bit: ẵ ẻ ẽ đả B đả
N u s ế ố điểm đen và điểm tr ng x p x nhau thì ch n ngắ ấ ỉ ọ ẩu nhiên 1 bit để đả o Nếu
có nhiều điểm đen và có điểm tr ng thì s a đi m trắ ử ể ắng thành điểm đen Ngượ ạc l i sẽ
sửa điểm đen thành điểm t ắr ng
Ví dụ minh h a: ọ
Giả ử ấ s gi u m t bit d liộ ữ ệu b = 1 vào khối B
Ta có SUM (B) = 8 Do SUM (B) mod 2 = 0 nên 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 và t 1 sang 0 Gi s ừ ả ử ta đả ạo l i bit t i vị ạtrí B[2,2] ta được khố B’ i đã được nhúng bít 1
4 Hình 2.1: Minh h a thu t toán SW: nhúng bit 1 vào khọ ậ ối ả nh B
Giả ử ẫ s v n v i kh i ớ ố B đã cho như trên nh ng ta ph i gi u bit d ư ả ấ ữ ệu li b = 0vào khối đó Ta thấy do Sum (B) = 8 nên Sum (B) mod 2 = 0 Khối B đượ ảo c btoàn và bit d liữ ệu b = 0 xem như được gi u ấ
➢ Quá trình tách thủy vân
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 u theo các ế ướ ủ ố ễ ạ ữ liệ d
bước:
B c 1: Chia nh có nhúng th y vân B thành các kh i có kích thướ ả ủ ’ ố ước m x n
với mỗi khối B’ trong B ta tính Sum [B’ ’]
Trang 24Bước 2: Tách th y vân theo cách xét ủ
+ Nếu Sum [Bi’] là chẵn thì bit di = 0
+ Ngược lại nếu Sum [B, i’] là lẻ thì bit di = 1
➢ Nhận xét
V i thu t toán này vi c ch n khớ ậ ệ ọ ối khá là đơ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 đã tăng được độ an toàn c a thu t 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 ừ ặ ể
bi t hoàn toàn v i các bit trong kh i và d nh n bi t có s ệ ớ ố ễ ậ ế ự thay đổi Vì vậy, để xác định nên thay đổi bit nào, kh i bit ta ph i tính h s nh h ng cố ả ệ ố ả ưở ủa bit đó khi nó bịthay đổi H s này tính b ng cách xét s ệ ố ằ ự thay đổ ề tính trơn và tính liên kế ới v 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 3x 3 Tính liên kử ổ ết được tính b ng s ằ ốnhóm điểm đen và số đ ể 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)
5 Hình 2.2: Minh h a chọ ọn điể ảm nh gi u tin vào nh ng kh i ảnh màu ấ ữ ố
Trang 251.2 Thuật toán WU-LEE.
Thuật toán này c a hai tác gi M.Y WU và ủ ả J.H Lee đưa ra c i tiả ến hơn thuật toán 1 b ng viằ ệc đưa thêm khóa sK d ng trong quá trình nhúng và tách th y ử ụ ủvân đồng thời đưa thêm các điều ki n đ o bit trong m i kh i V i thu t toán này, có ệ ả ỗ ố ớ ậthể nhúng m t bit và m i kh i b ng cách hi u ch nh nhi u nh t 1 bit 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 và m t s d K ộ ố ữ liệu được nhúng vào F Khóa bí
mật K là m t ma tr n nh có kích thộ ậ ả ước m x n Để đơn giản ta gi s kích thả ử ước
của ảnh gốc F là b i s c a ộ ố ủ m x n Quá trình nhúng thu được ả Fnh có m t s ộ ố bit đã
b hi u ch nh Thu t toán thị ệ ỉ ậ ực hiện nh sau: ư
➢ Quá trình nhúng thủy vân
+ Bước 1: Chia F thành các khối, mỗi khối có kích thước m x n
+ Bước 2: Với mỗi khối Fithu được ở bước 1 Kiểm tra điều kiện:
0 < SUM(Fi ^ K) < 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ệ ẽ không đượ u s 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 Được hiệu chỉnh Fi ta làm nh ư
sau:
Trường h p 1: N u SUM(Fợ ế i ^ K) mod 2 = b thì không thay đổi Fi và bit b
hiện nhiên được nhúng vào khối Fi
Trường h p 2: N u SUM(Fợ ế i ^ K) mod 2 # b và SUM(Fi ^ K) = 1 thì chọn
ng u nhiên m t bit cẫ ộ ủa Fi ạ ị trí (i,j) mà F t i v i(j,k) = 0 và K(j,k)=1 và đảo Fi(j,k) thành 1
Trường h p 3: N u SUM(Fợ ế i ^ K) mod 2 # b và SUM(Fi ^ K) = SUM(K) –
1 thì ch n ng u nhiên m t bit cọ ẫ ộ ủa Fi t i v ạ ị trí (j,k) mà K(j,k) = 1 và đảo ngược
Fi(j,k) thành 0
Trang 26Trường h p 4: N u SUM(Fợ ế i ^ K) mod 2 # b và 1 < SUM(Fi ^ K) < SUM (K) - 1 thì ch n ng u nhiên m t bit cọ ẫ ộ ủa Fi t i v ạ ịtrí (j,k) mà K(j,k)=1 và đảo ngược Fi(j,k)
Trong b c 3 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 đảm bảo tính bất biến
Ví dụ minh h a: ọ
Giả ử s ta c n nhúng dãy bit d = 011 vào m t ảầ ộ nh F có kích th c 6 x 6 v i ướ ớ
một ma trận khóa K có kích th c 3 x 3 nh ong hình 2.3 Ta có Sum (K) = 5 ướ ưtr
Chia nh F thành b n khả ố ối nhỏ ỗ m i khối sẽ có kích thước là 3 x 3 ta thu được
F1, F2, F3, F4
6 Hình 2.3: Minh h a ọ thuậ t toán WU-LEE nhúng đoạn bit 011
Áp dụng thu t toán, l n l t nhúng các bit vào các kh i nhậ ầ ượ ố ư sau:
- Với F1, Vì SUM (F1 ^ K) = 5 = SUM (K) không thỏa mãn điều kiện nhúng nên không nhúng dữ liệu vào trong F1
- Với F2, SUM (F2 ^ K) = 3 thỏa mãn điều kiện nhúng và bít cần nhúng là 0
Vì SUM (F2 ^ K) mod 2 = 3 mod 2 # 0 và 1 < SUM (F2 ^ K) < SUM (K) 1 - nên ta ch n ng u nhiên m t v ọ ẫ ộ ị trí để đả o bit trong kh i Fố 2, ch ng h n v trí (2,3) ẳ ạ ịthỏa mãn K[2,3] =1 (theo tr ng hườ ợp 4) Sau khi đảo bit F2[2,3] ta thu được kh i Fố 2,
nh ưtrên hình ảnh (bit b ị đảo được tô xám)
- Với F3, SUM (F3 ^ K) = 3 thỏa mãn điều kiện nhúng và bit cần nhúng là 1
Ta có SUM(F3 ^ K) mod 2 = 3 mod 2 = 1 = b Kh i Fố 3’ thu được gi nguyên ữkhối F3 nh ng vư ới ý nghĩa là khối đã được giấu bit = 1 (theo tr ng h p 1) ườ ợ
Trang 27- Với F4, SUM (F4 ^ K) = 4 thỏa mãn điều kiện nhúng và bit cần nhúng là 1
Ta có SUM (F4 ^ K) mod 2 = 4 mod 2 = 0 # b và SUM (F4 ^ K) = SUM (K) -
1 Theo tr ng h p 3 trong thu t toán, ta ch n v ườ ợ ậ ọ ị trí (2,1) để đả o bit trong khối F4 vì
v i ph n t này ta có Fớ ầ ử 4[2,1] = 1 và K[2,1] = 1 Sau khi đảo bit F4[2,1] ta thu được khối F4’ nh trên hình v (bit b ư ẽ ị đảo được tô xám)
➢ Quá trình trích thủy vân
Phương pháp giấu tin Wu - Lee cho phép gi u nhi u nh t 1 bit d li u trong ấ ề ấ ữ ệ
1 khối, Giả ử có đượ ất biế s c b n 0 < SUM (Fi ^ K) < SUM (K)
Trong thu t toán nhúng tin, tiậ ến hành đảo 1 bit trong m i kh i Fỗ ố i, sao cho
t ng s bit 1 c a Fổ ố ủ i ^ K b ng t ng s bit 1 c a K tằ ổ ố ủ ức là:
SUM (Fi ^ K) = [b mod 2]
Do đó, khi xác định được 0 < SUM (Fi ^ K) < SUM ( K) thì có nghĩa là khối
đó có giấu tin, Bit tin được giấu xác định b i công th c: ở ứ
B = [SUM (Fi’ ^ K)] mod 2
➢ Nhận xét:
Việc ch n khóa K nhọ ằm làm tăng độ ả b o m t c a thu t toán N u thu t toán ậ ủ ậ ế ậ
1 ch bi t kích th c khỉ ế ướ ối là m x n thì đối phương rất dễ khai thác th y vân ủ
Phép toán Fi ^ K quy định thu t toán ch ậ ỉ được phép s a các bit trong kh i Fử ố i
ứ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 Ta có th thay phép toán b ng m t phép toán khác ậ ể ^ ằ ộchẳn h n phép ạ +
Điều ki n 0 < SUM (Fệ i ^ K) < SUM (K) quy định n u kh i Fế ố i ^ K toàn 0
hoặc giống nh ư khóa K thì không được giấu tin để tránh bị ộ l
Do vi c gi u tin vào kh i ch cệ ấ ố ỉ ần thay đổ ối đa mội t 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 Fầ ủ ắ ế i ^ K có nhi u bit 1 thì chề ọn bit 1, ng c l i n u ượ ạ ế Fi ^ K có quá it 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 ị ệ
Trang 28Vì khóa K là bí mật nên thông tin đã nhúng là bí mật Thuật toán này đã thay
đổi nhi u nh t c a m t bit c a kh i Fề ấ ủ ộ ủ ố i 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 đổ ủa Fi c i là nh ỏ
Ảnh F đượ ực l a chọn để nhúng tin có quá nhiều điểm tr ng hay quá nhi u ắ ềđiểm đen đều làm gi m t l bít giả ỷ ệ ấu được
Thuật toán Wu – Lee đơn giản, l ng tin giượ ấu được không th p nh ng tính ấ ư
b o m t không cao, không thích h p vả ậ ợ ới ảnh có mảng đen và trắng r ng ộ
1.3 Thuật toán LBS
V ề cơ bản, k ỹthuật th y vân LBS d a trên t n su t xu t hi n c a các bit 0 và ủ ự ầ ấ ấ ệ ủ
1 trong file nh g c và ả ố trong thông điệp cần mã hóa, t ừ đó đưa ra s thay th các bit ự ếnày để ự th c hi n vi c gi u tin ệ ệ ấ
C ụ thể hơn, trong kỹ thu t th y vân LSB, bit cu i cùng c a mậ ủ ố ủ ỗi byte được
đặt giá tr ị 0, sau đó tùy thuộc vào giá tr 0 ho c 1 c a d liị ặ ủ ữ ệu mà thay đổi N u bit ế
c a d u là 0 thì gi nguyên, còn n u bit c a d u là 1 thì s i giá tr này trên ủ ữliệ ữ ế ủ ữliệ ẽ đổ ịảnh thành 1
Để ự th c hi n k thu t th y vân này, c n mệ ỹ ậ ủ ầ ột ảnh g c, hay còn g i là cover ố ọimage Do phương pháp này sử ụ d ng những bits c a t ng pixcel trong ủ ừ ảnh, nó đòi ỏh i
một định d ng nén không m t thông tin Khi ta s d ng nh màu 24 bit, t ng bit cạ ấ ử ụ ả ừ ủa
m i màu thành phỗ ần R, G, B đều có thể đượ ử ục s d ng, như ậ v y có th ểgiấu được 3 bit trong mỗi điểm ảnh, đồng nghĩa với việc nhúng được nhiều thông tin hơn
Trang 29+ Để có thể lưu trữ lượng thông tin lớn và sự thay đổi màu sắc của ảnh là không đáng kể, chúng ta sử dụng file bitmap 24 bit Cụ thể hơn, một pixel của ảnh được biểu diễn 3 màu đỏ, xanh lá cây và xanh da trời (R, G, B), mỗi màu sử dụng 8 bit Tuy nhiên trong lược đồ trình bày dưới đây, chúng
ta chỉ sử dụng bit cuối cùng màu xanh da trời để giấu thông tin
- Thuật toán nhúng thủy vân:
+ B c 1 ướ : Tính tổng số bytes cần dùng để nhúng thủy vân Giá trị này được lư rong biến int S.u t
+ B ước 2: Đọc các kí tự từ file text sau đó chuyển giá trị ASCII của chúng sang dạng nhị phân 8 bit, lưu giữ trong một mạng từ A[7] về
-+ B ước 5 Từ ảnh gốc đọc giá trị RGB của mỗi pixel.: ,
+ B ước 6: Đọc giá trị bit cuối cùng của mỗi pixels Với ảnh RGB 24 bit thì ta sẽ đọc bit cuối cùng trong số 8 bit của màu xanh da trời
+ B ước 7: Kiểm tra xem bit này có giá trị 0 hay l, sau đó tính tổng số lần xuất hiện các bit này trong S pixcels, lưu lần lượt vào hai biến c0 và c1 + B ước 8: Lặp lại từ bước 5 cho đến bước 7 [8*S] lần Đây là số pixel cần đọc để có thể giấu toàn bộ các byte thông điệp
+ B ước 9: Nếu [(c0 > c1) và (i0 > i1) ] và [ (c1> c0) và (i1>i0)], đặt giá trị cho flag = 0, ngược lại đặt giá trị flag = 1
+ B ước 10 Ghi giá trị của flag vào phía bên trái của bit cuối cùng của : pixel đầu tiên trong ảnh giấu
+ B ước 11: Mở ảnh gốc ở chế độ đọc Tạo một ảnh mang giống ảnh gốc ở
Trang 30+ B ước 12: Đọc Header của file gốc Ghi thông tin header này lên ảnh mang Từ ảnh gốc, đọc giá trị RGB của mỗi pixel
+ B ước 13: Đọc bit stream của dữ liệu Nếu giá trị của flag = 0 thì giữ nguyên giá trị bit của dữ liệu, sau đó ghi đè lên bit cuối cùng của màu xanh của pixel, ngược lại, nếu giá trị flag = 1 thì đảo lại bit dữ liệu rời mới ghi lên pixcel (0 thành 1 hoặc 1 thành 0) Ghi pixel này vào ảnh stego
+ B ước 14: Nếu toàn bộ các LSB đã được sửa đổi thành công, thì ghi nốt các bit còn lại của các pixel vào ảnh mang Ngược lại, quay lại bước 13
- Thuật toán tách thủy vân
+ B ước 1: Mở ảnh Stego dưới chế độ đọc
+ B ước 2: Đọc bit liền kề bit cuối của pixel đầu tiên trong ảnh Dựa trên giá trị của nó, đặt giá trị flag là 0 hoặc 1
+ B ước 3: Đọc từng pixel của ảnh Stego
+ B ước 4: Nếu flag là 0 thì đọc bit cuối cùng của mỗi pixel và đưa vào một mảng Ngược lại nếu flag = 1 thì đảo bit rồi mới chuyển vào mảng + B ước 5: Đọc mỗi 8 pixel theo cách trên, sau đó chuyển nội dung của mỗi 8 phần tử của mạng sang hệ thập phân, dây chính là giá trị ASCII của kí tự
+ B ước 6: Nếu chưa gặp giá trị EOF thì in kí tự và quay lại bước 3
- Ví dụ minh họa
Giả ử s thông tin c n nhúng là ầ “Hi” Trong b ng mã ASCII, H có mã là 72 và ả
i có mã là 105:
+ Chuyển sang hệ nhị phân ta có H = 01001000 và i = 01101001
+ Thông điệp Hi được mã hóa có dạng: 0100100001101001
+ Trong chuỗi trên có 6 bit 1 và 10 bit 0
+ C ần 16 pixel để lưu giữ 16 bit dữ liệu trên
Trang 31+ Giả sử có một bảng 16 pixel RGB có giá trị như sau:
+ Dựa theo thuật toán ta có: i0 = 10, i1 = 6, c0 = 5, c1 =11
+ Ở đây ta có i0 > i1 nhưng c0 < c1, do đó cần thực hiện phép đổi bit trên thông điệp thành 1011011110010110 và đặt flag = 1
+ Sau quá trình nhúng thủy vân các điểm ảnh của ảnh Stego sẽ có dạng:
Quá trình tách thủy vân ti n hành ng c lại: ế ượ
+ Flag được đọc và nhận giá trị 1
+ Đọc 16 bits cuối của ảnh Stego ta nhận được chuỗi 1011011110010110+ Do flag = 1, ta cần thực hiện phép đảo bit để nhận được chuỗi nguyên bản 0100100001101001
Trang 321.4 Thuật toán CPT
Việc nhúng thông tin vào nh nh phân là m t thách th c không nh Thu t ả ị ộ ứ ỏ ậtoán gi u bít thông tin vào khấ ố ải nh nh ị phân (WL) được WU và LEE đề xu t Tuy ấnhiên, m i kh i giỗ ố ấu được không nhi u thông tin và kh ề ả năng bảo mật cũng không đượ ốc t t Thu t toán CPT c a Y Chen, ậ ủ H Pan, Y Tseng cũng có tư ưở t ng gi u tin ấtheo khối bít
Theo thu t toán, ậ ảnh được phân ho ch thành nhi u kh i có cùng kích thạ ề ố ước
m x n V i m i kh i d u nh, có th giớ ỗ ố ữliệ ả ể ấu đượ ối đa r bit thông tin, vớc t i r <= [log2 (m*n + 1)] bằng cách thay đổi không quá 2 bit trong kh i d u nh ố ữliệ ả
So v i thu t toán WL, thu t toán CPT có t l giớ ậ ậ ỷ ệ ấu tin cao hơn nhiều, trong khi s bít cố ần thay đổi cũng rất ít Ví d v i kh i 25 * 25 thu t toán WL, ta ch giụ ớ ố ậ ỉ ấu được 1 bit, nhung v i thu t toán CPT có th gi u tớ ậ ể ấ ối đa là 8 bit
Ngoài cách s d ng m t khóa K, thu t toán CPT còn s d ng m t ma trử ụ ộ ậ ử ụ ộ ận trọng s nh m giố ằ ấu được m t dãy nhi u bít vào m i kh i, và ma tr n tr ng s này ộ ề ỗ ố ậ ọ ốcũng là thành phần bí m t cùng v i ma tr n khóa K Do vậ ớ ậ ậy, độ an toàn, tính b o ả
mật của thuật toán CPT s ẽ cao hơn
- Dữ liệu vào:
+ Ảnh nhị phân A dùng làm môi trường giấu tin A được coi như một ma trận nhị phân, và được chia thành các ma trận con F cấp m n Mỗi ma x trận F là một khối bit được dùng làm môi trường giấu tin
+ (b1,b2….br) là dãy r bít cần giấu vào trong mỗi khối ảnh kích thước m x
Trang 33S kh ố ả năng có thể ự l a ch n K và W là ọ
kh ả năng (trong đó là t h p m x n ph n t ) Vì v y, vổ ợ ầ ử ậ ới m và n, đủ ớ l n thì
kh ả năng kẻ gian dò tìm ra được W là vô cùng khó nên thuật toán CPT có độ an toàn giấu tin rất cao
Các ma tr n K và ậ W được s d ng nh khóa bí mử ụ ư ật: Ng i g i s d ng khóa ườ ử ử ụ
K và ma tr n tr ng s W trong quá trình gi u tin và ng i nh n c n ph i có khóa K, ậ ọ ố ấ ườ ậ ầ ả
W để khôi ph c lại thông tin đã giấu ụ
- Dữ liệu ra
Ảnh nh phân A ch a thông tin c n b o m t A cũng g m các ma tr n con ị ’ ứ ầ ả ậ ’ ồ ậ
F c p m x n, ’ ấ trong đó mỗi F’ ấu đượ gi c r bít, và F khác F t’ ối đa hai phầ ửn t
Trang 34+ Ví dụ như với m = n = 4, r =2 thì ta có 5.356.925.280 khả năng lựa chọn Con số này đủ lớn để làm giảm nguy cơ thông tin bị giải mã bởi những kẻ phá hoại
+ Phép đảo bít 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 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
V i khớ ối ảnh Fi, ma tr n tr ng s W, khóa K, ta c n gi u r bit thông tin ậ ọ ố ầ ấ
b1,b2,….br vào Fi bằng cách đảo nhi u nh t 2 bit c a Fề ấ ủ i Mục đích của ta là biến đổi
Fi thành Fi’ sao cho th a mãn yêu c u sau: SUM (Fỏ ầ i’ K) x W = b1b2… br (mod 2r)
Thuật toán được thực hi n tu n t cho t ng kh i F theo các bước sau: ệ ầ ự ừ ố
+ Tính T = F + W
Trong đó: Phép + là phép toán XOR theo các v tịtrị ương ứng c a hai ma trủ ận
nh phân cùng b c ị ậ