Top Banner
Identity Based Encryption from the Diffie-Hellman Assumption Sanjam Garg University of California, Berkeley (Joint work with Nico DΓΆttling)
32

Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Oct 14, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Identity Based Encryption from the Diffie-Hellman Assumption

Sanjam GargUniversity of California, Berkeley(Joint work with Nico DΓΆttling)

Page 2: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Private-Key Encryption

𝑐𝑐 = 𝐸𝐸𝐸𝐸𝑐𝑐(𝐾𝐾,π‘šπ‘š)

Alice Bob

𝐾𝐾

π‘šπ‘š

𝐾𝐾

𝑐𝑐

Page 3: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Public-Key Encryption [DH76,RSA78,GM82]

𝐸𝐸𝐸𝐸𝑐𝑐(π‘π‘π‘˜π‘˜π΅π΅π΅π΅π΅π΅,π‘šπ‘š)

Alice Bob

Obtain π‘π‘π‘˜π‘˜π΅π΅π΅π΅π΅π΅

π‘šπ‘š

π‘ π‘ π‘˜π‘˜π΅π΅π΅π΅π΅π΅

Page 4: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Identity-Based Encryption (IBE) [Shamir84]

Identity of the recipient used as the public key

𝐸𝐸𝐸𝐸𝑐𝑐(π‘π‘π‘π‘π‘π‘π‘π‘π‘π‘šπ‘šπ‘π‘π‘π‘π‘π‘. π‘π‘π‘π‘π‘šπ‘š,π‘šπ‘š)

Alice Bob

CA/PKG

π‘π‘π‘π‘π‘π‘π‘π‘π‘π‘šπ‘šπ‘π‘π‘π‘π‘π‘. π‘π‘π‘π‘π‘šπ‘š

𝑆𝑆𝐾𝐾𝐡𝐡𝐡𝐡𝐡𝐡𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏.𝑐𝑐𝐡𝐡𝑏𝑏

π‘šπ‘š

pp

Page 5: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Identity-Based Encryption (IBE) [Shamir84]

Four Algorithms: (𝑆𝑆,𝐾𝐾,𝐸𝐸,𝐷𝐷)

𝑆𝑆 1πœ†πœ† β†’ 𝑝𝑝𝑝𝑝,π‘šπ‘šπ‘ π‘ π‘˜π‘˜ 𝑝𝑝𝑝𝑝 are public parametersπ‘šπ‘šπ‘ π‘ π‘˜π‘˜ is the master secret-key

𝐾𝐾 π‘šπ‘šπ‘ π‘ π‘˜π‘˜, 𝐼𝐼𝐷𝐷 β†’ π‘ π‘ π‘˜π‘˜πΌπΌπΌπΌ π‘ π‘ π‘˜π‘˜πΌπΌπΌπΌ secret key for 𝐼𝐼𝐷𝐷

𝐸𝐸 𝑝𝑝𝑝𝑝, 𝐼𝐼𝐷𝐷,π‘šπ‘š β†’ 𝑐𝑐 encrypt using 𝑝𝑝𝑝𝑝 and 𝐼𝐼𝐷𝐷

𝐷𝐷 π‘ π‘ π‘˜π‘˜πΌπΌπΌπΌ, 𝑐𝑐 β†’ π‘šπ‘š decrypt 𝑐𝑐 using π‘ π‘ π‘˜π‘˜πΌπΌπΌπΌ

Page 6: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Full Security of IBE [BF01]

Challenger Adversary𝑝𝑝𝑝𝑝𝐼𝐼𝐷𝐷

𝑆𝑆 1πœ†πœ† β†’ 𝑝𝑝𝑝𝑝,π‘šπ‘šπ‘ π‘ π‘˜π‘˜

π‘ π‘ π‘˜π‘˜πΌπΌπΌπΌ = 𝐾𝐾(π‘šπ‘šπ‘ π‘ π‘˜π‘˜, 𝐼𝐼𝐷𝐷)

πΌπΌπ·π·βˆ—

𝑏𝑏 ← {0,1}𝑐𝑐 = 𝐸𝐸(𝑝𝑝𝑝𝑝, πΌπΌπ·π·βˆ—, 𝑏𝑏)

𝐼𝐼𝐷𝐷

