Applied cryptography

Similar documents
ID-based Encryption Scheme Secure against Chosen Ciphertext Attacks

Boneh-Franklin Identity Based Encryption Revisited

CSC 774 Advanced Network Security

CSC 774 Advanced Network Security

Outline. The Game-based Methodology for Computational Security Proofs. Public-Key Cryptography. Outline. Introduction Provable Security

Identity-based encryption

Verifiable Security of Boneh-Franklin Identity-Based Encryption. Federico Olmedo Gilles Barthe Santiago Zanella Béguelin

G Advanced Cryptography April 10th, Lecture 11

Secure Certificateless Public Key Encryption without Redundancy

Lecture 7: Boneh-Boyen Proof & Waters IBE System

REMARKS ON IBE SCHEME OF WANG AND CAO

Efficient Identity-based Encryption Without Random Oracles

Remove Key Escrow from The Identity-Based Encryption System

Searchable encryption & Anonymous encryption

An Introduction to Pairings in Cryptography

T Advanced Course in Cryptology. March 28 th, ID-based authentication frameworks and primitives. Mikko Kiviharju

Secure and Practical Identity-Based Encryption

Lecture 17 - Diffie-Hellman key exchange, pairing, Identity-Based Encryption and Forward Security

A Strong Identity Based Key-Insulated Cryptosystem

Simple SK-ID-KEM 1. 1 Introduction

Pairing-Based Cryptography An Introduction

Public-Key Cryptography. Public-Key Certificates. Public-Key Certificates: Use

DATA PRIVACY AND SECURITY

Cryptanalysis and improvement of an ID-based ad-hoc anonymous identification scheme at CT-RSA 05

Practical Hierarchical Identity Based Encryption and Signature schemes Without Random Oracles

Gentry IBE Paper Reading

Efficient Identity-Based Encryption Without Random Oracles

Type-based Proxy Re-encryption and its Construction

CS 4770: Cryptography. CS 6750: Cryptography and Communication Security. Alina Oprea Associate Professor, CCIS Northeastern University

Recent Advances in Identity-based Encryption Pairing-based Constructions

Cryptography from Pairings

Katz, Lindell Introduction to Modern Cryptrography

On the security of Jhanwar-Barua Identity-Based Encryption Scheme

Public Key Cryptography

CONSTRUCTIONS SECURE AGAINST RECEIVER SELECTIVE OPENING AND CHOSEN CIPHERTEXT ATTACKS

1 Number Theory Basics

An efficient variant of Boneh-Gentry-Hamburg's identity-based encryption without pairing

Short Signatures Without Random Oracles

Improved ID-based Authenticated Group Key Agreement Secure Against Impersonation Attack by Insider

Lecture 9 Julie Staub Avi Dalal Abheek Anand Gelareh Taban. 1 Introduction. 2 Background. CMSC 858K Advanced Topics in Cryptography February 24, 2004

CS 282A/MATH 209A: Foundations of Cryptography Prof. Rafail Ostrovsky. Lecture 7

Public-Key Cryptography. Lecture 9 Public-Key Encryption Diffie-Hellman Key-Exchange

An Efficient ID-based Digital Signature with Message Recovery Based on Pairing

Public Key Cryptography

Instructor: Daniele Venturi. Master Degree in Data Science Sapienza University of Rome Academic Year

On (Hierarchical) Identity Based Encryption Protocols with Short Public Parameters (With an Exposition of Waters Artificial Abort Technique)

Stronger Public Key Encryption Schemes

Pairing-Based Cryptographic Protocols : A Survey

Hierarchical identity-based encryption

Non-Adaptive Programmability of Random Oracle

A Generic Hybrid Encryption Construction in the Quantum Random Oracle Model

Identity Based Undeniable Signatures

Provable Security for Public-Key Schemes. Outline. I Basics. Secrecy of Communications. Outline. David Pointcheval

