1 / 55

Efficient Dynamic Traitor Tracing

Efficient Dynamic Traitor Tracing. R91922005 余家興 R91922006 張碧娟. Reference. “Efficient Dynamic Traitor Tracing”; O. Berkman , M. Parnas , and J. Sgall ; SODA 2000 “Dynamic Traitor Tracing”; A. Fiat and T. Tassa ; CRYPTO’99. Outline. Introduction Dynamic Traitor Tracing

price-grant
Download Presentation

Efficient Dynamic Traitor Tracing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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; CRYPTO’99

  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. Traitor Pirate Traitor Traitor 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 p+1 colors to locate a traitor • Use 2p+1 colors in O(p log n) rounds • Use p+1 colors in O(3pp log n) rounds

  7. Proposed in This Paper • Use p+1 colors in Θ(p2+p log n) • Optimal solution using only p+1 colors • Use p+c+1 colors in O(p2/c+p log n) • 1 ≦ c ≦ p • Use pc+1 colors in O(p logcn) • 2 ≦ c • A tight lower bound for p+c colors • Ω(p2/c+p logc+1n)

  8. Preliminaries • Notation • U: the set of users • n: the number of users, |U|=n • T: the set of traitors, T is in U • p: the number of traitors, |T| = p

  9. Lemma 2.1 • Modify m+p-1 to m is trivial • How to modify m to m+p-1? • A: locates a traitor in m rounds • B: locates all traitors in m+p-1 rounds

  10. Traitor Traitor Traitor From m to m+p-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 I=U, V={I}, E=empty, t=0 • t is the lower bound of traitors • Find a vertex X that contains a traitor • Use 2t+1 colors in O(p log n) rounds • Use t+1 colors in exponential rounds • If X=I, split I into two vertices, and connect them. Set I=empty, t=t+1 • Else set I=I∪Y where (X,Y) is in E. Split X into two vertices and connect them

  13. I I I I X1 X1 X1 X3 X2 X2 X2 X4 I: 1,2,3,4,5 I: X1: 1,2,3 X2: 4,5 I: 4,5 X1: 1,2 X2: 3 I: X1: 1,2 X2: 3 X3: 4 X4: 5 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 2t+1 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 ti+tj-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 ti+1 • 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 t+1 colors • Phase 2: Reorganizing after pirate’s answer • Start with a (0,0)-graph with I=U

  20. Phase 1-1 • For blocks in Z1 • Total available number of colors: ti+tj-2 • Use two colors for (X1,Y1),(X2,Y2) • Remains ti+tj-4 colors • Use one color for each of the remaining ti+tj-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? No New clique Q={X1,X2} k=k+1 given to a pair X,Y Phase 2-2 Qi=Qi\X where Qi contains X |Qi|=1? given to only one vertex X Split X into X1,X2 Connect them Yes Add the vertex to I Qi={X1,X2} No New clique Q={X1,X2} I=empty,t=t+1,k=k+1 X=I? Yes

  23. Phase 2-2 given to a pair X,Y Add edge (X,Y) Connect between? New clique Q=QiUQj Add X to I where X is not in Q k=k-1 pair of clique, and form a ti+tj-1 clique I and a vertex of Qi, and form a ti+1 clique Add I to Qi Set I=empty, t=t+1

  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數量為: bi+2(比traitor數多2) • 所有的vertices都是singletons! • 每個block Bi被分割成兩個cliques(各有至少兩個點)。 • 但是Bi不包含一個大小為bi+1的clique

  34. 各個Zone的描述 • Z3: • 此區可能是: • 空的; • 有一個clique(大小至少為2), 其所有的vertices都是singletons! • Z4: • 一個 (t,k)-graph,t  2 • Special vertex I(裡面放“Innocent users”): 在這裡表示成K

  35. Number of Traitors • 令z=z1+z2+z3+z4 • zi:Zone Zi中已知的traitors個數 • 定義T:已知存在的traitors總數量至少為T,因此T  z。 • Implies the algorithm may use (T+1) colors. • T永遠不會減少。當z>T時,令T=z。

  36. Marks • 在Z2和Z3中的點,都是singletons。 • 這些點可能會被“marked” • 被marked代表的意義: • 被marked的這個使用者,是一個traitor! 或是, • 所有的traitors個數至少是T+1 • 當T增加時,所有的marks都會被移除。

  37. 定義q-good block • q-good block:可被分成(q+1)群users:A1, …, Aq, and J,其中, • 每個set Ai包含一個traitor;或者 • 整個block含有超過q個traitors。 A1 A2 Aj Aj’ Aq J ………… ………… …………

  38. 使用在Z1的blocks上的演算法 • 接下來這個部分,會介紹五個演算法:Algorithm (I)~(V)。 • (I)~(IV)是作為演算法(V)的building block。 • 以下五個演算法,何時會停止? • 當他們找到:a subset of 2 users that contains a traitor • 後面的說明中,都會省略這個可能性。(因為當此情況發生時,演算法就會停止了) • 也就是說: 每個邊所連的兩個端點中,至少有一邊不是singleton。

  39. 證明在這個block中 有超過q個traitors 使用q個顏色 跑 O(logn) rounds • 常數q • q-good block (I) • 證明此block中有超過q個traitors • ,或是 • 在此block中找到一個subset, • 其中包含 k個cliques(共k+q個點) • 也就是說,其中有q個點各有一個traitor 使用q個顏色 跑 O(logn) rounds • 常數q • 已知含有至少q個traitors的block (II) • 在這個block中找到一個4-good block • ,或是, • 找到兩個disjoint subset: • 其中一個包含至少三個traitors • 另一個包含至少一個traitor 使用4個顏色 跑 O(logn) rounds 含有一個五個點 的clique的block (III) 使用3個顏色 跑 O(logn) rounds 含有一個四個點 的clique的block 在這個block中找到一個3-good block (IV) 找到兩個disjoint subset: 其中一個包含至少三個traitors 另一個包含至少一個traitor 每一步: 使用q個顏色 跑 O(logn) 步之後… 一個至少有3個traitors 的block (V) 五個演算法的輸入及結果

  40. 證明在這個block中 有超過q個traitors 使用q個顏色 跑 O(logn) rounds • 常數q • q-good block (I) …… …… …… A1,0 A1,1 A2,0 A2,1 Aj,aj Aj,1-aj Aj’,aj’ Aj’,1-aj’ Aq,0 Aq,1 • 整個演算法始終維持一個q-good block。 • 作法:先將每個set Ai等分成兩份:Ai,0和Ai,1 A1 A2 Aj Aj’ Aq J ………… ………… …………

  41. (1)接下來是coloring A1 A2 Aj Aj’ Aq J A1,0 A1,1 A2,0 A2,1 Aj,aj Aj,1-aj Aj’,aj’ Aj’,1-aj’ Aq,0 Aq,1

  42. 和J共色的一堆點 (q+2)個點共用一個顏色 雙點共色 Aj,aj和Aj’,aj’ 用同一個顏色 Unique顏色的點 用了(q-2)個顏色 Q:這種coloring方法,要跑幾種不同的組合? A:有 種coloring。 (1)接下來是coloring A1 A2 Aj Aj’ Aq J A1,0 A1,1 A2,0 A2,1 Aj,aj Aj,1-aj Aj’,aj’ Aj’,1-aj’ Aq,0 Aq,1 共用了:1+(q-2)+1=q個顏色

  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結果都output了「和J共色」的顏色的話,表示block中含有超過q個traitors。 • 因為如果block只有剛好q個traitor,表示: • A1~Aq各有一個traitor,因此Ai分出來的兩半中,只有半個會有traitor。 • J沒有traitor 因此 種選擇方法中,至少會選到一種是:所有「和J共色的一堆點」中,沒有任何一個traitor,因此不可能在 種選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,並令Aj=Aj,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. A1 A2 B C D E • 在這個block中找到一個4-good block • ,或是, • 找到兩個disjoint subset: • 其中一個包含至少三個traitors • 另一個包含至少一個traitor 使用4個顏色 跑 O(logn) rounds 含有一個五個點 的clique的block (III) • Algorithm(III) (4.2) • 本來的input是clique on 5 vertices,因此至少有4個traitors。在4.2的情況中,結果是:「There is a 4-good block with J=empty set, one of the set being A1+A2+B, 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), Set2=C, Set3=D, Set4=E是一個4-good block。 • 沒有traitor的點是C(或D或E)時:不可能。因為A1和A2中一定有一個點沒有traitor,假設沒有traitor點是A2, 那麼A2C這個edge根本不能存在。但(4.2)的情況是,除了A1A2B這個三角形的三條線以外,其他edge通通存在,因此矛盾。 • 有4個以上traitors:是4-good block

  47. Step (1) 有3個traitors II (q=3) 有4個traitors k cliques with k+3 vertices k{1,3} k=1 k=3 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 (q=3) 有4個traitors Step (2)

  48. Step (2) 有4個traitors II (q=4) 有5個traitors k cliques with k+4 vertices k{1,3} Step (2.1) Step (2.2) k=1 k=3 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 4-good block 2 subsets with 1 and 3 traitors 結束 I (q=4) 結束 有5個traitors Step (3)

  49. Step (3) 有5個traitors II (q=5) Step (3.1) 有6個traitors k cliques with k+5 vertices k{1,3,5} II (q=6) k=1,3,5 as in Step (3.1) 有7個traitors k cliques with k+6 vertices k{1,3,5} 2 subsets with at least 1 and at least 3 traitors 跑「basic algorithm」 (locate p traitors with 2p+1 colors) k=1,3,5 結束 跑道:需要超過7個顏色時。 (發生於:找到4個disjoint subsets) 2 subsets with at least 1 and at least 3 traitors 4個subset以1:3分開,得到 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分成兩個以一邊相連、大小相等的vertices,並將它當成一個大小為2的clique,加到zone Z4中。z4=z4+1。如果z4=3,跳至Z4的Step(1.2)。 • Zone Z2: • Run the clique algorithm. Z2中clique的個數為偶數個(blocks為兩個cliques構成)。 • 因為所有的vertices都是singleton,所以每一步就會加入一條新的邊(unless we locate a traitor) • 最後,某block Bi中的兩個clique被合成一個大小為 bi+1 的clique Q • 將 Bi剩下 的一個點加到K(大小為 bi+1 的clique Q已經至少含bi個traitors),並且重新整理各個zone,方法如下: • 如果zone Z3是空的,將clique Q放到Z3中; • 否則,將Z3的那一個clique拿起來,和Q配在一起,然後在Z2裡建立一個含有這兩個cliques的block。現在Z3空了。

More Related