LR-RRA-CCA Secure Functional Encryption for Randomized Functionalities from Trapdoor HPS and LAF

Similar documents
Leakage-Resilient Chosen-Ciphertext Secure Public-Key Encryption from Hash Proof System and One-Time Lossy Filter

Candidate Differing-Inputs Obfuscation from Indistinguishability Obfuscation and Auxiliary-Input Point Obfuscation

Non-malleability under Selective Opening Attacks: Implication and Separation

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

Notes on Property-Preserving Encryption

CS 6260 Applied Cryptography

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.

CTR mode of operation

CPA-Security. Definition: A private-key encryption scheme

Lecture 7: CPA Security, MACs, OWFs

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

Universal Hash Proofs and a Paradigm for Adaptive Chosen Ciphertext Secure Public-Key Encryption

Lecture 9 - Symmetric Encryption

SYMMETRIC ENCRYPTION. Mihir Bellare UCSD 1

Continuous Non-Malleable Key Derivation and Its Application to Related-Key Security

A Generic Hybrid Encryption Construction in the Quantum Random Oracle Model

Modern symmetric-key Encryption

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

Efficient chosen ciphertext secure identity-based encryption against key leakage attacks

6.892 Computing on Encrypted Data October 28, Lecture 7

Simulation-based Selective Opening CCA Security for PKE from Key Encapsulation Mechanisms

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

CS 282A/MATH 209A: Foundations of Cryptography Prof. Rafail Ostrosky. Lecture 4

Augmented Black-Box Simulation and Zero Knowledge Argument for NP

Smooth Projective Hash Function and Its Applications

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

Searchable encryption & Anonymous encryption

Multi-Input Functional Encryption for Unbounded Arity Functions

Inaccessible Entropy and its Applications. 1 Review: Psedorandom Generators from One-Way Functions

Lecture 22. We first consider some constructions of standard commitment schemes. 2.1 Constructions Based on One-Way (Trapdoor) Permutations

Standard Security Does Not Imply Indistinguishability Under Selective Opening

A New Paradigm of Hybrid Encryption Scheme

CS 6260 Applied Cryptography

Gentry IBE Paper Reading

Lecture Summary. 2 Simplified Cramer-Shoup. CMSC 858K Advanced Topics in Cryptography February 26, Chiu Yuen Koo Nikolai Yakovenko

1 Number Theory Basics

Modern Cryptography Lecture 4

Lecture 6. 2 Adaptively-Secure Non-Interactive Zero-Knowledge

Lesson 8 : Key-Policy Attribute-Based Encryption and Public Key Encryption with Keyword Search

Identity-based encryption

Simulation-Based Secure Functional Encryption in the Random Oracle Model

Randomness-Dependent Message Security

Computational security & Private key encryption

III. Pseudorandom functions & encryption

Lecture 5, CPA Secure Encryption from PRFs

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

RSA-OAEP and Cramer-Shoup

On the Achievability of Simulation-Based Security for Functional Encryption

Fully-secure Key Policy ABE on Prime-Order Bilinear Groups

Question 2.1. Show that. is non-negligible. 2. Since. is non-negligible so is μ n +

Optimal Security Reductions for Unique Signatures: Bypassing Impossibilities with A Counterexample

Pr[C = c M = m] = Pr[C = c] Pr[M = m] Pr[M = m C = c] = Pr[M = m]

CSA E0 235: Cryptography March 16, (Extra) Lecture 3

ID-based Encryption Scheme Secure against Chosen Ciphertext Attacks

A note on the equivalence of IND-CCA & INT-PTXT and IND-CCA & INT-CTXT

Applied cryptography

SYMMETRIC ENCRYPTION. Syntax. Example: OTP. Correct decryption requirement. A symmetric encryption scheme SE = (K, E, D) consists of three algorithms:

Standard versus Selective Opening Security: Separation and Equivalence Results

New Lower Bounds on Predicate Entropy for Function Private Public-Key Predicate Encryption

Cryptography. Lecture 2: Perfect Secrecy and its Limitations. Gil Segev

Authentication. Chapter Message Authentication

COS 597C: Recent Developments in Program Obfuscation Lecture 7 (10/06/16) Notes for Lecture 7

Multi-Input Functional Encryption

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

Homework 7 Solutions

8 Security against Chosen Plaintext

Universal Samplers with Fast Verification

The Random Oracle Paradigm. Mike Reiter. Random oracle is a formalism to model such uses of hash functions that abound in practical cryptography

Leakage-Resilient Public-Key Encryption from Obfuscation

1 Indistinguishability for multiple encryptions

Non-Interactive ZK:The Feige-Lapidot-Shamir protocol

On Notions of Security for Deterministic Encryption, and Efficient Constructions without Random Oracles

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

Lossy Trapdoor Functions from Smooth Homomorphic Hash Proof Systems

On The (In)security Of Fischlin s Paradigm

U.C. Berkeley CS276: Cryptography Luca Trevisan February 5, Notes for Lecture 6

Lightweight Symmetric-Key Hidden Vector Encryption without Pairings

Constant-round Leakage-resilient Zero-knowledge from Collision Resistance *

2 Message authentication codes (MACs)

Post-quantum security models for authenticated encryption

Cryptology. Scribe: Fabrice Mouhartem M2IF

Simple SK-ID-KEM 1. 1 Introduction

Chosen-Ciphertext Security (I)

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

CSA E0 312: Secure Computation September 09, [Lecture 9-10]

Solutions for week 1, Cryptography Course - TDA 352/DIT 250

On The (In)security Of Fischlin s Paradigm

Lecture 16 Chiu Yuen Koo Nikolai Yakovenko. 1 Digital Signature Schemes. CMSC 858K Advanced Topics in Cryptography March 18, 2004

Lattice Cryptography

Block Ciphers/Pseudorandom Permutations

Efficient Public-Key Cryptography in the Presence of Key Leakage

Chapter 11. Asymmetric Encryption Asymmetric encryption schemes

Lecture 18: Message Authentication Codes & Digital Signa

Contention in Cryptoland: Obfuscation, Leakage and UCE

Better Security for Functional Encryption for Inner Product Evaluations

Lectures 1&2: Introduction to Secure Computation, Yao s and GMW Protocols

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

Lecture 17: Constructions of Public-Key Encryption

Related Randomness Attacks for Public Key Encryption

On the Communication Complexity of Secure Function Evaluation with Long Output

Transcription:

