On Symmetric Key Broadcast Encryption Sanjay Bhattacherjee and - - PowerPoint PPT Presentation

on symmetric key broadcast encryption
SMART_READER_LITE
LIVE PREVIEW

On Symmetric Key Broadcast Encryption Sanjay Bhattacherjee and - - PowerPoint PPT Presentation

On Symmetric Key Broadcast Encryption Sanjay Bhattacherjee and Palash Sarkar Indian Statistical Institute, Kolkata Elliptic Curve Cryptography (This is not) 2014 isilogo Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 1 / 53


slide-1
SLIDE 1

isilogo

On Symmetric Key Broadcast Encryption

Sanjay Bhattacherjee and Palash Sarkar

Indian Statistical Institute, Kolkata

Elliptic Curve Cryptography (This is not) 2014

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 1 / 53

slide-2
SLIDE 2

isilogo

Conventional Symmetric Key Encryption

Receiver Sender message M Decrypt Encrypt ciphertext public channel secret key K secret key K adversary

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 2 / 53

slide-3
SLIDE 3

isilogo

Symmetric Key Broadcast Encryption

Centre Users Users Users

Broadcast

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 3 / 53

slide-4
SLIDE 4

isilogo

Symmetric Key BE Functionality

The centre pre-distributes secret information to the users. A broadcast takes place in a session. For each session:

Some users are privileged and the rest are revoked. The actual message is encrypted once using a session key. The session key undergoes a number of separate encryptions. This determines the header. Only the privileged users are able to decrypt. A coalition of all the revoked users get no information about the message.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 4 / 53

slide-5
SLIDE 5

isilogo

Parameters of Interest

Size of the header. Size of the secret information required to be stored by the users. Time required by the centre to encrypt. Time required by a user to decrypt. Hdr sz and enc time are proportional to # enc of the session key. Requirement: Reduce header size, user storage and decryption time.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 5 / 53

slide-6
SLIDE 6

isilogo

Applications of BE

AACS standard: content protection in optical discs: Disney, Intel, Microsoft, Panasonic, Warner Bros., IBM, Toshiba and Sony. Pay-TV: BSkyB in UK and Ireland has a subscriber base of over 10 million; Cable Television Networks (Regulation) Amendment Act, 2011 (India). File Sharing in Encrypted File Systems. Encrypted Email to Mailing Lists. Military Broadcasts: Global Broadcast Service (US), Joint Broadcast System (Europe). . . .

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 6 / 53

slide-7
SLIDE 7

isilogo

Subset Cover Schemes

Identify a collection S consisting of subsets of users. Assign keys to each subset in S. To each user, assign secret information such that it is able to generate secret keys for each subset in S to which it belongs; and no more. During a broadcast, form a partition {S1, . . . , Sh} of the set of privileged users with Si ∈ S. The session key is encrypted using the keys for S1, . . . , Sh. Each privileged user can decrypt; no coalition of revoked users gains any information about the session key (or the message).

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 7 / 53

slide-8
SLIDE 8

isilogo

Subset Difference Scheme

Naor-Naor-Lotspiech (2001): patented, AACS standard. Assumes an underlying full binary tree

16 15 17 18 19 20 21 22 12 13 14 11 10 9 8 7 3 4 5 6 2 1 2 23 24 25 26 27 28 29 30 Level Numbers 1 4 3

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 8 / 53

slide-9
SLIDE 9

isilogo

Subsets in the collection S

Si,j = Ti \ Tj: has all users that are in Ti but not in Tj

j i

Collection S: has all subsets Si,j such that j(= i) is in the subtree Ti.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 9 / 53

slide-10
SLIDE 10

isilogo

Key Assignment

Pseudo-random generator (PRG): G : {0, 1}k → {0, 1}3k G(seed) = GL(seed)||GM(seed)||GR(seed)

Figure : Key of Si,j: Li,j = GM(GR(GL(GL(seedi))))

slide-11
SLIDE 11

isilogo

Key Assignment

