Programmable Hash Functions in the Multilinear Setting Eduarda S. - - PowerPoint PPT Presentation

programmable hash functions in the multilinear setting
SMART_READER_LITE
LIVE PREVIEW

Programmable Hash Functions in the Multilinear Setting Eduarda S. - - PowerPoint PPT Presentation

Programmable Hash Functions in the Multilinear Setting Eduarda S. V. Freire, Dennis Hofheinz, Kenneth G. Paterson and Christoph Striecks CRYPTO 2013 - Santa Barbara, CA, U.S.A. August 20, 2013 Programmable Hash Functions (PHFs) Part 1


slide-1
SLIDE 1

Programmable Hash Functions in the Multilinear Setting

Eduarda S. V. Freire, Dennis Hofheinz, Kenneth G. Paterson and Christoph Striecks

CRYPTO 2013 - Santa Barbara, CA, U.S.A. August 20, 2013

slide-2
SLIDE 2

Programmable Hash Functions (PHFs) – Part 1

Overview of PHFs [HK08] abstraction of random oracles that can also be instantiated in the standard model maps a bitstring X to a group element H(X) ∈ G a special trapdoor allows us to write H(X) = caX hbX for previously chosen c, h used to employ partitioning techniques in security proofs – H(X) contains a challenge component iff aX = 0 1

if aX = 0; H(X) = hbX if aX = 0; H(X) = caX hbX hk ← HGen(1k) Hhk(X) ← HEval(hk, X) (hk′, td) ← TGen(1k, c, h) : hk sc = hk′ (aX , bX ) ← TEval(td, X) : Hhk′(X) = caX hbX

1We may also find the case where H(X) contains a challenge component iff aX = 0 2/13

slide-3
SLIDE 3

Programmable Hash Functions (PHFs) – Part 1

Overview of PHFs [HK08] abstraction of random oracles that can also be instantiated in the standard model maps a bitstring X to a group element H(X) ∈ G a special trapdoor allows us to write H(X) = caX hbX for previously chosen c, h used to employ partitioning techniques in security proofs – H(X) contains a challenge component iff aX = 0 1

(m, n)–PHF: for any X1, . . . , Xm, Z1, . . . , Zn (with Xi = Zj) Pr[aX1 = . . . aXm = 0 ∧ aZ1, . . . , aZn = 0] is noticeable

1We may also find the case where H(X) contains a challenge component iff aX = 0 2/13

slide-4
SLIDE 4

Programmable Hash Functions (PHFs) – Part 2

Previous PHF Constructions [HK08,HJK11] (m, n) = (1, poly), i.e., (1, q(k)) for every polynomial q(k)

In [W05] Waters implicitly uses a (1, poly)–PHF

(m, n) = (m, 1), for fixed m

3/13

slide-5
SLIDE 5

Programmable Hash Functions (PHFs) – Part 2

Previous PHF Constructions [HK08,HJK11] (m, n) = (1, poly), i.e., (1, q(k)) for every polynomial q(k)

In [W05] Waters implicitly uses a (1, poly)–PHF

(m, n) = (m, 1), for fixed m Limitations of PHFs PHFs were initially meant as a standard model replacement for random oracles (poly, n)–PHFs would be very useful. Do they exist?

3/13

slide-6
SLIDE 6

Programmable Hash Functions (PHFs) – Part 2

Previous PHF Constructions [HK08,HJK11] (m, n) = (1, poly), i.e., (1, q(k)) for every polynomial q(k)

In [W05] Waters implicitly uses a (1, poly)–PHF

(m, n) = (m, 1), for fixed m Limitations of PHFs PHFs were initially meant as a standard model replacement for random oracles (poly, n)–PHFs would be very useful. Do they exist? [HMS12]: impossibility result

3/13

slide-7
SLIDE 7

Our Work: MPHFs + Applications

Construction of (poly, n)–MPHFs we construct analogues of (poly, n)–PHFs by adapting the original PHF definition

we work in a setting where multilinear maps are available

4/13

slide-8
SLIDE 8

Our Work: MPHFs + Applications

Construction of (poly, n)–MPHFs we construct analogues of (poly, n)–PHFs by adapting the original PHF definition