Recent Advances in Identity-based Encryption Pairing-free Constructions

ABHELSINKI UNIVERSITY OF TECHNOLOGY

Security Analysis of an Identity-Based Strongly Unforgeable Signature Scheme

Generic Constructions of Identity-Based and Certicateless KEMs K. Bentahar, P. Farshim, J. Malone-Lee and N.P. Smart Dept. Computer Science, Universit

RSA-OAEP and Cramer-Shoup

Lecture 15 & 16: Trapdoor Permutations, RSA, Signatures

Toward Hierarchical Identity-Based Encryption

Lecture 11: Non-Interactive Zero-Knowledge II. 1 Non-Interactive Zero-Knowledge in the Hidden-Bits Model for the Graph Hamiltonian problem

EXAM IN. TDA352 (Chalmers) - DIT250 (GU) 12 January 2018, 08:

Outline Proxy Re-Encryption NTRU NTRUReEncrypt PS-NTRUReEncrypt Experimental results Conclusions. NTRUReEncrypt

Identity-Based Online/Offline Encryption

CHALMERS GÖTEBORGS UNIVERSITET. TDA352 (Chalmers) - DIT250 (GU) 11 April 2017, 8:30-12:30

Public-Key Encryption: ElGamal, RSA, Rabin

Bounded-Collusion IBE from Semantically-Secure PKE: Generic Constructions with Short Ciphertexts

Post-quantum security models for authenticated encryption

Introduction to Elliptic Curve Cryptography

Cryptology. Scribe: Fabrice Mouhartem M2IF

Introduction to Cybersecurity Cryptography (Part 4)

Technische Universität München (I7) Winter 2013/14 Dr. M. Luttenberger / M. Schlund SOLUTION. Cryptography Endterm

New Framework for Secure Server-Designation Public Key Encryption with Keyword Search

Strongly Unforgeable Signatures Based on Computational Diffie-Hellman

Introduction to Cybersecurity Cryptography (Part 4)

On the relations between non-interactive key distribution, identity-based encryption and trapdoor discrete log groups

Lecture 4 Chiu Yuen Koo Nikolai Yakovenko. 1 Summary. 2 Hybrid Encryption. CMSC 858K Advanced Topics in Cryptography February 5, 2004

A NEW ID-BASED SIGNATURE WITH BATCH VERIFICATION

An Identity-Based Signature from Gap Diffie-Hellman Groups

6.892 Computing on Encrypted Data October 28, Lecture 7

Efficient Selective Identity-Based Encryption Without Random Oracles

The Twin Diffie-Hellman Problem and Applications

Notes for Lecture A can repeat step 3 as many times as it wishes. We will charge A one unit of time for every time it repeats step 3.

Chapter 8 Public-key Cryptography and Digital Signatures

A New Functional Encryption for Multidimensional Range Query

One-Round ID-Based Blind Signature Scheme without ROS Assumption

One can use elliptic curves to factor integers, although probably not RSA moduli.

Certificate-Based Signature Schemes without Pairings or Random Oracles

Multi-key Hierarchical Identity-Based Signatures

Practice Final Exam Winter 2017, CS 485/585 Crypto March 14, 2017

Pairing-Based Identification Schemes

CLASSICAL CRYPTOSYSTEMS IN A QUANTUM WORLD

Lecture 8 Alvaro A. Cardenas Nicholas Sze Yinian Mao Kavitha Swaminathan. 1 Introduction. 2 The Dolev-Dwork-Naor (DDN) Scheme [1]

New Techniques for Dual System Encryption and Fully Secure HIBE with Short Ciphertexts

Ex1 Ex2 Ex3 Ex4 Ex5 Ex6

Introduction to Modern Cryptography. Benny Chor

Public Key Cryptography

ASYMMETRIC ENCRYPTION

Lecture 1. 1 Introduction to These Notes. 2 Trapdoor Permutations. CMSC 858K Advanced Topics in Cryptography January 27, 2004