. Supplementary File. SCIENCE CHINA Information Sciences LR-RRA-CCA Secure Functional Encryption for Randomized Functionalities from Trapdoor HPS and LAF Huige WANG 1,2, Kefei CHEN 3 *, Baodong QIN 4,5 & Ziyuan HU 1 1 Department of Network Engineering, Anhui Science and Technology University, Fengyang 233100, China; 2 Department of Computer Science and Engineering, Shanghai Jiao Tong University, Shanghai 200240, China; 3 Department of Mathematics, Hangzhou Normal University, Hangzhou 311121, China; 4 National Engineering Laboratory for Wireless Security, Xi an University of Posts and Telecommunications, Xi an 710121, China ; 5 State Key Laboratory of Cryptology, P.O.Box5159, Beijing 100878, China Appendix A Introduction In appendixes below, we give some supplementary materials for our short paper. In Appendix B, we give some notations; in Appendix C, we give the definition of function restrictions; in Appendix D, we give the notion of the correlated-input secure hash functions; in Appendix E, we give some related notions with trapdoor hash proof system; in Appendix F, we give some properties of Lossy Algebraic Filter (LAF); in Appendix G, we give the fomal definition of public-key functional encryption (PK-FE); in Appendix H, we give the security proof of the concrete construction for PK-FE. Appendix B Notations Throughout the paper, N denotes the set of natural numbers and λ N denotes the security parameter. Let y A(x 1, ; R) denote the operation of running algorithm A on inputs x 1, and coins R to output y. For simplicity, we write y A(x 1, ; R) as y $ A(x 1, ) with implied coins. If n N, we let [n] denote the set {1,, n}. We call a function negl negligible in λ if negl(λ) λ ω(1) and a function poly a polynomial if poly λ O(1). If X is a random variable over the set S, then we write max a S Pr[X = a] to denote the predictability of X and log(max a S Pr[X = a]) denote the min-entropy H (X) of X. If x denotes a vector, then x denotes the number of components in x. If P denotes circuit, then we use notation P [z] ( ) to emphasize the fact that the value z is hard-coded into P. x $ Sample D (r) denotes an efficiently computable sampler Sample which on input a randomness r $ R, outputs a uniform and random x sampled from D, where D denotes an efficiently sampleable domain and R denotes the random number space. In the following, for security definition and proofs we use a code-based game playing framework in [1, 7]. A game G has a main procedure, and possibly other procedure. G begins by executing the main procedure which runs an adversary A after some initialization. A can make oracle calls permitted by G. When A finishes execution, G continues to execute with A s output. By G A y, we denote the event that G executes with A to output y. Generally, we abbreviate G A true or G A 1 as G, and boolean flags and sets are initialized to false and respectively. Appendix C Function Restrictions In this section, we give some restrictions on the collection of functions Φ = {Φ λ } λ N that the adversary is allowed to access in its queries. These restrictions are necessary to preventing trivial attacks in our schemes. Note that the functions here refer to those the adversary chooses to act on the random numbers in our security notions. Definition 1 (Output-Unpredictability for Functions Φ λ ).. For all sufficiently large λ N, let Φ λ be a set of functions from R λ to R λ and α = poly 1 (λ), β = poly 2 (λ) be positive integers. Then Φ λ is (α, β)-output-unpredictability, if the probability defined below * Corresponding author (email: kfchen@hznu.edu.cn) max {Pr[r $ R λ : {φ(r) : φ P } X ]}, P Φ λ,x R λ, P α, X β

2 H. G. WANG, et al. Sci China Inf Sci is negligible in λ. Definition 2 (Collision-Resistance for Functions Φ λ ).. For all sufficiently large λ N, let Φ λ be a set of functions from R λ to R λ and α = poly(λ) be positive integers. Then Φ λ is α-collision-resistance, if the probability defined below max {Pr[r $ R λ : {φ(r) : φ P } P ]}, P Φ λ, P α is negligible in λ. Let Φ be a family of functions with output-unpredictability and collision-resistance, we call A Φ-restricted adversary if the functions that the adversary chooses to act on the randomness belongs to Φ. In addition, note that, throughout this paper, we assume that Φ implicitly excludes all constant functions. Appendix D Correlated-Input Secure (CIS) Hash Functions The security notion of multi-key selective correlated-input pseudorandomness (MK-SCI-PR) [5] for the family of keyed hash functions H via the game shown in Figure D1. Initialise(λ, l) desc = (CIH.K, CIH.D, CIH.R, h) GenFun(1 λ ); For i = 1 to l $ k i CIH.K; x $ CIH.D; b $ {0, 1}; S ; fq false, ch false; b A Hash,Func,Chal (1 λ, desc). Hash(i, j) If fq = false or ch = true S S {(i, j)}; Return h ki (φ j(x)). Func(φ 1,, φ qφ ) If fq = true, return ; fq true; Return k 1,, k l. Chal(i, j ) If fq = false or ch = true return ; If (i, j ) S return ; $ y 0 CIH.R; y 1 h ki (φ j (x)); ch = true Return y b. Finalise(b ) If b = b Return 1. Figure D1 Game l-mk-sci-pr for a family H of keyed hash functions defined by GenFun. Definition 3 (l-mk-sci-pr Security for CIS Hash Function [5]). A family H of keyed hash functions is said to be l-mk-sci-pr secure if for all Φ λ -restricted adversaries A, the advantage of A against H defined as is negligible in the security parameter λ. Adv l-mk-sci-pr H,A (λ) := 2.Pr[l-MK-SCI-PR A H (λ) 1] 1, Appendix E Trapdoor Hash Proof System (THPS) Here, we redefine the hash proof system (HPS), which we call trapdoor hash proof systems (THPS), by additionally providing some properties such as witness-invertibility on the original HPS proposed by Cramer et al. [2]. Briefly, the witness-invertibility says that under a universal trapdoor, the witness for a valid ciphertext can be effectively recovered. Definition 4 (Trapdoor Projective Hash Function). Let PK be a public key set, SK a secret key set, K an encapsulated key set, T K a trapdoor set, C a ciphertext set and V C a valid ciphertext set and we assume that there exists efficient algorithms which can sample sk $ SK, (C, w) $ V and C $ C\V, where w is a witness indicating C V. Let Λ sk be a hash function indexed with sk SK that maps ciphertexts to encapsulated keys. The hash function Λ sk is projective if there exists a projection function µ : SK PK such that µ(sk) PK determines the behavior of Λ sk over the subset V of valid ciphertexts. Moreover, we say that Λ sk is trapdoor projective hash function if there exists a trapdoor td T K and a PPT algorithm Invert which on input the trapdoor td and a ciphertext C V, recovers the witness w Invert(td, C) from C. Besides, we assume that both Λ ( ) and µ are efficiently computable. Definition 5 (Universal [2]). A trapdoor projective hash function Λ sk is ɛ-universal, if for all pk PK, C C\V, K K and td T K, the probability Pr[Λ sk (C) = K (pk, C, td)] ɛ 1 holds and it follows that H (Λ sk (C) (pk, C, td)) log(1/ɛ 1 ), where the probability is over all sk SK with pk = µ(sk). Definition 6 (Subset Membership Problem (SMP) [6]). We say that the subset membership problem with respect to a trapdoor hash proof system THPS holds if the ciphertexts C 0 $ V and C 1 $ C\V are computationally indistinguishable, formally, if for all PPT adversary A, the advantage function Adv smp THPS,A defined below Adv smp THPS,A (λ) = Pr[A(C, V, C 0) = 1 C 0 $ V] Pr[A(C, V, C 1 ) = 1 C 1 $ C\V], is negligible in the security parameter λ. In addition, note that C 0 and C 1 can be easily distinguished with the universal trapdoor td.

