Kỹ thuật giấu tin theo khối bit

Một phần của tài liệu (LUẬN văn THẠC sĩ) tìm hiểu xây dựng thuật toán giấu tin mật và ứng dụng (Trang 47 - 50)

3. Bố cục của luận văn

2.4.3 Kỹ thuật giấu tin theo khối bit

Kỹ thuật giấu tin theo khối bít và sử dụng tính chẵn lẻ của các khối bit để khôi phục lại thông tin (thường sử dụng các phép toán AND, OR, SUM để tính toán và biển đổi ảnh giấu tin) thường được dùng cho cả ảnh màu, ảnh xám và ảnh đen trắng. Ý tưởng của thuật toán là chia ảnh thành các khối nhỏ và trong mỗi khối nhỏ sẽ giấu một bit b (b =0 hoặc b=1).

Thuật toán

Input: Ảnh Bitmap đen trắng F và thông điệp cần giấu P. Output:Một file ảnh đã giấu tin F’.

Cách thực hiện:

Bước 1: Chuyển file thông tin cần giấu P sang dạng nhị phân ta được P’=b1b2…bN.

Bước 2: Chia ảnh gốc F thành N khối nhỏ Fi có kích thước mxn.

Bước 3: Với mỗi khối Fi (i = 1, 2,…N) ta sẽ tiến hành giấu một bit bi (bi = 0 hoặc bi = 1) bằng cách biển đổi Fi thành F’i thỏa mãn:

Bước 4: Kết hợp các khối F’

I ta thu được ảnh F’ chưa thông tin cần giấu.

Ví dụ minh họa:

Cho khối B như sau:

0 1 1 0 1 0 1 1 1 1 0 1 0 0 0 1

- Giả sử ta giấu bít b = 0 vào khối B.

Số lượng bít 1 trong khối B là 9, sum (B) = 9. Do đó sum (B) ≠ 0 (mod 2). Như vậy khối B không thỏa mãn yêu cầu. Để giấu bít 0 vào khối B ta thay đổi một bit bất kỳ trong khối, thường là thay đổi tại vị trí của bít thông tin rõ vào bít của khối tương ứng (nếu chúng trái dấu nhau) đổi bít 0 thành bít 1 hoặc bít 1 thành bít 0, ta thu được khối B’. Giả sử ta đổi như sau:

Khối B Khối B'

0 1 0 0 0 1 0 0 1 0 1 1 1 0 1 1 1 1 0 1 1 0 0 1 0 0 0 1 0 0 0 1

Hình 2.8: Minh họa giấu bit b = 0 vào khối nhị phân B

Khi đó ta có sum(B’) = 8 , do đó ta được sum(B’)  0 (mod 2)

- Nếu giấu bít b = 1 vào khối B. Ta có sum(B) = 9 nên sum(B)  1 (mod 2). Khối B được bảo toàn và bit dữ liệu b = 1 coi như được

giấu.

Quá trình tách tin

Trong thuật toán này khóa đơn giản chỉ là kích thước của khối, nếu biết kích thước của khối thì dễ dàng giải mã tin theo quy tắc sau:

Bước 1: Chia ảnh thành các khối nhỏ với kích thước khối đã sử dụng khai thực hiện giấu tin.

Bước 2: Xét từng khối nhỏ và giải tin theo quy tắc:

- Nếu tổng các bít 1 là lẻ ta thu được bit giấu là 1. - Nếu tổng các bít 1 là chẵn ta thu được bit giấu là 0.

Thực hiện cho đến khi hết các khối giấu và ta được chuỗi bit đã mang giấu.

Bước 3: Chuyển chuỗi nhị phân sang dạng văn bản.

Phân tích thuật toán

Việc chọn kích thước khối giấu tùy thuộc vào kích thước ảnh và lượng thông tin cần giấu sao cho giấu giàn trải trên từng ảnh.

Với thuật toán này việc chọn khối khá đơn giản, bắt đầu từ khối đầu tiên và những khối liên tiếp phía sau một cách tuần tự. Tuy nhiên ta có thể làm khó thuật toán hơn bằng cách chọn ngẫu nhiên một khối chưa giấu ở mỗi lần giấu. Khi đó, đã làm tăng độ 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 đổi kích thước khối ở mỗi lần giấu, chẳng hạn như lần 1 có kích thước khối là 8x8, lần 2 là 8x12,… trong trường hợp này thì khóa là kích thước khối của mỗi lần giấu.

Bản chất của kỹ thuật giấu tin trong ảnh đen trắng là quy ước nào đó dưới dạng một mệnh đề (tân từ) P. Nếu tân từ P được thỏa mãn thì ứng với bit 1, ngược lại ứng với bit 0. Tân từ P trong thuật toán trên là sum (B)  b (mod 2)

Áp dụng thuật toán cho ảnh màu và ảnh đa cấp xám

Nhược điểm cơ bản của phương pháp này dùng cho ảnh đen trắng là thông tin giấu vào được rất ít. Nếu giấu nhiều thông tin thì ảnh sẽ thay đổi nhiều và người sử dụng sẽ dễ dàng phát hiện sự có mặt của thông tin ẩn. Do đó khi giấu tin người ta thường chọn ảnh màu hoặc ảnh đa cấp xám. Các ảnh màu và đa cấp xám có giá trị mỗi điểm ảnh được biểu diễn bằng nhiều bit. Trong dãy các bit biểu diễn này có một bit được gọi là bit ít quan trọng nhất

(LSB – Least Significant Bit). LSB là bit mà khi ta đảo giá trị của nó thì điểm màu bị thay đổi ít nhất.

Ví dụ minh họa:

Với ảnh đa cấp xám, mỗi mức xám h được biểu diễn bởi số nguyên không âm, thì mức xám h sẽ sai khác ít nhất so với hai mức xám liền kề h + 1 và h – 1. Trong trường hợp này bit LSB chính là bit thấp nhất trong dạng biểu diễn nhị phân của h.

Hầu hết các thuật toán giấu tin trên ảnh màu hoặc ảnh đa cấp xám đều áp dụng gián tiếp thuật toán giấu tin trên ảnh đen trắng theo trình tự sau:

Bước 1: Tạo ảnh đen trắng F từ ảnh màu Fc bằng một kỹ thuật nào đó. Chẳng hạn lấy từ mỗi điểm màu trong Fc một bit ít quan trọng nhất của Fc để làm một điểm ảnh cho F.

Bước 2: Giấu tin vào ảnh đen trắng F để được ảnh đen trắng F’.

Bước 3: Đưa lại các bit của F’ vào mỗi điểm ảnh màu tương ứng của Fc để thu được ảnh màu kết quả là F’c.

Như vậy, thuật toán giấu tin trong ảnh đen trắng là cơ sở cho các thuật toán giấu tin nói chung.

Một phần của tài liệu (LUẬN văn THẠC sĩ) tìm hiểu xây dựng thuật toán giấu tin mật và ứng dụng (Trang 47 - 50)

Tải bản đầy đủ (PDF)

(76 trang)