− Phạm vi con phù hợp từ bảng phạm vi được định vị bằng giá trị chênh lệch | di |.Chiều rộng của phạm vi con, wkwk= uk – lk + 1, được sử dụng để ước tính lượngbit ti ti=log2�� của thông
Trang 1HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOAAN TOÀN THÔNG TIN
- -BÁO CÁO MÔN HỌC
KỸ THUẬT GIẤU TIN
ĐỀ TÀI Phương pháp giấu tin trong hình ảnh
Chống vấn đề tràn biên
Với cặp năm điểm ảnh khác nhau
Giảng viên: Hoàng Thu Phương
Nhóm 6: Nguyễn Thị Ninh - AT150443
Võ Thanh Lâm - AT150428 Bùi Văn Trường - AT140546
Trang 2MỤC LỤC
MỤC LỤC 2
DANH MỤC HÌNH ẢNH 3
DANH MỤC BẢNG BIỂU 4
LỜI NÓI ĐẦU 1
CHƯƠNG 1 CÁC ĐỀ XUẤT 2
1.1 Đề xuất của Wu 2
1.2 Đề xuất của Chang 2
1.3 Đề xuất của Mandal 3
1.4 Đề xuất của Chung Ming Wang 4
1.5 Đề xuất của Gulve 4
CHƯƠNG 2 PHƯƠNG PHÁP KHẮC PHỤC 5
2.1 Nguyên nhân 5
2.2 Phân tích 5
2.3 Thuật toán nhúng tin 9
2.4 Thuật toán trích xuất 12
CHƯƠNG 3 KẾT QUẢ 14
CHƯƠNG 4 KẾT LUẬN 19
TÀI LIỆU THAM KHẢO 22
Trang 3DANH MỤC HÌNH ẢNH
Hinh 3.1 Ảnh phủ và ảnh stego 15
Hinh 3.2 Biểu đồ ảnh phủ và stego 16
Hinh 3.3 Biểu đồ mô hinh khác biệt histogram 16
Hinh 3.4 Biểu đồ 7 RS 17
Trang 4DANH MỤC BẢNG BIỂU
Bảng 2.1 Khối Pixel 2x3 6Bảng 2.2 Khối pixel 2 x 3 mới 7Bảng 2.3 Khối pixel thu được sau điều chỉnh 7Bảng 3.1 Thống kê các khối đã sử dụng và không sử dụng cho hinh ảnh tiêu chuẩn 14Bảng 3.2 So sánh khả năng ẩn nấp (theo byte) 15Bảng 3.3 Kết quả 18
Trang 5LỜI NÓI ĐẦU
Cuộc cách mạng thông tin kỹ thuật số đã đem lại những thay đổi sâu sắc trong
xã hội và trong cuộc sống của chúng ta Sự ra đời những phần mềm có tính năng rấtmạnh, các thiết bị mới như máy ảnh kỹ thuật số, máy quét chất lượng cao, máy in, máyghi âm kỹ thuật số, v.v… đã với tới thế giới tiêu dùng rộng lớn để sáng tạo, xử lý vàthưởng thức các dữ liệu đa phương tiện (multimedia data) Mạng Internet toàn cầu đãbiến thành một xã hội ảo nơi diễn ra quá trinh trao đổi thông tin trong mọi lĩnh vựcchính trị, quân sự, quốc phòng, kinh tế, thương mại… Và chính trong môi trường mở
và tiện nghi như thế xuất hiện những vấn nạn, tiêu cực như nạn ăn cắp bản quyền, nạnxuyên tạc thông tin, truy nhập thông tin trái phép v.v… Đi tim giải pháp cho nhữngvấn đề này không chỉ giúp ta hiểu thêm về công nghệ phức tạp đang phát triển rấtnhanh này mà còn đưa ra những cơ hội kinh tế mới cần khám phá
Ở đây ta tim hiểu về một kỹ thuật đã và đang được nghiên cứu và ứng dụng rấtmạnh mẽ ở nhiều nước trên thế giới đó là kỹ thuật giấu tin (data hiding) Đây là kỹthuật hay và phức tạp, nó đang được xem như một công nghệ chia khoá cho vấn đềbảo vệ bản quyền, chứng thực thông tin và điều khiển truy cập… ứng dụng trong antoàn và bảo mật thông tin Trong nhiều năm được đưa vào sử dụng để đảm bảo an toànthông tin, đã có rất nhiều phương pháp giấu tin mật mã ra đời, song cũng có rất nhiềuvấn đề trong các kỹ thuật đó sinh ra Trong đề tài này, ta tim hiểu về phương pháp giấutin trong hinh ảnh chống vấn đề vượt giá trị biên với cặp năm pixel khác nhau
Nội dung được trinh bày trong 4 chương:
Chương 1 Các đề xuất
Chương 2 Phương pháp khắc phục
Chương 3 Kết quả
Chương 4 Kết luận
Trang 6CHƯƠNG 1 CÁC ĐỀ XUẤT
1.1 Đề xuất của Wu
Wu và các cộng sự đã đề xuất 1 phương pháp ghi mật mã dựa trên phương pháptiếp cận chênh lệch giá trị pixel Nó sử dụng hinh ảnh tỷ lệ xám làm ảnh phủ Ảnh phủđược đọc như một mảng 2 chiều và được phân chia thành các khối không chồng lênnhau của hai pixel liên tiếp
Giả sử Pi và Pi+1là 2 pixel ở trong một khối thi giá trị chênh lệch được tính chomỗi khối bằng Pi- Pi+1
− Vi ảnh phủ thang màu xám được sử dụng để nhúng thông tin bí mật, bảng phạm
vi R (từ 0 đến 255), được thiết kế với n phạm vi con Rk(trong đó k = 1, 2, 3, ,n)
− Phạm vi con phù hợp từ bảng phạm vi được định vị bằng giá trị chênh lệch | di |.Chiều rộng của phạm vi con, wk(wk= uk – lk + 1), được sử dụng để ước tính lượngbit ti ( ti=log2��) của thông tin bí mật được ẩn trong khối
− Giá trị của Pi và Pi+1 được điều chỉnh theo cách mà sự chênh lệch là đại diệncho thông tin bí mật ẩn
− Trong quá trinh trích xuất, giá trị chênh lệch di’cho mỗi khối gồm 2 pixel liêntiếp Pi và Pi+1trong stego-image được tính toán | d’i| được sử dụng để xác địnhphạm vi con Rkphù hợp từ bảng phạm vi R
− Số thập phân tương đương của thông tin bí mật ẩn trong các khối được tínhbằng | d’i | - lk, sau đó được chuyển thành 1 chuỗi nhị phân với các bit ti
Trong phương pháp PVD, ảnh phủ được phân vùng theo các khối không chồnglên nhau của 2 pixel liên tiếp theo chiều ngang hoặc dọc Do đó, 2 pixel liên tiếp đạidiện cho 1 cạnh dọc / ngang, nhưng cạnh đó có thể có các hướng khác nhau
1.2 Đề xuất của Chang
Chang và cộng sự đã đề xuất 1 phương pháp steganography (kỹ thuật giấu tin).Phương pháp này giấu thông tin bí mật trong một khối 4 pixel với một cạnh dọc, mộtđường chéo và một cạnh ngang Phương pháp này phân vùng ảnh phủ thành các khối2x2 pixel không chồng lên nhau Các pixel P(x,y), P(x+1,y), P(x,y+1) và P(x+1,y+1) tạo thành
Trang 7khối trong đó x và y đại diện cho các vị trí pixel Pixel P(x,y) được sử dụng làm pixelchung để tạo thành 3 cặp pixel với 3 pixel còn lại trong khối Ba cặp này là PP0, PP1
Do đó, pixel chung P(x,y) có thể có ba giá trị khác nhau trong ba cặp Giá trị thích hợpđược gán cho pixel chung P(x,y) bằng cách chọn một cặp làm cặp tham chiếu Giá trịcho các pixel khác được tính bằng cách sử dụng các giá trị pixel của cặp tham chiếu vàmột khối pixel 2 × 2 mới được tạo lại bằng các giá trị pixel mới
Xin Liao đã kết hợp phương pháp phân biệt giá trị pixel với phương pháp thaythế LSB 3 bit để ẩn thông tin bí mật trong ảnh phủ thang màu xám
1.3 Đề xuất của Mandal
Mandal và cộng sự đã đề xuất một phương pháp mật mã thích ứng để loại bỏvấn đề giá trị ranh giới bằng cách sử dụng cách tiếp cận chênh lệch giá trị pixel đượcsửa đổi thông qua việc quản lý các giá trị pixel trong phạm vi thang màu xám Vị trínơi các pixel vượt quá ranh giới đã được đánh dấu và một chốt điều chỉnh được sửdụng để giữ giá trị trong phạm vi Thông tin bí mật được giấu trong cặp bằng cách sửdụng phương pháp PVD Nếu các giá trị pixel mới vượt quá ranh giới, phương phápPVD đã sửa đổi được sử dụng để tính toán các giá trị pixel mới
(p'ip'i+1) = (pi- m, pi+1) nếu pi+1≥ pivà pi+1vượt qua phạm vi trên 255
(p'i, p'i+1) = (pi, pi+1- m) nếu pi+1 < pivà pi vượt qua phạm vi trên 255
(p'i, p'i+1) = (pi, pi+1+ m) nếu pi+1≥ pivà pi vượt qua phạm vi thấp 0
(p'i, p'i+1) = ( pi+ m, pi+1)nếu pi+1< pi và pi+1 vượt qua phạm vi thấp 0
Trang 81.4 Đề xuất của Chung Ming Wang
Chung Ming Wang và cộng sự đã đề xuất một phương pháp giấu tin mật mãchất lượng cao để chống vấn đề vượt biên với phép toán tính dư và chênh lệch giá trịpixel Phương pháp sử dụng cách tiếp cận PVD để tính toán sự chênh lệch giữa haipixel liên tiếp và phép toán mod để tính phần dư của hai pixel liên tiếp Thông tin bímật được giấu trong cặp bằng cách sửa đổi phần còn lại Đối với khối con Fi có cácpixel P(i,x)và P(i,y), giá trị chênh lệch (di) nhận được là sự chênh lệch giữa các pixel P(i,x)
và P(i,y) Giá trị (di) này được sử dụng để xác định số bit của thông điệp bí mật ti và giátrị thập phân t’i của ti Sau đó, các giá trị còn lại được tính như cho bên dưới:
+ Prem(i,x)= P(i,x)mod t'i
+ Prem(i,y)= P(i,y)mod t'i
+ Frem(i) = (P(i,x)+ P(i,y)) mod t'i
Dữ liệu bí mật của các bit (ti) được nhúng vào Fi bằng cách thay đổiP(i,x)vàP(i,y)
sao cho Frem(i)= t'i để thu được P’(i,x) , P’(i,y) Khi các giá trị pixel stego P’(i,x) , P’(i,y)
không vượt qua ranh giới của giá trị pixel thang độ xám ([0 255]), quá trinh nhúng sẽhoàn tất sau khi thay thế (P(i,x) và P(i,y)) bởi (P’(i,x)và P’(i,y)) Trong trường hợp P’(i,x)
hoặc P’(i,y)tràn thi P’(i,x)và P’(i,y)được điều chỉnh lại
1.5 Đề xuất của Gulve
Gulve và cộng sự đã đề xuất một phương pháp ghi mật mã dựa trên cách tiếpcận PVD cung cấp một giải pháp từng phần cho vấn đề giá trị nằm ngoài ranh giới.Ảnh phủ được chia thành các khối 2 × 3 pixel tạo thành năm cặp pixel Sự chênh lệchgiữa hai pixel của một cặp được tính toán và sử dụng để ước tính (ti) Sau đó, trungbinh của số bit được ẩn trong năm cặp khối được tính Sự khác biệt ban đầu được sửađổi thành (d1i) dưới dạng (di) mod 2^average Sự chênh lệch được sửa đổi (d1i) được
sử dụng để ẩn thông tin bí mật trong mỗi cặp Phương pháp này cung cấp một giảipháp từng phần cho vấn đề giá trị giới hạn rơi ra Nếu một hoặc nhiều giá trị pixelgiảm xuống dưới ranh giới dưới (tức là 0), sẽ lấy tuyệt đối của giá trị nhỏ nhất cộngvào tất cả các pixel Nếu một hoặc nhiều giá trị pixel vượt quá ranh giới trên (tức là255), thi lấy giá trị lớn nhất trừ đi 255 Phương pháp được đề xuất không chỉ cung cấpgiải pháp một phần cho vấn đề giá trị nằm ngoài ranh giới mà còn cải thiện khả năng
ẩn của ảnh phủ và bảo mật thông tin bí mật ẩn trong ảnh phủ
Trang 9CHƯƠNG 2 PHƯƠNG PHÁP KHẮC PHỤC
2.1 Nguyên nhân
Trong hinh ảnh tỷ lệ xám, giá trị pixel nằm trong khoảng từ 0 đến 255 Phươngpháp phân biệt giá trị pixel sử dụng sự khác biệt giữa hai pixel trong cặp để nhúngthông tin bí mật Sau khi nhúng thông tin bí mật, giá trị của hai pixel được điều chỉnhsao cho sự chênh lệch là đại diện của thông tin bí mật được nhúng Trong quá trinh này,
có thể các giá trị pixel vượt quá phạm vi, tức là giá trị pixel có thể giảm xuống dưới 0hoặc vượt quá 255 Vi giá trị pixel nằm trong khoảng từ 0 đến 255, giá trị pixel giảmxuống dưới 0 được làm tròn thành 0 và giá trị pixel vượt quá 255 được làm tròn thành
255 trong khi xây dựng hinh ảnh stego Nếu pixel trong cặp vượt quá ranh giới trongquá trinh nhúng, ảnh phủ sẽ không phù hợp để ẩn dữ liệu Các cặp như vậy từ hinh ảnhstego không trích xuất dữ liệu bí mật chính xác được nhúng trong chúng Mandal vàcộng sự đã chỉ ra rằng các pixel có thể nhận các giá trị từ -64 đến 319 sau khi nhúngthông tin bí mật
2.2 Phân tích
Gulve và cộng sự đã sử dụng một khối 2 × 3 pixel để nhúng thông tin bí mật.Trong một khối 2 × 3 pixel, năm cặp pixel được hinh thành và sau đó phương phápPVD được sử dụng để nhúng thông tin bí mật Quá trinh điều chỉnh pixel được sửdụng trong thuật toán nhúng cung cấp giải pháp để loại bỏ vấn đề giá trị biên Vi vấn
đề giá trị lệch biên hiếm khi xảy ra trong hinh ảnh, nên quá trinh điều chỉnh pixelkhông ảnh hưởng đến chất lượng tổng thể của hinh ảnh stego Quá trinh điều chỉnhpixel vẫn không cung cấp một giải pháp đảm bảo để giảm vấn đề giá trị ranh giới Ví
dụ dưới đây cho thấy vấn đề giá trị nằm ngoài ranh giới xảy ra khi phương pháp doGulve đề xuất được sử dụng để nhúng thông tin bí mật vào một khối pixel
Trang 10P21
P30
P4255
P51
P60
Bảng 2.1 Khối Pixel 2x3
Hãy xem xét một khối 2 × 3 pixel như trong Bảng 2.1 Pixel P2 được sử dụnglàm pixel chung và năm cặp được hinh thành là [0, 1], [0, 1], [255, 1], [1, 1] , [0, 1].Một bảng phạm vi với các phạm vi con [0-7], [8-15], [16-31], [32-63], [64-127], [128-255] và chiều rộng wi = {8, 8, 16, 32, 64, 128} được sử dụng Sự chênh lệch (di) đượctính bằng cách trừ pixel chung cho pixel khác trong cặp Các giá trị chênh lệch là di
={-1,-1 ,254,0, -1} Giá trị tuyệt đối của sự chênh lệch, | di |, được sử dụng để xác địnhphạm vi phù hợp trong bảng phạm vi Độ rộng phạm vi được sử dụng để quyết định sốlượng bit thông điệp bí mật (b) được ẩn trong mỗi cặp Số lượng bit thông điệp bí mậtđược nhúng trong năm cặp khối là [3, 3, 7, 3, 3] Trung binh của các bit thông điệp bímật được ẩn trong mỗi cặp khối là 3 Sự khác biệt mới | d1i | được tính bằng | d1i | = |
di | mod 2^avg Sự chênh lệch| di | được sửa đổi thành sự khác biệt mới | d1i | là[1,1,6,0,1] với chênh lệch bù, ODi, như [0,0,248,0,0] Chênh lệch bù cho mỗi cặp đượctính là | di | - | d1i| Sự khác biệt mới | d1i | được sử dụng để ước tính số bit thông điệp
bí mật được ẩn trong mỗi cặp khối Do đó số bit thông điệp bí mật thực tế được nhúngvào năm cặp khối là [3, 3, 3, 3, 3] Giá trị khác biệt mới d’i được tính là ODi + li + btrong đó li là ranh giới dưới của phạm vi và b là tương đương thập phân của b bitthông điệp bí mật Các giá trị m được tính là d’i- di Giả sử m giá trị là -2, -2, -3, 6, -5,các giá trị pixel mới được tính cho từng cặp Các cặp có giá trị pixel mới là [-1, 2], [-1,2], [253, 2], [4, -2], [-2, 4] Pixel P2 có các giá trị khác nhau trong mỗi cặp Nhưng nó
có thể chỉ có một giá trị Do đó cặp với cực tiểu | m | được sử dụng làm cặp tham chiếu
và nó được sử dụng để tính toán giá trị của các pixel khác trong bốn cặp còn lại Đốivới cặp có tối thiểu | m |, các giá trị pixel mới của các pixel gần với giá trị ban đầu củachúng Cặp [P1, P2] được sử dụng làm cặp tham chiếu và được sử dụng để tính toán
Trang 11các giá trị của bốn pixel P3, P4, P5, P6 Các cặp có giá trị pixel mới là [-1, 2], [-1, 2],[253, 2], [8, 2], [-4, 2] Khối mới được xây dựng được thể hiện trong Hinh 2.
P1-1
P22
P3-1
P4253
P58
P6-4
Bảng 2.2 Khối pixel 2 x 3 mới
Trong Bảng 2.2, các pixel P1, P3 và P6 đang vượt quá ranh giới Do đó, quytrinh điều chỉnh pixel do Gulve [9-10] đề xuất được sử dụng để điều chỉnh chúng.Khối mới thu được sau quá trinh điều chỉnh pixel được hiển thị trong Bảng 2.3
P13
P26
P33
P4257
P512
P60
Bảng 2.3 Khối pixel thu được sau điều chỉnh
Pixel P4trong khối hiển thị trong Bảng 2.3 đang vượt quá ranh giới trên Do đó,khối không hữu ích cho việc nhúng dữ liệu bí mật
Nếu giá trị chênh lệch nhỏ hơn 128, quy trinh điều chỉnh pixel do Gulve [9-10]
đề xuất sẽ cung cấp giải pháp cho vấn đề giá trị lệch biên nhưng khả năng xảy ra vấn
đề giá trị lệch biên tăng lên nếu giá trị chênh lệch của ít nhất một cặp vượt quá 127
Phương pháp được đề xuất kết hợp phương pháp tiếp cận PVD và phương phápthay thế LSB để tránh vấn đề giá trị lệch biên Phương pháp này phân loại từng khối làkhối trơn hoặc khối có viền Khối có giá trị chênh lệch của ít nhất một cặp ≥ 128 đượcgọi là khối có viền và khối có giá trị chênh lệch cho tất cả các cặp ≤ 127 được gọi làkhối trơn Cách tiếp cận PVD được sử dụng để nhúng thông tin bí mật vào khối trơn
và phương pháp thay thế LSB 3 bit được sử dụng để nhúng thông tin bí mật vào khối
Trang 12khối trơn có thể dẫn đến việc sử dụng phương pháp tiếp cận PVD để trích xuất thôngtin bí mật thay vi phương pháp thay thế LSB 3 bit trong đó thông tin bí mật ban đầuđược nhúng bằng phương pháp thay thế LSB 3 bit Do đó, cần phải lựa chọn cẩn thậnmột khối có viền để nhúng thông tin bí mật Việc nhúng thông điệp bí mật 3 bit vàopixel có thể thay đổi giá trị của nó ± 7 Vi có hai pixel trong một cặp nên có bốn khảnăng Gán P1 = 8 và P2= 136.
+ Khả năng 1: Cặp ban đầu [8,136] đã thay đổi thành [15, 129] sau khi thêm 7vào P1 và trừ đi 7 từ P2 Giá trị chênh lệch mới là 114
+ Khả năng 2: Cặp ban đầu [8,136] thay đổi thành [15, 143] sau khi thêm 7 vào
P1 và thêm 7 vào P2 Các giá trị chênh lệch mới là 128
+ Khả năng 3: Cặp ban đầu [8,136] đã thay đổi thành [1, 129] sau khi trừ đi 7cho P1 và trừ đi 7 từ P2 Giá trị chênh lệch mới là 128
+ Khả năng 4: Cặp ban đầu [8,136] thay đổi thành [1, 143] sau khi trừ 7 khỏi P1
và thêm 7 vào P2 Giá trị chênh lệch mới là 135
Từ bốn khả năng trên, rõ ràng là mọi khối có viền không thể được sử dụng đểche giấu thông tin bí mật sử dụng phương pháp thay thế LSB 3 bit vi giá trị chênh lệch
có thể giảm xuống dưới 128 Đối với khối có viền, nếu giá trị chênh lệch giảm xuốngdưới 128 trong quá trinh nhúng, nó được coi là khối trơn trong quá trinh chiết xuất.Xem xét bốn khả năng trên, khối có viền có thể được sử dụng một cách an toàn đểnhúng thông tin bí mật bằng phương pháp thay thế LSB 3 bit nếu giá trị chênh lệchcủa ít nhất một cặp là ≥ 142 Vi vậy, ngay cả đối với khả năng 1, sự chênh lệch mới sẽluôn là ≥ 128 và khối có viền sẽ được xác định đúng trong quá trinh trích xuất Do đó,các khối có viền có giá trị chênh lệch của ít nhất một cặp ≥ 142 chỉ có thể được sửdụng để nhúng thông tin bí mật và khối có viền không thỏa mãn điều kiện này vẫnchưa được sử dụng
Từ cuộc thảo luận ở trên, rõ ràng là tất cả các khối có viền không thể được sửdụng để nhúng thông tin bí mật bằng phương pháp thay thế LSB 3 bit Do đó, cần phảiđánh dấu các khối có viền là chỉ được sử dụng hoặc không được sử dụng trong quátrinh nhúng Điều này được thực hiện bằng cách đặt LSB của pixel P(x,y) thành 0 chokhối có viền không sử dụng và 1 cho khối có viền đã sử dụng Đối với khối có viền đã
Trang 13sử dụng, dữ liệu bí mật được nhúng vào năm pixel còn lại bằng cách sử dụng phươngpháp thay thế LSB 3 bit.
Việc đánh dấu khối có cạnh là khối không sử dụng nên được thực hiện cẩn thận,đặc biệt khi P(x,y) > P(x,y+1) và sự chênh lệch tuyệt đối giữa P(x,y) và P(x,y+1) chính xác là
128 Hãy xem xét cặp (P(x,y), P(x,y+1)) với các giá trị pixel P(x,y) = 129 và P(x,y+1) = 1 vàđây là chỉ ghép nối trong khối có sự chênh lệch ≥ 128 Đặt LSB của P(x,y) thành 0 sẽsửa đổi giá trị của nó thành 128 và sự chênh lệch giữa P(x,y) và P(x,y+1)sẽ là 127 Vi vậy,khối có viền sẽ được hiểu là khối trơn trong quá trinh trích xuất và dữ liệu không chínhxác sẽ được lấy ra từ nó
2.3 Thuật toán nhúng tin
Thuật toán của Gulve [9-10] được sửa đổi để làm cho nó có khả năng chống lạivấn đề giá trị lệch biên Thuật toán nhúng thông tin bí mật vào ảnh phủ được đưa radưới đây:
1 Đọc ảnh phủ trong mảng thập phân 2 chiều
2 Phân chia mảng thành các khối không chồng chéo 2 x 3 pixel
3 Tạo thành năm cặp pixel và tính toán các giá trị chênh lệch (di) cho mỗi cặp pixeltrong khối bằng cách sử dụng Công thức: (1)