H. G. WANG, et al. Sci China Inf Sci 3 Appendix F Lossy Algebraic Filter (LAF) [4] Indistinguishability. Lossy tags are indistinguishable from random ones. advantage function Adv ind LAF,A (λ) defined below Formally, for all PPT adversary A, if the Adv ind LAF,A (λ) = Pr[A(1λ, lpk) LAF.Ltag(ltk, ) = 1] Pr[A(1 λ, lpk) O Tc ( ) = 1], is negligible in λ, where (lpk, ltk) LAF.KG(1 λ ) and O Tc ( ) is the oracle that samples a random core tag t c. Evasiveness. Non-injective tags are hard to find, even if given multiple lossy tags. Formally, for all PPT adversary A, the advantage function Adv evs LAF,A defined below Adv evs LAF,A (λ) = Pr[t T \T inj t A(1 λ, lpk) LAF.Ltag(ltk, ) ], is negligible in λ, where (lpk, ltk) LAF.KG(1 λ ) and t = (t a, t c) is a non-injective tag such that t c is not obtained via oracle LAF.Ltag(ltk, ). Appendix G Public-Key Functional Encryption (PK-FE) for Randomized Functions In this section, we adopt the definitions of public-key functional encryption (PK-FE) for randomized functions in [3]. Here we simply review the definition and give our proposed security notion. Likewise, let X = {X λ } λ N, R = {R λ } λ N and Y = {Y λ } λ N denote three finite sets. Let F = {F λ } λ N be a finite set of randomized functions. Each function f F λ takes as input a string x X λ and a randomness r R λ and outputs f(x; r) Y λ. Appendix G.1 PK-FE for Randomized Functions [3] We denote a public-key functional encryption for randomized function space F = {F λ } λ N by rfe = (rfe.setup, rfe.kg, rfe.e, rfe.d) over plaintext space X = {X λ } λ N. All the fourth algorithms are PPT. Setup. The algorithm rfe.setup(1 λ ) takes as input 1 λ and outputs a master public key mpk, a master secret key msk and a trapdoor td. Note that the trapdoor td is designed to recover a witness of a ciphertext c V and is only used in the security proof of the scheme. Key Generation. The key generation algorithm rfe.kg(msk, f) takes as input the master secret key msk and a function f F λ and outputs the secrete key sk f. Encryption. The encryption algorithm rfe.e(mpk, x) takes as input the master public key mpk and a plaintext x X λ and outputs a ciphertext ct. Decryption. The decryption algorithm rfe.d(sk f, ct) takes as input a secret key sk f and a ciphertext ct, which encrypts plaintext x, outputs f(x) or. The correctness for the PK-FE scheme for randomized function rfe requires that for all polynomial n = n (λ), all f F n λ and all x Xλ n, the following two distributions are computationally indistinguishable: 1. Real : {rfe.d(sk fj, ct i )} n,n i=1,j=1, where: (mpk, msk) rfe.setup(1 λ ) ct i rfe.e(mpk, x i ) for i [n ], x i x sk fj rfe.kg(msk, f j ) for j [n ], f j f 2. Ideal : {f j (x i ; r i,j )} n,n i=1,j=1, where r i,j $ R λ. Appendix G.2 Simulation-Based LR-RRA-CCA Security for PK-FE for Randomized Functions In this section, we define a new security model for public-key functional encryption for randomized functions, called simulation-based LR-RRA-CCA security (short for Sim-LR-RRA-CCA security ), by combining the notions of leakageresilient (LR), related-randomness attacks (RRA) [5] and chosen-ciphertext attacks (CCA) for public-key encryption. Clearly, our Sim-LR-RRA-CCA security is stronger than the one proposed in [3]. Let rfe=(rfe.setup, rfe.kg, rfe.e, rfe.d) denote a public key functional encryption scheme for randomized functions, our Sim-LR-RRA-CCA security notion for rfe is defined via the games in Figure G1. Here, we require A to be a Φ-restricted adversary where Φ is a deterministic function set, but we do not strictly restrict the type of the set Φ, which can be a set of polynomial functions or affine functions or other functions which relies on the concrete instantiations. For simplicity, applying the Lemma 1 from [5], we only consider the case that the adversary uses one randomness index. DISCUSSION. We extend the existing definition from [3] to include the security against related-randomness attacks and master key-leakage in our security notion in which a target key pair (mpk, msk ) for the FE scheme rfe is honestly provided, where mpk denotes the target master public key and msk denotes the target master secret key. In order to formalize the intuition on the security against RRA, we allow the adversary to control which random values (since we use one randomness case in our definition, the random value here refers to the unique r initialized at the beginning of the game) and functions will be used in oracle queries where the random values are needed. To obtain the LR security, we also allow

4 H. G. WANG, et al. Sci China Inf Sci the adversary to learn a bounded amount of information about the target master secret key msk. Like the CCA security in the standard definition of Goyal et al., the adversary is also allowed to have access to a regular decryption oracle with the private keys sk g which is generated with msk in the real world; while in the ideal world, the simulator must be able to compute the plaintext x from each decryption query and output f (x; r) for some true random value r. The adversary is considered successful if it distinguishes the output of the boolean relation R applied to its interaction in the real world from the output of R applied to its interaction in the ideal world. Experiment LRRRACCAREAL A rfe,l L,F,R (λ) ChS ; XS ; fs ; gs ; target false; lrq false; fq false; LRS ; ENS ; DES ; lfs ; KGS ; ctr 0; ( x, (φ 1,, φ qφ ), st 1) A 1(1 λ ); For i = 1 to l (mpk i, msk i, td i) rfe.setup(1 λ ); α A Func,Target,KeyGen,ENC,LR,DEC,LEAK 2 (st 1). Func(φ 1,, φ qφ ) If fq = true return ; fq = true; Return {mpk i} i [l]. Target(j) If target = true (mpk, msk, td ) (mpk j, msk j, td j); target true; Return {msk i} i j. LEAK l L,λ msk (f ) If fq = false or target = false lfs lfs f ; Return f (msk ). KeyGen(f, 1, n) If fq = false or target = false or lrq = false or φ n (KGS ENS DES LRS) or (( x x ) (f(0 x ; r) f(x; r))) then return, where r R λ ; sk f rfe.kg(msk, f; φ n(r)); fs fs {f}; KGS KGS {φ n}; Return sk f. ENC(mpk, x, 1, n) If fq = false or target = false or (x x ) or φ n (LRS KGS) or (mpk / {mpk i} i [l] ) ct rfe.e(mpk, x; φ n(r)); ENS ENS {φ n}; Return ct. LR({x i} i [qlr ], 1, n) If fq = false or target = false or φ n (ENS DES) For each i [q lr ] compute ct i rfe.e(mpk, x i; φ n(r)); ctr = ctr + 1; LRS LRS {φ n}; ChS ChS {ct i } i [q lr ]; If ctr = q lr then lrq true; Return {ct i } i [q lr ]. DEC msk (ct, g, 1, n) If fq = false or target = false or ct ChS or φ n (LRS KGS) sk g rfe.kg(msk, g; φ n(r)); DES DES {φ n}; gs gs {g}; Return y = rfe.d(sk g, ct). Finalise(α) Return R( x, fs, gs, {y}, lfs, α). Experiment LRRRACCAIDEAL S rfe,l L,F,R (λ) ChS ; XS ; fs ; gs ; target = false; lrq = false; fq false; KGS ; LRS ; ENS ; lfs ; DES ; ctr 0; ( x, (φ 1,, φ qφ ), st 1) A 1(1 λ ); ({mpk i} i [l], st ) S 1(1 λ ); α A Func,Target,KeyGen,ENC,LR,DEC,LEAK 2 (st 1). Func (φ 1,, φ qφ ) If fq = true return ; fq = true; Return {mpk i} i [l]. Target (j) If target = true (mpk, msk, td ) (mpk j, msk j, td j); target true; Return {msk i} i j. LEAK l L,λ msk (f ) If fq = false or target = false lfs lfs f ; Return f (msk ). KeyGen (f, 1, n) If fq = false or target = false or lrq = false or φ n (KGS ENS DES LRS) (( x x ) (f (0 x ; r) f (x; r))) then return, where r R λ ; sk f S KeyIdeal( x, ) 2 (st, ); where f (x, r i)keyideal( x, f ); r i $ R λ ; fs fs {f }; KGS KGS {φ n}; Return sk f. ENC (mpk, x, 1, n) If fq = false or target = false or (x x ) or φ n (LRS KGS) or (mpk / {mpk i} i [l] ) ct rfe.e(mpk, x; φ n(r)); ENS ENS {φ n}; Return ct. LR ({x i} i [qlr ], 1, n) If fq = false or target = false or φ n (ENS DES) For each i [q lr ] compute ct i rfe.e(mpk, 0 x i ; φ n(r)); ctr ctr + 1; LRS LRS {φ n}; ChS ChS {ct i } i [q lr ]; If ctr = q lr then lrq true; Return {ct i } i [q lr ]. DEC DecIdeal(, ) (ct, g, 1, n) If fq = false or target = false or ct ChS or φ n (LRS KGS) g (x, r) S DecIdeal(, ) 3 (st, ); r $ R λ ; DES DES {φ n}; gs gs {g }; Return y = g (x, r). Finalise(α) Return R( x, fs, gs, {y }, lfs, α). Figure G1 SIM-LR-RRA-CCA?? In addition, note that in the ideal game, KeyGen denotes the simulator algorithm S 2 (st, ) that has oracle access to the ideal functionality KeyIdeal( x, ). The functionality KeyIdeal accepts key queries f and returns f (x i ; r i ) for every x i x and r i $ R λ. The set fs denotes the key queries made by S 2 to KeyIdeal. DEC denotes the simulator algorithm S 3 (st, ) that has oracle access to ideal functionality DecIdeal(, ). The functionality DecIdeal accepts input queries (x, g ) and returns y = g (x; r) for r $ R λ. The set gs denotes the functions that appear in the queries of S 3 and {y } denotes