we work in a setting where multilinear maps are available

Our Applications using our MPHFs we give standard model versions of cryptographic schemes whose security have so far only been proven in the ROM.

SM versions of Boneh-Franklin (BF) IBE, Boneh-Lynn-Shacham (BLS) signatures, and Sakai-Ohgishi-Kasahara (SOK) ID-NIKE

we derive hierarchical versions of the BF, BLS, and SOK schemes

4/13

slide-9
SLIDE 9

Our Work: MPHFs + Applications

Construction of (poly, n)–MPHFs we construct analogues of (poly, n)–PHFs by adapting the original PHF definition

we work in a setting where multilinear maps are available

Our Applications using our MPHFs we give standard model versions of cryptographic schemes whose security have so far only been proven in the ROM.

SM versions of Boneh-Franklin (BF) IBE, Boneh-Lynn-Shacham (BLS) signatures, and Sakai-Ohgishi-Kasahara (SOK) ID-NIKE

we derive hierarchical versions of the BF, BLS, and SOK schemes

this yields the first SM secure ID-NIKE scheme

  • urs is the first fully secure H-ID-NIKE scheme

with security either in the SM or in the ROM

4/13

slide-10
SLIDE 10

Our Work: MPHFs + Applications

Construction of (poly, n)–MPHFs we construct analogues of (poly, n)–PHFs by adapting the original PHF definition

we work in a setting where multilinear maps are available

Our Applications using our MPHFs we give standard model versions of cryptographic schemes whose security have so far only been proven in the ROM.

SM versions of Boneh-Franklin (BF) IBE, Boneh-Lynn-Shacham (BLS) signatures, and Sakai-Ohgishi-Kasahara (SOK) ID-NIKE

we derive hierarchical versions of the BF, BLS, and SOK schemes in this talk we focus on our H-ID-NIKE construction

this yields the first SM secure ID-NIKE scheme

  • urs is the first fully secure H-ID-NIKE scheme

with security either in the SM or in the ROM

4/13

slide-11
SLIDE 11

Our Work: MPHFs + Applications

Construction of (poly, n)–MPHFs we construct analogues of (poly, n)–PHFs by adapting the original PHF definition

we work in a setting where multilinear maps are available

Our Applications using our MPHFs we give standard model versions of cryptographic schemes whose security have so far only been proven in the ROM.

SM versions of Boneh-Franklin (BF) IBE, Boneh-Lynn-Shacham (BLS) signatures, and Sakai-Ohgishi-Kasahara (SOK) ID-NIKE

we derive hierarchical versions of the BF, BLS, and SOK schemes in this talk we focus on our H-ID-NIKE construction We use an abstraction of multilinear maps that is compatible with the recent “noisy” candidate for multilinear maps of Garg, Gentry, and Halevi [GGH13].

this yields the first SM secure ID-NIKE scheme

  • urs is the first fully secure H-ID-NIKE scheme

with security either in the SM or in the ROM

4/13

slide-12
SLIDE 12

Multilinear Maps

Multilinear Maps ℓ–group system: G1, G2, . . . , Gℓ, p, {ei,j}i,j≥1,i+j≤ℓ ei,j : Gi × Gj → Gi+j (bilinear maps) e as shorthand for ei,j for hj ∈ Gij and i1 + . . . + ij ≤ ℓ we abbreviate e(h1, . . . , hj) := e(h1, e(h2, . . . , e(hj−1, hj) . . .)))

j linear map

5/13

slide-13
SLIDE 13

Multilinear Maps

Multilinear Maps ℓ–group system: G1, G2, . . . , Gℓ, p, {ei,j}i,j≥1,i+j≤ℓ ei,j : Gi × Gj → Gi+j (bilinear maps) e as shorthand for ei,j for hj ∈ Gij and i1 + . . . + ij ≤ ℓ we abbreviate e(h1, . . . , hj) := e(h1, e(h2, . . . , e(hj−1, hj) . . .))) Hardness Assumptions (ℓ+1)–power assumption: Given (g, gx) (for g ← G1 and uniform x)

distinguish S = e(g x, . . . , g x

  • ℓ times

)x ∈ Gℓ from random S ∈ Gℓ

