Ý tưởng:
Trong các thuật toán giấu tin đã trình bày trên đây, các thông tin bí mật được giấu theo cách tuần tự cho dù là giấu trong các khối (hoặc các điểm), liên tiếp hay bỏ cách. Cách làm này đơn giản hơn cho người giấu tin, nhưng dễ bị tấn công, bởi chúng có khả năng kết hợp giữa tấn công vét cạn và nhận dạng tự động [5,6].
Người ta còn có thể giấu tin một cách ngẫu nhiên, để tăng cường độ bảo mật. Nếu một phương tiện chứa tin mà tất cả các bit của nó đều có thể truy nhập được trong quá trình nhúng tin, các bit thông điệp bí mật có thể được phân bố ngẫu nhiên trên toàn bộ phương tiện chứa mà không cần tuân theo một thứ tự nào. Kỹ thuật này gây nhiều khó khăn cho kẻ muốn tấn công, bởi chúng khó có thể xác định được trật tự khi gắn vào.
Thuật toán
Để làm như vậy người gửi phải dùng chương trình tạo số giả ngẫu nhiên, tạo ra chuỗi j1, …, jl(m) các phần tử chỉ mục, và lưu bit thứ k trong phần tử chỉ mục thứ jk. Cách giấu tin như vậy rất dễ xảy ra xung đột (giấu nhiều hơn một bit vào một điểm của phương tiện chứa), vì chương trình tạo số giả ngẫu nhiên không thực hiện việc kiểm soát các giá trị đầu ra.
Khi có xung đột, người gửi có thể chèn thử nhiều hơn một bit vào một phần tử của phương tiện chứa, bằng cách sửa một số bit của nó. Tuy nhiên nếu số lượng các bit của thông điệp cần giấu, ngắn hơn nhiều so với số các phần tử của phương tiện mang tin, số xung đột sẽ không đáng kể, có thể tính được xác suất xảy ra xung đột bằng công thức sau:
p ≈ 1- exp [ ] − ) ( 2 1 ) ( ) ( c l m l m l
Trong công thức này, khi l(c) là hằng số, p hội tụ về 1 khi l(m) tăng. Chúng ta có thể thấy nếu với thông điệp rất ngắn so với phương tiện chứa tin, thì xác suất xảy ra xung đột là không đáng kể.
Ví dụ nếu dùng ảnh 600 * 600 pixel để làm phương tiện chứa tin, nếu lưu vào trong đó thông điệp dài 200 bit và chọn 200 pixel để mang tin thì xác suất có thể xảy ra xung đột là 5%. Nhưng nếu ta chọn 600 pixel để truyền thông tin, thì xác suất là 40 %, như vậy là quá lớn.
Để giải quyết vấn đề xung đột, ta cần kiểm soát đầu ra của bộ tạo số giả ngẫu nhiên. Rất đơn giản, ta kiểm soát các phần tử đã được giấu tin trong đó, chỉ giấu tin vào các phần tử chưa được giấu tin mà thôi.
Nhận xét
Trong kỹ thuật giấu tin này, người ta vẫn dùng thuật toán thay đổi các bit LSB, hay thuật toán giấu tin trong các khối dữ liệu, nhưng thuật toán tạo số giả ngẫu nhiên chính là chìa khoá của phép mã hoá và giải mã. Người nhận cần phải có nó, để xác định được vị trí và trình tự các điểm ảnh có giấu tin, như vậy mới có thể tách và khôi phục lại thông điệp được gửi đi. Độ phức tạp của thuật toán tăng lên đáng kể.