H. G. WANG, et al. Sci China Inf Sci 5 the responses of DecIdeal. Definition 7 (Sim-LR-RRA-CCA Security for rfe). A functional encryption scheme rfe for randomized function family F is said to be l L -leakage-resilient simulation-based RRA and CCA secure (l L -Sim-LR-RRA-CCA secure) if for all PPT Φ-restricted adversary A = (A 1, A 2 ), the advantage of the Sim-LR-RRA-CCA adversary A against the FE scheme rfe with respect to the l L -bit leakage, simulator S = (S 1, S 2, S 3 ), randomized function family F and boolean relation R, namely, Adv Sim-LR-RRA-CCA rfe,l L,S,F,R,A (λ) = Pr[LRRRACCAREALA rfe,l L,F,R (λ)] Pr[LRRRACCAIDEALS rfe,l L,F,R (λ)], is negligible in the security parameter λ. Appendix H Security Theorem 1. Assume that the ɛ 1 -universal trapdoor hash proof system THPS exists, let rfe be a public-key functional encryption for randomized function family F. Let LAF be an (l LAF, n ) lossy algebraic filter, Ext : K {0, 1} d {0, 1} m an average-case ((ν (q lr 1).m q lr.l LAF l L ), ɛ 2 )-strong extractor, DIO a secure differing-inputs obfuscator, h an l-mk-sci-pr secure CIS hash function, PF a secure puncturable PRF, A = (A 1, A 2 ) a PPT Φ-restricted adversary, l L a bounded amount of leakage, R a boolean relation and let ν (q lr 1).m q lr.l LAF l L m + ω(log λ) and ν = log(1/ɛ 1 ), where m is the message length, then there exists a simulator S = (S 1, S 2, S 3 ) and adversaries A cis, A ind, A smp, A dio, A prf, A prf and A evs such that Adv Sim-LR-RRA-CCA rfe,l L,S,F,R,A (λ) qr.q φ.adv l-mk-sci-pr h,a (λ) + q cis r.(q φ + q d ).Adv prf PF,A (λ) + q prf r.adv ind LAF,A ind (λ) + q r.q lr.adv smp THPS,A smp (λ) + q r.q sk.adv dio G f,s.g f,a dio (λ) + q r.q sk.adv prf PF,A (λ) prf + q r.q d.adv evs (λ) + q r.q d.2 l L+q lr.l LAF +q lr.m /(2 ν q d ) + 2.q r.q lr.ɛ 2 + l 2.q r HashKeySpace. Adversaries A cis, A ind, A smp, A dio, A prf, A prf and Aevs run in approximately the same time as A which uses at most qr randomness indices and q φ functions in its oracle queries, and makes at most q lr LR queries, q sk KeyGen queries and q d DEC queries. Proof. In the following, we first give a description about the simulator S = (S 1, S 2, S 3 ), then define a sequence of games and prove that the output of every game is computationally indistinguishable from that of its adjacent game. In each game, we assume that the adversary A makes at most q d queries to the DEC oracle, q sk queries to the KeyGen oracle, q e queries to the ENC oracle, q lr queries to the LR oracle and uses at most q r randomness indices and q φ functions in the KeyGen, LR, ENC and DEC oracle queries altogether. Description of Simulator. In the following, we describe a simulator S = (S 1, S 2, S 3 ) that makes black-box use of a real world adversary A = (A 1, A 2 ). Simulator S 1. S 1 performs a simulated setup procedure, namely, for all i [l], it first computes (pp i, td i ) $ THPS.Gen(1 λ ), (lpk i, ltk i ) $ LAF.KG(1 λ ), k i $ CIH.K(1 λ ), sk i $ SK, pk i = µ(sk i ) and then sets {mpk i = (pp i, lpk i, k i, pk i )} i [l], {msk i = sk i } i [l]. Simulator S 2. S 2 simulates the key generation oracle and the challenge ciphertext generation oracle. When the adversary A 2 makes a LR query ({ x i } i [qlr ], 1, n) priori to the key generation query, the simulator S 2 computes ct i = (C, s, U, π, t c ) as follows. For each i [q lr], it first picks a true random r $ R λ, then samples (C, s ) Sample C\V {0,1} d(r), and computes K = THPS(sk, C ), U = Ext(K, s ) 0 xi, and π = LAF lpk,t (K ), where t = (t a, t c ), t a = (C, s, U ) and t c = LAF.Ltag(ltk, t a ). This can be done since, at this time, the adversary A 2 has finished the Func and the Target queries, the simulator has known the target key mpk = (pp, lpk, k, pk ), msk = sk, td and ltk. When the adversary A 2 makes KeyGen query (f, 1, n), the simulator S 2 executes the following steps. Note that in this phase, since the adversary A 2 has finished all LR queries, S 2 has known the resulting challenge ciphertext {ct i } i [q lr ] and thus can proceed the following steps. 1. First query the ideal functionality KeyIdeal( x, ) on input f. Let {yi } i [q lr ] be the output of KeyIdeal( x, f ), namely, for every i [q lr ], yi = f (x i, r i ) with r i $ R λ and x = q lr. 2. Choose a PRF key r $ R λ and computes the punctured key r P PF.Punc(r, {ct i } i [q lr ]). 3. Compute the secret key sk f DIO(S.G [mpk,td,r P,{ct i } i [q lr ],{y i } i [q lr ],f ] ) and return sk f, where the circuit S.G [mpk,td,r P,{ct i } i [q lr ],{y i } i [q lr ],f ]) is constructed in Figure H1. Simulator S 3. The simulator S 3 simulates the decryption oracle. In fact, in this phase, S 3 has got the state information from simulator S 2, therefore S 3 can proceed the following steps smoothly. When A 2 makes a decryption query (ct, g, 1, n) with ct = (C, s, U, π, t c), the simulator S 3 performs the following steps. 1. If C C\V or ct {ct i } i [q lr ] (C C\V can be decided with the corresponding universal trapdoor), then output and stop, otherwise continue the next step. 2. Compute K = THPS.Priv(sk, C) and π = LAF lpk,t(k), if π π, output and stop, otherwise continue the next step. 3. Compute x = Ext(K, s) U. 4. Return g (x; r) = DecIdeal(g, x) with r $ R λ. The sequence of games. (H1)