Pseudo-random generator (PRG): G : {0, 1}k → {0, 1}3k G(seed) = GL(seed)||GM(seed)||GR(seed)

seedi

Figure : Key of Si,j: Li,j = GM(GR(GL(GL(seedi))))

slide-12
SLIDE 12

isilogo

Key Assignment

Pseudo-random generator (PRG): G : {0, 1}k → {0, 1}3k G(seed) = GL(seed)||GM(seed)||GR(seed)

seedi j

Figure : Key of Si,j: Li,j = GM(GR(GL(GL(seedi))))

slide-13
SLIDE 13

isilogo

Key Assignment

Pseudo-random generator (PRG): G : {0, 1}k → {0, 1}3k G(seed) = GL(seed)||GM(seed)||GR(seed)

seedi j GL(seedi ) GR(seedi )

Figure : Key of Si,j: Li,j = GM(GR(GL(GL(seedi))))

slide-14
SLIDE 14

isilogo

Key Assignment

Pseudo-random generator (PRG): G : {0, 1}k → {0, 1}3k G(seed) = GL(seed)||GM(seed)||GR(seed)

seedi j GL(seedi ) GR(seedi ) GL(GL(seedi )) GR(GL(seedi ))

Figure : Key of Si,j: Li,j = GM(GR(GL(GL(seedi))))

slide-15
SLIDE 15

isilogo

Key Assignment

Pseudo-random generator (PRG): G : {0, 1}k → {0, 1}3k G(seed) = GL(seed)||GM(seed)||GR(seed)

seedi j GL(seedi ) GR(seedi ) GL(GL(seedi )) GR(GL(seedi )) GR(GL(GL(seedi )))

Figure : Key of Si,j: Li,j = GM(GR(GL(GL(seedi))))

slide-16
SLIDE 16

isilogo

Key Assignment

Pseudo-random generator (PRG): G : {0, 1}k → {0, 1}3k G(seed) = GL(seed)||GM(seed)||GR(seed)

seedi j GL(seedi ) GR(seedi ) GL(GL(seedi )) GR(GL(seedi )) GR(GL(GL(seedi )))

Figure : Key of Si,j: Li,j = GM(GR(GL(GL(seedi))))

slide-17
SLIDE 17

isilogo

Key Assignment

Pseudo-random generator (PRG): G : {0, 1}k → {0, 1}3k G(seed) = GL(seed)||GM(seed)||GR(seed)

seedi j GL(seedi ) GR(seedi ) GL(GL(seedi )) GR(GL(seedi )) GR(GL(GL(seedi ))) Li,j = GM (GR(GL(GL(seedi ))))

Figure : Key of Si,j: Li,j = GM(GR(GL(GL(seedi))))

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 10 / 53

slide-18
SLIDE 18

isilogo

Assigning seeds to users

Figure : From one derived seed, keys of many subsets can be generated

slide-19
SLIDE 19

isilogo

Assigning seeds to users

T i u T i u

Figure : From one derived seed, keys of many subsets can be generated

slide-20
SLIDE 20

isilogo

Assigning seeds to users

T i u T i u T j

Figure : From one derived seed, keys of many subsets can be generated

slide-21
SLIDE 21

isilogo

Assigning seeds to users

T i u T i u T j

Figure : From one derived seed, keys of many subsets can be generated

slide-22
SLIDE 22

isilogo

Assigning seeds to users

T i u T i u T j T j

Figure : From one derived seed, keys of many subsets can be generated

slide-23
SLIDE 23

isilogo

Assigning seeds to users

T i u T i u T j T j

Figure : From one derived seed, keys of many subsets can be generated

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 11 / 53

slide-24
SLIDE 24

isilogo

Assigning seeds to users

T i u T i u

Figure : From one derived seed, keys of many subsets can be generated

slide-25
SLIDE 25

isilogo

Assigning seeds to users

T i u T i u T j

Figure : From one derived seed, keys of many subsets can be generated

slide-26
SLIDE 26

isilogo

