30
SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. D’Arco

SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

Embed Size (px)

Citation preview

Page 1: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

SD e LSD

Presentazione di:

Gaetano Ragozzino

Lezione tenuta dal

Prof. P. D’Arco

Page 2: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

SD (Subset Difference)SD (Subset Difference)

Obiettivo:Ridurre la lunghezza dell’header da O(r*lg(N/r)) a Obiettivo:Ridurre la lunghezza dell’header da O(r*lg(N/r)) a O(r)O(r)

Idea: Ampliare la collezione di sottoinsiemi {SIdea: Ampliare la collezione di sottoinsiemi {S11…S…Snn} con cui } con cui ricoprire N\Rricoprire N\R

Page 3: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

1)Collezione di sottoinsiemi S1)Collezione di sottoinsiemi S11…S…Sw w con cui ricoprire N\Rcon cui ricoprire N\R

SSi,ji,j={sottoinsiemi di foglie discendenti da v={sottoinsiemi di foglie discendenti da vii ma non da v ma non da vjj}}

SD={tutti i sottoinsiemi differenza SSD={tutti i sottoinsiemi differenza Si,ji,j}}

… ……

vi

vj

vi

vj

Page 4: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

2)Assegnamento di chiavi L2)Assegnamento di chiavi L i,j i,j ai sottoinsiemi Sai sottoinsiemi Si,ji,j

1°Caso: L1°Caso: Li,j i,j scelte indipendentemente e uniformemente a scelte indipendentemente e uniformemente a casocaso

2°Caso: L2°Caso: Li,ji,j calcolate attraverso un generatore pseudo calcolate attraverso un generatore pseudo casualecasuale

Page 5: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

Dato R, calcoliamo l’albero di Steiner (ST(R)) e poniamo Dato R, calcoliamo l’albero di Steiner (ST(R)) e poniamo T=ST(R)T=ST(R)

i=1

m

3) Partizionamento di N\R=U S3) Partizionamento di N\R=U S ii

1

4

2

9

18

5

11

22

6

3

13

27

Page 6: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

1.Siano v1.Siano vii e v e vjj due foglie t.c. il più piccolo antenato v non due foglie t.c. il più piccolo antenato v non contenga altre foglie di T. Siano vcontenga altre foglie di T. Siano vee e v e vkk figli di v t.c. v figli di v t.c. v ii discende da vdiscende da ve e e ve vjj da v da vkk..

2.Se v2.Se vee è diverso da v è diverso da vii aggiungi S aggiungi Se,ie,i.. Se vSe vkk è diverso da v è diverso da vjj aggiungi Saggiungi Sk,jk,j..

3.Rimuovi da T tutti i discendenti di v e trasforma v in una 3.Rimuovi da T tutti i discendenti di v e trasforma v in una foglia.foglia.

4.Se rimane una foglia termina, altrimenti ritorna al passo 1.4.Se rimane una foglia termina, altrimenti ritorna al passo 1.

Procedura di partizionamentoProcedura di partizionamento

Page 7: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

1

4

2

8

16 17

9

18 19

5

10

20 21

11

22 23

6

3

12

24 25

13

26 27

7

14

28 29

15

30 31

R={18,22,27}; vi=18; vj=22; v=2; ve=4; vk=5;

1)

2)S4,18, S5,22

v

ve vk

R R R

3)

Page 8: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

1

2

6

3

12

24 25

13

26 27

7

14

28 29

15

30 31

ve=vi

vj=R

vi=2; vj=27; v=1; ve=2; vk=3;

1) vvk

2)S4,18, S5,22,, S3,27

3)

Rimane solo la radice

Page 9: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

1

4

2

8

16 17

9

18 19

5

10

20 21

11

22 23

6

3

12

24 25

13

26 27

7

14

28 29

15

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

Page 10: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

Taglia Header?Taglia Header?

Lemma. Dato un qualsiasi insieme di revocati R, il metodo Lemma. Dato un qualsiasi insieme di revocati R, il metodo precedente partiziona N\R in al più 2r-1 sottoinsiemi precedente partiziona N\R in al più 2r-1 sottoinsiemi disgiunti.disgiunti.

Ad ogni passo vengono aggiunti alla copertura al più due Ad ogni passo vengono aggiunti alla copertura al più due sottoinsiemi differenza e il numero di revocati diminuisce di sottoinsiemi differenza e il numero di revocati diminuisce di uno ad eccezione dell’ultimo passo che potrebbe non uno ad eccezione dell’ultimo passo che potrebbe non ridurre il numero di revocati e aggiungere un sottoinsieme.ridurre il numero di revocati e aggiungere un sottoinsieme.

Page 11: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

Quanto vale |SD|?Quanto vale |SD|?

Ipotesi: numero utenti N potenza di 2.Ipotesi: numero utenti N potenza di 2.

1

2 3

vi

vj vj

S1,2 S1,3

|SD|=2

1

2

4 5

3

6 7

vi