6 H. G. WANG, et al. Sci China Inf Sci G 0 : This is the real experiment. Here, each decryption query (ct, g, 1, n) is answered using a decryption key sk g DIO(G [mpk,msk,r,g]) where G [mpk,msk,r,g] is defined in the same manner as G [mpk,msk,r,f], except that it has function g hardcoded in it. Let {ct i = (C, s, U, π, t c)} i [qlr ] be challenge ciphertext set in which ct i encrypts x i x where x = l lr. For convenience, we write the circuit G [mpk,msk,r,g] as G g which is shown in Figure??. G 1 G 2 G 3 : This game is the same as G 0 except for the queries on the target key. Rather than using the hash values h k (φ n(r)), the game picks a uniformly random value from R λ to replace h k (φ n(r)). Concretely, in the KeyGen queries, the secret key sk f is computed as sk f DIO(G [mpk,msk,r,f]) with r = PF rh (mpk f), where r h is chosen uniformly and randomly from R λ, instead of r h = h k (φ n(r)). The values h k (φ n(r)) in the LR and ENC queries are also replaced with uniformly random values. While in the DEC query, the same replacement is done as in KeyGen queries. In fact, the gaps between games G 0 and G 1 may be reduced to the security of the CIS hash function h. Note that in order to prevent trivial attacks, we require that the functions φ n used in the KeyGen query must be different from each other and cannot appear in other oracle queries. : This game is the same as G 1 except for the queries on the target key. Rather than using PF rh ( ), the game picks a uniformly random value from R λ to replace PF rh ( ). Concretely, in the KeyGen queries, the secret key sk f is computed as sk f DIO(G [mpk,msk,r,f]), where r is chosen uniformly and randomly from R λ, instead of r = PF rh (mpk f). The value PF rh (mpk x i ) in the LR queries and the value PF rh (mpk x) in the ENC queries are also replaced with uniformly random values. While in the DEC query, the same replacement is done as in KeyGen queries. In fact, the gaps between games G 1 and G 2 may be reduced to the security of the puncturable PRF PF. : This game is the same as G 2 with the exception that the generation of the core tag t c in every challenge ciphertext in the set {ct i } i [q lr ] is computed as t c = LAF.Ltag(ltd, t a ) instead of sampling t c randomly and uniformly from Tc, where t a = (C, s, U ). G 4 : This game is the same as G 3 except for the computation of K in every challenge ciphertext in the set {ct i } i [q lr ]. This game computes K = THPS.Priv(sk, C ) rather than K = THPS.Pub(pk, C, w ). G 5 : This game is the same as G 4 except for the generation of C in every challenge ciphertext in the set {ct i } i [q lr ]. We samples C $ C\V instead of C $ V. G 6 : This game is the same as G 5 except that for every key query for function f, the secret key is answered with sk f DIO(S.G [mpk,td,r p,{ct i } i [q lr ],{y i } i [q lr ],f] ), where y i = f(x i ; r i ) with r i = PF.Eval(r, ct i ) and r p = G 7 PF.Punc(r, {ct i } i [q lr ]) and S.G [mpk,td,r p,{ct i } i [q lr ],{y i } i [q lr ],f] is constructed in Figure H1. Similarly, we write the circuit S.G [mpk,td,r p,{ct i } i [q lr ],{y i } i [q lr ],f] as S.G f. : This game is the same as G 6 except that for every key query for function f, the secret key is answered with sk f DIO(S.G [mpk,td,r p,{ct i } i [q lr ],{y i } i [q lr ],f] ) in the same manner as the simulator S 2, where yi = f(x i ; r i ) with r i $ R λ. G 8 : This game is the same as G 7 except that when the adversary delivers a decryption query (ct, g, 1, n) such that ct = (C, s, U, π, t c) with C C\V, the decryption oracle outputs. G 9 G 10 : This game is the same as G 8 except that U in every challenge ciphertext in the set {ct i } i [q lr ] is computed as U = Ext(K, s ) 0 x i instead of U = Ext(K, s ) x i. : This game is the same as G 9 except that we now answer the decryption queries of A 2 in the same manner as simulator S 3. Note that this is the ideal experiment. Obviously, in game G 0, we are in an identical setting to the real game in the Sim-LR-RRA-CCA security definition, while in game G 10, we are in an identical setting to the ideal game. Let coll denotes the event that collisions happen in the hash function keys, then the advantage of a Sim-LR-RRA-CCA adversary A = (A 1, A 2 ) can be defined as Adv Sim-LR-RRA-CCA rfe,l L,S,F,R,A (λ) = Pr[LRRRACCAREALA rfe,l L,F,R (λ)] Pr[LRRRACCAIDEALS rfe,l L,F,R (λ)] = Pr[G 0 ] Pr[G 10 ] Pr[G 0 coll] Pr[G 10 coll] + Pr[coll] 9 = (Pr[G i coll] Pr[G i+1 coll]) + Pr[coll] i=0 For simplicity, we invoke Lemma 1 from [5], so that we now only have to prove the theorem for an adversary using just one random value. In the following, we first give the descriptions of a series of Claims, then prove them in Appendix 10. Lemma 1. Let Pr[G 0 coll] and Pr[G 1 coll] respectively denote the probability that adversary A = (A 1, A 2 ) outputs 1 in game G 0 and game G 1 when no collisions happen in the hash function keys. Then we can construct an adversary A cis which tries to break the l-mk-sci-pr security of the CIS hash function h such that (H2) Pr[G 0 coll] Pr[G 1 coll] q φ.adv l-mk-sci-pr h,a cis (H3) Lemma 2. Let Pr[G 1 coll] and Pr[G 2 coll] respectively denote the probability that adversary A = (A 1, A 2 ) outputs 1 in game G 1 and game G 2 when no collisions happen in the hash function keys. Then we can construct an adversary A prf which tries to break the security of the puncturable PRF PF such that Pr[G 1 coll] Pr[G 2 coll] q φ.adv prf PF,A prf (H4)

H. G. WANG, et al. Sci China Inf Sci 7 Constants : mpk, td, r p, {ct i } i [q lr ], {y i } i [q lr ], f Input : ct 1. If ct = ct i {ct i } i [q lr ] output y i and stop; 2. Parse ct into C, s, U, π, t c and parse mpk into pp, lpk, k, pk. 3. If C C\V output and stop. 4. Compute w = THPS.Invert(td, C). 5. Compute K = THPS.Pub(pk, C, w). 6. Compute π = LAF lpk,t (K), where t = (t a, t c), t a = (C, s, U). 7. If π π, output and stop, else proceed the following steps. 8. Compute x = Ext(K, s) U. 9. Compute r = PF.Eval(r p, ct). 10. Compute y = f(x; r ) and output y. Figure H1 Functionality S.G [mpk,td,r p,{ct i } i [q lr ],{y i } i [q lr ],f] Lemma 3. Let Pr[G 2 coll] and Pr[G 3 coll] respectively denote the probability that adversary A = (A 1, A 2 ) outputs 1 in game G 2 and game G 3 when no collisions happen in the hash function keys. Then we can construct an adversary A ind which tries to break the indistinguishability property of the lossy algebraic filter LAF such that Pr[G 2 coll] Pr[G 3 coll] Adv ind LAF,A ind Lemma 4. Let Pr[G 3 coll] and Pr[G 4 coll] respectively denote the probability that adversary A = (A 1, A 2 ) outputs 1 in game G 3 and game G 4 when there are no collisions in the hash function keys. Then we have (H5) Pr[G 3 coll] = Pr[G 4 coll]. (H6) Lemma 5. Let Pr[G 4 coll] and Pr[G 5 coll] respectively denote the probability that adversary A = (A 1, A 2 ) outputs 1 in game G 4 and game G 5 when there are no collisions in the hash function keys. Then we can construct an adversary A smp which can break the subset membership problem of the trapdoor hash proof system THPS such that Pr[G 4 coll] Pr[G 5 coll] q lr.adv smp THPS,A smp Lemma 6. Let Pr[G 5 coll] and Pr[G 6 coll] respectively denote the probability that adversary A = (A 1, A 2 ) outputs 1 in game G 5 and game G 6 when there are no collisions in the hash function keys. Then we can construct an adversary A dio which tries to break the security of the differing-inputs obfuscation such that Pr[G 5 coll] Pr[G 6 coll] q sk.adv dio G f,s.g f,a dio Lemma 7. Let Pr[G 6 coll] and Pr[G 7 coll] respectively denote the probability that adversary A = (A 1, A 2 ) outputs 1 in game G 6 and game G 7 when there are no collisions in the hash function keys. Then we can construct an adversary A prf which tries to break the security of the puncturable PRF PF such that Pr[G 6 coll] Pr[G 7 coll] q sk.adv prf PF,A prf Lemma 8. Let Pr[G 7 coll] and Pr[G 8 coll] respectively denote the probability that adversary A = (A 1, A 2 ) outputs 1 in game G 7 and game G 8 when there are no collisions in the hash function keys. Then we can construct an adversary A evs which can break the evasiveness security of the lossy algebraic filter LAF such that Pr[G 7 coll] Pr[G 8 coll] q d.adv evs (λ) + q d.2 l L+q lr.l LAF +q lr.m /(2 ν q d ). Lemma 9. Let Pr[G 8 coll] and Pr[G 9 coll] respectively denote the probability that adversary A = (A 1, A 2 ) outputs 1 in game G 8 and game G 9 when no collisions happen in the hash function keys. Then we have (H7) (H8) (H9) (H10) Pr[G 8 coll] Pr[G 9 coll] 2.q lr.ɛ 2. (H11) Lemma 10. Let Pr[G 9 coll] and Pr[G 10 coll] respectively denote the probability that adversary A outputs 1 in game G 9 and game G 10 when there are no collisions in the hash function keys. Then we can construct an adversary A prf which can break the security of the puncturable PRF PF such that Pr[G 9 coll] Pr[G 10 coll] q d.adv prf PF,A prf We complete the description of these Claims. We give their proofs in Appendix 10. If let HashKeySpace denote the size l of the hash key space, then obviously we have Pr[coll] 2. In addition, since the adversary is allowed to query HashKeySpace (H12)