Assigning seeds to users

T i u T i u T j

Figure : From one derived seed, keys of many subsets can be generated

slide-27
SLIDE 27

isilogo

Assigning seeds to users

T i u T i u T j T j

Figure : From one derived seed, keys of many subsets can be generated

slide-28
SLIDE 28

isilogo

Assigning seeds to users

T i u T i u T j T j

Figure : From one derived seed, keys of many subsets can be generated

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 12 / 53

slide-29
SLIDE 29

isilogo

User Storage

Figure : Secrets stored by u

User u stores: for every Ti to which it belongs, the derived labels of nodes “falling-off” from the path between i and u, derived from seedi.

slide-30
SLIDE 30

isilogo

User Storage

u

Figure : Secrets stored by u

User u stores: for every Ti to which it belongs, the derived labels of nodes “falling-off” from the path between i and u, derived from seedi.

slide-31
SLIDE 31

isilogo

User Storage

u

seedi

Figure : Secrets stored by u

User u stores: for every Ti to which it belongs, the derived labels of nodes “falling-off” from the path between i and u, derived from seedi.

slide-32
SLIDE 32

isilogo

User Storage

u

seedi

Figure : Secrets stored by u

User u stores: for every Ti to which it belongs, the derived labels of nodes “falling-off” from the path between i and u, derived from seedi.

slide-33
SLIDE 33

isilogo

User Storage

u

seedi GR(seedi )

Figure : Secrets stored by u

User u stores: for every Ti to which it belongs, the derived labels of nodes “falling-off” from the path between i and u, derived from seedi.

slide-34
SLIDE 34

isilogo

User Storage

u

seedi GR(seedi ) GL(seedi )

Figure : Secrets stored by u

User u stores: for every Ti to which it belongs, the derived labels of nodes “falling-off” from the path between i and u, derived from seedi.

slide-35
SLIDE 35

isilogo

User Storage

u

seedi GR(seedi ) GL(seedi )

Figure : Secrets stored by u

User u stores: for every Ti to which it belongs, the derived labels of nodes “falling-off” from the path between i and u, derived from seedi.

slide-36
SLIDE 36

isilogo

User Storage

u

seedi GR(seedi ) GL(seedi ) GR(GL(seedi ))

Figure : Secrets stored by u

User u stores: for every Ti to which it belongs, the derived labels of nodes “falling-off” from the path between i and u, derived from seedi.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 13 / 53

slide-37
SLIDE 37

isilogo

User Storage

u

seedi GR(seedi ) GR(GL(seedi ))

Figure : Secrets stored by u

User u stores: for every Ti to which it belongs, the derived labels of nodes “falling-off” from the path between i and u, derived from seedi.

slide-38
SLIDE 38

isilogo

User Storage

u

seedi GR(seedi ) GR(GL(seedi )) GR(GL(GL(seedi )))

Figure : Secrets stored by u

User u stores: for every Ti to which it belongs, the derived labels of nodes “falling-off” from the path between i and u, derived from seedi.

slide-39
SLIDE 39

isilogo

User Storage

u

seedi GR(seedi ) GR(GL(seedi )) GR(GL(GL(seedi )))

Figure : Secrets stored by u

User u stores: for every Ti to which it belongs, the derived labels of nodes “falling-off” from the path between i and u, derived from seedi.

slide-40
SLIDE 40

isilogo

User Storage

u

seedi GR(seedi ) GR(GL(seedi )) GR(GL(GL(seedi ))) GR(GL(GL(GL(seedi ))))

Figure : Secrets stored by u

User u stores: for every Ti to which it belongs, the derived labels of nodes “falling-off” from the path between i and u, derived from seedi.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 14 / 53

slide-41
SLIDE 41

isilogo

Subset Cover Finding Algorithm

Si,j = Ti \ Tj

slide-42
SLIDE 42

isilogo

Subset Cover Finding Algorithm

Si,j = Ti \ Tj

slide-43
SLIDE 43

isilogo