π‘ π‘ π‘˜π‘˜πΌπΌπΌπΌ = 𝐾𝐾(π‘šπ‘šπ‘ π‘ π‘˜π‘˜, 𝐼𝐼𝐷𝐷)𝐼𝐼𝐷𝐷 β‰  πΌπΌπ·π·βˆ—

𝑏𝑏′ ∈ {0,1}|Pr 𝑏𝑏 = 𝑏𝑏′ βˆ’ 1/2| β‰ˆ 𝐸𝐸𝑛𝑛𝑏𝑏(πœ†πœ†)

Page 7: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Selective Security of IBE [CHK04]

Challenger Adversary𝑝𝑝𝑝𝑝𝐼𝐼𝐷𝐷

𝑆𝑆 1πœ†πœ† β†’ 𝑝𝑝𝑝𝑝,π‘šπ‘šπ‘ π‘ π‘˜π‘˜

π‘ π‘ π‘˜π‘˜πΌπΌπΌπΌ = 𝐾𝐾(π‘šπ‘šπ‘ π‘ π‘˜π‘˜, 𝐼𝐼𝐷𝐷)

πΌπΌπ·π·βˆ—

𝑏𝑏 ← {0,1}𝑐𝑐 = 𝐸𝐸(𝑝𝑝𝑝𝑝, πΌπΌπ·π·βˆ—, 𝑏𝑏)

𝐼𝐼𝐷𝐷

π‘ π‘ π‘˜π‘˜πΌπΌπΌπΌ = 𝐾𝐾(π‘šπ‘šπ‘ π‘ π‘˜π‘˜, 𝐼𝐼𝐷𝐷)𝐼𝐼𝐷𝐷 β‰  πΌπΌπ·π·βˆ—

𝑏𝑏′ ∈ {0,1}|Pr 𝑏𝑏 = 𝑏𝑏′ βˆ’ 1/2| β‰ˆ 𝐸𝐸𝑛𝑛𝑏𝑏(πœ†πœ†)

Page 8: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Can we realize IBE?

Yes, we can! [Boneh and Franklin, CRYPTO 01]

Page 9: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Hierarchical IBE [HL02,GS02]

Bob

𝑆𝑆𝐾𝐾𝐡𝐡𝐡𝐡𝐡𝐡𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏.𝑐𝑐𝐡𝐡𝑏𝑏

Use 𝑆𝑆𝐾𝐾𝐼𝐼𝐼𝐼 to compute 𝑆𝑆𝐾𝐾𝐼𝐼𝐼𝐼|𝐼𝐼𝐼𝐼′ for any 𝐼𝐼𝐷𝐷𝐼

π‘π‘π‘π‘π‘π‘π‘π‘π‘π‘šπ‘šπ‘π‘π‘π‘π‘π‘. π‘π‘π‘π‘π‘šπ‘š|𝐴𝐴𝑝𝑝𝐴𝐴𝑏𝑏𝑏𝑏2,2018

Page 10: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

IBE ConstructionsPairings Lattices

(LWE)Quadratic

ResiduocityIBE w/RO BF01 GPV08 Cocks01

BGH07IBE no RO CHK03

BB04, W05G06, W09

CHKP10ABB10, MP12

??

HIBE GS03, BB04… CHKP10… ??

Can we realize IBE from weaker assumptions?

Page 11: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Negative Evidence

Trapdoor Permutations [BPRVW08]

Decisional Diffie-Hellman Assumption

[PRV12]

Page 12: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

OWF PRG PRF

Private-key crypto

Public-Key Encryption

Trapdoor Functions

Signatures

Public-key crypto

IBE

Hierarchical IBE

ABE [SW05]

Reduce the Gap!

Page 13: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Our Results

β€’ Main result: IBE from Computational Diffie-Hellman Assumption (Fully-secure)

β€’ Or, the hardness of Factoring

β€’ Selectively-Secure HIBEβ€’ In fact, from any IBE scheme!

Avoid impossibilities using non-black-box techniques.

Page 14: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

How do we get it?

Garbled RAM [LO13,GHLORW14,GLOS15,GLO15,GMP16,GGMP16,CDGGMP17]

Witness Encryption[CS00,GGSW13,BH15,CDGGMP17]

Page 15: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

How do we get it?

Page 16: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Compress two keys

π‘π‘π‘˜π‘˜0 π‘π‘π‘˜π‘˜1

𝑝𝑝𝑝𝑝

