Khôi phục dữ liệu gốc

Một phần của tài liệu Luận án tiến sĩ toán học KỸ THUẬT THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ (Trang 79 - 81)

Một lợi thế trong lược đồ thủy vân đề xuất của Hamed K. và cộng sự [26] là khả năng khôi phục dữ liệu gốc tại các ô bị thay đổi cơ sở dữ liệu quan hệ. Khi phát hiện lỗi tấn công đơn, thuật toán này có thể khôi phục được dữ liệu gốc. Vấn

đề khôi phục dữ liệu có thể thực hiện được trong thuật toán do sử dụng toán tử XOR có khả năng nhớ giá trị của các ô dữ liệu trong cơ sở dữ liệu quan hệ gốc. Toán tử XOR được sử dụng trong phần nhúng thủy vân. Khi nhúng thủy vân thuộc tính, sử dụng toán tử XOR như là một hàm băm sinh mã thủy vân thuộc tính. Các

giá trị đầu vào của toán tử XOR dùng để sinh ra thủy vân thuộc tính thứ j (W1j) là

các giá trị thuộc tính thứ j của nhóm và giá trị đầu ra của toán tử này đã được nhúng vào các giá trị của thuộc tính thứ p(j) của nhóm. Vì vậy, khi giá trị của một ô trong các giá trị của thuộc tính thứ j tại một bộ trong nhóm bị sửa đổi thì có thể trích ra thủy vân thuộc tính gốc thứ j của nhóm (W*1j). Sau đó sử dụng tính chất của toán tử XOR, có thể khôi phục giá trị gốc của ô đã bị sửa đổi. Quá trình khôi phục dữ liệu gốc được thể hiện trong thuật toán khôi phục sau đây.

Thuật toán khôi phục

Input: Nhóm Gk, khóa thủy vân K

Output: ô đã bị sửa được khôi phục

1. for j= 1 to do 2. if (!V1j) then 3. cot_bi_thay_doi = j 4. Break 5. end if 6. end for 7. for i = 1 to qk do 8. if (!V2i) then 9. hang_bi_thay_doi = i 10. Break 11. end if 12.end for

13.S = K // K là khóa thủy vân

14.for i= 1 to qk do

15. if (i  hang_bi_thay_doi) then

16. S = S XOR ri.Acot_bi_thay_doi //trừ 2 bit LSB của

ri.Acot_bi_thay_doi khi thực hiện XOR

17. end if

19. for i = 1 to qk do

20. W*1cot_bi_thay_doi(i)= bit LSB của ri.Ap(cot_bi_thay_doi)

21. end for

22. rhang_bi_thay_doi.Acot_bi_thay_doi = W*1cot_bi_thay_doi XOR S

Trong thuật toán này, sau khi khoanh vùng cơ sở dữ liệu, sẽ tìm được các vị

trí của hàng bị thay đổi và cột bị thay đổi nhờ V1j = false và V2i = false.

Ở đây, thuật toán chỉ có thể khôi phục lại dữ liệu tại một ô dữ liệu.

 Sau khi xác định thủy vân, sẽ tìm ra hàng và cột bị thay đổi nhờ 2 vòng lặp

for đầu tiên.

 Gán giá trị cần khôi phục chính là chuỗi bit của khóa thủy vân.

 Tiếp theo, với ô bị thay đổi, tiến hành XOR chuỗi bit của khóa thủy vân với tất cả các giá trị ở ô có thuộc tính là cột bị thay đổi trừ ra chính ô bị thay đổi và 2 bit ít ý nghĩa nhất.

 Tìm lại giá trị thủy vân chính là bit ít ý nghĩa nhất của ri.Ap(j) với p(j) đã

được tìm ở thuật toán trước và j chính là cột bị thay đổi.

 Tiến hành XOR giá trị của chuỗi thủy vân với giá trị đã XOR ở trên tìm được giá trị của ô bị thay đổi nhưng thiếu đi 2 bit ít ý nghĩa nhất. Hai giá trị này sẽ được cho thêm vào hoặc đặt mặc định (00). Khi đó, kết quả chính là giá trị cần tìm.

Một phần của tài liệu Luận án tiến sĩ toán học KỸ THUẬT THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ (Trang 79 - 81)

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

(108 trang)