Subset Cover Finding Algorithm

Si,j = Ti \ Tj

slide-44
SLIDE 44

isilogo

Subset Cover Finding Algorithm

Si,j = Ti \ Tj

slide-45
SLIDE 45

isilogo

Subset Cover Finding Algorithm

Si,j = Ti \ Tj

slide-46
SLIDE 46

isilogo

Subset Cover Finding Algorithm

j1 j2

Si,j = Ti \ Tj

slide-47
SLIDE 47

isilogo

Subset Cover Finding Algorithm

j1 j2 i1 i2

Si,j = Ti \ Tj

slide-48
SLIDE 48

isilogo

Subset Cover Finding Algorithm

j1 j2 i1 i2 Si1,j1 Si2,j2

Si,j = Ti \ Tj

slide-49
SLIDE 49

isilogo

Subset Cover Finding Algorithm

j1 j2 i1 i2 Si1,j1 Si2,j2

Covered Si,j = Ti \ Tj

slide-50
SLIDE 50

isilogo

Subset Cover Finding Algorithm

j1 j2 i1 i2 Si1,j1 Si2,j2

Covered

i3

Si,j = Ti \ Tj

slide-51
SLIDE 51

isilogo

Subset Cover Finding Algorithm

j1 j2 i1 i2 Si1,j1 Si2,j2

Covered

i3

Si,j = Ti \ Tj

slide-52
SLIDE 52

isilogo

Subset Cover Finding Algorithm

j1 j2 i1 i2 Si1,j1 Si2,j2

Covered

i3 j3

Si,j = Ti \ Tj

slide-53
SLIDE 53

isilogo

Subset Cover Finding Algorithm

j1 j2 i1 i2 Si1,j1 Si2,j2

Covered

i3 j3 i4

Si,j = Ti \ Tj

slide-54
SLIDE 54

isilogo

Subset Cover Finding Algorithm

j1 j2 i1 i2 Si1,j1 Si2,j2

Covered

i3 j3 i4 Si4,j3

Si,j = Ti \ Tj

slide-55
SLIDE 55

isilogo

Subset Cover Finding Algorithm

j1 j2 i1 i2 Si1,j1 Si2,j2

Covered

i3 j3 i4 Si4,j3

Covered Si,j = Ti \ Tj

slide-56
SLIDE 56

isilogo

Subset Cover Finding Algorithm

j1 j2 i1 i2 Si1,j1 Si2,j2

Covered

i3 j3 i4 Si4,j3

Covered

i5

Si,j = Ti \ Tj

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 15 / 53

slide-57
SLIDE 57

isilogo

NNL-SD Parameters

For n users out of which r are revoked: User storage needed: O(log2(n)). Header length in the worst case: 2r − 1. Decryption time in the worst case: O(log n).

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 16 / 53

slide-58
SLIDE 58

isilogo

Layered Subset Difference Scheme

Halevy-Shamir (CRYPTO, 2002) Some levels are marked as “special”.

16 15 17 18 19 20 21 22 12 13 14 11 10 9 8 7 3 4 5 6 2 1 4 2 Special Levels 23 24 25 26 27 28 29 30 Layer 1 Layer 2

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 17 / 53

slide-59
SLIDE 59

isilogo

Layered SD Scheme

special level T i T k T j

Figure : The subset Si,j split into Si,k (green leaves) and Sk,j (grey leaves).

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 18 / 53

slide-60
SLIDE 60

isilogo

Layered SD Scheme

Li,k = GM (seedi,k ) k seedi seedi,k = GL(seedi ) GR(seedi ) special level k j seedk GL(seedk ) GR(seedk ) seedk,j = GR(GL(seedk )) Lk,j = GM (seedk,j )

Figure : Key for Si,k is Li,k = GM(GL(seedi)) and for Sk,j is Lk,j = GM(GR(GL(seedk))).

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 19 / 53

slide-61
SLIDE 61

isilogo

Important Parameters

