Title: Efficient Dynamic Traitor Tracing
1Efficient Dynamic Traitor Tracing
- R91922005 ???
- R91922006 ???
2Reference
- Efficient Dynamic Traitor Tracing O. Berkman,
M. Parnas, and J. Sgall SODA 2000 - Dynamic Traitor Tracing A. Fiat and T. Tassa
CRYPTO99
3Outline
- Introduction
- Dynamic Traitor Tracing
- Previous Works by Fiat and Tassa
- Preliminaries
- Proposed Algorithms
- The clique algorithm
- The optimal algorithm
- Many algorithms as building-blocks
4Introduction
- Dynamic Traitor Tracing
- Number of traitors is unknown
5Dynamic Traitor Tracing
- Use watermarking techniques
- Two important concerns
- Number of versions/colors
- Limited bandwidth
- Number of rounds
6Previous Works by Fiat
- Any deterministic algorithm must use at least p1
colors to locate a traitor - Use 2p1 colors in O(p log n) rounds
- Use p1 colors in O(3pp log n) rounds
7Proposed in This Paper
- Use p1 colors in T(p2p log n)
- Optimal solution using only p1 colors
- Use pc1 colors in O(p2/cp log n)
- 1 ? c ? p
- Use pc1 colors in O(p logc n)
- 2 ? c
- A tight lower bound for pc colors
- O(p2/cp logc1 n)
8Preliminaries
- Notation
- U the set of users
- n the number of users, Un
- T the set of traitors, T is in U
- p the number of traitors, T p
9Lemma 2.1
- Modify mp-1 to m is trivial
- How to modify m to mp-1?
- A locates a traitor in m rounds
- B locates all traitors in mp-1 rounds
10From m to mp-1
- At the mth round of algorithm A, all traitor must
have a unique color
11Representation
- Represent the current state of the algorithm by
an undirected graph G(V,E) - Each vertex represents a subset of users
- Each user belongs to exactly one vertex
- An edge (X,Y) means that X?Y contains a traitor
- A special vertex I
12Basic Algorithm
- Start with IU, VI, Eempty, t0
- t is the lower bound of traitors
- Find a vertex X that contains a traitor
- Use 2t1 colors in O(p log n) rounds
- Use t1 colors in exponential rounds
- If XI, split I into two vertices, and connect
them. Set Iempty, tt1 - Else set II?Y where (X,Y) is in E. Split X into
two vertices and connect them
13Basic Algorithm Example
14(t,k)-Graph
15Some Facts of (t,k)-Graph
- A clique Qi of ti vertices contains at least ti-1
traitors - The number of vertices of a (t,k)-graph is at
most 2t1
X3
X4
X1
I
X5
X2
A valid (3,2)-graph
16The Clique Algorithm
- Vertices are partitioned into two zones
- Z1 is partitioned into blocks
- Each block is induced by the vertices of two
cliques Qi and Qj - Z2 contains I and possibly a clique Qi
17Blocks in Z1
- A block does not contain a clique of size titj-1
- There are four distinct vertices X1,X2 in Qi, and
Y1,Y2 in Qj, such that (X1,Y1), (X2, Y2) are not
in E
18Z2
- I and the clique Qi do not form a clique of size
ti1 - There exists a vertex X in Qi, such that (X,I) is
not in E
19The Algorithm
- Two phases
- Phase 1 Distributing the colors
- Allocate ti-1 colors to each clique Qi, and one
color to I - Use only t1 colors
- Phase 2 Reorganizing after pirates answer
- Start with a (0,0)-graph with IU
20Phase 1-1
- For blocks in Z1
- Total available number of colors titj-2
- Use two colors for (X1,Y1),(X2,Y2)
- Remains titj-4 colors
- Use one color for each of the remaining titj-4
vertices
X1
Y1
tj-2
ti-2
X2
Y2
21Phase 1-2
- For blocks in Z2
- Total available number of colors ti
- Use one color for (X,I)
- Remain ti-1 colors
- Use one color for each of the remaining ti-1
vertices
ti-1
X
I
22Phase 2-1
Broadcasted color is?
New clique QX1,X2 kk1
No
given to a pair X,Y
Phase 2-2
QiQi\X where Qi contains X
Qi1?
given to only one vertex X
Split X into X1,X2 Connect them
Add the vertex to I QiX1,X2
Yes
No
New clique QX1,X2 Iempty,tt1,kk1
XI?
Yes
23Phase 2-2
given to a pair X,Y
Add edge (X,Y)
Connect between?
New clique QQiUQj Add X to I where X is not in
Q kk-1
pair of clique, and form a titj-1 clique
I and a vertex of Qi, and form a ti1 clique
Add I to Qi Set Iempty, tt1
24Phase 2-3
- When create a new clique Q
- If Z2 contains contains only I
- Place Q in Z2
- Otherwise, Z2 contains also a clique
- Pair these two cliques and create in Z1 a new
block containing them
25Correctness and Efficiency
26Lemma 3.1 Proof
27Lemma 3.1 Proof Illustration
I splits
O(p log n) splits
O(p) times
I splits
28Theorem 3.1 and Proof
29Theorem 3.1 Proof
30Theorem 3.1 Proof
314 An Optimal Algorithm
32Data Structures and Invariants
- The Graph
- G(V,E)
- The vertices are the subsets of the user set U,
and form a partition of U. - If (X,Y)??E, then X?Y contains a traitor.
- Zones and blocks
- G????????????Z1, Z2, Z3, Z4?
- Z1, Z2???,????blocks Bi
- bi ?block Bi????traintor??
- ???block(?zone)????,??????!
33??Zone???
- Z1
- ?????blocks Bi
- ??block Bi?traitor???3?? bi ? 7
- Z2
- ?????blocks Bi
- ??block Bi?vertices???
- bi2(?traitor??2)
- ???vertices??singletons!
- ??block Bi??????cliques(???????)?
- ??Bi????????bi1?clique
34??Zone???
- Z3
- ?????
- ??
- ???clique(?????2),
- ????vertices??singletons!
- Z4
- ?? (t,k)-graph,t ? 2
- Special vertex I(???Innocent users)
- ??????K
35Number of Traitors
- ?zz1z2z3z4
- ziZone Zi????traitors??
- ??T?????traitors??????T,??T ? z?
- Implies the algorithm may use (T1) colors.
- T????????zgtT?,?Tz?
36Marks
- ?Z2?Z3???,??singletons?
- ???????marked
- ?marked?????
- ?marked??????,???traitor!
- ??,
- ???traitors?????T1
- ?T???,???marks??????
37??q-good block
- q-good block????(q1)?usersA1, , Aq, and
J,??, - ??set Ai????traitor??
- ??block????q?traitors?
A1
A2
Aj
Aq
J
Aj
38???Z1?blocks?????
- ???????,????????Algorithm (I)(V)?
- (I)(IV)??????(V)?building block?
- ???????,??????
- ?????a subset of 2 users that contains a traitor
- ??????,??????????(?????????,????????)
- ????
- ???????????,???????singleton?
39???????????
40- ???????????q-good block?
- ??????set Ai?????Ai,0?Ai,1
A1
A2
Aj
Aq
J
Aj
41(1)????coloring
A1
A2
Aj
Aq
J
Aj
A1,0
A1,1
A2,0
A2,1
Aj,aj
Aj,1-aj
Aq,0
Aq,1
Aj,aj
Aj,1-aj
42(1)????coloring
A1
A2
Aj
Aq
J
Aj
A1,0
A1,1
A2,0
A2,1
Aj,aj
Aj,1-aj
Aq,0
Aq,1
Aj,aj
Aj,1-aj
???1(q-2)1q???
43- (2)
- ??pirate???Unique???set Ai,a????
- ????Ai,1-a??J
- Ai,a????traitor,???????Ai,1-a?????
- Set Ai Ai,a,?Ai????Ai,0?Ai,1,??Step (1)
- ????? rounds?,?? ??A???,pirate???outp
ut???J????????,??block?????q?traitors? - ????block????q?traitor,??
- A1Aq????traitor,??Ai???????,??????traitor?
- J??traitor
- ?? ??????,????????????J????????,??????tra
itor,?????? ??A????,???output???J??????? - ??,??block???q?traitors?
44- (3)
- ?????????,??????renumbering?,pirate????????J ?
A1,1 ? ? Aq,1????? - ??pirate?????? Aj,0 ? Aj,0 for all j?? j
- Case1??Aj?Aj?singletons
- ?? Aj,0?Aj,0??????traitor??????????!
45- ?(3)
- Case2????Aj???????singleton set
- ???????????traitor?subset Aj,1
- ?Aj,1??J,??AjAj,0,??Step(1)
- (proof)
- A1,0 , , Aq,0??q-cliques(?q-1?traitors)
- ?J?A1,0?A2,1??Aq,1????
- ?A1,1?A2,0?????
- ???????,?????????traitor?subset Aj,1?
46-
- Algorithm(III) (4.2)
- ???input?clique on 5 vertices,?????4?traitors??4.2
????,????There is a 4-good block with Jempty
set, one of the set being A1A2B, and the other
3 sets being the remaining vertices.???????C?D?E?
???traitor(s),?A1?A2?B???traitor(s)?????5-vertex
clique???,?????????traitor,?????? - ???4?traitors
- ??traitor???A?B????????traitor,??(A1?A2?B)??set??
????traitor???Set1(A1?A2?B), Set2C, Set3D,
Set4E???4-good block? - ??traitor???C(?D?E)???????A1?A2?????????traitor,?
???traitor??A2, ??A2C??edge????????(4.2)????,??A1A
2B???????????,??edge????,????? - ?4???traitors?4-good block
47Step (1)
?3?traitors
II (q3)
?4?traitors
k cliques with k3 vertices k?1,3
k1
k3
Step (2)
3 clique with 6 vertices ????2,2,2?? ????clique???
???traitor, ?????clique???sets, ????3-good block
1 clique with 4 vertices ? A 4-clique
IV
3-good block
3-good block
I (q3)
?4?traitors
Step (2)
48Step (2)
?4?traitors
II (q4)
k cliques with k4 vertices k?1,3
?5?traitors
Step (2.1)
Step (2.2)
k1
k3
Step (3)
1 clique with 5 vertices ? A 5-clique
- 3 clique with 7 vertices
- ???(??)?1,1,2?traitor(s)
- ???block????disjoint subsets
- clique with at least 1 traitor,
- the other 2 cliques (with at least 3 traitors)
III
2 subsets with 1 and 3 traitors
4-good block
??
I (q4)
??
?5?traitors
Step (3)
49Step (3)
?5?traitors
II (q5)
Step (3.1)
k cliques with k5 vertices k?1,3,5
?6?traitors
k1,3,5
II (q6)
as in Step (3.1)
k cliques with k6 vertices k?1,3,5
?7?traitors
2 subsets with at least 1 and at least 3
traitors
k1,3,5
??basic algorithm? (locate p traitors with 2p1
colors)
??
??????7????? (?????4?disjoint subsets)
2 subsets with at least 1 and at least 3
traitors
4?subset?13??,?? 2 subsets with 1 / 3 traitors
??
??
50- Zone Z1
- ???blocks????(V),?????z1?????block Bi
??(V)?,?????????? - Case 1 Block Bi ?????subsets,?????1?traitor???????
3?? - ????? zone Z4(??(3))
- ?????zone Z1,????block
- Case 2 ????????traitor?2-user subset???????clique
Q(???2),?????,?????user???????zone????,???? - ??zone Z3???,?clique Q??Z3?
- ??,?Z3????clique???,?Q????,???Z2??????????cliques?
block???Z3??? - ???Bi??zone Z4(??(3))
- ??????,Bi???subset X,?????traitor,????zone
Z4?????????,???????X????,???X???????????????vertic
es,??????????2?clique,??zone Z4??z4z41???z43,??
Z4?Step(1.2)? - Zone Z2
- Run the clique algorithm. Z2?clique???????(blocks?
??cliques??)? - ?????vertices??singleton,??????????????(unless we
locate a traitor) - ??,?block Bi????clique???????? bi1 ?clique Q
- ? Bi?? ??????K(??? bi1 ?clique
Q?????bi?traitors),????????zone,???? - ??zone Z3???,?clique Q??Z3?
- ??,?Z3????clique???,?Q????,???Z2??????????cliques?
block???Z3???
51- Zone Z3 and Z4 (??zone?????)
- ?? zT,?? z3z41 ?????zltT,??z3z42????
- ?Z4?,????????
- (1.1) ?Z4?,run the clique algorithm,??????Z4??
z43 ?traitors? - ??????O(logn)??(???????z43)
- (1.2) ? z43 ,??Z4??,?????block??Z1??Zone Z4???,?
z40,Kempty set. - ??Z3????,??????
- ??Z3????,?? zltT
- ?Z3?????,??????????
- ??Z3????,?? zT???????,??Z4???
- ????,Z4???,??X1, , Xq??subsets,???qz41???????r
ound?????q?rounds - ???? Z3 ??? marked ?? S??round k (k1, , q)
?,?????,?Z4??subsets X1, , Xq??,??? S ? Xk
?????,???,?Z3??????????????????? - (3.1) If pirate broadcasts the color of Xj, for
some j?k?Z4????????? - (3.2) ??pirate broadcast???Xk?S (for k1,,q)
- Mark S(??S???traitor,??Z4?? q
(z41)?traitors(??z1T1 traitors)) - ??Z3???????marked?,?TT1(??????marks)
- ??q rounds in Z3?,?????
- mark???vertex,???
52Correctness and Efficiency
- Theorem 4.1. The algorithm locates p traitors in
O(p2plogn) rounds, using p1 colors - ??????
- z1 z1z2z3z41 if z T.
- z2 z1z2z3z42 if z lt T.
- ????T1 p1 ???
53Correctness and Efficiency-- ????????
- ? sz2z3
- r3bz2z3z4
- (bZ1?blocks??)
- ?????,0 T, s, r p ???
- s?T????(T???traitor??)
- sz2z3?
- Z2????blocks(paired cliques)
- Z3???(???)clique
- Z2??blocks??merge????bi1,??????Z3
- ??Z3????clique,??????clique????,?????clique pair
???block,??Z2? - ??sz2z3????????
vertices??singletons
54Correctness and Efficiency-- ????????
- s?T????,??????p??
- r3bz2z3z4
- ???Z1????a subset of 2 users contains a
traitor?????? - b b-1 (Z1?????block Bi)
- z4z41 (???1?traitor?subset X? ??Z4)
- z2z3z2z31 (2-user subset??????Z3 ??Z2)
- r ?? 1 (paper??2,?????1)
- s ?? 1
- ??,r??????2p?
55Correctness and Efficiency-- ????????
- r??
- ??O(logn) rounds
- ????2p?,?????O(plogn).
- ??rounds?????mark vertex,???cliques of
singleton?? - unmark vertex?remove edge???T??,????clique merge
- ??s????p?,????O(p)???unmarked,???O(p2) rounds?
- s???,????clique??(p?),?????clique
merge????????p?????p???1?marked
vertex????????O(p2) - Total number of rounds is O(p2plogn)