vj vj

vjvj vj vj

S1,2 S1,3 S1,4

S1,5 S1,6 S1,7

|SD|=6

Sia vi il nodo radice di un albero di altezza k.

Allora vj può assumere:

2k+(2k -1) -1= 2*2k -2 posizioni

Page 12: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

Quanto vale |SD|?Quanto vale |SD|?

Quante posizioni vQuante posizioni vi i può assumere?può assumere?

Consideriamo l’albero T con altezza k=2Consideriamo l’albero T con altezza k=2

1

2

4 5

3

6 7

vi

vi vi

#sottoalberi di altezza

k=2 => 2lg4-2=1

#sottoalberi di altezza

k=1 => 2lg4-1=2

Page 13: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

Quanto vale |SD|?Quanto vale |SD|?

Quindi:Quindi:

#S#Si,ji,j= = [2*2[2*2kk-2]*2-2]*2lgN-klgN-k

#posizioni che vj può assumere in Ti

#sottoalberi Ti di altezza k

= 2* 2k*2lgN-k -2* 2lgN-k

k=1

lgN

lgN

k=1

lgN

k=1

Page 14: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

Quanto vale |SD|?Quanto vale |SD|?

=2*=2* N -2* N -2* 22lgN-klgN-k

Sia l=lgN-k; Per k=1, si ha l=lgN-1; Per k=lgN, si ha l=0;Sia l=lgN-k; Per k=1, si ha l=lgN-1; Per k=lgN, si ha l=0;

Poichè Poichè 2 2ii=2=2m+1m+1-1, risulta-1, risulta

= 2* = 2* N -2* N -2* 2 2ll

= 2*N*lgN -2N+2= 2*N*lgN -2N+2

= O(N*lgN)= O(N*lgN)

lgN

k=1

lgN

k=1

m

i=0

lgN

k=1 l=0

lgN-1

Page 15: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

2)Assegnamento di chiavi L2)Assegnamento di chiavi L i,j i,j a Sa Si,ji,j

1°Caso: L1°Caso: Li,j i,j scelte indipendentemente e uniformemente a scelte indipendentemente e uniformemente a casocaso

Quanto vale |IQuanto vale |Iuu|?|?

u

vj non è sulla path

Tk

ku memorizza #chiavi Li,j proporzionale al #nodi di Tk che non si trovano sulla path u-root

Page 16: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

Quanto vale |IQuanto vale |Iuu|?|?

Relativamente all’albero TRelativamente all’albero Tkk

IIuu=2=2kk+2+2kk-1-(k+1)=2*2-1-(k+1)=2*2kk-k-2-k-2

Quindi occorre tener conto di tutti gli alberi di altezza k, per Quindi occorre tener conto di tutti gli alberi di altezza k, per 1<=k<=lgN1<=k<=lgN

#foglie

#nodi interni

path

Page 17: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

Quanto vale |IQuanto vale |Iuu|?|?

IIuu== (2 (2k+1k+1-k-2)=-k-2)= 22k+1 k+1 – – (k+2)(k+2)

= 2*= 2* 22k k -- k -2*lgN k -2*lgN

Poichè Poichè h =m(m+1)/2 e h =m(m+1)/2 e 2 2ii=2=2m+1m+1-1, risulta-1, risulta

= 2*(2= 2*(2lgN+1lgN+1-2)-2) –lgN(lgN+1)/2 -2*lgN–lgN(lgN+1)/2 -2*lgN

= 4*N -4 –lgN(lgN+1)/2 -2lgN = 4*N -4 –lgN(lgN+1)/2 -2lgN

= O(N) = O(N)

k=1

lgN

k=1

lgN

k=1

lgN

k=1

lgN

k=1

lgN

h=1

m m

i=0

Page 18: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

2°Caso: L2°Caso: Li,ji,j calcolate attraverso un generatore pseudo calcolate attraverso un generatore pseudo casualecasuale

G:{0,1}G:{0,1}nn {0,1}{0,1}3n3n

S – label casuale del nodo,S – label casuale del nodo,

G_LG_L(S) – label del figlio sinistro,(S) – label del figlio sinistro,

G_RG_R(S) – label del figlio destro,(S) – label del figlio destro,

G_MG_M(S) – chiave del nodo.(S) – chiave del nodo.G (S) = G_L (S) G_M (S) G_R (S)

S

G_L (S) G_R (S)

2)Assegnamento di chiavi L2)Assegnamento di chiavi L i,j i,j a Sa Si,ji,j

Page 19: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

S=Li

G_L (Li)

G_L(G_L (Li))

G_L(G_L(G_L (Li)))

LABELi,j = G_R(G_L(G_L (Li)))

Li,j = G_M (LABELi,j )

… …

G_R(G_L(G_L (Li)))

G_R (Li)

vi

vj

Calcolo della chiave LCalcolo della chiave L i,j i,j associata a Sassociata a Si,ji,j

Page 20: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