NNL-SD scheme: User storage needed: O(log2(n)). Maximum Header Length: 2r − 1. HS-LSD scheme: User Storage needed: O(log3/2 n). Maximum header length: 4r − 2.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 20 / 53

slide-62
SLIDE 62

isilogo

Some Questions

What is the expected header length of the NNL scheme? The NNL and the HS schemes are based on full binary trees; What happens if the number of users is not a power of two? Is the user storage achieved in the HS scheme the minimum possible? Is the (expected) header length achieved in the NNL scheme the minimum possible? What happens if we use trees of arity higher than 2?

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 21 / 53

slide-63
SLIDE 63

isilogo

Tackling Arbitrary Number of Users

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 22 / 53

slide-64
SLIDE 64

isilogo

Complete Tree SD Scheme

Question: What happens when the number of users is not a power of two? Answer: Add dummy users to get to the next power of two. If the dummy users are considered revoked, then the effect on the header length is disastrous. If the dummy users are privileged, the situation is better but, there is still a measureable effect on the header length. Solution: Use a complete binary tree. “Completes” (and also subsumes) the NNL-SD scheme to work for any number of users. Conceptually simple; working out the details is a bit involved.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 23 / 53

slide-65
SLIDE 65

isilogo

CTSD Scheme: Header Length Analysis

N(n, r, h): number of revocation patterns with n users, out of which r users are revoked and the header length is h. Recurrence relation for N(n, r, h). N(λi, r1, h1) = T(λi, r1, h1) +

j∈IN(i) T(λj, r1, h1 − 1)

where IN(i) is the set of all internal nodes in the subtree T i excluding the node i. T(λi, r1, h1) = r1−1

r ′=1

h1

h′=0 N(λ2i+1, r ′, h′)×N(λ2i+2, r1−r ′, h1−h′)

where λ2i+1 (respectively λ2i+2) is the number of leaves in the left (respectively right) subtree of T i.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 24 / 53

slide-66
SLIDE 66

isilogo

Boundary Conditions

T(λi, r1, h1) r1 < 0 r1 = 0 r1 = 1 2 ≤ r1 < n r1 = n r1 > n h1 = 0 1 h1 ≥ 1 from rec. N(λi, r1, h1) r1 < 0 r1 = 0 r1 = 1 2 ≤ r1 < n r1 = n r1 > n h1 = 0 1 h1 = 1 1 n from rec. h1 > 1 from rec.

Table : Boundary conditions on T(n, r, h) and N(n, r, h).

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 25 / 53

slide-67
SLIDE 67

isilogo

Computing N(n, r, h)

Dynamic Programming: N(n, r, h) can be computed in O(r 2h2 log n + rh log2 n) time and O(rh log n) space. N(n, r, h) for all possible h can be computed in O(r 4 log n + r 2 log n) time and O(r 2 log2 n) space. N(n, r, h) for all possible r and h can be computed in O(n4 log n + n2 log2 n) time and O(n2 log n) space. N(i, r, h) for 2 ≤ i ≤ n and all possible r and h can be computed in O(n5 + n3 log n) time and O(n3) space. Previous to our work, the only known method was to enumerate all possible n

r

  • revocation patterns, run the header generation algorithm

and count the number of patterns leading to a header of size h.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 26 / 53

slide-68
SLIDE 68

isilogo

CTSD: Maximum Header Length

Theorem: The maximum header length in the CTSD method for n users is min(2r − 1, n

2

  • , n − r).

For the NNL-SD scheme, the bound of 2r − 1 was known. Complete picture: if r ≤ n/4, the bound 2r − 1 is appropriate; if n/4 < r ≤ n/2, the bound n/2 is appropriate; and for r > n/2, the bound n − r is appropriate. Using the CTSD method is never worse than individual transmission to privileged users. The proof requires extensive use of the recurrence for N(n, r, h). nr: The value of n for which the header length of 2r − 1 is achieved with r revoked users. A complete characterisation of nr is obtained.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 27 / 53

slide-69
SLIDE 69

isilogo