8 H. G. WANG, et al. Sci China Inf Sci at most q r randomness indices in oracle queries, by Eq. H2 and Eqs. H3, H4, H5, H6, H7, H8, H9, H10, H11 and H12, we get Eq. H1, namely, Adv Sim-LR-RRA-CCA rfe,l L,S,F,R,A (λ) = Pr[LRRRACCAREALA rfe,l L,F,R (λ)] Pr[LRRRACCAIDEALS rfe,l L,F,R (λ)] 9 (Pr[G i coll] Pr[G i+1 coll]) + Pr[coll] This proves Theorem 1. i=0 q r.q φ.adv l-mk-sci-pr h,a (λ) + q cis r.(q φ + q d ).Adv prf PF,A (λ) + q prf r.adv ind LAF,A ind (λ) + q r.q lr.adv smp THPS,A smp (λ) + q r.q sk.adv dio G f,s.g f,a dio (λ) + q r.q sk.adv prf PF,A (λ) prf + q r.q d.adv evs (λ) + q r.q d.2 l L+q lr.l LAF +q lr.m /(2 ν q d ) + 2.q r.q lr.ɛ 2 + l 2.q r HashKeySpace. Completing Proof of Theorem 1 Here we give the complete proofs for Claim 1 to Claim 10 described above. Proof of Claim 1. If no collisions happen in the hash function keys, then the difference between G 0 and G 1 can be reduced to the security of the CIS hash function h. That is, if there exists an adversary A = (A 1, A 2 ) can distinguish G 0 and G 1, we can construct an adversary A cis which uses A to break the security of the CIS hash function h. By a hybrid argument, the reductions can be perfectly completed in the same way as Lemma 2 in [5] by the adversary A cis and thus, we have equation H3 hold. Proof of Claim 2. If no collisions happen in the hash function keys, obviously the difference between G 1 and G 2 can be reduced to the security of the puncturable PRF PF. That is, if there exists an adversary A = (A 1, A 2 ) can distinguish G 1 and G 2, we can construct an adversary A prf which uses A to break the security of the puncturable PRF PF. In the same way as Lemma 3 in [5], by a hybrid argument, the reductions can be perfectly simulated by the adversary A prf and thus, we have equation H4 hold. Proof of Claim 3. We show that when there are no collisions in the hash keys, if there exists a PPT adversary A = (A 1, A 2 ) that can distinguish game G 2 and game G 3, then we can build a PPT adversary A ind that can break the indistinguishability (IND) security of the lossy algebraic filter LAF. Let B denote the IND challenger of the LAF, then the adversary A ind is constructed as follows. 1. The adversary A ind first honestly generates ({mpk i } i [l], {msk i } i [l], st ) except that it gets {lpk i } i [l] from its IND challenger B. Then it flips a coin b $ {0, 1}. Note that although the adversary A ind may obtain the trapdoor td i, since the generation of td i is independent of LAF, it would not help the adversary A ind to win in this reduction. 2. For every LR query from A 2, A ind first constructs t a = (C, s, U ) by itself and then forwards t a to its challenger B and receives t c which is either chosen uniformly and randomly from T c or computed as LAF.Ltag(ltk, t a), where (C, s ) Sample V {0,1} d(r) with r $ R λ. Next A ind computes K = THPS.Pub(pk, C, w ) and π = LAF lpk,t (K ), where t = (t a, t c ). Finally A ind sends the challenge ciphertext ct = (C, s, U, π, t c ) to the adversary A 2. Note that all the simulations in this phase can be done, since, priori to the LR query, both the Func query and Target query have been completed in advance. 3. For every ENC query from A 2 such that (mpk, x, 1, φ), where mpk = (pp i, lpk i, k i, pk i ) {mpk i } i [l], since t c is chosen uniformly and randomly, A ind can construct the ciphertext ct = (C, s, U, π, t c) by itself as in game G 2 and game G 3. Namely, if mpk = mpk, then (C, s, t c) Sample V {0,1} d T c (r) with r $ R λ ; otherwise, if mpk mpk, then (C, s, t c) Sample V {0,1} d T c (PF hk (φ n(r))(mpk f)) with r $ R λ. 4. A ind continues to simulate the rest of the experiment in the same manner as in G 2 and G 3. 5. Finally, A ind sends the output of the experiment to A 2 and returns its results to B. Now if B returns t c = LAF.Ltag(ltk, t a), then A ind perfectly simulates game G 3 for A 2, else it simulates game G 2 for A 2. Thus, we have Pr[G 2 coll] Pr[G 3 coll] Adv ind LAF,A ind Proof of Claim 4. In game G 3, K is computed as K = THPS.Pub(pk, C, w ), while in game G 4, the computation of K is replaced with K = THPS.Priv(sk, C ). When no collisions happen in the hash keys, by the projectiveness of the trapdoor hash proof system THPS, this conversion is equivalent and thus we have Pr[G 3 coll] = Pr[G 4 coll]. Proof of Claim 5. Assume that the adversary makes a total of q lr LR queries. We consider q lr intermediate hybrids G 4,i for 0 i q lr. In G 4,i, we respond to the first q lr i LR queries as in game G 4 and the remaining i LR queries as in G 5. We show that if there exists a PPT adversary A = (A 1, A 2 ) that can distinguish game G 4,i and game G 4,i+1, then we can build a PPT adversary A smp that can break the subset membership problem of the trapdoor hash proof system THPS. The construction of A smp is as follows.