β€’ 𝑝𝑝𝑝𝑝 = π‘π‘π‘˜π‘˜0 = π‘π‘π‘˜π‘˜1β€’ Encryption can be done

to either π‘π‘π‘˜π‘˜0 or π‘π‘π‘˜π‘˜1knowing just 𝑝𝑝𝑝𝑝

β€’ Decryption can be done using π‘π‘π‘˜π‘˜0, π‘π‘π‘˜π‘˜1 and the right secret key

β€’ 𝑝𝑝𝑝𝑝 looses information about π‘π‘π‘˜π‘˜0or π‘π‘π‘˜π‘˜1

𝑐𝑐 = 𝐸𝐸𝐸𝐸𝑐𝑐2(𝑝𝑝𝑝𝑝, 𝑏𝑏,π‘šπ‘š)π‘šπ‘š

Alice Bob

Cara

Page 17: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

How known schemes from stronger assumptions compress two keys?

π‘π‘π‘˜π‘˜0 π‘π‘π‘˜π‘˜1

𝑝𝑝𝑝𝑝

β€’ π‘π‘π‘˜π‘˜0 or π‘π‘π‘˜π‘˜1 are correlated

β€’ Structured assumptionsβ€’ Impossibility results:

Similar intuition

Our goal: Compress Uncorrelated Keys!

Page 18: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Our Construction: Tools

Hash with EncryptionYao’s Garbled Circuits+

Page 19: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Tool I: Hash with Encryption

Three Algorithms: (𝐻𝐻,𝐸𝐸,𝐷𝐷)

H π‘₯π‘₯ β†’ β„Ž β„Ž is short (say πœ†πœ†-bits)π‘₯π‘₯ is 2πœ†πœ†-bits

𝐸𝐸 (β„Ž, 𝑏𝑏, 𝑏𝑏),π‘šπ‘š β†’ 𝑐𝑐 where 𝑏𝑏 ∈ 2πœ†πœ† and 𝑏𝑏 ∈ 0,1𝐷𝐷 𝑐𝑐, π‘₯π‘₯ β†’ π‘šπ‘š if 𝐻𝐻 π‘₯π‘₯ = β„Ž and π‘₯π‘₯𝑏𝑏 = 𝑏𝑏

Reminiscent of Witness Encryption [GGSW13] or laconic OT [CDGGMP17].

Security: π‘₯π‘₯,𝐸𝐸 (β„Ž, 𝑏𝑏, 1 βˆ’ π‘₯π‘₯𝑏𝑏), 0 β‰ˆ π‘₯π‘₯,𝐸𝐸 (β„Ž, 𝑏𝑏, 1 βˆ’ π‘₯π‘₯𝑏𝑏), 1

Security: Hard to compute π‘₯π‘₯, π‘₯π‘₯β€²such that 𝐻𝐻 π‘₯π‘₯ = 𝐻𝐻 π‘₯π‘₯𝐼

Page 20: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Tool I: Hash with Encryption

Hash Parameters 𝐴𝐴1,0 𝐴𝐴2,0𝐴𝐴1,1 𝐴𝐴2,1

…𝐴𝐴𝑛𝑛,0𝐴𝐴𝑛𝑛,1

β€’ H π‘₯π‘₯ β†’ β„Žβ„Ž = οΏ½

π‘π‘βˆˆ[𝑛𝑛]

𝐴𝐴𝑏𝑏,π‘₯π‘₯𝑖𝑖

β€’ 𝐸𝐸 (β„Ž, 𝑏𝑏, 𝑏𝑏),π‘šπ‘š β†’ 𝑐𝑐 =𝐴𝐴1,0𝑠𝑠 𝐴𝐴2,0

𝑠𝑠

𝐴𝐴1,1𝑠𝑠 𝐴𝐴2,1

𝑠𝑠 …𝐴𝐴𝑛𝑛,0𝑠𝑠

𝐴𝐴𝑛𝑛,1𝑠𝑠 , β„Žπ‘ π‘  βŠ•π‘šπ‘š

β€’ D 𝑐𝑐, π‘₯π‘₯ : Set β„Žπ‘ π‘  = βˆπ‘π‘βˆˆ[𝑛𝑛]𝐴𝐴𝑏𝑏,π‘₯π‘₯𝑖𝑖𝑠𝑠

𝐴𝐴𝑏𝑏,1βˆ’π΅π΅π‘ π‘ 