CTSD: Expected Header Length

Random experiment: Select a random subset of r users out of n users and revoke them. Random variable X i

n,r: takes the value 1 if Si,j is in the header for

some j and 0 otherwise. E[X i

n,r] = Pr[X i n,r = 1].

Hn,r: expected header length for n users with r revoked users. Hn,r = E[X i

n,r] = Pr[X i n,r = 1] where the sum is over all the

n − 1 internal nodes i in the tree.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 28 / 53

slide-70
SLIDE 70

isilogo

CTSD: Expected Header Length

For all nodes i at the same level, Pr[X i

n,r = 1] takes at most 3

possible values. As a consequence, the sum can be re-written to vary over the levels of the tree. Hn,r can be computed in O(r log n) time and O(1) space. Provides granular information: expected number of subsets in the header from all the nodes at a certain level. Since CTSD subsumes NNL-SD, all the results also hold for NNL-SD.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 29 / 53

slide-71
SLIDE 71

isilogo

NNL-SD: Expected Header Length

Theorem: For all n ≥ 1, r ≥ 1, the expected header length Hn,r ↑ Hr, as n increases through powers of two, where Hr = 3r − 2 − 3 ×

r−1

  • i=1
  • − 1

2 i +

i

  • k=1

(−1)k i k (2k − 3k) (2k − 1)

  • .

r 2 3 4 5 6 Hr/r 1.25 1.25 1.2455 1.2446 1.2448

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 30 / 53

slide-72
SLIDE 72

isilogo

Reducing User Storage Below Halevy-Shamir Scheme

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 31 / 53

slide-73
SLIDE 73

isilogo

Halevy-Shamir LSD Scheme

16 15 17 18 19 20 21 22 12 13 14 11 10 9 8 7 3 4 5 6 2 1 4 2 Special Levels 23 24 25 26 27 28 29 30 Layer 1 Layer 2

“The root is considered to be at a special level, and in addition we consider every level of depth k ·

  • log (n) for

k = 1 . . . log (n) as special (wlog, we assume that these numbers are integers).” Works for 2ℓ0 users with ℓ0 = 4, 9, 16, 25 (in the practical range).

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 32 / 53

slide-74
SLIDE 74

isilogo

Halevy-Shamir LSD Scheme

For the case of n = 228, HS suggests special levels to be 28, 22, 16, 10, 5, 0. Nothing is mentioned about how to choose the layer lengths when ℓ0 is not a perfect square.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 33 / 53

slide-75
SLIDE 75

isilogo

Extending the HS Scheme

Residual bottom layer: Write ℓ0 = d(e − 1) + p where 1 ≤ p ≤ d. Then the special levels are ℓ0, ℓ0 − d, ℓ0 − 2d, . . ., ℓ − d(e − 1), 0. Balanced layering: Write ℓ0 = d(e − 1) + p = (e − d + p)d + (d − p)(d − 1). Define the layer lengths from the top to be (d, . . . , d

  • e−d+p

, d − 1, . . . , d − 1

  • d−p

).

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 34 / 53

slide-76
SLIDE 76

isilogo

Extending the HS Scheme

Both strategies (residual bottom; balanced) can be shown to provide the same user storage. Having smaller layers nearer the top increases the user storage. The balanced layering strategy provides slightly smaller expected header length. We call this the extended-HS (eHS) layering strategy.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 35 / 53

slide-77
SLIDE 77

isilogo

Layering Strategy

A choice of special levels is called a layering strategy. A layering strategy ℓ is denoted by the numbers of the special levels ℓ0 > ℓ1 > ... > ℓe−1 > ℓe = 0. The layering strategy has (e + 1) special levels. Let ℓ = (ℓ0, . . . , ℓe). In general, the layer lengths need not be (almost) equal.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 36 / 53

slide-78
SLIDE 78

isilogo

Layering Strategy and User Storage

storage0(ℓ) =

e−1

  • i=0

ℓi + 1 2

e−1

  • i=0