Public Key Encryption with keyword Search

Transcription:

Applied cryptography Identity-based Cryptography Andreas Hülsing 19 November 2015 1 / 37

The public key problem How to obtain the correct public key of a user? How to check its authenticity? General answer: PKI Find: Directory Servers, direct communication, directory services (LDAP, AD),... Check: See last lectures. Cumbersome and error prone Wouldn t it be nice if we could derive a users public key from its identity? 2 / 37

The public key problem How to obtain the correct public key of a user? How to check its authenticity? General answer: PKI Find: Directory Servers, direct communication, directory services (LDAP, AD),... Check: See last lectures. Cumbersome and error prone Wouldn t it be nice if we could derive a users public key from its identity? 2 / 37

The public key problem How to obtain the correct public key of a user? How to check its authenticity? General answer: PKI Find: Directory Servers, direct communication, directory services (LDAP, AD),... Check: See last lectures. Cumbersome and error prone Wouldn t it be nice if we could derive a users public key from its identity? 2 / 37

Identity-based cryptography Adi Shamir. Identity-Based Cryptosystems and Signature Schemes. Crypto 84. Public key crypto system where public key can be derived from identity Identity can theoretically be anything: X.500 distinguished name, email address, IP, URL,... Encrypt / Verify: Derives PK from targets identity Decrypt / Sign: Use secret key. But how? 3 / 37

Identity-based cryptography Adi Shamir. Identity-Based Cryptosystems and Signature Schemes. Crypto 84. Public key crypto system where public key can be derived from identity Identity can theoretically be anything: X.500 distinguished name, email address, IP, URL,... Encrypt / Verify: Derives PK from targets identity Decrypt / Sign: Use secret key. But how? 3 / 37

Identity-based cryptography Adi Shamir. Identity-Based Cryptosystems and Signature Schemes. Crypto 84. Public key crypto system where public key can be derived from identity Identity can theoretically be anything: X.500 distinguished name, email address, IP, URL,... Encrypt / Verify: Derives PK from targets identity Decrypt / Sign: Use secret key. But how? 3 / 37

Public key cryptography Take public key encryption (pk, sk) kg(1 n ): Keygen takes security parameter (and implicitly randomness), outputs key pair (pk, sk). c enc(pk, m): Encryption takes pk and message m, outputs ciphertext c. m dec(sk, c): Decryption takes sk and c, outputs m. 4 / 37

Identity-based encryption from PKE? sk kg(1 n, id): Keygen takes identity, outputs secret key sk. c enc(id, m): Encryption takes id and message m, outputs ciphertext c. m dec(sk, c): Decryption takes sk and c, outputs m. It s not that easy... 5 / 37

Identity-based encryption from PKE? sk kg(1 n, id): Keygen takes identity, outputs secret key sk. c enc(id, m): Encryption takes id and message m, outputs ciphertext c. m dec(sk, c): Decryption takes sk and c, outputs m. It s not that easy... 5 / 37

How to do key generation? sk kg(1 n, id): Keygen takes identity, outputs secret key sk. What happens if user could run this keygen? 6 / 37

How to do key generation? sk kg(1 n, id): Keygen takes identity, maybe other information, outputs secret key sk. What happens if user could run this keygen? Could generate secret key for ANY id! need TTP... 7 / 37

8 / 37

Keygen concept a la Shamir Key generation center (TTP) generates Master Secret Key (MSK) and Public Parmeters (PP) PP known to all users, MSK kept secret generates sk s for users on smartcards using MSK and user ID id sends out smartcards to users new user keys can be generated without changing old ones Envisioned application area: Corporate networks. 9 / 37