H. G. WANG, et al. Sci China Inf Sci 9 1. The adversary A smp first honestly generates ({mpk i } i [l], {msk i } i [l], st ) where for every i [l], pp i in mpk i comes from the THPS challenger B and msk i = sk i is chosen uniformly and randomly from the set SK i. Note that the adversary A smp does not get the trapdoor td i which is generated and maintained secretly by the challenger B. 2. For the first q lr i 1 LR queries from A 2, A smp responds in the same manner as in game G 4. For the last i LR queries, A smp responds in the same manner as in game G 5. 3. For the (q lr i) th LR query, A smp first gets C from his challenger B, where C denotes either a sampled value from V or a sampled value from C\V. It then constructs the rest parts of the challenge ciphertext ct as in game G 4. Finally A smp sends the challenge ciphertext ct = (C, s, U, π, t c ) to the adversary A 2. 4. A smp continues to simulate the rest of the experiment in the same manner as in G 4 and G 5. 5. Finally A smp sends the output of the experiment to A 2 and returns its results to B. Now if B returns C $ Sample V (r), then A smp perfectly simulates game G 4,i for A 2, else it simulates game G 4,i+1 for A 2. Where r is chosen uniformly and randomly from R λ by the challenger B. Thus, by a hybrid argument, we have Pr[G 4 coll] Pr[G 5 coll] q lr.adv smp THPS,A smp Note that we assume that all the Claims in the following implicitly contain the condition that no collisions happen in the hash function keys. We would not stress it any more in the proofs below. Proof of Claim 6. Note that the only difference between G 5 and G 6 is that in the former, we output DIO(G f ) as the key for function f, while in the latter, we output DIO(S.G f ) as the key for function f. In order to prove that the two hybrids are computationally indistinguishable, we first show that the circuit family (G f, S.G f, z, Sam) is a differing-inputs distribution, where (G f, S.G f, z) is sampled by algorithm Sam(1 λ ) and z is an auxiliary input. Then by the security of differing-inputs obfuscation, we would have that DIO(G f ) and DIO(S.G f ) are computationally indistinguishable, which in turn would imply that G 5 and G 6 are computationally indistinguishable. In fact, as long as we can prove that there exists no PPT adversary who can efficiently find a ciphertext ct which makes G f (ct) S.G f (ct) hold with non-negligible probability, then the circuit family (G f, S.G f, z, Sam) is a differing-inputs distribution. In the following, we give the formal proofs in two cases, i.e., ct {ct j } j [q lr ] and ct / {ct j } j [q lr ]. In the first case, for each ct = ct j = (C j, s j, U j, π j, t c,j ) {ct j } j [q lr ], the circuit G f computes the value Kj = THPS.Priv(sk, Cj ) in the same manner as its previously generated appearance, so we have π j = π j = LAF.Eval lpk,t j (K j ), where t j = ((C j, s j, U j ), t c,j ). Thus the circuit G f outputs y j = f(x j ; r j ) where r j = PF.Eval(r, ct j ). Since the circuit S.G f has the hardcoded challenge ciphertexts {ct j } j [q lr ] and values {yj } j [q lr ], when its input ct = ct j = (C j, s j, U j, π j, t c,j ) {ct j } j [q lr ], the hardcoded value yj is directly output by this circuit, where y j = f(x j; r j ) and r j = PF.Eval(r, ct j ), hence the two circuits have the identical-output behavior at all points ct {ct j } j [q lr ]. In the second case, if ct = (C, s, U, π, t c) is a ciphertext such that C V, then there exists a witness w such that THPS.Priv(sk, C) = THPS.Priv(pk, C, w) holds, thus both circuits either output the same or the same non-. However, when C C\V, there may exist some points ct = (C, s, U, π, t c) which make the circuit G f output non-, while the circuit S.G f output. In this case, we show that given (G f, S.G f, z, Sam), there exists no PPT adversary who can efficiently find a ct = (C, s, U, π, t c) with C C\V that makes G f (ct) S.G f (ct) with non-negligible probability. We now formalize this case. Assume that there exists an adversary A against the differing-inputs of the above circuit family (G f, S.G f, z, Sam) which receives as input (G f, S.G f, z) and outputs a ciphertext ct = (C, s, U, π, t c) such that G f (ct) S.G f (ct). In other words, the adversary can efficiently find a ciphertext ct = (C, s, U, π, t c) such that C C\V and π = LAF lpk,t(thps.priv(sk, C)) which makes the circuit G f output non-, while the circuit S.G f outputs. In the following, we analyze the probability that the adversary A finds such a ct. Let a ciphertext ct = (C, s, U, π, t c) such that C C\V and π = LAF lpk,t(thps.priv(sk, C)) denote a bad ciphertext, a tag t with t = t denote a repeated tag, bad ct denote the event that A finds a bad ciphertext and T denote the event that there exists a ct = (C, s, U, π, t c) with t = ((C, s, U), t c) being a non-injective, non-repeated tag, then we have Pr[bad ct] = Pr[bad ct T ] + Pr[bad ct T ] Pr[bad ct T ] + Pr[T ]. Clearly, if the event T happens, it means that there exists a PPT adversary A evs who can efficiently outputs a noninjective, non-repeated tag t = ((C, s, U), t c) such that t c is never queried to its oracle. Assume that the adversary A does a total of q bad searches, then by the evasiveness security of the lossy algebraic filter LAF, we have Pr[T ] q bad.adv evs Without loss of generality, assume that ct = (C, s, U, π, t c) is the first bad ciphertext that makes the event bad ct happen conditioned on T. I.e., both C C\V and π = LAF lpk,t(thps.priv(sk, C)) hold and t = ((C, s, U), t c) is an injective tag. Let z =({mpk i } i [l], C, {ct i } i [qe], l L -leak, {ct i } i [q lr ], Leak({sk f } f {f} )) denote the auxiliary input given to A, then we have H (THPS.Priv(sk, C) z) (H13) (H14) = H (THPS.Priv(sk, C) {mpk i } i [l], C, {ct i } i [qe], l L -leak, {ct i } i [q lr ], Leak({sk f } f {f} )) (H15) H (THPS.Priv(sk, C) {mpk i } i [l], C, {ct i } i [q lr ], Leak({sk f } f {f} )) l L H (THPS.Priv(sk, C) {mpk i } i [l], C, Leak({sk f } f {f} )) l L q lr.l LAF q lr.m (H16) (H17)

10 H. G. WANG, et al. Sci China Inf Sci = H (THPS.Priv(sk, C) {mpk i } i [l], C, td ) l L q lr.l LAF q lr.m (H18) = H (THPS.Priv(sk, C) mpk, C, td ) l L q lr.l LAF q lr.m (H19) ν l L q lr.l LAF q lr.m Since {ct i } i [qe] are computed by the ENC oracle under the master public key {mpk i } i [l], the leaked information about the master secret key msk = sk from these ciphertexts has been implied in {mpk i } i [l], then by Lemma??, the Eq. H16 holds. In the challenge ciphertext {ct i } i [q lr ], only {U i } i [q lr ] and {π i } i [q lr ] will leak the information about the master secret key and since U i and π i have respectively at most 2m and 2 l LAF possible values, therefore, Eq. H17 holds. Moreover, as all randomness used for generating the private keys {sk f } f {f} queried by the adversary are independent of sk, hence, only the trapdoor td may leak the information of sk. So Eq. H18 holds. Again, since each sk i {sk i } i [l] is chosen uniformly and dependently from its space SK i, hence Eq. H19 holds. The last equation H20 follows from the ɛ 1 -universal property of the THPS. In fact, the event T happening means that the tag t = ((C, s, U), t c) is an injective tag which maintains the entropy of the injective function LAF lpk,t( ). In addition, since the probability that the adversary can find a bad ciphertext is at most 2 l L+q lr.l LAF +q lr.m /2 ν, hence, when this ciphertext is not bad, the adversary can eliminate one encapsulated key K from the space 2 ν. Thus we have (H20) Pr[bad ct T ] q d.2 l L+q lr.l LAF +q lr.m /(2 ν q bad ). (H21) Combining Eqs. H13 and H21, we get Pr[bad ct] q d.2 l L+q lr.l LAF +q lr.m /(2 ν q bad ) + q bad.adv evs (λ), which is negligible in λ. As a result, the probability that the adversary A outputs a ciphertext ct = (C, s, U, π, t c) with C C\V that makes G f (ct) S.G f (ct) is negligible, which implies that the circuit family (G f, S.G f, z, Sam) is a differinginputs distribution. Subsequently, we use the the distinguishable advantage between DIO(G f ) and DIO(S.G f ) to bound the difference between games G 5 and G 6. Assume that A 2 makes a total of q sk KeyGen queries. We define hybrids G 5,i, 0 i q sk, in which we respond to the first q sk i queries as in G 5, and respond to the last i queries as in G 6. Let B be the DIO challenger, then the adversary A dio is constructed as follows: 1. A dio first honestly generates ({mpk i } i [l], {msk i } i [l], {td i } i [l], st ). 2. For the first (q sk i 1) key queries, A dio computes the key for f as in G 5 and for the last i key queries, A dio computes the key for f as in G 6. 3. For the (q sk i) th key query from A 2, A dio chooses a PRF key r $ R λ, computes r P = PF.Punc(r, {ct j } j [q lr ]) and {yj } j [q lr ] = {f(x j ; PF.Eval(r, ct j ))} j [q lr ]. It then uses mpk, msk, r and f to construct the circuit G f and uses mpk, td, r P, {ct j } j [q lr ] and {yj } j [q lr ] to build the circuit S.G f. Next it sends the two circuits to B and receives sk f = DIO(cir) from B, where cir denotes either G f or S.G f. Finally, sk f is sent to the adversary A 2. Note that in this phase, all these simulations can be done since, according to the security definition, the values {ct j } j [q lr ] and the target key have been generated priori to the KeyGen oracle queries. 4. A dio simulates the rest parts of the experiment for A 2 in the same manner as in G 5 and G 6. 5. At the end, A dio sends the output of the experiment to A 2 and returns its results to B. Now if B returns the obfuscation of G f, then A dio simulates game G 5,i for A, else it simulates game G 5,i+1 for A. Thus, by a hybrid argument, we have Pr[G 5 coll] Pr[G 6 coll] q sk.adv dio G f,s.g f,a dio Proof of Claim 7. Assume that A 2 makes a total of q sk key queries. We consider q sk intermediate hybrids G 6,i for 0 i q sk in which we respond to the first q sk i key queries as in G 6, and the remaining i key queries as in G 7. We show that if there exists a PPT adversary A = (A 1, A 2 ) that can distinguish hybrid G 6,i and hybrid G 6,i+1 with nonnegligible probability, then we can construct a PPT adversary A prf which can break the security of puncturable PRF PF with non-negligible probability. Let B be the puncturable PRF challenger, then the construction of A prf is as follows. 1. The adversary A prf first honestly generates ({mpk i } i [l], {msk i } i [l], {td i } i [l], st ). 2. For the first q sk i 1 key queries from A 2, A prf responds in the same manner as in game G 6. For the last i key queries, A prf responds as in game G 7. 3. For the (q sk i) th key query, A prf first sends {ct j } j [q lr ] to its challenger B and receives the pair (r P, {r j} j [qlr ]), where r P = PF.Punc(r, {ct j } j [q lr ]), while r j is either PF.Eval(r, ct j ) or a uniform and random value in R λ. The adversary A prf then computes y j = f(x j; r j ) for all j [q lr ] and defines the circuit S.G f using the values mpk, td, r p, {ct j } j [q lr ], {yj } j [q lr ] and f. Finally, A prf sets sk f = DIO(S.G f ) and sends sk f to the adversary A 2. Note that all these simulations can be done since the values {ct j } j [q lr ] and target key have been generated priori to the KeyGen oracle queries, so the values {yj } j [q lr ] and sk f can be computed by A prf. 4. A prf simulates the rest of the experiment in the same manner as in game G 6 and game G 7. 5. At the end, the adversary A prf sends the outputs of the experiment to A 2 and returns its results to B. Therefore, if B returns r j = PF.Eval(r, ct j ), then A prf perfectly simulates game G 6,i for A 2, else it simulates game G 6,i+1 for A 2. Thus, by a hybrid argument, we have Pr[G 6 coll] Pr[G 7 coll] q sk.adv prf PF,A prf Proof of Claim 8. Let Event C denote the event that a ciphertext such that C C\V is rejected in game G 8 while is not rejected in game G 7. Then G 7 and G 8 behave identical until the event Event C arises. Obviously, the advantage that an (H22)