(ℓi − ℓi+1)(ℓi − ℓi+1 − 1). Recursive description: storage0(ℓ0, ℓ1, . . . , ℓe) = ℓ0 + (ℓ0 − ℓ1)(ℓ0 − ℓ1 − 1) 2 + storage0(ℓ1, . . . , ℓe).

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 37 / 53

slide-79
SLIDE 79

isilogo

Root as a Non-Special Layer

Observations: It can be shown that the probability of the root generating a subset in the header is small. Having the root as a special layer increases the user storage. Layering strategy with root as a non-special layer: storage1(ℓ) = storage0(ℓ) − ℓ1. Reduces user storage by ℓ1 at a negligible increase in the expected header size.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 38 / 53

slide-80
SLIDE 80

isilogo

Storage Minimal Layering

Given ℓ0, let SML0(ℓ0) be a layering strategy which minimises the user storage among all layering strategies; #SML0(ℓ0): user storage required by SML0(ℓ0); SML1(ℓ0) and #SML1(ℓ0) corresponds to the case where the root is not special.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 39 / 53

slide-81
SLIDE 81

isilogo

Relations/Recurrences for SML

#SML0(ℓ0) = min

1≤e≤ℓ0

#SML0(e, ℓ0); where #SML0(e, ℓ0) is the minimum storage that can be achieved with e special levels. #SML0(e, ℓ0) = min

(ℓ0,...,ℓe) storage0(ℓ0, ℓ1, . . . , ℓe)

where the minimum is over all possible layering strategies (ℓ0, ℓ1, . . . , ℓe).

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 40 / 53

slide-82
SLIDE 82

isilogo

Relations/Recurrences for SML

#SML0(e, ℓ0) = min

1≤ℓ1<ℓ0

  • ℓ0 + (ℓ0 − ℓ1)(ℓ0 − ℓ1 − 1)

2 + #SML0(e − 1, ℓ1)

  • ;

#SML1(ℓ0) = min

e min ℓ1

  • #SML0(e − 1, ℓ1) + (ℓ0 − ℓ1)(ℓ0 − ℓ1 + 1)

2

  • .

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 41 / 53

slide-83
SLIDE 83

isilogo

Computing SML

Dynamic Programming: An O(ℓ3) time and O(ℓ2) space algorithm to compute #SML0(ℓ0) The actual layering strategy SML0(ℓ0) can also be recovered from the algorithm. Once the table has been computed using dynamic programming, it is possible to obtain #SML1(ℓ0) and SML1(ℓ0).

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 42 / 53

slide-84
SLIDE 84

isilogo

Properties of SML

SML0 and SML1 are not necessarily unique; choose the layering for which expected header length is lower. Removing ℓ0 from SML0 does not necessarily provide SML1. Compared to NNL-SD, eHS reduces storage by a large amount; SML0 reduces storage below eHS by a small amount; SML1 reduces storage below eHS by 18% to 24% in the practical range.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 43 / 53

slide-85
SLIDE 85

isilogo

Examples of SML

Suppose there are 228 users, i.e., ℓ0 = 28: NNL-SD: layering: 28,0; storage: 406. eHS: layering: 28,22,16,10,5,0; storage: 146. SML0: layering: 28,21,15,10,6,3,1,0; storage: 140. SML1: layering: 22,16,11,7,4,2,0; storage: 119.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 44 / 53

slide-86
SLIDE 86

isilogo

Complete Tree LSD Scheme

Question: What if the number of users n is not a power of 2? Answer: Use a complete tree as in the case of the NNL-SD scheme. The notions of layering strategy and storage minimal layering carry over to this case. All users would not be required to store the same amount; the requirement is to minimise the maximum of all the user storages.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 45 / 53

slide-87
SLIDE 87

isilogo

Header Length

Maximum Header Length: At most min (4r − 2, n

2

  • , n − r).

At most min (4r − 3, n

2

  • , n − r) if the root level is special.