Definition: Identity-based encryption (IBE) (MSK, PP) mkg(1 k ) Master key generation takes security parameter, outputs master secret key MSK and public parameters PP (implicit input to all algorithms). sk id kg(msk, id): Keygen takes identity, master secret key, outputs user secret key sk id. c enc(id, m): Encryption takes id, and message m, outputs ciphertext c. m dec(sk id, c): Decryption takes sk id and c, outputs decryption m of c under id (or ). Correctness: ( m, id) : Pr[m dec(sk id, enc(id, m)) (MSK, PP) mkg(1 k ); sk id kg(msk, id)] = negl(n). 10 / 37

Definition: Identity-based signatures (IBS) (MSK, PP) mkg(1 k ) Master key generation takes security parameter, outputs master secret key MSK and public parameters PP. sk id kg(msk, id): Keygen takes identity, and master secret key, outputs user secret key sk id. σ sign(sk id, m): Sign takes sk id and message m, outputs signature σ of m under sk id. {0, 1} vf(id, m, σ): Verify takes id, m, and σ, outputs 1 if σ is a valid signature for m under id. Correctness: ( m, id) : Pr[1 vf(id, m, sign(sk id, m)) (MSK, PP) mkg(1 k ); sk id kg(msk, id)] = negl(n). 11 / 37

A trivial solution: Certificate-based IBS Given signature scheme Dss = (kg S, sign S, vf S ). (MSK, PP) mkg(1 k ) Return (MSK, PP) kg S (1 k ). sk id kg(msk, id): Compute (sk, pk) kg S (1 k ); cert = sign(msk, id pk); return sk id = (sk, pk, cert). σ sign(sk id, m): Compute s sign(sk, m); return σ = (s, pk, cert). {0, 1} vf(id, m, σ): b 1 = vf(pp, cert, id pk); b 2 = vf(pk, s, m); return b 1 b 2. Correctness? Security? (See board picture) Drawback: Signatures more than twice a normal signature 12 / 37

A trivial solution: Certificate-based IBS Given signature scheme Dss = (kg S, sign S, vf S ). (MSK, PP) mkg(1 k ) Return (MSK, PP) kg S (1 k ). sk id kg(msk, id): Compute (sk, pk) kg S (1 k ); cert = sign(msk, id pk); return sk id = (sk, pk, cert). σ sign(sk id, m): Compute s sign(sk, m); return σ = (s, pk, cert). {0, 1} vf(id, m, σ): b 1 = vf(pp, cert, id pk); b 2 = vf(pk, s, m); return b 1 b 2. Correctness? Security? (See board picture) Drawback: Signatures more than twice a normal signature 12 / 37

A trivial solution: Certificate-based IBS Given signature scheme Dss = (kg S, sign S, vf S ). (MSK, PP) mkg(1 k ) Return (MSK, PP) kg S (1 k ). sk id kg(msk, id): Compute (sk, pk) kg S (1 k ); cert = sign(msk, id pk); return sk id = (sk, pk, cert). σ sign(sk id, m): Compute s sign(sk, m); return σ = (s, pk, cert). {0, 1} vf(id, m, σ): b 1 = vf(pp, cert, id pk); b 2 = vf(pk, s, m); return b 1 b 2. Correctness? Security? (See board picture) Drawback: Signatures more than twice a normal signature 12 / 37

A trivial solution: Certificate-based IBS Given signature scheme Dss = (kg S, sign S, vf S ). (MSK, PP) mkg(1 k ) Return (MSK, PP) kg S (1 k ). sk id kg(msk, id): Compute (sk, pk) kg S (1 k ); cert = sign(msk, id pk); return sk id = (sk, pk, cert). σ sign(sk id, m): Compute s sign(sk, m); return σ = (s, pk, cert). {0, 1} vf(id, m, σ): b 1 = vf(pp, cert, id pk); b 2 = vf(pk, s, m); return b 1 b 2. Correctness? Security? (See board picture) Drawback: Signatures more than twice a normal signature 12 / 37