H. G. WANG, et al. Sci China Inf Sci 11 adversary distinguishes game G 7 from G 8 can be bounded by the probability that the event Event C happens. Thus we have Pr[G 7 coll] Pr[G 8 coll] Pr[Event C ]. Now we analyze the upper bound of the probability Pr[Event C ]. If we call a tag t such that t = t a repeated tag, then by T we denote the event that in game G 7, there exists a decryption query ct = (C, s, U, π, t c) with t = ((C, s, U), t c) being a non-injective, non-repeated tag. Then we have Pr[Event C ] = Pr[Event C T ] + Pr[Event C T ] Pr[Event C T ] + Pr[T ]. First we claim that if there exists an adversary A evs that can break the evasiveness security of the lossy algebraic filter LAF with advantage Adv evs (λ), then the probability Pr[T ] can be upper bounded by this advantage. We build the algorithm A evs as follows. Assume A 2 makes a total of q d decryption queries and let B denote the LAF challenger. 1. The adversary A evs first honestly generates ({mpk i } i [l], {msk i } i [l], {td i } i [l], st ) which are generated in the same way as game G 7 except that it receives {lpk i } i [l] from his LAF challenger B. 2. For the LR queries from A 2, the adversary A evs first constructs t a, and then delivers t a to its LAF challenger B and receives t c. Next, Aevs constructs the other parts of the challenge ciphertext ct for A 2 as in game G 7. 3. For the DEC queries from A 2, since the adversary A evs has msk = sk, he can perfectly simulates the decryption queries for A 2. 4. A evs simulates the rest of the experiment in the same manner as in G 7 and G 8. 5. Finally, the adversary A evs sends the output of the experiment to A 2 and returns its results to B. At the end of the simulation, A evs chooses j [q d ] uniformly and outputs the tag t = ((C, s, U), t c) extracted from A 2 s j-th decryption query (C, s, U, π, t c). Obviously, if the event T happens, t = ((C, s, U), t c) is a non-injective tag with probability at least 1/q d, namely Pr[T ] q d.adv evs Next, we claim that the probability Pr[Event C T ] can be upper bounded by q d.2 l L+q lr.l LAF +q lr.m /(2 ν q d ). Without loss of generality, assume that ct = (C, s, U, π, t c) is the first ciphertext that makes Event C happen conditioned on T. Namely, both C C\V and π = LAF lpk,t(thps.priv(sk, C)) hold and t = ((C, s, U), t c) is an injective tag. Since the values {mpk i } i [l], C, {ct i } i [qe], l L -leak, {ct i } i [q lr ] and Leak({sk f } f {f} ) are in A s view, let V A denote A s view, then according to the analysis of equation H14, we have H (THPS.Priv(sk, C) V A ) (H23) (H24) = H (THPS.Priv(sk, C) {mpk i } i [l], C, {ct i } i [qe], l L -leak, {ct i } i [q lr ], Leak({sk f } f {f} )) (H25) H (THPS.Priv(sk, C) {mpk i } i [l], C, {ct i } i [q lr ], Leak({sk f } f {f} )) l L H (THPS.Priv(sk, C) {mpk i } i [l], C, Leak({sk f } f {f} )) l L q lr.l LAF q lr.m (H26) (H27) = H (THPS.Priv(sk, C) {mpk i } i [l], C, td ) l L q lr.l LAF q lr.m (H28) = H (THPS.Priv(sk, C) mpk, C, td ) l L q lr.l LAF q lr.m (H29) ν l L q lr.l LAF q lr.m Similar to Claim 6, the event T happening means that the tag t = ((C, s, U), t c) is an injective tag which maintains the entropy of the injective function LAF lpk,t( ). In addition, since in game G 7 the decryption algorithm accepts such an invalid ciphertext with probability at most 2 l L+q lr.l LAF +q lr.m /2 ν, when such a ciphertext is rejected, the adversary can eliminate one encapsulated key K from the space 2 ν. Thus we have Combining Eqs. H23 and H31, we get Eq. H10. Pr[Event C T ] q d.2 l L+q lr.l LAF +q lr.m /(2 ν q d ). Proof of Claim 9. For each i [q lr ], conditioned on A s view V A = ({mpk j} j [l], {ct i } i [qe], C i, {C j } i j [q lr ], {π j } j [qlr ], {U j } i j [q lr ], l L -leak, Leak({sk f } f {f} )), we can get the lower bound of H (THPS.Priv(sk, Ci ) V A ) as below. H (THPS.Priv(sk, C i ) V A ) H (THPS.Priv(sk, C i ) {mpk j} j [l], {C j } j [q lr ], {U j } i j [q lr ], Leak({sk f } f {f} )) q lr.l LAF l L H (THPS.Priv(sk, C i ) {mpk j} j [l], {C j } j [q lr ], {U j } i j [q lr ], td ) q lr.l LAF l L H (THPS.Priv(sk, C i ) {mpk j} j [l], {C j } j [q lr ], td ) (q lr 1).m q lr.l LAF l L H (THPS.Priv(sk, C i ) {mpk j} j [l], C i, td ) (q lr 1).m q lr.l LAF l L ν (q lr 1).m q lr.l LAF l L Obviously, Eqs. H33,H34,H35 hold. Since for each i [q lr ], C i is chosen uniformly and randomly from C\V and independent of sk, thereby, Eq. H36 holds. The last equation H37 follows from the ɛ 1 -universal property of the THPS. (H30) (H31) (H32) (H33) (H34) (H35) (H36) (H37)