Thuật toán CPT

Một phần của tài liệu Nghiên cứu một số kỹ thuật giấu tin trong môi trường Multimedia (Trang 40)

Tóm tắt thuật toán

Để tiện cho việc trình bày, trong luận văn sẽ trình bày nội dung thuật toán CPT áp dụng cho một khối bit (ma trận nhị phân). Các phép toán sử dụng trong thuật toán này đều được hiểu theo nghĩa mod 2r Input:

- Fm×n là ma trận nhị phân (khối điểm ảnh) và là môi trường dùng để giấu tin

- r là số bit cần giấu vào ma trận F, r phải thỏa mãn điều kiện 2r≤m×n.

- Km×n là ma trận nhị phân và là khóa bí mật để giải tin

- Wm×n là ma trận trọng số cấp r, ma trận W được giữ bí mật - b1,b2,...,br là dãy bit nhị phân cần giấu

Output:

Gọi b là giá trị thập phân của dãy b1,b2,...,br, G là ma trận sau khi đã giấu b vào F bằng cách biến đổi tối đa 2 phân tử trong ma trận F, khi đó G phải thoả mãn bất biến (2.5).

SUM((GK)W) mod 2r = b (2.5)

Nội dung thuật toán

Bƣớc 1: Tính T = FK

Bƣớc 2: Tính S = SUM(TW)

Bƣớc 3:

Xây dựng tập:

Zα = {(i,j) | (Wi,,j=α và Ti,j = 0) hoặc (Wi,j=2r-α và Ti,j=1)} (2.6)

Nhận thấy nếu đảo giá trị (thay 0 thành 1 hoặc thay 1 thành 0) của một phần tử Fi,j sẽ làm cho S tăng thêm α đơn vị.

Bƣớc 4:

Gọi G là khối bit sau khi đã giấu b vào F, và S‟= SUM((GK)W). Bước này sẽ thực hiện giấu b bằng cách thay đổi tối đa hai bit trong F sao cho đạt được bất biến:

S’ = b (mod 2r

) (2.7)

Bất biến (2.7) này cũng chính là cơ sở để khôi phục lại tin. - Tính d = b – S (mod 2r

)

Trường hợp 1 Nếu d = 0 thì b = S (mod 2r) nên đã đạt được bất biến (2.7) do đó trường hợp này giấu b vào F mà không cần phải biến đổi F

Trường hợp 2 Nếu d 0 thì cần phải biến đổi F sao cho đạt được bất biến (2.7). Trong trường hợp này có hai khả năng:

Trường hợp 2.1 Nếu ZdØ thì chọn (i,j)  Zd rồi đảo giá trị phần tử Fi,j, khi đó theo định nghĩa (2.1) S sẽ tăng thêm d đơn vị do đó đạt được bất

Trường hợp 2.2 Nếu Zd = Ø thì tiếp tục xét Z2d, Z3d.... Chọn h là số tự nhiên đầu tiên thoả mãn ZhdØ (xem nhận xét 2.1 bên dưới)

+ Chọn (i,j) Zhd và thay đổi bit Fi,j, khi đó theo (2.6) S tăng thêm một lượng là hd (2.8)

+ Chọn (u,v)  Zd-hd và thay đổi Fu,v, khi đó theo (2.6) S tăng thêm một lượng là d-hd (Zd-hd Ø xem nhận xét 3.2 bên dưới) (2.9)

Từ (2.8) và (2.9) suy ra cần thay đổi hai bit Fi,j và Fu,v của F để có thể giấu được r bit thông tin vào F.

Nhận xét 2.1. Qua các bước thực hiện của thuật toán nhận thấy thuật toán sẽ luôn thực hiện được nếu tồn tại h thoả mãn ZhdØ.

Điều này sẽ được chứng minh trong mục tiếp theo. (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Nghiên cứu một số kỹ thuật giấu tin trong môi trường Multimedia (Trang 40)