Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dynamic Traitor Tracing for Arbitrary Alphabets: Divide and Conquer

Similar presentations


Presentation on theme: "Dynamic Traitor Tracing for Arbitrary Alphabets: Divide and Conquer"— Presentation transcript:

1 Dynamic Traitor Tracing for Arbitrary Alphabets: Divide and Conquer
Thijs Laarhoven & Jan-Jaap Oosterwijk (TU/e) Jeroen Doumen (Irdeto) Department of Mathematics & Computer Science

2 Problem: Piracy Example: screeners at a film festival Solution: insert watermark for “Traitor Tracing”

3 Watermarks Imperceptible Robust shouldn’t disturb innocent user
difficult for a traitor to find Robust spread throughout the content

4 Problem: Colluding traitors
In each copy, the watermark is placed in the same location, for easy retrieval Colluding traitors can compare their copies Segments where they detect a difference are necessarily part of the watermark Solution: Collusion-RESistant Tracing (CREST)

5 Measure of similarity Traitors can mix parts of their watermarks, creating a new watermark When a pirate copy is detected, its watermark is compared to that of each user. Users with a similar watermark are suspicious Accuse those who are too suspicious

6 Two types of error Falsely accuse an innocent person
Not accuse any pirate The probability that these errors occur depends on pirate mixing strategy we cannot control. Cannot be calculated exactly, but can be bounded

7 Design short watermark codes
The larger the coalition of traitors, the longer the code has to be to trace them. Shortest code length Gábor Tardos (2003) Available space for watermarking is limited We design and analyze even shorter codes.

8 Static Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

9 Static Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

10 Static Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

11 Static Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

12 Static Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

13 Static Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

14 Static Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

15 Static Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

16 Static Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

17 Static Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

18 Dynamic Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1

19 Dynamic Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

20 Dynamic Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

21 Dynamic Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

22 Dynamic Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

23 Dynamic Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

24 Dynamic Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

25 Dynamic Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

26 Dynamic Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

27 Dynamic Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

28 Dynamic Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

29 Dynamic Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

30 Dynamic Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

31 Dynamic Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

32 Dynamic Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

33 Dynamic Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

34 Dynamic Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

35 Dynamic Traitor Tracing
Segments Traitor 1 Traitor 2 Traitor 3 Traitor 4 Traitor 5 Traitor 6 1 Pirate output 1

36 Tardos code users, colluding traitors accuse some innocent user
Binary codelength q-ary codelength

37 Divide and Conquer Divide the coalition in two equally large parts
Divide the alphabet as well Before, we needed segments to trace traitors Since for each half we need segments, we now need only segments!

38 Divide and Conquer: two codes
Segments Traitor 1 Traitor 2 Traitor 3 1 Traitor 4 Traitor 5 Traitor 6 2 3

39 Divide and Conquer: Dynamic
Segments Traitor 1 Traitor 2 Traitor 3 1 Traitor 4 Traitor 5 Traitor 6 2 3

40 Divide and Conquer: Dynamic
Segments Traitor 1 Traitor 2 Traitor 3 1 Traitor 4 Traitor 5 Traitor 6 2 3 Pirate output 1

41 Divide and Conquer: Dynamic
Segments Traitor 1 Traitor 2 Traitor 3 1 Traitor 4 Traitor 5 Traitor 6 2 3 Pirate output 1

42 Divide and Conquer: Dynamic
Segments Traitor 1 Traitor 2 Traitor 3 1 Traitor 4 Traitor 5 Traitor 6 2 3 Pirate output 1 2

43 Divide and Conquer: Dynamic
Segments Traitor 1 Traitor 2 Traitor 3 1 Traitor 4 Traitor 5 Traitor 6 2 3 Pirate output 1 2

44 Divide and Conquer: Dynamic
Segments Traitor 1 Traitor 2 Traitor 3 1 Traitor 4 Traitor 5 Traitor 6 2 3 Pirate output 1 2

45 Divide and Conquer: Dynamic
Segments Traitor 1 Traitor 2 Traitor 3 1 Traitor 4 Traitor 5 Traitor 6 2 3 Pirate output 1 2

46 Divide and Conquer: Dynamic
Segments Traitor 1 Traitor 2 Traitor 3 1 Traitor 4 Traitor 5 Traitor 6 2 3 Pirate output 1 2

47 Divide and Conquer: Dynamic
Segments Traitor 1 Traitor 2 Traitor 3 1 Traitor 4 Traitor 5 Traitor 6 2 3 Pirate output 1 2

48 Divide and Conquer: Dynamic
Segments Traitor 1 Traitor 2 Traitor 3 1 Traitor 4 Traitor 5 Traitor 6 2 3 Pirate output 1 2 3

49 Divide and Conquer: Dynamic
Segments Traitor 1 Traitor 2 Traitor 3 1 Traitor 4 Traitor 5 Traitor 6 2 3 Pirate output 1 2 3

50 Divide and Conquer: Dynamic
Segments Traitor 1 Traitor 2 Traitor 3 1 Traitor 4 Traitor 5 Traitor 6 2 3 Pirate output 1 2 3

51 Divide and Conquer: Dynamic
Segments Traitor 1 Traitor 2 Traitor 3 1 Traitor 4 Traitor 5 Traitor 6 2 3 Pirate output 1 2 3

52 Divide and Conquer: Dynamic
Segments Traitor 1 Traitor 2 Traitor 3 1 Traitor 4 Traitor 5 Traitor 6 2 3 Pirate output 1 2 3

53 Divide and Conquer: Generalized
Divide the coalition in k equally large parts Divide the alphabet as well Before, we needed segments to trace traitors Since for each part we need segments, we now need only segments!

54 Summary Direct q-ary construction
(Dynamic) divide-and-conquer construction

55 Workshop on Information Forensics
December 2th – 5th, 2012 Tenerife (Canary Islands)

56 Thanks for your attention Questions?


Download ppt "Dynamic Traitor Tracing for Arbitrary Alphabets: Divide and Conquer"

Similar presentations


Ads by Google