Giải mã thuỷ vân

Một phần của tài liệu Thủy vân cơ sở dữ liệu quan hệ dựa trên kỹ thuật tối ưu hoá áp dụng giải thuật di truyền (Trang 50 - 52)

6. Cấu trúc của luận văn

3.3. Giải mã thuỷ vân

Thuật toán phát hiện thuỷ vân sẽ lấy ra thuỷ vân đã nhúng nhờ các tham số bí mật gồm có: KS, m, , c, T.

Quá trình giải mã thuỷ vân sẽ được thực hiện thông qua ba bước chính: Phân hoạch, giải mã và bầu chọn theo đa số

+ Phân hoạch tập dữ liệu chứa thuỷ vân: Kỹ thuật phân hoạch này đã được trình bày kỹ trong phần [3.1]. Đầu vào bao gồm:

i) Bộ dữ liệu đã thuỷ vân DW

ii) Khoá bí mật KS

iii) Số phần phân hoạch m

Bộ dữ liệu đạt được DW là các phần phân hoạch S0,...,Sm1. Mỗi phần sẽ chứa một bit thuỷ vân đơn đã được mã hoá trong đó.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

+ Giải mã để lấy ra bít đã nhúng: Sử dụng lược đồ giải mã ngưỡng dựa vào ngưỡng tối ưu T làm cực tiểu hoá xác suất xảy ra lỗi giải mã như đã nói

trong phần [3.2.4]. Nếu kích cỡ phần dữ liệu nhỏ hơn  thì bít giải mã không

được thực hiện, ngược lại thì nó được giải mã nhờ lược đồ giải mã ngưỡng. Thuỷ vân Wbl1,...,b0 được nhúng vài lần trong bộ dữ liệu, mỗi bít thuỷ vân được lấy ra vài lần ở nơi mà bít bi được lấy ra từ phần Sk với kmodli. Các bít lấy ra được giải mã nhờ kỹ thuật bầu chọn theo đa số. Mỗi bít bi được lấy ra

l m

lần .

+ Kỹ thuật bầu chọn theo đa số: Bit bi được quyết định bởi số lượng bit 0 hay bit 1 trong tổng số bit của bi được giải mã ra. Ví dụ nếu bit b2 được nhúng 10 lần vào cơ sở dữ liệu, sau khi giải mã, kết quả giải mã thuỷ vân thu được giả sử là 7 bit 0 và 3 bit 1. Vậy kết luận của kỹ thuật bình chọn theo đa số là bit b2 là bit 0 (b2 = 0). Với kỹ thuật bầu chọn theo đa số này thuỷ vân nhận được sẽ bền vững trước một số tấn công như chèn thêm dữ liệu, sửa đổi dữ liệu, hoặc ngay cả xoá dữ liệu, bởi vì ngưỡng giải mã được chọn tuân thủ theo nguyên lý xác suất thống kê nhằm làm cực tiểu hoá lỗi giải mã.

Thuật toán phát hiện thuỷ vân như sau: Algorithm: detect_watermark

Input: Tập dữ liệu đã thuỷ vân Dw, m, c, , Ks, T*, độ dài thuỷ vân l

Output: Chuỗi thuỷ vân đã nhúng WD

1. Set ones[0,.., l-1]  0 //Tập các bit giải mã là bit 1

2. Set zeros[0,.., l-1]  0 //Tập các bit giải mã là bit 0 3. S0,…., Sm-1 get_pertitions(Dw, Ks, m)

4. for j = 0 to m – 1 5. if |Sj|  

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 6. i j mod l 7. value (Sj, 0, c) 8. if value  T* 9. ones[i] ones[i] + 1 10. else

11. zeros[i]  zeros[i] + 1

12. for j = 0 to l -1

13. if ones[j] > zeros[j]

14. WD[j]  1

15. else if ones[j] < zeros[j]

16. WD[j]  0 17. else

18. WD[j]  x 19. Return WD

Trường hợp quan hệ đa thuộc tính thì sự đàn hồi ( bền vững) thuỷ vân được tăng lên do nhúng thuỷ vân trong nhiều thuộc tính.

Một phần của tài liệu Thủy vân cơ sở dữ liệu quan hệ dựa trên kỹ thuật tối ưu hoá áp dụng giải thuật di truyền (Trang 50 - 52)

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

(63 trang)