Ogni utente corrisponde ad una fogliaOgni utente corrisponde ad una foglia dell’albero.dell’albero.

Ad ogni nodo interno vAd ogni nodo interno vii viene associato un viene associato un valore casuale Lvalore casuale Lii

Le etichette Le etichette LABELi,j associate ai sottoinsiemi associate ai sottoinsiemi differenza Sdifferenza Si,ji,j sono calcolate a partire da L sono calcolate a partire da Li i

Calcolo e distribuzione delle etichette Calcolo e distribuzione delle etichette LABELi,j

Page 21: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

Per ogni antenato Per ogni antenato vvii di di u u con label con label casuale casuale Li, , uu riceve tutte le etichette riceve tutte le etichette pseudocasuali pseudocasuali LABELi,j associate ai nodi associate ai nodi vvjj che sono che sono a distanza unoa distanza uno dalla path da dalla path da vvii ad ad uu. .

A partire da esse, l’utente A partire da esse, l’utente uu può può calcolare le etichette di calcolare le etichette di tutti i tutti i sottoinsiemi differenza Ssottoinsiemi differenza Si,ji,j a cui a cui appartiene, relativamente all’albero appartiene, relativamente all’albero radicato in radicato in vvii..

Calcolata l’etichetta Calcolata l’etichetta LABELi,j, l’utente può calcolare la chiave Li,j

vi

uu

Calcolo e distribuzione delle etichette Calcolo e distribuzione delle etichette LABELi,j

Page 22: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

Quante etichette deve memorizzare u per poter calcolare le Quante etichette deve memorizzare u per poter calcolare le chiavi Lchiavi Li,ji,j di tutti i sottoinsiemi differenza a cui appartiene? di tutti i sottoinsiemi differenza a cui appartiene?

Ogni path con k nodi contribuisce con k-1 etichette, quindiOgni path con k nodi contribuisce con k-1 etichette, quindi #totetichette =#totetichette = (k-1)+1 (k-1)+1

= lgN*(logN+1)/2+1= lgN*(logN+1)/2+1

= O(lg= O(lg22N)N)

k=1

lgN+1

Etichette

Page 23: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

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

Page 24: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

LSD (Layered Subset Difference)LSD (Layered Subset Difference)

Idea: “sfoltire” la collezione di sottoinsiemi di SD {SIdea: “sfoltire” la collezione di sottoinsiemi di SD {S11…S…Sww} e } e permettere di ricoprire N\R ancora con O(r) sottoinsiemi ma permettere di ricoprire N\R ancora con O(r) sottoinsiemi ma in modo tale che l’utente u memorizzi O(lgin modo tale che l’utente u memorizzi O(lg3/23/2N) etichetteN) etichette

Page 25: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

2

1

4

8 9

5

10 11

3

6

12 13

7

14 15

vi

Si,,j = Si,k U Sk,,j

vk

vj

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

Page 26: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

La collezione di insiemi SLa collezione di insiemi Si,ji,j in LSD si ottiene restringendo i in LSD si ottiene restringendo i livelli in cui i vertici vlivelli in cui i vertici vii e v e vjj possono stare possono stare

Strato

lgN

Livello Speciale

2lgN

Page 27: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

Identifichiamo nell’albero Identifichiamo nell’albero lgN livelli speciali. I livelli tra due lgN livelli speciali. I livelli tra due livelli speciali compresi gli estremi formano uno strato. Slivelli speciali compresi gli estremi formano uno strato. S i,ji,j è è nella collezione di sottoinsiemi di LSD se e solo se :nella collezione di sottoinsiemi di LSD se e solo se :

vvii giace su un livello speciale giace su un livello speciale

vvii e v e vjj appartengono allo stesso strato appartengono allo stesso strato

Livelli speciali e strati

Page 28: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

Esempio di funzionamentoEsempio di funzionamento

v2

v4 v5

v1

v8 v10v9 v11v12 v13 v14 v15

v3

v6 v7

u1 u2 u3 u4 u5 u8 u9u7u6 u10 u11 u12 u13 u16u15u14

SD: Sv4,u1, Sv10,u5, Sv11,u8, Sv3,u12;

LSD: Livelli speciali

Strati

Sv11,u8,Sv10,u5,Sv4,u1, Sv3,v6, Sv6,u12;

Page 29: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

Collezione di sottoinsiemi LSDCollezione di sottoinsiemi LSD

Insiemi SInsiemi Si,ji,j che soddisfano le condizioni sono detti che soddisfano le condizioni sono detti utiliutili

lgN(lgN(lgN* lgN* lgN) + lgN) + lgN*lgN = 0(lglgN*lgN = 0(lg3/23/2N) N)

#strati

#etichette di ogni strato

#livelli speciali

#posizioni di vj nel caso peggiore(vi sul 1°livello speciale)

Page 30: SD e LSD Presentazione di: Gaetano Ragozzino Lezione tenuta dal Prof. P. DArco

RiferimentiRiferimenti

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.