2. Những đóng góp của luận văn
3.2.8.1. Thuật toán giấu tin B1
1) Tính D = D0 ×2+1= b5b4b3b2b11 (dạng biểu diễn nhị phân của phần tử trên M)
2) Tính ma trận nhị phân cùng cấp 4 x 3:
T = SK; {T gồm các phần tử t1,..,t12 theo thứ với S và K}. 3) {Cố gắng giấu D vào S} Tính tổng của M:
x = 1≤ i ≤ 12 wi.ti;
3.1)Trường hợp x = D: giữ nguyên S ; {S được xem là thành công và có chứa D0}
3.2) Trường hợp x ≠ D và y=Dx ≠111101; {thực hiện phép XOR bits tương đương với D-x trong M}
3.2.1) Tìm wi trong U thỏa mãn wi = y:
- Nếu tồn tại wi và pi liền kề với pi, pj≠pi , pi, pj trên ma trận con cấp 2x2 của S, thì đảo pi bằng phép cách thực hiện1pi ;
- Nếu không tồn tại wi và pi thỏa mãn điều kiện thì đến bước tiếp theo;
3.2.2) Tìm wi và wj trong U thỏa mãn 3 điều kiện sau: a) wiwj = y;
58
b) pi liền kề với pj và pj≠pi, trong ma trận con 2×2 của S; c) pk liền kề với pi và pl ≠pk, trong ma trận con 2×2 của S; - Đảo hai phần pi và pj
Trong trường hợp không tìm thấy wi, wj và pi, pj, thì thực hiện bước tiếp theo
3.2.3) Đánh giấu khối S không thành công:
a) Nếu x là số chắn thì giữ nguyên S và kết thúc
b) Nếu x là số lẻ, tìm một phần tử pi trong 6 phần tử p1, p2, p3, p4, p6,
p7 trong S cái mà liền kề với các phần tử khác trên mỗi khối con 2 × 2 của ma trân
S, đảo pi và kết thúc
3.3) Trường hợp x≠ D và y = Dx =111101, giữ nguyên S và kết thúc.
4) Return(S); // S mới đã giấu d hoặc thất bại. 3.2.8.2.Thuật toán khôi phục B2
Gọi khối S là khối điểm ảnh được trích ra từ ảnh chứa tính mật. Chúng ta sẽ cố gắng tách dãy bít đã nhúng trong S theo thuật toán sau:
Bước 1) Tính ma trận nhị phân T cấp 4 x 3: T = SK;
Step 2) tính x = 1≤ i ≤ 12 wi.ti trên M;
- Nếu x là số lẻ, thì trả lại dãy bít D = x div 2, loại bỏ bít thấp của x để được 5 bít tin mật
- Nếu x là số chẵn, kết luận S không chứa tin mật.
Chúng ta nhận thấy rằng, trong bước giấu tin ở mục 3.2), nếu trường hợp 3.2.3 (b) xảy ra, bởi Thực tế 2, chúng ta luôn luôn tìm thấy pi trong 6 giá trị p1, p2, p3, p4, p6, p7 trong S mà pj ≠ pi cả hai thuộc ma trận con 2 × 2 của S.
59
Do đó, chúng ta có thể dễ dàng suy luận đúng đắn của giải thuật bằng cách sử dụng điều kiện 1,2 trên Thực tế 1,2,3.
Ví dụ 3.1. Cho 3 ma trận như sau:
U = w1 w8 w6 S = 0 p1 1 p8 0 p6 K = 1 0 1 w9 w2 w10 1 1 1 1 1 1 w4 w11 w3 0 0 p11 1 0 0 1 w7 w5 w12 0 1 1 0 0 0
Trong giai đoạn giấu, T=[SK] có 12 phần t1=1, t2=1, t3=1, t4=0, t5=0, t6=0,
t7=0, t8=0, t9=0, t10=0, t11=1, t12=1.
Vì vậy tổng x = 1≤ i ≤ 12 wi.ti =w1w2w3w11w12= 111111.
Bây giờ, giả sử chúng ta cần phải giấu một chuỗi 5-bit D0 = 10110 in S: - Chúng ta mở rộng D0 tới D = 101101;
- Vì x ≠ D và y = Dx =010010(2)=18 ≠ 61=111101(2), chúng ta không thể tìm thấy wi sao cho wi =18 trong U, Chúng ta tìm thấy w8= 2 và w11=16 trong U sao cho 216 = 18.
- Sau đó, chúng ta lật p8 thành 0 và p11 thành 1 trong S, chúng ta sẽ có được S (mới) với p8=0 và p11 =1.
Trong giai đoạn tách dữ liệu, chúng ta tính T= [SK] trong đó có 12 phần tử
t1=1, t2=1, t3=1, t4=0,t5=0,t6=0, t7=0, t8=1, t9=0, t10=0, t11=0, t12=1. Sau đó, chúng ta tính:
x = 1≤ i ≤ 12 wi.ti = w1w2w3w8w12= 101101. Vì x là số lẻ, thông báo rằng S là một khối được tách thành công, vì thế chúng ta có thể tách D0= x div 2 = 10110 như dữ liệu giấu ban đầu.
60
3.2.8.3.Giấu dữ liệu trong dãy các khối của ảnh nhị phân G
Vì kích thước 4 × 3 là nhỏ, chúng ta có thể sử dụng một bộ K của 12 × 10 = 120 khóa nhị phân và chia K thành 10 ma trận nhị phân là K0, K1, .., K9, mỗi ma trận đó đều có kích thước 4 × 3. Giả sử chúng ta cần phải giấu một dãy 5-bit các chuỗi D1,..,Dq trong một dãy các khối S1, .., SN của ảnh nhị phân G. Chúng ta trình bày hai giai đoạn giấu và giải nén dữ liệu như sau.
Bước giấu dữ liệu
Bước 1) Đặt t = 0; j = 1; i = 1;
Bước 2) Trong khi (While) (i <= q) và (j <= N)
2,1) Giấu Di trong Sj theo thuật toán B1 bằng cách sử dụng ma trận khóa Kt;
2,2) Nếu Sj thành công, thì gán
i = i +1; j = j +1; t = (t +1) mod 10; 2,3) Nếu Sj thất bại, thì gán j = j +1; Kết thúc (End while);
Bước 3) Nếu (i> q) thì Quay lại (G) là ảnh giấu dữ liệu
Ngược lại, quay về (i-1) {thông báo trong G, chúng ta chỉ có thể giấu thành công một chỉ số i trong chuỗi D1, .., Di, chứ không phải tất cả chuỗi D1,..,Dq }
Bước tách dữ liệu
Bước 1) Gán t = 0; j = 1; i = 1;
Bước 2) Trong khi (While) (i <= q) và (j <= N)
2,1) Tách dữ liệu Di trong Sj theo thuật toán B2 bằng cách sử dụng ma trận khóa Kt;
2,2) Nếu tách khối Sj thành công, Di được lưu và gán i = i +1; j = j +1; t = (t +1) mod 10;
61
2,3) Nếu tách Sj là thất bại, gán j = j +1; Kết thúc (End while);
Bước 3) Nếu (i> q) quay lại (chuỗi D1,..,Dq) là dữ liệu giấu
Ngược lại, thông báo rằng G có thể không được sử dụng để tách dữ liệu trong tất cả các chuỗi D1,..,Dq và thoát.
3.2.8.4.Kết quả thử nghiệm
Chúng tôi xây dựng một chương trình mà cho chúng ta nhiều 2- cơ sở yếu trong ứng dụng cho ảnh nhị phân và ảnh bảng màu (palette).
Một số số 2-cơ sở yếu được chọn như sau.
1) U1= {11,51,55,42,30,45,1,2,4,8,16,32}, phần tử duy nhất 57 trong M
không thể biểu diễn bởi U1 (bởi một tổng nhiều nhất là hai phần tử trong U).
2) U2= {11,51,55,39,30,29,1,2,4,8,16,32}, phần tử duy nhất 52 trong M
không thể biểu diễn bởi U2.
3) U3= {11,51,61,39,30,42,1,2,4,8,16,32}, phần tử duy nhất 41 trong M
không thể biểu diễn bởi U3.
4) U4= {11,51,61,42,30,45,1,2,4,8,16,32}, phần tử duy nhất 39 trong M
không thể biểu diễn bởi U4.
5) U5= {11,51,55,46,41,29,1,2,4,8,16,32}, phần tử duy nhất 58 trong M
không thể biểu diễn bởi U5.
Theo mục 2.2 về tỷ lệ giấu tin tối đa (MSDR) của các phương pháp giấu tin trên ảnh nhị phân ta có bảng so sánh sau:
62
Bảng so sánh tỷ lệ giấu tin (số bit mật được giấu) lý tưởng R, của phương pháp CPT, phương pháp module lật 1 điểm trên cùng 1 khối ảnh nhị phân:
Kích thước của khối F (theo điểm ảnh) MSDR CPT (khi lật không quá 2 điểm) Module Module Khi lật không quá 1 điểm Khi lật không quá 2 điểm Khi lật không quá 1 điểm Khi lật không quá 2 điểm Khi lật không quá 1 điểm Khi lật không quá 2 điểm 6 2 4 2 2 4 2 4 7 3 4 3 3 4 3 4 12 3 6 3 3 6 3 6 15 4 6 4 4 6 4 6 31 5 8 5 5 8 5 8 64 6 11 6 6 11 6 11
Bảng 3-1. So sánh tỷ lệ giấu tin giữa MSDR và các sơ đồ CPT, , Kết luận
Đối với các ứng dụng thực tế, chúng ta cần phải kiểm soát chất lượng của hình ảnh có giấu tin, với 2- cơ sở yếu như đã đề cập ở trên, chúng ta có thể áp dụng cho ảnh nhị phân và ảnh bảng màu để giấu dữ liệu với chất lượng cao. Nội dung phần này trình bày phương pháp để giấu một số lượng lớn các bit trong ảnh với các khối nhỏ trong khi chất lượng có thể được kiểm soát như yêu cầu, với một tập hợp lớn của các khóa nhị phân cho các yêu cầu bảo mật, bằng cách áp dụng tính chất của module trên Z2. Trong tương lai chúng tôi sẽ mở rộng cho các định dạng hình ảnh khác hoặc trong âm thanh, video dựa trên cách tiếp cận module.
63
Chương 4. XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG
4.1. Thiết kế chương trình
Trong phần này, chúng ta thiết kế chương trình giấu tin theo phương pháp module trên ảnh nhị phân và ảnh đa cấp xám.
4.1.1. Sơ đồ mức ngữ cảnh
Trong hệ thống giấu tin, có hai đối tượng tương tác với hệ thống. Đó là người giấu tin và người giải mã (tách thông tin).
Hình 4-1. Sơ đồ quan hệ trong hệ thống giấu tin 4.1.2. Sơ đồ nhúng thông tin vào ảnh
Để nhúng thông tin vào ảnh, hệ thống cần có các đối tượng gồm: Ảnh gốc, khóa bảo mật và thông tin mật cần giấu.
64 4.1.3. Sơ đồ tách thông tin từ ảnh giấu tin
Để tách thông tin từ ảnh có giấu tin mật, hệ thống cần có các đối tượng gồm: Ảnh chứa tin mật và khóa bảo mật.
4.2. Chương trình giấu tin
Kết quả nổi bật của luận văn là đã ứng dụng được các giải thuật giấu tin theo phương pháp module để nâng cao chất lượng giấu tin.
4.2.1. Nhúng tin vào ảnh
Các bước sử dụng chương trình để thực hiện giấu một file văn bản “de thi van lop 10.txt” vào bức hình “lenna.bmp”.
Hình 4-4. Ảnh nhị phân Lenna.bmp Hình 4-3. Sơ đồ tách tin từ ảnh có giấu tin
65
Hình 4-5. Tệp tin mật cần giấu Các bước thực hiện như sau:
- Bước 1: Chọn menu “Giấu tin mật”. - Bước 2: Chọn một trong các mục:
Giấu tin trên ảnh nhị phân
Giấu tin trên ảnh đa cấp xám
Giấu tin trên ảnh đa cấp xám
66 4.2.1.1. Giấu tin trên ảnh nhị phân 4
4
Z
Hình 4-7. Giao diện nhúng dữ liệu vào ảnh trong giải thuật 4 4 Z
- Bước 1: Chọn ảnh gốc.
- Bước 2: Chọn tệp dữ liệu cần nhúng (giấu) - Bước 3: Chọn thư mục chứa ảnh giấu tin.
- Bước 4: Chọn nút “Nhúng” để thực thi chương trình - Bước 5: Xem thông báo từ chương trình
67
Hình 4.9. Thông báo các thông số sau khi nhúng dữ liệu thành công 4.2.1.2. Giấu tin trên ảnh xám
Các bước thực hiện tương tự như giấu tin trên ảnh nhị phân . Một số hình ảnh minh họa;
68
Hình 4-11. Thông báo các thông số sau khi nhúng dữ liệu thành công 4.2.1.3. Giấu tin trên ảnh nhị phân
Các bước thực hiện tương tự như giấu tin trên ảnh nhị phân Một số hình ảnh minh họa;
69
Hình 4-13. Thông báo các thông số sau khi nhúng dữ liệu thành công 4.2.2. Tách thông tin từ ảnh
Để tách thông tin từ ảnh chúng ta cần: Ảnh có giấu tin, khóa (tập cơ sở: phải trùng với tập cơ sở trong quá trình nhúng.
- Bước 1: Chọn menu “Khôi phục tin mật” - Bước 2: Chọn giải thuật tương ứng
- Trên ảnh nhị phân
- Trên ảnh đa cấp xám
- Trên ảnh đa cấp xám Một số hình ảnh minh họa:
70
Hình 4-15. Khôi phục tin trên ảnh nhị phân
Hình 4-16. Thông báo khôi phục tin trên ảnh nhị phân
71
Hình 4-18. Tách tin trên
72 KẾT LUẬN
Với sự phát triển mạnh mẽ của Internet và các dịch vụ trên mạng, đặc biệt các giao dịch trực tuyến trên mạng như truyền tệp, thương mại điện tử, thanh toán qua mạng…đang là một trong những nhu cầu thiết yếu của người dùng. Vì vậy vấn đề bảo mật thông tin và bảo vệ bí mật riêng tư cho người dùng nhất thiết cần được quan tâm đúng mực.
Để bảo mật thông tin, che giấu thông tin là một phương thức được sử dụng khá phổ biến. Giấu thông tin số, phát hiện thông tin số ẩn giấu trong dữ liệu đa phương tiện đặc biệt là trong ảnh số đã trở thành một vấn đề được quan tâm nhiều trong thời gian qua và có thể được ứng dụng cho nhiều lĩnh vực khác nhau. Phương pháp giấu tin có thể được ứng dụng rộng rãi để giấu các thông tin như tin mật, chữ ký, nhãn thương hiệu để chứng minh sự hợp pháp của sản phẩm, bảo vệ bản quyền…
Trong luận văn: “Nâng cao chất lượng giấu tin và ứng dụng” tập trung vào một số phương pháp, kỹ thuật giấu tin trong ảnh số. Mục tiêu của luận văn là nghiên cứu, tìm hiểu, trình bày các phương pháp, kỹ thuật giấu tin trong ảnh số theo hướng tiếp cận module của nhóm tác giả Phan Trung Huy, qua đó xây dựng chương trình thử nghiệm giấu tin trong ảnh số.
Các kết quả chủ yếu đã đạt được trong luận văn gồm: Nghiên cứu, trình bày các vấn đề cơ bản trong lĩnh vực giấu tin, mô hình giấu tin và các phương pháp, kỹ thuật giấu tin; Nghiên cứu tìm hiểu một số phương pháp, kỹ thuật giấu tin điển hình trong ảnh số; Nghiên cứu, trình bài một số phương pháp nâng cao chất lượng giấu tin theo tiếp cận module như , của nhóm tác giả Phan Trung Huy; Xây dựng chương trình dựa vào các giải thuật của các phương pháp module để nâng cao chất lượng giấu tin trong ảnh.
Qua quá trình nghiên cứu tìm hiểu và thực hiện luận văn, tác giả đã nắm được những kiến thức cơ bản về giấu tin trong ảnh số và một số phương pháp, kỹ
73
thuật giấu tin trong ảnh số điển hình như Wu – Lee, CPT nắm được kiến thức cơ bản của các phương pháp tiếp cận module như , . Từ việc xây dựng chương trình ứng dụng, tác giả nhận thấy có nhiều khả năng ứng dụng khác nhau trong thực tế như giấu tin mật, bảo vệ bản quyền số, bảo vệ nhãn hiệu, bảo vệ chữ ký số... với việc ứng dụng các phương pháp, kỹ thuật giấu tin trong ảnh số.
Hướng phát triển tiếp của luận văn là có thể tiếp tục nghiên cứu tìm hiểu các phương pháp giấu tin theo tiếp cận module sử dụng các môi trường đa phương tiện khác.
74
TÀI LIỆU THAM KHẢO TIẾNG VIỆT
[1]. Đỗ Văn Tuấn, Phạm Văn Ất: Một thuật toán giấu tin trong ảnh có bảng màu, Các công trình nghiên cứu khoa học, nghiên cứu triển khai CNTT-TT Số 8, 2012. [2]. Nhữ Bảo Vũ: Ứng Dụng Giấu Tin Trong Mã Hóa & Xác Thực, Đồ án tốt nghiệp, Đại Bách khoa Hà Nội, 2012.
[3]. Nguyễn Văn Tảo, Một thuật toán giấu tin và áp dụng giấu tin mật trong ảnh, Tạp chí Khoa học & Công nghệ - Số 4(44) Tập 2, 2007.
[4]. Ngô Thái Hà, Nghiên cứu kỹ thuật bảo vệ bản quyền các sản phẩm đồ họa vectơ, Luận văn thạc sĩ, ĐH Thái Nguyên, 2009.
[5]. Nguyễn Thị Minh Ngọc, Nghiên cứu các phương pháp giấu tin trong ảnh số và xây dựng mô hình thử nghiệm giấu tin bảo vệ logo doanh nghiệp, Luận văn thạc sĩ, HV Công Nghệ Bưu Chính Viễn Thông, 2011.
TIẾNG ANH
[1]. Phan Trung Huy, Nguyen Hai Thanh: A new data hiding scheme for small blocks of twelve pixels on binary images by module approach, 2012.
[2]. Phan Trung Huy, Nguyen Hai Thanh, Cheonshick Kim: Module Approach in Steganography, 2012
[3]. Phan Trung Huy, NguyenManh Thang: Hiding schemes based on modules over rings of characteristic 3, 2012.
[4]. M.Y.Wu, J.H.Lee, Anovel data embedding method for two-color fascimile images, In Proceedings of international symposium on multimedia information processing. Chung-Li, Taiwan, R.O.C, 1998.
[5]. Yu Yan Chen, Hsiang Kuang Pan and Yu Chee Tseng, A Secure Data Hiding Scheme for Two color Images, IEEE Symp.on Computer and Communication, 2000.
75
[6]. Yu Chee Tseng and Hsiang Kuang Pan, Secure and Invisible Data Hiding in 2-Color Images, INFOCOM 2001, 887 – 896.
[7]. Phan Trung Huy, Vu Phuong Bac, Nguyen Manh Thang, Truong Duc Manh, Vu Tien Duc, Nguyen Tuan Nam, A New CPT Extension Scheme for High Data Embedding Ratio in Binary Images, the Proceedings of the 1st KSE. Inter. Conf. Hanoi 10/2009. 61-66. IEEE.CS.
[8]. Christian Collberg, Clark Thomborson, on the Limits of Software Watermarking, Algorithms and Applications, IEEE signal processing magazine, 1997.
[9]. Mohamed G. Gouda, Alex X. Liu, Lok M. Leung, Mohamed A. Alam, SPP: