Trapdoor Functions and Applications

Report 0 Downloads 85 Views
LOSSY Identity-based (Lossy) Trapdoor Functions and Applications

Mihir Bellare, Eike Kiltz, Chris Peikert, Brent Waters Friday, April 20, 12

Injective trapdoor function n {0,1}

Friday, April 20, 12

fpk

R

Injective trapdoor function n {0,1}

fpk f-1 hard sk: easy

Friday, April 20, 12

R

Injective trapdoor function n {0,1}

fpk

R

f-1 hard sk: easy

• Example: RSA [RSA 78] • TDF: most fundamental crypto primitive • History: 6 years before encryption [GM 84] Friday, April 20, 12

Security notions

Friday, April 20, 12

Security notions • One-wayness: Gen → (pk, sk)

pk, fpk(x) → x hard (random x)

Friday, April 20, 12

Security notions • One-wayness: Gen → (pk, sk)

pk, fpk(x) → x hard (random x)

• Lossiness [PW08]: exists Gen’ → “fake” pk: 1. pk≈c pk

Lossy pk

2. Range(fpk) ≪ 2n

Friday, April 20, 12

{0,1}n

fpk ≪

n 2

Lossy trapdoor functions

Friday, April 20, 12

Lossy trapdoor functions • Basic primitives:

One-way TDFs, CR hashing

Friday, April 20, 12

Lossy trapdoor functions • Basic primitives:

One-way TDFs, CR hashing

• Advanced encryption:

CCA security, selective opening security, deterministic PKE, hedged PKE

Friday, April 20, 12

Lossy trapdoor functions • Basic primitives:

One-way TDFs, CR hashing

• Advanced encryption:

CCA security, selective opening security, deterministic PKE, hedged PKE

• Constructions:

DDH, QR, Paillier, LWE, Phi-Hiding, ...

Friday, April 20, 12

Our paper Trapdoor functions in ID-based framework 1. Definitions 2. Applications 3. Constructions

• From bilinear maps • From lattices Friday, April 20, 12

ID-based encryption (IBE) •Gen → (pk,sk) n Enc(pk,ID,m) → c for ID∈{0,1} • •Extract(sk,ID) → trapdoor skID •Dec(skID,ID,c) = m

Friday, April 20, 12

ID-based encryption (IBE) •Gen → (pk,sk) n Enc(pk,ID,m) → c for ID∈{0,1} • •Extract(sk,ID) → trapdoor skID •Dec(skID,ID,c) = m History:

• IBE [S84, BF03] • ID-based signatures, ... Friday, April 20, 12

ID-based trapdoor functions •Gen → (pk,sk) n → R for ID∈{0,1}n Eval(pk,ID,・) = f : {0,1} • ID •Extract(sk,ID) → trapdoor skID •Invert(skID,・) = fID-1(・) {0,1}n

fID1 fID2 fID3 ...

Friday, April 20, 12

R

ID-based trapdoor functions •Gen → (pk,sk) n → R for ID∈{0,1}n Eval(pk,ID,・) = f : {0,1} • ID •Extract(sk,ID) → trapdoor skID l a r u t a N •Invert(skID,・) = fID-1(・) ! t c e j b o {0,1}n

fID1

fID2 fID3 ...

Friday, April 20, 12

R

Security? Intuition: fID*(.) “secure” even given skID for ID≠ID*

Friday, April 20, 12

secure

Selective

Adaptive

one-way

ID-OW-S

ID-OW-A

lossy

ID-LS-S

ID-LS-A

One-wayness Exp ID-OW-S

Selective adversary ID*

Friday, April 20, 12

chose ID*

One-wayness Exp ID-OW-S (pk,sk)←Gen

Friday, April 20, 12

Selective adversary ID* pk

chose ID*

One-wayness Exp ID-OW-S (pk,sk)←Gen

Selective adversary ID* pk IDi≠ID* skIDi

Friday, April 20, 12

chose ID*

One-wayness Exp ID-OW-S (pk,sk)←Gen

Selective adversary ID* pk

chose ID*

IDi≠ID* skIDi

x Win: x=x’ ∈{0,1}n

Def: One-way Friday, April 20, 12

fID*(x) x’ Pr[Adversay wins] = negl

One-wayness Exp ID-OW-S ID-OW-A (pk,sk)←Gen

Adaptive Selective adversary pk IDi≠ID* skIDi ID*

x Win: x=x’ ∈{0,1}n

Def: One-way Friday, April 20, 12

fID*(x) x’

adaptively chose ID*

Pr[Adversay wins] = negl

Selective lossiness Exp ID-LS-S

Friday, April 20, 12

ID*

Selective adversary

Selective lossiness Exp ID-LS-S (pk,sk)←Gen vs. pk←Gen’(ID*)

Friday, April 20, 12

ID* pk

Selective adversary

Selective lossiness Exp ID-LS-S (pk,sk)←Gen vs. pk←Gen’(ID*)

Friday, April 20, 12

ID* pk IDi≠ID* skIDi

Selective adversary

Selective lossiness Exp ID-LS-S (pk,sk)←Gen vs. pk←Gen’(ID*)

ID* pk

Selective adversary

IDi≠ID* skIDi

b=0/1 Def: Lossy Friday, April 20, 12

Pr[A(pk)=1] - Pr[A(pk)=1 ∧ Range(fID*) ≪ 2n] = negl

Selective lossiness Exp ID-LS-S (pk,sk)←Gen vs. pk←Gen’(ID*)

ID* pk

Selective adversary

IDi≠ID* skIDi lossy identity ID* b=0/1

Def: Lossy Friday, April 20, 12

Pr[A(pk)=1] - Pr[A(pk)=1 ∧ Range(fID*) ≪ 2n] = negl

Selective lossiness Exp ID-LS-S (pk,sk)←Gen vs. pk←Gen’(ID*)

Def: Lossy Friday, April 20, 12

pk

---

IDi≠ID* skIDi

e v i t p a d A ? ? ? y t i r u c e s

ID*

Selective adversary

lossy identity ID*

b=0/1

Pr[A(pk)=1] - Pr[A(pk)=1 ∧ Range(fID*) ≪ 2n] = negl

Adaptive lossiness Exp ID-LS-A (pk,sk)←Gen vs. pk←Gen’

pk IDi≠ID* skIDi ID* b=0/1

Friday, April 20, 12

Adversary Adaptive adversary

Adaptive lossiness Exp ID-LS-A (pk,sk)←Gen vs. pk←Gen’

pk

IDi≠ID* hidden d-fraction skIDi identities lossy ID* b=0/1

Friday, April 20, 12

Adversary Adaptive adversary

Adaptive lossiness Exp ID-LS-A (pk,sk)←Gen vs. pk←Gen’

pk

Adversary Adaptive adversary

IDi≠ID* hidden d-fraction skIDi identities lossy ID* b=0/1

Def: d-lossy for scaling parameter 0