ℓ–MDDH assumption: Given (g, gx1, . . . , gxℓ+1) (for g ← G1 and uniform xi)

distinguish S = e(g x1, . . . , g xℓ)xℓ+1 ∈ Gℓ from random S ∈ Gℓ

j linear map

5/13

slide-14
SLIDE 14

MPHFs - Definition

Our Definition of MPHFs we assume an ℓ–group system MPGℓ ← MGℓ(1k) for chosen {ci}i∈[ℓ], h ∈ G1, a special trapdoor allows us to write H(X) = e(c1, . . . , cℓ)aX e(BX, h) ∈ Gℓ

instead of H(X) = caX hbX for c and h in the target group hk ← HGen(1k) Hhk(X) ← HEval(hk, X) (hk′, td) ← TGen(1k, c1, . . . , cℓ, h) : hk sc = hk′ (aX ∈ Z, BX ∈ Gℓ−1) ← TEval(td, X) : Hhk′(X) = e(c1, . . . , cℓ)aX e(BX , h)

6/13

slide-15
SLIDE 15

MPHFs - Definition

Our Definition of MPHFs we assume an ℓ–group system MPGℓ ← MGℓ(1k) for chosen {ci}i∈[ℓ], h ∈ G1, a special trapdoor allows us to write H(X) = e(c1, . . . , cℓ)aX e(BX, h) ∈ Gℓ

(m, n)–MPHF: for any X1, . . . , Xm, Z1, . . . , Zn (with Xi = Zj) Pr[aX1 = . . . aXm = 0 ∧ aZ1, . . . , aZn = 0] is noticeable

6/13

slide-16
SLIDE 16

MPHFs – Our Constructions

MM: (poly, 1)–MPHF into Gℓ from AHF: {0, 1}k → {0, 1}ℓ

HGen(1k)

hk := (h1,0, . . . , hℓ,0, h1,1, . . . , hℓ,1) ← G1\1

HEval(hk, X)

(t1, . . . , tℓ) := AHF(X); MMhk(X) := e(h1,t1, . . . , hℓ,tℓ) ∈ Gℓ

Admissible Hash Function (AHF) special type of hash function that has certain combinatorial properties can be constructed, for example, from codes

7/13

slide-17
SLIDE 17

MPHFs – Our Constructions

MM: (poly, 1)–MPHF into Gℓ from AHF: {0, 1}k → {0, 1}ℓ

HGen(1k)

hk := (h1,0, . . . , hℓ,0, h1,1, . . . , hℓ,1) ← G1\1

HEval(hk, X)

(t1, . . . , tℓ) := AHF(X); MMhk(X) := e(h1,t1, . . . , hℓ,tℓ) ∈ Gℓ

(poly, n)–MPHF Assume H = (HGen, HEval) is a (poly, 1)–MPHF into Gℓ, then we construct a (poly, n)–MPHF H′ = (HGen′, HEval′) into Gℓ

HGen′(1k)

hk′ = (hkν)ν∈[n] for hkν ← HGen(1k)

HEval′(hk, X)

H′

hk′(X) := ν∈[n] Hhkν (X) 7/13

slide-18
SLIDE 18

H-ID-NIKE – Definition and Security Model

TA root: level 0 id = (id1, . . . , idd) ∈ IDSd for user at level d ∈ [L] L: level of hierarchy Three algorithms: Setup, Del, ShK id1 id2 id3 id4 id5 id6 id7 id8 id9 id10 id11 id12 id13 id14 id15 id16 id17 id18 id19

8/13

slide-19
SLIDE 19

H-ID-NIKE – Definition and Security Model

TA (mpk, msk) ← Setup(1k, L) msk = uskǫ id1 id2 id3 id4 id5 id6 id7 id8 id9 id10 id11 id12 id13 id14 id15 id16 id17 id18 id19

8/13

slide-20
SLIDE 20

H-ID-NIKE – Definition and Security Model

uskid1 ← Del(mpk, msk, id1) uskid2 uskid3 TA (mpk, msk) ← Setup(1k, L) msk = uskǫ id1 id2 id3 id4 id5 id6 id7 id8 id9 id10 id11 id12 id13 id14 id15 id16 id17 id18 id19