Security can be argued based on DDH

𝑏𝑏π‘₯π‘₯,𝑏𝑏𝑦𝑦 ,𝑏𝑏π‘₯π‘₯π‘¦π‘¦β‰ˆ 𝑏𝑏π‘₯π‘₯ ,𝑏𝑏𝑦𝑦,π‘π‘π‘Ÿπ‘Ÿ

Page 21: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Tool 2: Yao’s Garbled Circuits (𝐺𝐺𝑏𝑏𝐴𝐴𝑏𝑏𝑏𝑏𝑛𝑛,𝐸𝐸𝐸𝐸𝑏𝑏𝑏𝑏)[Yao86, AIK04, AIK05, LP09, BHR12]

𝐺𝐺𝑏𝑏𝐴𝐴𝑏𝑏𝑏𝑏𝑛𝑛 𝐢𝐢 β†’ �̃�𝐢, 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏,0, 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏,1 𝑏𝑏

𝐸𝐸𝐸𝐸𝑏𝑏𝑏𝑏 �̃�𝐢, 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏,π‘₯π‘₯𝑖𝑖 β†’ 𝐢𝐢(π‘₯π‘₯)

Security: (�̃�𝐢, 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏,π‘₯π‘₯𝑖𝑖) β‰ˆ π‘†π‘†π‘π‘π‘šπ‘š(𝐢𝐢 π‘₯π‘₯ )

Page 22: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

How do we compress?

𝑝𝑝𝑝𝑝 = 𝐻𝐻 π‘π‘π‘˜π‘˜0 π‘π‘π‘˜π‘˜1

π‘π‘π‘˜π‘˜0 π‘π‘π‘˜π‘˜1

𝑝𝑝𝑝𝑝

Page 23: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

How do we encrypt?

𝑝𝑝𝑝𝑝 = 𝐻𝐻 π‘π‘π‘˜π‘˜0 π‘π‘π‘˜π‘˜1

π‘π‘π‘˜π‘˜0 π‘π‘π‘˜π‘˜1

𝑝𝑝𝑝𝑝

𝑐𝑐 = 𝐸𝐸𝐸𝐸𝑐𝑐2(𝑝𝑝𝑝𝑝, 𝑏𝑏,π‘šπ‘š)π‘šπ‘š

𝑃𝑃𝑝𝑝𝑝𝑝,𝐡𝐡,𝑏𝑏 π‘₯π‘₯1. Abort if 𝑝𝑝𝑝𝑝 β‰  𝐻𝐻 π‘₯π‘₯ .2. If 𝑏𝑏 = 0 then π‘π‘π‘˜π‘˜ = π‘₯π‘₯ 1 … πœ†πœ†

else π‘π‘π‘˜π‘˜ = π‘₯π‘₯ πœ†πœ† + 1 … 2πœ†πœ†3. Output 𝐸𝐸𝐸𝐸𝑐𝑐(π‘π‘π‘˜π‘˜,π‘šπ‘š)

Alice Bob

Cara

Page 24: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

How do we encrypt?

𝑝𝑝𝑝𝑝 = 𝐻𝐻 π‘π‘π‘˜π‘˜0 π‘π‘π‘˜π‘˜1

π‘π‘π‘˜π‘˜0 π‘π‘π‘˜π‘˜1

𝑝𝑝𝑝𝑝

𝑐𝑐 = 𝐸𝐸𝐸𝐸𝑐𝑐2(𝑝𝑝𝑝𝑝, 𝑏𝑏,π‘šπ‘š)π‘šπ‘š

𝐸𝐸𝐸𝐸𝑐𝑐2(𝑝𝑝𝑝𝑝, 𝑏𝑏,π‘šπ‘š)β€’ Circuit 𝐢𝐢𝑏𝑏(π‘π‘π‘˜π‘˜) = 𝐸𝐸𝐸𝐸𝑐𝑐 π‘π‘π‘˜π‘˜,π‘šπ‘šβ€’ 𝐺𝐺𝑏𝑏𝐴𝐴𝑏𝑏𝑏𝑏𝑛𝑛 𝐢𝐢𝑏𝑏 β†’ �̃�𝐢, 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏,0, 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏,1 𝑏𝑏‒ βˆ€ 𝑏𝑏 ∈ {π‘π‘πœ†πœ† + 1, π‘π‘πœ†πœ† + πœ†πœ†}, 𝛾𝛾 ∈ {0,1}β€’ 𝑐𝑐𝑏𝑏,𝛾𝛾= 𝐸𝐸 𝑝𝑝𝑝𝑝, 𝑏𝑏, 𝛾𝛾 , 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏,𝛾𝛾‒ 𝑐𝑐 = �̃�𝐢, 𝑐𝑐𝑏𝑏,𝛾𝛾

