Efficient Dynamic Traitor Tracing - PowerPoint PPT Presentation

1 / 55
About This Presentation
Title:

Efficient Dynamic Traitor Tracing

Description:

Number of versions/colors. Limited bandwidth. Number of rounds. 6. Previous Works by Fiat. Any deterministic algorithm must use at least p 1 colors to locate a traitor ... – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 56
Provided by: pic62
Category:

less

Transcript and Presenter's Notes

Title: Efficient Dynamic Traitor Tracing


1
Efficient Dynamic Traitor Tracing
  • R91922005 ???
  • R91922006 ???

2
Reference
  • Efficient Dynamic Traitor Tracing O. Berkman,
    M. Parnas, and J. Sgall SODA 2000
  • Dynamic Traitor Tracing A. Fiat and T. Tassa
    CRYPTO99

3
Outline
  • Introduction
  • Dynamic Traitor Tracing
  • Previous Works by Fiat and Tassa
  • Preliminaries
  • Proposed Algorithms
  • The clique algorithm
  • The optimal algorithm
  • Many algorithms as building-blocks

4
Introduction
  • Dynamic Traitor Tracing
  • Number of traitors is unknown

5
Dynamic Traitor Tracing
  • Use watermarking techniques
  • Two important concerns
  • Number of versions/colors
  • Limited bandwidth
  • Number of rounds

6
Previous 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

7
Proposed 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)

8
Preliminaries
  • 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

9
Lemma 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

10
From m to mp-1
  • At the mth round of algorithm A, all traitor must
    have a unique color

11
Representation
  • 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

12
Basic 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

13
Basic Algorithm Example
14
(t,k)-Graph
15
Some 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
16
The 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

17
Blocks 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

18
Z2
  • 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

19
The 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

20
Phase 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
21
Phase 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
22
Phase 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
23
Phase 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
24
Phase 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

25
Correctness and Efficiency
26
Lemma 3.1 Proof
27
Lemma 3.1 Proof Illustration
I splits
O(p log n) splits
O(p) times
I splits
28
Theorem 3.1 and Proof
29
Theorem 3.1 Proof
30
Theorem 3.1 Proof
31
4 An Optimal Algorithm
32
Data 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

35
Number of Traitors
  • ?zz1z2z3z4
  • ziZone Zi????traitors??
  • ??T?????traitors??????T,??T ? z?
  • Implies the algorithm may use (T1) colors.
  • T????????zgtT?,?Tz?

36
Marks
  • ?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

47
Step (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)
48
Step (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)
49
Step (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,???

52
Correctness 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 ???

53
Correctness 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
54
Correctness 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?

55
Correctness 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)
Write a Comment
User Comments (0)
About PowerShow.com