1 / 30

SD e LSD

SD e LSD. Lezione tenuta dal Prof. P. D’Arco. Presentazione di: Gaetano Ragozzino. SD (Subset Difference). Obiettivo:Ridurre la lunghezza dell’header da O(r*lg(N/r)) a O(r) Idea: Ampliare la collezione di sottoinsiemi {S 1 …S n } con cui ricoprire NR.

Download Presentation

SD e LSD

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. SD e LSD Lezione tenuta dal Prof. P. D’Arco Presentazione di: Gaetano Ragozzino

  2. SD (Subset Difference) • Obiettivo:Ridurre la lunghezza dell’header da O(r*lg(N/r)) a O(r) • Idea: Ampliare la collezione di sottoinsiemi {S1…Sn} con cui ricoprire N\R

  3. 1)Collezione di sottoinsiemi S1…Sw con cui ricoprire N\R • Si,j={sottoinsiemi di foglie discendenti da vi ma non da vj} • SD={tutti i sottoinsiemi differenza Si,j} vi vi vj vj … … …

  4. 2)Assegnamento di chiavi Li,j ai sottoinsiemi Si,j • 1°Caso: Li,j scelte indipendentemente e uniformemente a caso • 2°Caso: Li,j calcolate attraverso un generatore pseudo casuale

  5. 3) Partizionamento di N\R=U Si m i=1 • Dato R, calcoliamo l’albero di Steiner (ST(R)) e poniamo T=ST(R) 1 2 3 4 6 5 9 13 11 18 27 22

  6. Procedura di partizionamento • 1.Siano vi e vj due foglie t.c. il più piccolo antenato v non contenga altre foglie di T. Siano ve e vk figli di v t.c. vi discende da ve e vj da vk. • 2.Se ve è diverso da vi aggiungi Se,i.Se vk è diverso da vj aggiungi Sk,j. • 3.Rimuovi da T tutti i discendenti di v e trasforma v in una foglia. • 4.Se rimane una foglia termina, altrimenti ritorna al passo 1.

  7. 1) 3) 1 v 2 3 ve vk 4 6 5 7 8 12 9 10 13 14 11 15 16 17 24 25 18 19 20 21 26 27 28 29 22 23 30 31 R R R R={18,22,27}; vi=18; vj=22; v=2; ve=4; vk=5; 2)S4,18, S5,22

  8. 1) 3) v 1 vk ve=vi 2 3 Rimane solo la radice 6 7 12 13 14 15 24 25 26 27 28 29 30 31 vj=R vi=2; vj=27; v=1; ve=2; vk=3; 2)S4,18, S5,22,, S3,27

  9. 1 2 3 4 6 5 7 8 12 9 10 13 14 11 15 16 17 24 25 18 19 20 21 26 27 28 29 22 23 30 31 R R R S4,18 S5,22 S3,27 <S4,18, S5,22, S3,27, EL4,18(k), EL5,22(k), EL3,27(k), Ek(M)> Header

  10. Taglia Header? • Lemma. Dato un qualsiasi insieme di revocati R, il metodo precedente partiziona N\R in al più 2r-1 sottoinsiemi disgiunti. • Ad ogni passo vengono aggiunti alla copertura al più due sottoinsiemi differenza e il numero di revocati diminuisce di uno ad eccezione dell’ultimo passo che potrebbe non ridurre il numero di revocati e aggiungere un sottoinsieme.

  11. Quanto vale |SD|? • Ipotesi: numero utenti N potenza di 2. vi vi 1 1 vj vj vj vj Sia vi il nodo radice di un albero di altezza k. Allora vj può assumere: 2k+(2k -1) -1= 2*2k -2 posizioni 2 3 2 3 vj vj vj vj S1,2 S1,3 4 5 6 7 |SD|=2 S1,2 S1,3 S1,4 S1,5 S1,6 S1,7 |SD|=6

  12. Quanto vale |SD|? • Quante posizioni vi può assumere? • Consideriamo l’albero T con altezza k=2 vi #sottoalberi di altezza k=2 => 2lg4-2=1 1 vi vi 2 3 #sottoalberi di altezza k=1 => 2lg4-1=2 4 5 6 7

  13. Quanto vale |SD|? • Quindi: • #Si,j= S[2*2k-2]*2lgN-k lgN k=1 #sottoalberi Ti di altezza k #posizioni che vj può assumere in Ti = 2*S 2k*2lgN-k -2*S 2lgN-k lgN lgN k=1 k=1

  14. Quanto vale |SD|? lgN lgN =2*S N -2* S 2lgN-k • Sia l=lgN-k; Per k=1, si ha l=lgN-1; Per k=lgN, si ha l=0; • Poichè S 2i=2m+1-1, risulta = 2* S N -2*S 2l = 2*N*lgN -2N+2 = O(N*lgN) k=1 k=1 m i=0 lgN lgN-1 k=1 l=0

  15. 2)Assegnamento di chiavi Li,j a Si,j • 1°Caso: Li,j scelte indipendentemente e uniformemente a caso • Quanto vale |Iu|? Tk vj non è sulla path k u memorizza #chiavi Li,j proporzionale al #nodi di Tk che non si trovano sulla path u-root u

  16. Quanto vale |Iu|? • Relativamente all’albero Tk Iu=2k+2k-1-(k+1)=2*2k-k-2 • Quindi occorre tener conto di tutti gli alberi di altezza k, per 1<=k<=lgN path #foglie #nodi interni

  17. Quanto vale |Iu|? lgN lgN lgN • Iu=S (2k+1-k-2)=S2k+1 – S (k+2) = 2*S2k -S k -2*lgN Poichè Sh =m(m+1)/2 e S 2i=2m+1-1, risulta = 2*(2lgN+1-2)–lgN(lgN+1)/2 -2*lgN = 4*N -4 –lgN(lgN+1)/2 -2lgN = O(N) k=1 k=1 k=1 lgN lgN k=1 k=1 m m h=1 i=0

  18. 2)Assegnamento di chiavi Li,j a Si,j • 2°Caso: Li,j calcolate attraverso un generatore pseudo casuale • G:{0,1}n{0,1}3n • S – label casuale del nodo, • G_L(S) – label del figlio sinistro, • G_R(S) – label del figlio destro, • G_M(S) – chiave del nodo. S G_L (S) G_R (S) G (S) = G_L (S) G_M (S) G_R (S)

  19. Calcolo della chiave Li,j associata a Si,j S=Li vi G_L (Li) G_R (Li) G_L(G_L (Li)) G_R(G_L(G_L (Li))) G_L(G_L(G_L (Li))) vj … … … LABELi,j=G_R(G_L(G_L (Li))) Li,j =G_M (LABELi,j)

  20. Calcolo e distribuzione delle etichette LABELi,j • Ogni utente corrisponde ad una foglia dell’albero. • Ad ogni nodo interno vi viene associato un valore casuale Li • Le etichette LABELi,j associate ai sottoinsiemi differenza Si,j sono calcolate a partire da Li

  21. Calcolo e distribuzione delle etichette LABELi,j • Per ogni antenato vi di u con label casuale Li, u riceve tutte le etichette pseudocasuali LABELi,j associate ai nodi vj che sono a distanza uno dalla path da vi ad u. • A partire da esse, l’utente u può calcolare le etichette di tutti i sottoinsiemi differenza Si,ja cui appartiene, relativamente all’albero radicato in vi. • Calcolata l’etichetta LABELi,j, l’utente può calcolare la chiave Li,j vi u

  22. Etichette • Quante etichette deve memorizzare u per poter calcolare le chiavi Li,j di tutti i sottoinsiemi differenza a cui appartiene? • Ogni path con k nodi contribuisce con k-1 etichette, quindi #totetichette =S (k-1)+1 = lgN*(logN+1)/2+1 = O(lg2N) lgN+1 k=1

  23. Perché funziona? (light …) • Osservazione 1. Ogni nodo vj che non è un antenato di u in Ti ha un’etichetta LABELi,j che può essere calcolata a partire da un’etichetta di un nodo a distanza uno dalla path u – root di Ti • Osservazione 2. Un utente u non è in grado di calcolare chiavi associate a sottoinsiemi differenza a cui non appartiene

  24. LSD (Layered Subset Difference) Idea: “sfoltire” la collezione di sottoinsiemi di SD {S1…Sw} e permettere di ricoprire N\R ancora con O(r) sottoinsiemi ma in modo tale che l’utente u memorizzi O(lg3/2N) etichette

  25. vi 1 vk 2 3 vj 4 5 6 7 8 9 10 11 12 13 14 15 Si,,j = Si,k U Sk,,j Se vi,vk,vj sono vertici che occorrono in questo ordine lungo una path radice-foglia allora Si,j può sempre essere ottenuto come l’unione di Si,k e Sk,j, cioè, se “serve” Si,j si possono usare Si,k e Sk,j

  26. La collezione di insiemi Si,j in LSD si ottiene restringendo i livelli in cui i vertici vi e vj possono stare Livello Speciale lgN Strato 2lgN

  27. Identifichiamo nell’albero lgN livelli speciali. I livelli tra due livelli speciali compresi gli estremi formano uno strato. Si,j è nella collezione di sottoinsiemi di LSD se e solo se : vi giace su un livello speciale vi e vj appartengono allo stesso strato Livelli speciali e strati

  28. Esempio di funzionamento v1 v2 v3 v4 v5 v6 v7 v8 v12 v13 v14 v15 v9 v10 v11 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 u12 u13 u14 u15 u16 SD: Sv4,u1, Sv10,u5, Sv11,u8, Sv3,u12; LSD: Sv4,u1, Sv10,u5, Sv11,u8, Sv3,v6, Sv6,u12; Livelli speciali Strati

  29. Collezione di sottoinsiemi LSD Insiemi Si,j che soddisfano le condizioni sono detti utili lgN(lgN* lgN) + lgN*lgN = 0(lg3/2N) #strati #livelli speciali #posizioni di vj nel caso peggiore(vi sul 1°livello speciale) #etichette di ogni strato

  30. Riferimenti D. Naor, M. Naor and J. Lotspiech. Revocation and Tracing Schemes for Stateless Receivers. Advances in Cryptology, Proceedings of Crypto'01, Lecture Notes in Computer Science, Vol. 2139, pp. 41--62, 2001. D. Halevy and A. Shamir. The LSD Broadcast Encryption Scheme. Advances in Cryptology, Proceedings of Crypto '02, Lecture Notes in Computer Science, Vol. 2442, pp. 47--60, 2002.

More Related