Alice Bob

Cara

Page 25: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

How to decrypt?

β€’Decrypt 𝑐𝑐 = �̃�𝐢, 𝑐𝑐𝑏𝑏,𝛾𝛾 using π‘π‘π‘˜π‘˜1, π‘π‘π‘˜π‘˜2 and π‘ π‘ π‘˜π‘˜π΅π΅

β€’Recall 𝑐𝑐1,0 = 𝐸𝐸 𝑝𝑝𝑝𝑝, π‘π‘πœ†πœ† + 1,0 , 𝑏𝑏𝑏𝑏𝑏𝑏1,0 and

𝑐𝑐1,1 = 𝐸𝐸 𝑝𝑝𝑝𝑝, π‘π‘πœ†πœ† + 1,1 , 𝑏𝑏𝑏𝑏𝑏𝑏1,1β€’ which one can be decrypted? β€’ 𝑐𝑐1,π‘π‘π‘˜π‘˜π‘π‘,1 which decrypts to 𝑏𝑏𝑏𝑏𝑏𝑏1,π‘π‘π‘˜π‘˜π‘π‘,1

β€’ Similarly, for each 𝑏𝑏 decrypt 𝑐𝑐𝑏𝑏,0 or 𝑐𝑐𝑏𝑏,1β€’Evaluate(�̃�𝐢, {𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏,π‘π‘π‘˜π‘˜π‘π‘,𝑖𝑖}) outputs 𝐸𝐸𝐸𝐸𝑐𝑐 π‘π‘π‘˜π‘˜π΅π΅ ,π‘šπ‘š

Page 26: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

How to compress more keys/Bootstrapping?

β€’ Using a Merkel Tree

β€’ Exponentially Many Keysβ€’ Grow the tree dynamically – as needed

Page 27: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Chameleon Encryption

Five Algorithms: (𝑆𝑆,𝐻𝐻,π»π»βˆ’1,𝐸𝐸,𝐷𝐷)

𝑆𝑆 1πœ†πœ†,𝐸𝐸 β†’ π‘˜π‘˜, 𝑑𝑑 π‘˜π‘˜ is the hash Key𝒕𝒕 is the hash trapdoor

H π‘˜π‘˜, π‘₯π‘₯; 𝐴𝐴 β†’ β„Ž β„Ž is short (say πœ†πœ†-bits)π‡π‡βˆ’πŸπŸ 𝒕𝒕, (𝒙𝒙, 𝒓𝒓),𝒙𝒙𝒙 β†’ 𝒓𝒓𝒙 𝑯𝑯 π’Œπ’Œ,𝒙𝒙; 𝒓𝒓 = 𝑯𝑯(π’Œπ’Œ,𝒙𝒙′; 𝒓𝒓′)

𝐸𝐸 π‘˜π‘˜, (β„Ž, 𝑏𝑏, 𝑏𝑏),π‘šπ‘š β†’ 𝑐𝑐 where 𝑏𝑏 ∈ 𝐸𝐸 and 𝑏𝑏 ∈ 0,1𝐷𝐷 𝑐𝑐, (π‘₯π‘₯, 𝐴𝐴) β†’ π‘šπ‘š if 𝐻𝐻 π‘˜π‘˜, π‘₯π‘₯; 𝐴𝐴 = β„Ž and π‘₯π‘₯𝑏𝑏 = 𝑏𝑏

Security: π‘˜π‘˜, π‘₯π‘₯, 𝐴𝐴,𝐸𝐸 π‘˜π‘˜, (β„Ž, 𝑏𝑏, 1 βˆ’ π‘₯π‘₯𝑏𝑏), 0 β‰ˆ π‘˜π‘˜, π‘₯π‘₯, 𝐴𝐴,𝐸𝐸 π‘˜π‘˜, (β„Ž, 𝑏𝑏, 1 βˆ’ π‘₯π‘₯𝑏𝑏), 1