8/13

slide-21
SLIDE 21

H-ID-NIKE – Definition and Security Model

uskid1 ← Del(mpk, msk, id1) uskid2 uskid3 uskid4 ← Del(mpk, uskid1, id4) uskid5 uskid6 TA (mpk, msk) ← Setup(1k, L) msk = uskǫ id1 id2 id3 id4 id5 id6 id7 id8 id9 id10 id11 id12 id13 id14 id15 id16 id17 id18 id19

8/13

slide-22
SLIDE 22

H-ID-NIKE – Definition and Security Model

uskid1 ← Del(mpk, msk, id1) uskid2 uskid3 uskid4 ← Del(mpk, uskid1, id4) uskid5 uskid6 uskid12 uskid13 uskid14 uskid15 TA (mpk, msk) ← Setup(1k, L) msk = uskǫ id1 id2 id3 id4 id5 id6 id7 id8 id9 id10 id11 id12 id13 id14 id15 id16 id17 id18 id19

8/13

slide-23
SLIDE 23

H-ID-NIKE – Definition and Security Model

uskid1 ← Del(mpk, msk, id1) uskid2 uskid3 uskid4 ← Del(mpk, uskid1, id4) uskid5 uskid6 uskid12 uskid13 uskid14 uskid15 Kid14,id18 ← ShK(mpk, uskid14, id18) = ShK(mpk, uskid18, id14) TA (mpk, msk) ← Setup(1k, L) msk = uskǫ id1 id2 id3 id4 id5 id6 id7 id8 id9 id10 id11 id12 id13 id14 id15 id16 id17 id18 id19

8/13

slide-24
SLIDE 24

H-ID-NIKE – Definition and Security Model

uskid1 ← Del(mpk, msk, id1) uskid2 uskid3 uskid4 ← Del(mpk, uskid1, id4) uskid5 uskid6 uskid12 uskid13 uskid14 uskid15 Kid1,id8 ← ShK(mpk, uskid1, id8) = ShK(mpk, uskid8, id1) TA (mpk, msk) ← Setup(1k, L) msk = uskǫ id1 id2 id3 id4 id5 id6 id7 id8 id9 id10 id11 id12 id13 id14 id15 id16 id17 id18 id19

8/13

slide-25
SLIDE 25

H-ID-NIKE – Definition and Security Model

uskid1 ← Del(mpk, msk, id1) uskid2 uskid3 uskid4 ← Del(mpk, uskid1, id4) uskid5 uskid6 uskid12 uskid13 uskid14 uskid15 Kid1,id8 ← ShK(mpk, uskid1, id8) = ShK(mpk, uskid8, id1) Security Model: extension of the PS model [PS09] for hierarchies – any number of nodes can be compromised at any level in the hierarchy (full security) . AExtract(id),Reveal(id1,id2),Test(id∗

1 ,id∗ 2 )

Restrictions: id cannot be an ancestor of id∗

1 or id∗ 2; no Reveal queries on (id∗ 1, id∗ 2) and

(id∗

2, id∗ 1) is allowed.

TA (mpk, msk) ← Setup(1k, L) msk = uskǫ id1 id2 id3 id4 id5 id6 id7 id8 id9 id10 id11 id12 id13 id14 id15 id16 id17 id18 id19

8/13

slide-26
SLIDE 26

H-ID-NIKE – Definition and Security Model

uskid1 ← Del(mpk, msk, id1) uskid2 uskid3 uskid4 ← Del(mpk, uskid1, id4) uskid5 uskid6 uskid12 uskid13 uskid14 uskid15 Kid1,id8 ← ShK(mpk, uskid1, id8) = ShK(mpk, uskid8, id1) Note: The only reasonable secure existing H-ID-NIKE scheme before our work was the one by Gennaro et al. [GHKRRW08]. Drawbacks of Gennaro et al. scheme:

  • 1. at higher levels in the hierarchy only a limited number of nodes can be compromised
  • 2. security only in the ROM
  • 3. shared keys can only be computed between leaf nodes

TA (mpk, msk) ← Setup(1k, L) msk = uskǫ id1 id2 id3 id4 id5 id6 id7 id8 id9 id10 id11 id12 id13 id14 id15 id16 id17 id18 id19