How to build IBS Need key generation such that RSA? it allows to generate sk from pk for most pk given some trapdoor information td. it is infeasable to compute td given (sk, pk). If n = f (id) for pseudorandom f no one can factor N. If n PP and (p, q) = td MSK, knowledge of (e, d) allows to compute p, q. 13 / 37

How to build IBS Need key generation such that RSA? it allows to generate sk from pk for most pk given some trapdoor information td. it is infeasable to compute td given (sk, pk). If n = f (id) for pseudorandom f no one can factor N. If n PP and (p, q) = td MSK, knowledge of (e, d) allows to compute p, q. 13 / 37

Shamir s IBS Uses hash functions H 1 : {0, 1} Z N, H 2 : {0, 1} Z 2 l(k) (MSK, PP) mkg(1 k ) (N, e, d) GenRSA(1 k ); MSK (N, e, d); PP (N, e); return (MSK, PP). sk id kg(msk, id): x H 1 (id) d sk id = (N, e, x). $ mod N; return σ sign(sk id, m): t Z N ; T te mod N; c H 2 (T m); s xt c mod N; return σ = (T, s). {0, 1} vf(id, m, σ): if s e H 1 (id)t H 2(T m) mod N return 1, else 0. 14 / 37

Evaluation Correctness s e H 1 (id)t H 2(T m) mod N s e x e t eh 2(T m) mod N s e x e t ec mod N s xt c mod N Security reduction if e > 2 l(k) and l super-logarithmic function. Proof uses generic transform from convertible identification schemes similar to Fiat-Shamir. 15 / 37

Evaluation Correctness s e H 1 (id)t H 2(T m) mod N s e x e t eh 2(T m) mod N s e x e t ec mod N s xt c mod N Security reduction if e > 2 l(k) and l super-logarithmic function. Proof uses generic transform from convertible identification schemes similar to Fiat-Shamir. 15 / 37

Identity-based encryption (IBE) A lot harder than IBS. Open problem until 2001 (Shamir s paper was from 1984) Generally, IBC is easier when first move done by sk user 16 / 37

Definition: Identity-based encryption (IBE) (MSK, PP) mkg(1 k ): Master key generation takes security parameter, outputs master secret key MSK and public parameters PP (implicit input to all algorithms). sk id kg(msk, id): Keygen takes identity, master secret key, outputs user secret key sk id. c enc(id, m): Encryption takes id, and message m, outputs ciphertext c. m dec(sk id, c): Decryption takes sk id and c, outputs decryption m of c under id (or ). Correctness: ( m, id) : Pr[m dec(sk id, enc(id, m)) (MSK, PP) mkg(1 k ); sk id kg(msk, id)] = negl(n). 17 / 37

IBE security (CCA game) Setup phase: Challenger C runs mkg, keeps MSK and hands PP to adversary A Learning phase 1: A can issue two kinds of queries key-extraction(id): C replies with sk id. decryption(c,id): C replies with m dec(c, sk id ). Challenge phase: A chooses id, m 0, m 1 with m 0 = m 1 such that A did not do a key-extraction query for id and sends them to C. C flips a coin to determine bit b and replies with c = enc(id, m b ). Learning phase 2: As learning phase above but A must neither ask a key-extraction query for id nor a decryption query for (id, c). Guess: A outputs a bit b. 18 / 37

IBE security II A scheme is ind-id-cca secure if the advantage Adv ind id cca (A) = Pr[(b = b )] 1/2] of any PPT A in the above game is negligible. A scheme is ind-id-cpa secure if the advantage Adv ind id cpa (A) = Pr[(b = b )] 1/2] of any PPT A in the above game without access to the decryption oracle is negligible. 19 / 37

Bilinear Maps Let G, G T be cyclic groups of prime order p, a bilinear map ê is a non-degenerate map ê : G G G T, such that for all P, Q G and a, b Z p we have ê(ap, bq) = ê(p, Q) ab. DLP should be hard in G and G T Can be realized via Weil or modified Tate pairing on elliptic curves. 20 / 37

