Thuật toán F

Một phần của tài liệu THỦY VÂN SỐ TRONG MÔI TRƯỜNG ẢNH VÀ ỨNG DỤNG BẢO VỆ BẢN QUYỀN (Trang 60)

Chương 3 THỬ NGHIỆM CHƯƠNG TRÌNH THỦY VÂN SỐ 3.1 BẢO VỆ BẢN QUYỀN

3.3.3.2. Thuật toán F

Thuật toán F3 cải thiện một số yếu điểm của thuật toán Jsteg. Nó có một số điểm khác biệt với Jsteg như sau:

 Thay vì ghi đè các bit, F3 giảm bớt giá trị tuyệt đối của các hệ số DCT trong trường hợp bit ít quan trọng nhất của nó không phù hợp. Cũng vì cách làm này, F3 không sử dụng hệ số có giá trị 0. Các bit ít quan trọng nhất của các hệ số DCT được làm giống với thông điệp cần giấu, nhưng F3 không ghi đè các bit, vì phương pháp Chi-square sẽ dễ dàng phát hiện ra những thay đổi này. Khác với Jsteg, thuật toán F3 sử dụng hệ số DCT

 Một vài bit sẽ bị “co lại” trong quá trình thực hiện thuật toán F3. Việc đó xảy ra khi thực hiện việc giảm 1 và -1 (giá trị tuyệt đối là 1) về 0. Người nhận sẽ không phân biệt được đâu là bit 0 ban đầu, đâu là bit 0 sinh ra do quá trình thực hiện thuật toán F3. Nó sẽ bỏ qua tất cả các bit có giá trị 0. Do đó, người gửi tiếp tục việc nhúng bit thông điệp vì họ biết bit 0 nào sinh ra do quá trình “co lại” của F3. Nếu việc giảm giá trị tuyệt đối của hệ số DCT sinh ra bit 0, F3 sẽ thực hiện việc nhúng lại bit đó vào một hệ số DCT mới.

Thuật toán F3 đã khắc phục phần nào điểm yếu dễ bị tấn công của Jsteg, nhưng lại sinh ra một vấn đề mới: việc nhúng lại. Khi nhúng một bit thông điệp vào hệ số DCT, nếu F3 làm cho hệ số DCT đó thành 0, thì sẽ phải nhúng lại bit thông điệp đó vào một hệ số DCT khác. Nếu việc nhúng lại phải thực hiện nhiều lần, sẽ sinh ra quá nhiều hệ số DCT chẵn.

3.3.3.3. Thuật toán F4

Thuật toán F3 có hai yếu điểm chính: Thứ nhất, F3 nhúng các bit 0 hiệu quả hơn các bit 1, do đó tạo ra, giống như Jsteg nhưng theo một cách khác, những điểm đặc biệt, tạo thuận lợi cho kẻ gian khi chúng muốn lấy thủy vân. Thứ hai, thuật toán F3 sau khi nhúng thủy vân tạo ra nhiều hệ số chẵn hơn là hệ số lẻ, nếu dùng F3 cho ảnh JPEG thì không phù hợp vì ảnh JPEG khi biến đổi DCT sẽ chứa nhiều hệ số chẵn hơn là hệ số lẻ (ngoại trừ 0).

Thuật toán F4 đã loại bỏ hai yếu điểm đó của F3. Dưới đây là thuật toán F4 viết bằng ngôn ngữ java:

int nextBitToEmbed = embeddedData.readBit(); for (int i=0; i<coeff.length; i++) {

if (i%64 == 0) continue; // skip DC coefficients if (coeff[i] == 0) continue; // skip zeroes

if (coeff[i] > 0) {

if ((coeff[i]&1) != nextBitToEmbed)

coeff[i]--; // decrease absolute value } else {

if ((coeff[i]&1) == nextBitToEmbed)

coeff[i]++; // decrease absolute value }

if (coeff[i] != 0) { // successfully embedded if (embeddedData.available()==0)

break; // end of embeddedData nextBitToEmbed = embeddedData.readBit();

}

}

Nội dung của thuật toán F4 chính là việc cải tiến thuật toán F3 bằng cách thay thế các hệ số DCT âm bằng các bit giấu tương ứng. Cụ thể: hệ số âm chẵn biểu diễn bằng giá trị 1, hệ số âm lẻ là 0; hệ số dương chẵn là 0, dương lẻ là 1.

3.3.3.4. Thuật toán F5

Thuật toán F4 đã khá tốt khi khắc phục những điểm yếu của F3 và Jsteg, nhưng nó còn một điểm bất lợi nữa là việc nhúng thủy vân vào ảnh thực hiện từ đầu bức ảnh cho đến khi nào hết thông điệp cần nhúng. Như vậy, phần đầu của ảnh sẽ được nhúng thông tin, trong khi phần còn lại là không được sử dụng. Điều này vừa làm giảm tính ẩn của thủy vân (do thông tin nhúng chỉ tập trung ở một phần ảnh, phân bố đều khắp ảnh sẽ tốt hơn) vừa dễ dàng cho những kẻ muốn tách thủy vân.

Hình 23. Ảnh trước và sau nhúng bằng F4

(Phần đầu ảnh có thủy vân, phần sau không có)

Thuật toán F5 đã loại bỏ yếu điểm đó của F4 bằng cách phân bố đều thủy vân cần nhúng ra khắp ảnh mang. Minh họa như hình dưới:

Hình 24. Sử dụng thuật toán F5 để nhúng thủy vân

(Thủy vân được phân bố đều khắp ảnh)

Thuật toán F5 thực hiện việc phân bố đều thông tin cần nhúng ra khắp ảnh bằng cách: thực hiện việc băm với toàn bộ các hệ số của ảnh, sau đó mới nhúng thủy vân vào các giá trị băm này. Kết quả là thủy vân nhúng vào sẽ phân bố đều hơn trên ảnh gốc.

Một số ưu điểm của thuật toán F5:

 Nhúng được nhiều thông tin, hiệu suất nhúng cao.  Ngăn chặn được việc tấn công trực quan (visual attack)

 Bền vững với kiểu tấn công bằng thống kê (phương pháp Chi-square)  Thích hợp với ảnh JPEG là loại ảnh phổ biến nhất hiện nay.

Một phần của tài liệu THỦY VÂN SỐ TRONG MÔI TRƯỜNG ẢNH VÀ ỨNG DỤNG BẢO VỆ BẢN QUYỀN (Trang 60)

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

(67 trang)
w