8/13

slide-27
SLIDE 27

H-ID-NIKE - Our Construction (HIDNIKEMPHF)

TA id = (id1, . . . , idd) ∈ ({0, 1}k)d any node can have up to 2k children id1 id4 id5 id6 id12 id13 id14 id15 id16 id17 id18 id19

9/13

slide-28
SLIDE 28

H-ID-NIKE - Our Construction (HIDNIKEMPHF)

TA Example: L = 3 MPG2ℓL ← MG2ℓL(1k) x ← Zp, u ← Gℓ hki ← HGen(1k)(i ∈ [L]); msk := x mpk := (MPG2ℓL, {hki}i∈[L], u) id1 id4 id5 id6 id12 id13 id14 id15 id16 id17 id18 id19

9/13

slide-29
SLIDE 29

H-ID-NIKE - Our Construction (HIDNIKEMPHF)

uskid1 = Hhk1(id1)x ∈ Gℓ TA Example: L = 3 MPG2ℓL ← MG2ℓL(1k) x ← Zp, u ← Gℓ hki ← HGen(1k)(i ∈ [L]); msk := x mpk := (MPG2ℓL, {hki}i∈[L], u) id1 id4 id5 id6 id12 id13 id14 id15 id16 id17 id18 id19

9/13

slide-30
SLIDE 30

H-ID-NIKE - Our Construction (HIDNIKEMPHF)

uskid1 = Hhk1(id1)x ∈ Gℓ uskid6 = e(Hhk1(id1), Hhk2(id6))x ∈ G2ℓ TA Example: L = 3 MPG2ℓL ← MG2ℓL(1k) x ← Zp, u ← Gℓ hki ← HGen(1k)(i ∈ [L]); msk := x mpk := (MPG2ℓL, {hki}i∈[L], u) id1 id4 id5 id6 id12 id13 id14 id15 id16 id17 id18 id19

9/13

slide-31
SLIDE 31

H-ID-NIKE - Our Construction (HIDNIKEMPHF)

uskid1 = Hhk1(id1)x ∈ Gℓ uskid6 = e(Hhk1(id1), Hhk2(id6))x ∈ G2ℓ uskid18 = e(Hhk1(id1), Hhk2(id6), Hhk3(id18))x ∈ G3ℓ TA Example: L = 3 MPG2ℓL ← MG2ℓL(1k) x ← Zp, u ← Gℓ hki ← HGen(1k)(i ∈ [L]); msk := x mpk := (MPG2ℓL, {hki}i∈[L], u) id1 id4 id5 id6 id12 id13 id14 id15 id16 id17 id18 id19

9/13

slide-32
SLIDE 32

H-ID-NIKE - Our Construction (HIDNIKEMPHF)

uskid1 = Hhk1(id1)x ∈ Gℓ uskid6 = e(Hhk1(id1), Hhk2(id6))x ∈ G2ℓ uskid18 = e(Hhk1(id1), Hhk2(id6), Hhk3(id18))x ∈ G3ℓ Yid14 = e(Hhk1(id1), Hhk2(id4), Hhk3(id14)) ∈ G3ℓ Kid14,id18 = e(uskid18, Yid14) = e(uskid14, Yid18) = e(Hhk1(id1), Hhk2(id6), Hhk3(id18), Hhk1(id1), Hhk2(id4), Hhk3(id14))x ∈ G2ℓ·3 TA Example: L = 3 MPG2ℓL ← MG2ℓL(1k) x ← Zp, u ← Gℓ hki ← HGen(1k)(i ∈ [L]); msk := x mpk := (MPG2ℓL, {hki}i∈[L], u) id1 id4 id5 id6 id12 id13 id14 id15 id16 id17 id18 id19

9/13

slide-33
SLIDE 33

H-ID-NIKE - Our Construction (HIDNIKEMPHF)