Bilinear Diffie-Hellman Problem (BDH) Given P $ G and ap, bp, cp for a, b, c Z p, compute ê(p, P) abc. 21 / 37

Boneh-Franklin IBE Uses hash functions H 1 : {0, 1} G, H 2 : G T {0, 1} n, message space {0, 1} n. $ mkg: For generator P of G, pick s Z p, set P pub = sp. Return MSK = s, PP = (P, P pub ). kg: Compute Q id = H 1 (id). Return sk id = sq id. enc: Compute Q id = H 1 (id), choose random r and return c = (rp, m H 2 (ê(q id, P pub ) r )). dec: Let c = (U, V ). Compute m = V H 2 (ê(sk id, U)). $ Z p, 22 / 37

Correctness of BF-IBE dec: Let c = (U, V ) = (rp, m H 2 (ê(q id, P pub ) r )). Compute V H 2 (ê(sk id, U)) =V H 2 (ê(sq id, rp)) =V H 2 (ê(q id, P) sr ) =m H 2 (ê(q id, P pub ) r ) H 2 (ê(q id, P) sr ) =m H 2 (ê(q id, sp) r ) H 2 (ê(q id, P) sr ) =m H 2 (ê(q id, P) sr ) H 2 (ê(q id, P) sr ) =m 23 / 37

Security of BF-IBE Security reduction from BDH problem in ROM Basic reduction only for ind-id-cpa To get ind-id-cca apply standard transform (Fujisaki-Okamoto) For proof define public key encryption scheme BF-PKE as intermediate step. Proof works in two steps: 1 Given A 1 against BF-IBE, construct A 2 against BF-PKE 2 Given A 2 against BF-PKE, construct B against BDH 24 / 37

IBE security (CPA game) Setup phase: Challenger C runs mkg, keeps MSK and hands PP to adversary A Learning phase 1: A can issue queries key-extraction queries for id s, C replies with sk id. Challenge phase: A chooses id, m 0, m 1 with m 0 = m 1 such that A did not do a key-extraction query for id and sends them to C. C flips a coin to determine bit b and replies with c = enc(id, m b ). Learning phase 2: As learning phase above but A must not ask a key-extraction query for id. Guess: A outputs a bit b. 25 / 37

PKE security (CPA game) Setup phase: Challenger C runs kg, keeps sk and hands pk to adversary A Challenge phase: A chooses m 0, m 1 with m 0 = m 1 and sends them to C. C flips a coin to determine bit b and replies with c = enc(pk, m b ). Guess: A outputs a bit b. 26 / 37

Security of BF-IBE, cont d Proof works in two steps: 1 Given A 1 against BF-IBE, construct A 2 against BF-PKE 2 Given A 2 against BF-PKE, construct B against BDH Step 1 deals with key-extraction queries. Step 2 deals with challenge. 27 / 37

The Boneh-Franklin PKE Uses hash function H 2 : G T {0, 1} n, message space {0, 1} n. kg: For generator P of G, pick s Choose random Q id $ G. Return sk id = sq id, pk = (P, P pub, Q id ). enc: Choose random r $ Z p, and return $ Z p, set P pub = sp. c = (rp, m H 2 (ê(q id, P pub ) r )). dec: Let c = (U, V ). Compute It s just BF-IBE with a fixed identity! m = V H 2 (ê(sk id, U)). 28 / 37

The Boneh-Franklin PKE Uses hash function H 2 : G T {0, 1} n, message space {0, 1} n. kg: For generator P of G, pick s Choose random Q id $ G. Return sk id = sq id, pk = (P, P pub, Q id ). enc: Choose random r $ Z p, and return $ Z p, set P pub = sp. c = (rp, m H 2 (ê(q id, P pub ) r )). dec: Let c = (U, V ). Compute It s just BF-IBE with a fixed identity! m = V H 2 (ê(sk id, U)). 28 / 37