Expected Header Length: The splitting of subsets complicates the analysis. An O(r log2 n) time algorithm to compute the expected header length. A very useful tool to analyse various schemes.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 46 / 53

slide-88
SLIDE 88

isilogo

Constrained Minimisation

Question: Is it possible to obtain expected header length close to that

  • f NNL-SD, but, with lower user storage?

For each level, we have an expression for the expected number of subsets arising from the nodes at that level. Suppose ℓ is a level which maximises the above quantity. Question: How to choose ℓ? Answer: How to do this analytically is not clear. Extensive experimentation has shown that ℓ = ℓ0 − log2 r is a good choice.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 47 / 53

slide-89
SLIDE 89

isilogo

Constrained Minimisation Layering

Fix a value of r and set ℓ = ℓ0 − log2 r. Level ℓ is made special, so that subsets arising from level ℓ are not split. All levels below ℓ are made non-special. At most one level above ℓ (mid-way between ℓ and the root) is made special; all other levels are made non-special.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 48 / 53

slide-90
SLIDE 90

isilogo

How to Choose r?

Depending on the application, make an assumption on the minimum value of r, say rmin. If the actual r is greater than rmin, then there is no problem. If the acutal r is smaller than rmin, then the benefits on the header length is not attained. Choosing rmin to be too small will not lead to substantial savings in user storage; choosing rmin to be too large will not provide the desired reduction on header storage.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 49 / 53

slide-91
SLIDE 91

isilogo

A CML Example

Number of users is n = 2ℓ0 with ℓ0 = 28 and suppose rmin = 210. NNL-SD: layering: 28,0; storage: 406. eHS: layering: 28,22,16,10,5,0; storage: 146; header lengths: (1.69, 1.63, 1.64, 1.67, 1.69, 1.72, 1.73, 1.74, 1.75, 1.75). CML: layering: 23, 18,0; storage: 219; header lengths: (1.14, 1.08, 1.04, 1.03, 1.01, 1.01, 1.00, 1.00, 1.00, 1.00). Header lengths for 10 equispaced values of r from 210 to 214 normalised by the header length of the NNL-SD scheme.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 50 / 53

slide-92
SLIDE 92

isilogo

References

The NNL and the HS papers:

Dalit Naor, Moni Naor, and Jeffery Lotspiech. Revocation and tracing schemes for stateless receivers. In Joe Kilian, editor, CRYPTO, volume 2139 of Lecture Notes in Computer Science, pages 41–62. Springer, 2001. Dani Halevy and Adi Shamir. The LSD broadcast encryption scheme. In Moti Yung, editor, CRYPTO, volume 2442 of Lecture Notes in Computer Science, pages 47–60. Springer, 2002.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 51 / 53

slide-93
SLIDE 93

isilogo

Our Works

Sanjay Bhattacherjee and Palash Sarkar. Complete tree subset difference broadcast encryption scheme and its analysis.

  • Des. Codes Cryptography, 66(1-3):335–362, 2013.

Sanjay Bhattacherjee and Palash Sarkar. Concrete analysis and trade-offs for the (complete tree) layered subset difference broadcast encryption scheme. IEEE Transactions on Computers, 63(7): 1709–1722, 2014. Sanjay Bhattacherjee and Palash Sarkar. Tree based symmetric key broadcast encryption. Cryptology ePrint Archive, Report 2013/786, 2013. http://eprint.iacr.org/2013/786. Sanjay Bhattacherjee and Palash Sarkar. Reducing communication overhead of the subset difference scheme. Cryptology ePrint Archive, Report 2014/577, 2014. http://eprint.iacr.org/2014/577. Sanjay Bhattacherjee. Implementations related to the above papers, https://drive.google.com/ folderview?id=0B7azs7qqqdS0UnB5aHp3WmJwcDQ&usp=sharing_eil. Uploaded on 13th August, 2014.

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 52 / 53

slide-94
SLIDE 94

isilogo

Thank you for your attention!

Bhattacherjee and Sarkar Symmetric Key BE 10th Oct, 2014 53 / 53