Page 28: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Bootstrapping

π‘˜π‘˜0

π‘˜π‘˜1

π‘˜π‘˜β„“

β„Ž0,0

β„Ž1,0 β„Ž1,1

β„Žβ„“,0 β„Žβ„“,1 β„Žβ„“,2β„“βˆ’2 β„Žβ„“,2β„“βˆ’1

π’“π’“π’Šπ’Š,𝒋𝒋 = π»π»βˆ’1(𝑑𝑑𝑏𝑏 , (0βˆ—, 𝐴𝐴𝑏𝑏,𝑗𝑗′ ),β„Žπ‘π‘+1,2𝑗𝑗|β„Žπ‘π‘+1,2𝑗𝑗+1)

β„Žπ‘π‘,𝑗𝑗 = 𝐻𝐻(π‘˜π‘˜π‘π‘ , 0βˆ—; 𝐴𝐴𝑏𝑏,𝑗𝑗′ )

𝑑𝑑0

π‘šπ‘šπ‘ π‘ π‘˜π‘˜

𝑑𝑑1

𝑑𝑑ℓ

π’“π’“πŸŽπŸŽ,𝟎𝟎 = π»π»βˆ’1(𝑑𝑑0, (0βˆ—, 𝐴𝐴0,0β€² ),β„Ž1,0|β„Ž1,1)

Page 29: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Bootstrapping

π’“π’“πŸŽπŸŽ,πŸŽπŸŽπ‘˜π‘˜0

π‘˜π‘˜1

π‘˜π‘˜β„“

π’“π’“πŸπŸ,𝟎𝟎

𝒓𝒓ℓ,𝟏𝟏

β„Ž0,0

β„Ž1,0 β„Ž1,1

β„Žβ„“,0 β„Žβ„“,1 β„Žβ„“,2β„“βˆ’2 β„Žβ„“,2β„“βˆ’1

Secret-key for 𝐼𝐼𝐷𝐷

π’“π’“π’Šπ’Š,𝒋𝒋 = π»π»βˆ’1(𝑑𝑑𝑏𝑏 , (0βˆ—, 𝐴𝐴𝑏𝑏,𝑗𝑗′ ),β„Žπ‘π‘+1,2𝑗𝑗|β„Žπ‘π‘+1,2𝑗𝑗+1)

β„Žπ‘π‘,𝑗𝑗 = 𝐻𝐻(π‘˜π‘˜π‘π‘ , 0βˆ—; 𝐴𝐴𝑏𝑏,𝑗𝑗′ )

𝑑𝑑0

π‘šπ‘šπ‘ π‘ π‘˜π‘˜

𝑑𝑑1

𝑑𝑑ℓ

Page 30: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Bootstrapping

π’“π’“πŸŽπŸŽ,πŸŽπŸŽπ‘˜π‘˜0

π‘˜π‘˜1

π‘˜π‘˜β„“

π’“π’“πŸπŸ,𝟎𝟎

𝒓𝒓ℓ,𝟏𝟏

β„Ž0,0

β„Ž1,0 β„Ž1,1

β„Žβ„“,0 β„Žβ„“,1 β„Žβ„“,2β„“βˆ’2 β„Žβ„“,2β„“βˆ’1

Cipher for 𝐼𝐼𝐷𝐷,π‘šπ‘š

π‘šπ‘š

�𝐢𝐢0

�𝐢𝐢1

�𝐢𝐢ℓ

Page 31: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Open Problems and Related Works

β€’ Can we make the scheme efficient?β€’ IBE from any PKE?β€’ ABE from weaker assumptions?

β€’ Techniques have other applications:β€’ Laconic OT [CDGGMP17]β€’ Anonymous IBE [BLSV18]β€’ Circular Security [BLSV18,DGHM18,KT18]β€’ Two-round MPC [GS17, GS18, BL18]β€’ Adaptive garbled circuits/RAM [GS18a, GS18b]β€’ Laconic Function Evaluation [QWW18]

Page 32: Identity Based Encryption from the Diffie-Hellman Assumption€¦ · 𝐸𝐸𝑝𝑝𝑝𝑝,𝐼𝐼,π‘šπ‘šπ·π·β†’π‘π‘ encrypt using 𝑝𝑝𝑝𝑝and 𝐼𝐼𝐷𝐷

Thank You! Questions?