uskid1 = Hhk1(id1)x ∈ Gℓ uskid6 = e(Hhk1(id1), Hhk2(id6))x ∈ G2ℓ uskid18 = e(Hhk1(id1), Hhk2(id6), Hhk3(id18))x ∈ G3ℓ Yid4 = e(Hhk1(id1), Hhk2(id4)) ∈ G2ℓ Kid4,id18 = e(uskid18, Yid14, u) = e(uskid14, Yid18, u) = e(Hhk1(id1), Hhk2(id6), Hhk3(id18), Hhk1(id1), Hhk2(id4), u)x ∈ G2ℓ·3 TA Example: L = 3 MPG2ℓL ← MG2ℓL(1k) x ← Zp, u ← Gℓ hki ← HGen(1k)(i ∈ [L]); msk := x mpk := (MPG2ℓL, {hki}i∈[L], u) id1 id4 id5 id6 id12 id13 id14 id15 id16 id17 id18 id19

9/13

slide-34
SLIDE 34

H-ID-NIKE - Our Construction (HIDNIKEMPHF)

uskid1 = Hhk1(id1)x ∈ Gℓ uskid6 = e(Hhk1(id1), Hhk2(id6))x ∈ G2ℓ uskid18 = e(Hhk1(id1), Hhk2(id6), Hhk3(id18))x ∈ G3ℓ Yid4 = e(Hhk1(id1), Hhk2(id4)) ∈ G2ℓ Kid4,id18 = e(uskid18, Yid14, u) = e(uskid14, Yid18, u) = e(Hhk1(id1), Hhk2(id6), Hhk3(id18), Hhk1(id1), Hhk2(id4), u)x ∈ G2ℓ·3 Theorem: Let H be a (poly, 2)–MPHF into Gℓ. Then HIDNIKEMPHF is secure under the (2ℓL + 1) – power assumption. TA Example: L = 3 MPG2ℓL ← MG2ℓL(1k) x ← Zp, u ← Gℓ hki ← HGen(1k)(i ∈ [L]); msk := x mpk := (MPG2ℓL, {hki}i∈[L], u) id1 id4 id5 id6 id12 id13 id14 id15 id16 id17 id18 id19

9/13

slide-35
SLIDE 35

Further Notes

On (H-)ID-NIKE HIDNIKEMPHF is the first fully secure H-ID-NIKE scheme either in the Standard Model or in the ROM for L = 1 we reduce HIDNIKEMPHF to a non-hierarchical ID-NIKE scheme IDNIKEMPHF IDNIKEMPHF is the first ID-NIKE scheme secure in the Standard Model when H is instantiated with a RO, then IDNIKEMPHF is the Sakai-Ohgishi-Kasahara ID-NIKE scheme* [SOK00]

  • ur (H-)ID-NIKE schemes can also be generalized to work in a setting

with multiple TAs or in a setting where shared keys can be computed by a group of users (instead of 2)

10/13

slide-36
SLIDE 36

Further Notes

On (H-)IBE and Signature Schemes using (poly, 1)–MPHFs and similar techniques as before we also

  • btain IBE, HIBE and signature schemes which are secure in the

Standard Model

  • ur (H-)IBE schemes are (hierarchical) standard model versions of the

Boneh-Franklin IBE scheme

  • ur signature schemes are (hierarchical) standard model versions of

the Boneh-Lynn-Shacham signature scheme

11/13

slide-37
SLIDE 37

Thank you for your attention!

12/13

slide-38
SLIDE 38

Bibliography

[GGH13] Candidate multilinear maps from ideal lattices. Garg, Gentry and Halevi - EUROCRYPT 2013 [GHKRRW08] Strong-resilient and non-interactive hierarchical key-agreement in MANETs. Gennaro, Halevi, Krawczyk, Rabin, Reidt and Wolthusen - ESORICS 2008 [HK08] Programmable hash functions and their applications. Hofheinz, Kiltz - CRYPTO 2008 [HMS12] On the impossibiilty of constructing efficient key encapsulation and programmable hash functions in prime order

  • groups. Hanoaka, Matsuda and Schuldt - CRYPTO 2012

[PS09] On the relations between non-interactive key distribution, identity-based encryption and trapdoor discrete log groups. Paterson and Srinivasan - Des. Codes Cryptography 2009 [SOK00] Cryptosystems based on pairing. Sakai, Ohgishi and Kasahara - SCIS 2000 [W05] Efficient identity-based encryption without random oracles. Waters - EUROCRYPT 2005

13/13