Constructing A 2 from A 1 H i queries Let A 1 be an ind-id-cpa adversary against BF-IBE, we construct an ind-cpa adversary A 2 against BF-PKE. H 1 -queries: A 2 keeps list H list 1 with tuples (id i, Q i, b i, c i ). When queried for id j : If there is an entry for id j in H list 1, return Q j. Otherwise: Generate random c $ {0, 1} with Pr[c = 0] = δ. Pick random b $ Z p and set Q j = bp if c = 0, Q j = bq id if c = 1. Add (id j, Q j, b j, c j ) to H list 1 ; return Q j. Partitions id-space. For c = 0 entries, A 2 can extract valid keys. For c = 1 entries, A 2 can generate valid challenge ciphertexts. H 2 -queries: A 2 forwards to B. 29 / 37

Constructing A 2 from A 1 game I Learning phases: Asked for sk idj, A 2 runs H 1 algorithm, let (id j, Q j, b j, c j ) be the answer. If c j = 1, A 2 aborts. If c j = 0, Q j = b j P. Return sk idj = b j P pub. Note: sk idj = b j P pub = b j sp = sq j. 30 / 37

Constructing A 2 from A 1 game II Challenge phase: Given (id, m 0, m 1 ), A 2 forwards to B and receives c = (U, V ). A 2 runs H 1 algorithm, let (id j, Q j, b j, c j ) be the answer. If c j = 0, A 2 aborts. If c j = 1, Q j = b j Q id. A 2 sets c = (U, V ), where U = b 1 j U. Note: Let U = rp and m i H 2 (ê(q id, P pub ) r )) for r then U = b 1 j U = b 1 j rp = r P for r = b 1 j r and $ Z p, ê(q id, P pub ) r = ê(b 1 j Q j, P pub ) r = ê(q j, P pub ) rb 1 j = ê(q j, P pub ) r. Hence (U, V ) is a valid ciphertext for id j using randomness r. 31 / 37

Constructing A 2 from A 1 game III Guess: A 2 forwards A 1 s guess. 32 / 37

Constructing B from A 2 Setup B is given a BDH challenge: (P, ap, bp, cp) and asked to return ê(p, P) abc. Key generation: B computes public key pk = (P, P pub, Q id ) as P pub = ap, Q id = bp. Secret key sk = abp is unknown to B. 33 / 37

Constructing B from A 2 H 2 queries H 2 -queries: B keeps list H list 2 with pairs (X i, H i ). When queried for X j : If there is an entry for X j in H list 2, return H j. Otherwise return random H j $ {0, 1} n, and add (X j, H j ) to H list 2. 34 / 37

Constructing B from A 2 game Challenge phase: Given (m 0, m 1 ), B picks random R $ {0, 1} n returns c = (cp, R). Note: The decryption of c is R H 2 (ê(sk, cp)) = R H 2 (ê(p, P) abc ). Solve: Return random X i from H list 2 35 / 37

Analysis Let Adv(A 1 ) = ɛ 1, Adv(A 2 ) = ɛ 2. Step 1: Step 2: Depends on partition. Choosing δ appropriately, one can achieve Adv(A 2 ) ɛ 1 /(e(1 + q)). One can show that A 2 has to ask H 2 (ê(p, P) abc ) with probability 2ɛ 2. When A 2 makes at most q H2 queries to H 2, Adv(B) 2ɛ 2 /q H2. Together: Adv ind id cpa (A 1 ) 1 2 e(1 + q)q H 2 Adv BDH (B) 36 / 37

Drawbacks Key escrow (similar for PKI) Revocation!!! Possible solutions: Distributed key generation centers. Time-limited identities. 37 / 37

Drawbacks Key escrow (similar for PKI) Revocation!!! Possible solutions: Distributed key generation centers. Time-limited identities. 37 / 37