Phương pháp LSB tốt cho ứng dụng giấu tin, chúng ta có thể tìm ra những thuật toán để cải tiến phương pháp này theo hướng khắc phục các nhược điểm của nó.
Để tăng tính bảo mật có hai cách:
Mã hoá mẩu tin gửi đi, và như vậy phải giải mã khi nhận được
Rải ngẫu nhiên các bít của mẩu tin mật lên bề mặt ảnh sử dụng một hàm ngẫu nhiên được mã hoá và như vậy hầu như không thể tái tạo lại mẩu tin nếu không có hạt giống dùng để tạo các số ngẫu nhiên.
Theo cách này, mẩu tin được bảo vệ bởi hai lần khoá, làm cho tính bí mật cao hơn nữa. Cách này cũng bảo vệ sự nguyên vẹn của mẩu tin mật, làm cho việc giả mạo tin càng khó hơn nữa, thậm chí không thể được (ít nhất về mặt tính toán). Tuy nhiên mục tiêu của chúng ta không chỉ mã hoá và xáo trộn mẩu tin mà phải giấu tin nên chúng ta cần phải cân nhắc thêm hai yếu tố nữa:
Chọn các ảnh mang
Chọn định dạng ảnh (24-bit, 8-bit, nén hay không nén)
Ảnh phủ phải được chọn sao cho nhìn thật tình cờ, nó phải là chủ đề mà cả người gửi lẫn người nhận đang quan tâm tới.
Ảnh phủ nên có nhiều mầu khác nhau, nó phải thật "sặc sỡ", để các nhiễu thêm vào sẽ bị chìm lẫn trong các mầu đã có. Các ảnh có các vùng ảnh đồng nhất rộng lớn dễ làm nổi bật lên các tạp nhiễu thêm vào.
Một vấn đề khác cần cân nhắc đó là kích thước ảnh. Nếu gửi qua lại các ảnh quá lớn sẽ gây nên sự chú ý của đối phương. Ví dụ như một ảnh cỡ 500 x 300 (150,000 điểm ảnh), là ảnh thông dụng trên Internet, với các biểu diễn mầu khác nhau:
24-bit mầu: 150,000 điểm x 24 bits/điểm/ 8 bits/byte = 90,000 Bytes
440 KB
8-bit mầu/ xám (tỷ lệ chiếm dụng như nhau): 150,000 điểm x 8 bits/điểm/ 8 bits/ byte = 150,000 Bytes 146 KB
Qua hai tính toán trên chúng ta có thể thấy một ảnh 24-bit không nén có kích thước không bình thường cho ảnh trên Internet, khi đó kẻ thám tin sẽ đặt
câu hỏi nghi ngờ tại sao người gửi không nén ảnh đó (có thể sợ nén sẽ mất dữ liệu mật chẳng hạn).
Các hướng giải quyết vấn đề này là người ta tìm cách hoán sửa thuật toán nén JPEG và chèn các LSB vào các công đoạn không mất dữ liệu của thuật toán hoặc thử dấu qua việc làm tròn các hệ số của biến đổi Cosin rời rạc dùng để nén ảnh.
Để đảm bảo tính bí mật chúng ta phải dùng đến ảnh 8-bit nếu chúng ta muốn sử dụng phương pháp LSB, vì với ảnh này kích thước như vậy là bình thường đối với các ảnh trên mạng.
Rất nhiều ý kiến chuyên gia cho rằng nên dùng ảnh 8-bit xám vì bảng mầu của nó ít thay đổi hơn là bảng mầu của ảnh mầu, và do vậy kỹ thuật LSB sẽ khó bị phát hiện bởi mắt người.
Một số giải pháp khác liên quan đến việc làm sao để phân bổ đều các điểm dấu ảnh lên toàn ảnh. Có nhiều cách để sinh ra hàm rải ví dụ người ta có thể dùng một bộ sinh số giả ngẫu nhiên hoặc một bộ sinh các số nguyên tố rồi đưa vào tập ZMN, trong đó MN là kích thước của ảnh (số điểm ảnh).
Một hướng nữa là phân tích ảnh và tìm ra các vùng có dải xám khó nhận biết bằng mắt thường để giấu tin vào đó.
2.2.2 Kỹ thuật giấu tin dựa trên bảng mầu
a) Nền tảng kỹ thuật
Ảnh Gif được nén không mất dữ liệu. Ảnh GIF có độ xâu mầu tối đa là 256, nghĩa là 8 bit điểm ảnh. Thuật toán nén là LZW (Lempel-Ziv-Welch). Ảnh BMP cũng là ảnh dựa trên bảng mầu khác với độ sâu mầu là 4 đến 24 bit. Hỗ tự nén mã loạt dài 4 bít và 8 bít nhưng ít khi được sử dụng. Bảng mầu thường được dùng khi độ sâu mầu dưới 24 bít. Trong các ảnh 24 bít, bảng
mầu không được dùng đến. Thay vào đó mỗi điểm được biểu diễn bằng ba byte (đỏ, lục và lam).
Các ảnh dưới 256 mầu dùng một bảng mầu được đánh chỉ mục. Mỗi điểm ảnh là một số trỏ đến bảng mầu. Phương pháp dấu hay sử dụng nhất đối với loại ảnh sử dụng bảng mầu là phương pháp LSB. Vấn đề nẩy sinh khi đảo bit thấp nhất của một điểm, lúc này điểm trỏ sang vị trí kế cận trong bảng mầu. Và nếu mầu kế cận trong bảng mầu là mầu đối lập thì có thể dẫn đến thay đổi mầu đột ngột, kéo theo sự lộ liễu của thông tin mật. Vấn đề này hay xảy ra khi các mầu trong bảng mầu rất khác nhau. Trường hợp cực đoan là hai mầu trên ảnh gốc bị tráo đổi hoàn toàn trên ảnh mang. Ví dụ chúng ta có một ảnh có hình vuông tô mầu đỏ, viền đen. Nếu gặp trường hợp cực đoan này chúng ta sẽ nhận được một hình vuông đen với nền đỏ.
Để giải quyết vấn đề này có hai cách :
Cách thứ nhất là sắp xếp lại bảng mầu, như vậy các mầu giống nhau sẽ nằm cạnh nhau trong bảng mầu, và việc lật một bít của điểm ảnh khó bị phát hiện
Cách thứ hai là mở rộng bảng mầu bằng cách đưa thêm vào các mầu lân cận
Tuy nhiên, cả hai cách này đều bày ra những kẽ hở cho kẻ thám tin. Ở cách thứ nhất điểm dễ phát hiện là bảng mầu được sắp xếp. Còn cách thứ hai điểm yếu là xuất hiện thêm các mầu không dùng đến. Một số phương pháp cải tiến nhắm vào việc tính các mầu kế cận sao cho ít bị phát hiện.
Trình tự kỹ thuật sắp xếp lại bảng mầu gồm các bước: 1. Copy bảng mầu gốc
2. Sắp xếp bảng mầu Copy được bảng có trật tự
3. Ánh xạ ma trận các chỉ số của các điểm ảnh đến bảng mầu có trật tự 4. Nhúng thông tin mật vào các LSB bằng cách thay thể mầu
Nếu sắp xếp bảng mầu theo độ chói (luminance) sẽ thành các nhóm điểm mầu không phân biệt được bằng mắt thường. Độ chói được tính theo công thức: L = 0.299R + 0.587G + 0.114B