This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

CCA-Secure Hybrid Encryption in Correlated Randomness Model and KEM Combiners

Somnath Panja, Setareh Sharifian, Shaoquan Jiang, and Reihaneh Safavi-Naini Somnath Panja and Reihaneh Safavi-Naini are with the University of Calgary, Canada.Setareh Sharifian is with Intel Corporation.Shaoquan Jiang is with the University of Windsor, Canada.
Abstract

A hybrid encryption (HE) system is an efficient public key encryption system for arbitrarily long messages. An HE system consists of a public key component called key encapsulation mechanism (KEM), and a symmetric key component called data encapsulation mechanism (DEM). The HE encryption algorithm uses a KEM generated key k to encapsulate the message using DEM, and send the ciphertext together with the encapsulaton of k, to the decryptor who decapsulates k and uses it to decapsulate the message using the corresponding KEM and DEM components. The KEM/DEM composition theorem proves that if KEM and DEM satisfy well-defined security notions, then HE will be secure with well defined security.

We introduce HE in correlated randomness model where the encryption and decryption algorithms have samples of correlated random variables that are partially leaked to the adversary. Security of the new KEM/DEM paradigm is defined against computationally unbounded or polynomially bounded adversaries. We define iKEM and cKEM with respective information theoretic computational security, and prove a composition theorem for them and a computationally secure DEM, resulting in secure HEs with proved computational security (CPA and CCA) and without any computational assumption. We construct two iKEMs that provably satisfy the required security notions of the composition theorem. The iKEMs are used to construct two efficient quantum-resistant HEs when used with an AES based DEM. We also define and construct combiners with proved security that combine the new KEM/DEM paradigm of HE with the traditional public key based paradigm of HE.

Index Terms:
Post-quantum cryptography, Hybrid encryption, Correlated randomness model, Key Encapsulation Mechanism.

I Introduction

A hybrid Encryption (HE) system is a public-key encryption system with two components: a public-key key encapsulation mechanism (KEM) that generates a pair (k,c1)(k,c_{1}) where kk is a secret key and c1c_{1} is the encapsulation of kk under the KEM’s public-key, and an efficient symmetric key component called data encapsulation mechanism (DEM) that will use kk to efficiently encrypt an arbitrary long message mm, and generate the ciphertext c2c_{2}. Decryption algorithm has the private key of KEM and takes (c1,c2)(c_{1},c_{2}) as input. It decapsulates c1c_{1} to find kk and uses it to decrypt c2c_{2}, and recover mm. This is an attractive construction that effectively provides a computationally efficient public key encryption system for arbitrarily long messages, by using the computationally expensive public key KEM once, and encrypt long messages by employing a computationally efficient DEM that can be constructed using efficient and standardised secure symmetric key ciphers such as AES (Advanced Encryption Standard) in one of the known modes of operation such as counter mode. Cramer and Shoup [1] defined KEM/DEM paradigm, formalized security of KEM and DEM, and proved a general composition theorem that shows that if KEM is CCA (chosen ciphertext attack) secure, and DEM is a one-time symmetric key encryption with CCA security, then the resulting hybrid encryption system will be CCA secure (see section III for definitions). This level of security is known as the gold standard of security for modern encryption systems. KEM/DEM paradigm has been widely studied and more refined notions of security for KEM have been proposed and the corresponding composition theorems for HE have been proved [2, 3]. There is a large body of work on the construction of KEM [4, 5, 6, 3, 7] that are all public key based and rely on computational assumptions. KEM has been widely used for securing communication over the Internet including as part of TLS (Transport Layer Security) [8].

Quantum-resistant security of an HE system requires quantum-resistant  security of KEM and DEM. Shor’s invention of efficient quantum algorithms for integer factorization and discrete logarithm problems [9] has made KEM constructions that rely on these assumptions, and constitute all existing KEMs in practice, insecure. KEM has been one of the first cryptographic primitives that has been standardized by NIST (National Institute of Standards and Technology) post-quantum cryptography standardization effort [10, 11]. DEM component of an HE system uses symmetric block cipher algorithms such as AES, for which the main known quantum attack is the speed-up for secret key search that is offered by the Grover’s algorithm [12]. This speed-up however can be compensated by doubling the length of the secret key and so the research on quantum-resistant security of KEM/DEM paradigm has primarily focused on the quantum-resistant  security of KEM.

Information theoretic key agreement. Our main observation is that KEM is effectively a one-way secret key agreement (OWSKA) algorithm, a widely studied topic in information theoretic cryptography, but with a somewhat different definition of security.

Information theoretic key agreement was first introduced by Maurer [13] and Ahlswede [14] (independently) in what is known as the source model, where Alice and Bob have samples of two correlated random variables 𝐗\mathbf{X} and 𝐘\mathbf{Y} that are distributed according to P𝐗𝐘𝐙P_{\mathbf{X}\mathbf{Y}\mathbf{Z}} and are partially leaked to Eve through the variable 𝐙\mathbf{Z}. The probability distribution P𝐗𝐘𝐙P_{\mathbf{X}\mathbf{Y}\mathbf{Z}} is public but the concrete samples 𝐱\mathbf{x}, 𝐲\mathbf{y} and 𝐳\mathbf{z} are private to Alice, Bob and Eve, respectively. There is a long line of research on deriving fundamental results on the possibility of secret key agreement, bounds on rate and capacity of information theoretic key agreement in this model and its variations, and providing constructions for optimal (capacity achieving) systems [15, 16, 17, 18], together with the finite length analysis of the constructions [16, 19].

Information theoretic key agreement has also been considered in fuzzy extractor (FE) setting [20] where Alice and Bob, respectively, have samples ww and ww^{\prime} of the same randomness source, satisfying dist(w,w)tdist(w,w^{\prime})\leq t where dist(.,.)dist(.,.) is a distance function. FE setting can be seen as a special case of the source model where 𝐱\mathbf{x} and 𝐲\mathbf{y} are samples of the same source with a guaranteed upper bound on the distance between the two samples, and there is no initial information leakage to the adversary (𝐙=0\mathbf{Z}=0). One of the main application areas of FE is key establishment using sources that employ biometric data as the source of randomness. Security model of FE is in part influenced by capturing attacks on biometric systems in practice [21, 22, 23, 24, 25].

A third important direction in the study of information theoretic key agreement is quantum key distribution (QKD) protocols that use quantum theoretic assumptions as the basis of security. Protocols such as BB84 QKD [26], use communication over a quantum channel to generate correlated random variables between two parties, which is later reconciled into a shared secret string that is partially leaked to Eve, and is used to extract a shared (close to) random key between the two parties.

In all above settings, there is an initial correlated randomness between Alice and Bob that is leveraged to establish an information theoretically secure shared secret key. Definitions of security in these settings range from security against a passive eavesdropping adversary [13, 14, 15, 16, 19, 20, 22, 25], to security against an active attacker with different levels of access to the system and communication channels [27, 28, 29, 24]. In all cases, security is against a computationally unbounded adversary and so the protocol remains secure against an adversary with access to a quantum computer.

Extending secure key agreement protocols with information theoretic security, to the establishment of secure message transmission channels using KEM/DEM approach, will allow the wealth of research and development in information theoretic key agreement protocols to be used in quantum-resistant  cryptographic systems.

Cryptographic combiners combine cryptographic schemes with the same functionality into a single scheme with the guarantee that the combined scheme is secure if at least one of the component schemes is secure. Combiners mitigate the risk of possible design flaws, attacks and breaks of each of the component cryptographic schemes, and provide robustness for security systems. Combiners for public key KEMs have been introduced, their security properties have been formalized, and secure constructions for KEM combiners have been proposed [30, 31]. Cryptographic combination of public key KEM with KEMs with information theoretic security will seamlessly integrate the new KEMs into the existing applications of KEM and expand the range of KEMs that are available in designing cryptographic systems.

I-A Our Results

We propose KEM/DEM paradigm in correlated randomness model (which in cryptography, is also referred to as preprocessing model111This is because correlated randomness is generated in an initialization stage and before the actual algorithms start.). We define security and prove a composition theorem that relates security of the HE to the security of the KEM and DEM components.

Notation: To make distinction between traditional public key KEMs and KEMs in the new setting, we use pKEM to denote a KEM scheme in preprocessing model, and reserve iKEM and cKEM to refer to the information theoretic and computationally secure versions of pKEM.

The new paradigm allows KEM and DEM components to be defined with security against a computationally unbounded, or computationally bounded adversary. While one can define pKEM and associated DEM with security against information theoretic and computational adversaries, our focus is on the design of an efficient quantum-resistant  encryption system (HE) that can be used in practice, and so we consider composition of iKEMs (KEMs with information theoretic security) and DEMs with computational security. We design two iKEMs with proved security in our proposed security models, one with security against passive adversaries, and one with security against active adversaries that tamper with the communication channel. The two iKEMs will have CEA (Chosen Encapsulation Attack) and CCA (Chosen Ciphertext Attack) security, respectively, and when used with a DEM with appropriate security will result in an HE with CPA (Chosen Plaintext Attack) and CCA security, respectively. We also define and construct cryptographic combiners that combine a public key KEM and an iKEM. More details below.

KEM/DEM in correlated randomness model. A KEM in correlated randomness model is a tuple of algorithms denoted by p𝒦=(𝗉𝗄𝖾𝗆.𝖦𝖾𝗇,𝗉𝗄𝖾𝗆.𝖤𝗇𝖼,𝗉𝗄𝖾𝗆.𝖣𝖾𝖼)p\mathcal{KEM}=(\mathsf{pkem.Gen},\mathsf{pkem.Enc},\mathsf{pkem.Dec}), where 𝗉𝗄𝖾𝗆.𝖦𝖾𝗇\mathsf{pkem.Gen} is a correlation generation algorithm that takes a distribution P𝐗𝐘𝐙P_{\mathbf{X}\mathbf{Y}\mathbf{Z}}, generates correlated random samples 𝐱\mathbf{x}, 𝐲\mathbf{y} and side information 𝐳\mathbf{z} for Alice, Bob, and Eve, respectively, and privately delivers the samples to the corresponding parties; 𝗉𝗄𝖾𝗆.𝖤𝗇𝖼\mathsf{pkem.Enc} is an encapsulation algorithm that uses the private sample of Alice and generates a pair (k,c1)(k,c_{1}), where kk is a random session key for DEM, and c1c_{1} is an (encapsulation) ciphertext; 𝗉𝗄𝖾𝗆.𝖣𝖾𝖼\mathsf{pkem.Dec} is a decapsulation algorithm that uses c1c_{1} and the private sample of Bob to recover kk.

Security of KEM is defined using key indistinguishability games between a challenger and an adversary (Figure 3). The adversary’s power is modelled by its query access to the encapsulation oracle and decapsulation oracle. An oracle implements its corresponding algorithm and has access to the private information of the party that legitimately uses the algorithm, and so the encapsulation and decapsulation oracles have the private random samples of Alice and Bob, respectively. The oracles correctly answer queries of the adversary as defined by the security game. We define these security games similar to the corresponding ones in public key KEMs [3, 1], with the difference that in public key KEM, the encapsulation algorithm has a public key for encapsulation and so the adversary can freely access the encapsulation algorithm, while in pKEM, the encapsulation algorithm uses the private sample of Alice, and the adversary can query the encapsulation oracle. A (chosen encapsulation attack (CEA) ) query to the encapsulation oracle results in an output (k,c1)(k,c_{1}). Decapsulation queries, also referred to as chosen ciphertext attack (CCA) queries, are the same as in public-key KEMs and allow the adversary to verify validity of a chosen pair (k,c)(k^{\prime},c^{\prime}) against the decapsulation algorithm when using the private sample of Bob, and the response is either a key or \perp. The two security notions of IND-CEA (indistinguishability against CEA) and IND-CCA (indistinguishability against CCA) capture indistinguishability of the final key from a uniform random string of the same length, when the attacker has access to CEA, or both CEA and CCA, queries respectively. Adversary can be computationally unbounded (information theoretic), or its computation be bounded by a polynomial function of the system’s security parameter (computational). The number of allowed queries in the two cases are different: for information theoretic adversary the number of allowed queries is a predefined constant (system parameter), while for computational adversary, it is a polynomial function of the security parameter of the system. We use iKEM to denote information theoretically secure pKEMs where the adversary is computationally unbounded, and use cKEM to refer to computationally secure pKEM, where the adversary is computationally bounded. This latter is to distinguish computationally secure pKEMs from traditional public key KEMs, both providing security against a polynomial time adversary but cKEM using an initial correlated randomness instead of a public key.

We define DEM and its security against a computationally bounded adversary, the same as DEMs in public-key setting [1]. DEM security notions are variations of IND-CPA (indistinguishability against CPA) security and IND-CCA (indistinguishability against CCA) security for encryption systems. DEM security can also be defined against a computationally unbounded adversary. Our definition of computationally secure DEM however is motivated by our goal of constructing quantum-resistant  HE schemes that use a short (constant length) key to encrypt arbitrary long messages.

Composition Theorem. The following composition theorem (which is a restatement of Theorem 2) proves (computational) security of an HE system that is obtained by the composition of a pKEM (iKEM or cKEM) and a computationally secure DEM.

Theorem.

Let c𝒦c\mathcal{KEM} and i𝒦i\mathcal{KEM} be a cKEM and an iKEM, respectively, and 𝒮\mathcal{SE} denote a one-time symmetric key encryption scheme that is compatible with the corresponding c𝒦c\mathcal{KEM} or i𝒦i\mathcal{KEM}. Then the following composition results hold for the hybrid encryption in preprocessing model, against a computationally bounded adversary with access to the following queries for HE: qeq_{e} encapsulation and qdq_{d} decapsulation queries when i𝒦i\mathcal{KEM} is used, and polynomially bounded number of queries for both types of queries, when c𝒦c\mathcal{KEM} is used.

1. IND-CEA c𝒦+IND-OT 𝒮IND-CPA 𝖧𝖤c𝒦,𝒮\displaystyle\mbox{1. IND-CEA }c\mathcal{KEM}+\mbox{IND-OT }\mathcal{SE}\rightarrow\mbox{IND-CPA }\mathsf{HE}_{c\mathcal{KEM},\mathcal{SE}}
2. IND-CCA c𝒦+IND-OTCCA 𝒮IND-CCA 𝖧𝖤c𝒦,𝒮\displaystyle\mbox{2. IND-CCA }c\mathcal{KEM}+\mbox{IND-OTCCA }\mathcal{SE}\rightarrow\mbox{IND-CCA }\mathsf{HE}_{c\mathcal{KEM},\mathcal{SE}}
3. IND-qe-CEA i𝒦+IND-OT 𝒮IND-qe-CPA 𝖧𝖤i𝒦,𝒮\displaystyle\mbox{3. IND-}q_{e}\mbox{-CEA }i\mathcal{KEM}+\mbox{IND-OT }\mathcal{SE}\rightarrow\mbox{IND-}q_{e}\mbox{-CPA }\mathsf{HE}_{i\mathcal{KEM},\mathcal{SE}}
4. IND-(qe;qd)-CCA i𝒦+IND-OTCCA 𝒮IND-(qe;qd)-CCA 𝖧𝖤i𝒦,𝒮.\displaystyle\mbox{4. IND-}(q_{e};q_{d})\mbox{-CCA }i\mathcal{KEM}+\mbox{IND-OTCCA }\mathcal{SE}\rightarrow\mbox{IND-}(q_{e};q_{d})\mbox{-CCA }\mathsf{HE}_{i\mathcal{KEM},\mathcal{SE}}.

IND-OT and IND-OTCCA refer to indistinguishability security for one-time secure DEM with CPA and CCA security, respectively (see Definition 3).

In all cases, security of the hybrid encryption system is against a computationally bounded adversary. In (1) and (2), c𝒦c\mathcal{KEM} is secure against a computationally bounded adversary who has access to polynomially bounded number of encapsulation and decapsulation queries, and the final HE satisfies CPA and CCA definition of security of computationally secure encryption systems (see Definition in section IV-A). In (3) and (4) however, i𝒦i\mathcal{KEM} is secure against a computationally unbounded adversary with access to a constant number of encapsulation (qeq_{e}) and decapsulation (qdq_{d}) queries, and the final HE is bounded CPA and CCA secure, respectively [1].

Constructions of iKEM. In section V, we consider the case that the correlated randomness is obtained by repeated sampling a public distribution, and P𝐗𝐘𝐙=i=1nPXiYiZiP_{\mathbf{X}\mathbf{Y}\mathbf{Z}}=\prod_{i=1}^{n}P_{X_{i}Y_{i}Z_{i}} where PXiYiZi=PXYZP_{X_{i}Y_{i}Z_{i}}=P_{XYZ} for 1in1\leq i\leq n. We have 𝐗=(X1,,Xn)\mathbf{X}=(X_{1},\cdots,X_{n}), 𝐘=(Y1,,Yn)\mathbf{Y}=(Y_{1},\cdots,Y_{n}), 𝐙=(Z1,,Zn)\mathbf{Z}=(Z_{1},\cdots,Z_{n}) respectively, with the corresponding private samples, 𝐱=(x1,,xn)\mathbf{x}=(x_{1},\cdots,x_{n}), 𝐲=(y1,,yn)\mathbf{y}=(y_{1},\cdots,y_{n}) and 𝐳=(z1,,zn)\mathbf{z}=(z_{1},\cdots,z_{n}).

We propose two constructions of iKEM for Satellite scenario, Construction 1 and Construction 2, that provide IND-CEA and IND-CCA security, respectively. Both constructions are based on the OWSKA in [19], where Alice sends a single message to Bob over a public authenticated channel. The message includes information that will be used for information reconciliation that enables Bob to recover Alice’s sample with some leakage, and the description of a hash function to be used for key extraction. The OWSKA construction uses two universal hash functions hh and hh^{\prime} for the two tasks. This construction was first proposed in [32] for an iKEM with IND-CEA security for qeq_{e} encapsulation queries (and no decapsulation queries), and used two strongly universal hash functions, hh and hh^{\prime}. Construction 1 has the same security properties but uses universal hash families. The construction slightly modifies the initialization process of iKEM that improves the length of the established key without affecting security. The encapsulation ciphertext in Construction 1 is c=(h(𝐱,s),s)c=(h(\mathbf{x},s),s^{\prime}), where ss and ss^{\prime} are random strings that are used in hh (reconciliation) and hh^{\prime} (extraction) respectively. Our observation is that ss, the seed for hh that is used for reconciliation, can stay the same in all instances of the protocol and so can be generated and distributed to all parties (including to Eve) during initialization.

We prove security of this construction for any pair hh and hh^{\prime} of universal hash functions with appropriate parameters.

The second construction is a pKEM with IND-CCA security that removes the need for a public authenticated channel between Alice and Bob, and provides security against an adversary who can tamper with the KEM ciphertext. We define INT-CTXT (ciphertext integrity) for pKEM (Definition 6) that requires any tampering with the cipherext to be detectable by Bob. Theorem 1 proves that in preprocessing model, a KEM that is IND-CEA and INT-CTXT secure, is IND-CCA secure. Our IND-CCA secure Construction 2 requires a specific construction of hh (whereas in Construction 1, hh can be any universal hash function).

To show IND-CCA security of the Construction 2, we show that it is an IND-CEA and INT-CTXT secure KEM, and so it provides IND-CCA security. The construction is based on the OWSKA construction in [29] that provides security against an active adversary. Our iKEM construction slightly modifies the reconciliation message of the OWSKA, revises and corrects its security analysis, and obtains new parameters for the system. The encapsulation ciphertext in Construction 2 is given by c=(h(𝐱,(s,s)),s,s)c=(h(\mathbf{x},(s^{\prime},s)),s^{\prime},s) which includes ss^{\prime} as part of the input to hh also. The hash function hh is designed to (i)(i) provide information reconciliation to allow Bob to securely recover Alice’s sample 𝐱\mathbf{x} and (ii)(ii) serves as a MAC (message authentication code) to protect integrity of the encapsulation ciphertext. The decapsulation algorithm checks the validity of a received encapsulation ciphertext by computing the hash function hh using the candidate key 𝐱^\hat{\mathbf{x}} that is derived for Alice and the received (s,s)(s^{\prime},s), and compares the result with h(𝐱,(s,s))h(\mathbf{x},(s^{\prime},s)). We bound the success probability of the adversary in forging a valid encapsulation ciphertext by bounding the guessing probability of the secret keys that are used in the encapsulation and decapsulation algorithms.

In Theorem 5, we prove integrity of the ciphertext (IND-CTXT) of the iKEM Construction 2 against an active adversary with access to one encapsulation and qdq_{d} decapsulation queries. The hh construction in section V-E can be extended to provide security against qe>1q_{e}>1 queries. The final extracted key length however will be reduced (almost) linearly with higher qeq_{e}. We note that security against qe>1q_{e}>1 encapsulation queries, is only necessary if the same sample 𝐱\mathbf{x} is used in multiple instances of HE, and not required in applications such as QKD where each message transmission will use its dedicated quantum communication round (and so new values of 𝐱\mathbf{x}, 𝐲\mathbf{y} and 𝐳\mathbf{z}).

KEM Combiners. We define KEM combiners that securely combine a pKEM (iKEM or cKEM) and a public key KEM. In this combination, if at least one of the component KEMs is an iKEM, the resulting KEM will be an iKEM and secure against a computationally unbounded adversary (for fixed number of encapsulation/decapsulation queries) and so a quantum-resistant  KEM. The resulting KEM will also be computationally secure with polynomial (in security parameter) number of encapsulation/decapsulation queries, as long as at least one of the component KEMs is computationally secure (public-key KEM or cKEM).

We give two blackbox constructions of KEM combiners for an iKEM and a public key KEM that satisfy the above security properties (information theoretic security for fixed number of queries and computational security for polynomial number of queries as long as the corresponding component KEM is secure). The constructions are based on the XOR combiner and PRF-then-XOR combiner of [30] that were proposed for public key KEMs. We extend these constructions to our setting where one of the KEMs is an iKEM. The XOR combiner XORs the output keys of the component KEMs. The construction maintains IND-CEA security of the resulting KEM (Theorem 6) but will not result in an IND-CCA KEM when the component KEMs are IND-CCA secure. The PRF-then-XOR combiner uses PRFs (Pseudorandom functions). A PRF is a family of functions indexed by a secret key, that guarantees that for a uniformly chosen key, the function output is indistinguishable from the output of a random function for an adversary who can see the evaluations of the function on an adaptive adversary chosen set of values (see Definition 8). We use two types of PRFs: with statistical indistinguishability for constant number of queries, and computational indistinguishability for polynomial number of queries (see Definition 8).

The PRF-then-XOR combiner XORs the outputs of a set of PRFs, each associated with one of the KEMs, where the ithi^{th} PRF uses the secret key kik_{i} that is the output of the ithi^{th} KEM, and computes the value of the function on an input that is the concatenation of the ciphertexts of all other KEMs (except the ithi^{th} one). We require PRF with statistical indistinguishability for iKEMs, and with computational indistinguishability for computational KEMs. Theorems 6 and 7 respectively, prove IND-CEA, and IND-CCA security of the resulting KEMs, and relate their security to the security of the component KEMs and the PRFs.

Discussion. Security of KEM/DEM paradigm in correlated randomness model does not rely on any (unproven) computationally hard problem. Hybrid encryption system in this model is neither a public key, nor a symmetric key encryption system. Rather, it relies on the communicating parties secret inputs (that we refer to as key) that are not identical, but are correlated, and can be partially leaked. The final security of the HE is computational. The paradigm provides flexibility to consider security against computationally unbounded or bounded adversaries for each component (KEM and DEM). Our focus on iKEM and computationally bounded DEM is motivated by real-life application of HE in quantum-resistant  systems.

Organization. Related work is in section II. Section III is preliminaries. Section IV is on KEM in preprocessing model. Instantiations of iKEM and their security proofs are in Section  V. Section VI is on combiners and their constructions. Section VII provides concluding remarks.

II Related work

KEM/DEM paradigm has been widely used in public key based hybrid encryption for encrypting arbitrary length messages with proved security. The approach was first formalized by Cramer and Shoup [1] who proved that that a CCA secure KEM and one-time secure CCA symmetric key encryption system (DEM) result in a CCA secure hybrid encryption system. The relation between different security notions of KEM and DEM, and the resulting hybrid encryption system is given in [2]. There are numerous generic and specific constructions of public-key KEM including [33, 34, 35]. There are also constructions of KEM that use hardness assumptions for which there is no known quantum algorithm. This includes constructions [36, 37, 10] that use LWE (Learning with Error) and other lattice based assumptions. Quantum-resistant secure KEM has been part of NIST post-quantum competition [38] and CRYSTALS-Kyber is the standardized quantum-resistant  KEM [10]. KEM combiners are studied in [30, 39, 31, 40].

All above works are in public-key setting. KEM/DEM in correlated randomness setting was introduced in [32] where authors considered passive adversaries with access to encapsulation queries, only. We extend this work in a number of ways. We consider security against active attackers and prove a general composition theorem for CCA security of HE, and construct a CCA secure iKEM that results in a CCA secure ( quantum-resistant) HE. We also construct combiners for iKEM and public-key KEM, that when used with a computationally secure DEM, result in a provably secure CCA encryption system.

Information theoretic key agreement in source model was first studied by Maurer [13], and Ahlswede and Csiszár [14], and has led to a long line of research on this topic and more specific related topics including information reconciliation [41, 42, 43, 44]. OWSKA uses a single message from Alice to Bob to establish a shared key [15, 17, 18, 19]. Key establishment in correlated randomness model with security against active adversary was studied in [45, 28, 46, 47].

Combining cryptographic primitives was first considered by Shannon who studied security of an encryption system that is obtained by combining multiple encryption systems, and suggested “weighted sum” and “product ciphers” to combine secrecy systems to achieve stronger security [48]. Combiners have been studied for numerous cryptographic primitives including encryption systems [49, 50] and hash functions [51]. Robust combiners for cryptographic systems were studied by Herzberg [52] and later extended [40] to include parallel and cascade constructions, where constructions for various primitives including OWF (One Way Functions), signatures and MACs are given. A robust combiner for a cryptographic primitive 𝒫\cal P takes multiple candidate schemes that implement 𝒫\cal P, and combine them into a single scheme such that the resulting scheme remains secure even if some of the schemes become insecure. In a (k,n)(k,n)-robust combiner [40] security is guaranteed if at least tt out of nn constructions remains secure.

Combiners for public key KEM was studied in Giacon et al. [30], and with security against quantum adversaries were considered and constructed in Bindel et al. [31].

Correlated randomness model has been used in cryptography to remove impossibility results, including key establishment in presence of computationally unbounded adversaries [13], oblivious transfer [53] and multi-party computation (MPC) protocols [54, 55, 56]. Correlated randomness for key agreement can be realized in settings such as biometric authentication, transmission over noisy (wiretapped) channels, and using communication over quantum channel.

III Preliminaries

We denote random variables (RVs) with upper-case letters, (e.g., XX), and their realizations with lower-case letters (e.g., xx). The probability distribution associated with a random variable XX is denoted by PX(x)=𝖯𝗋(X=x)\mathrm{P}_{X}(x)=\mathsf{Pr}(X=x), and the conditional probability distribution associated with XX given YY is denoted by PX|Y(x|y)=𝖯𝗋(X=x|Y=y)\mathrm{P}_{X|Y}(x|y)=\mathsf{Pr}(X=x|Y=y). Shannon entropy of an RV XX is defined by H(X)=xPX(x)log(PX(x))H(X)=-\sum_{x}\mathrm{P}_{X}(x)\log(\mathrm{P}_{X}(x)). The min-entropy H(X)H_{\infty}(X) of a random variable X𝒳X\in\mathcal{X} with probability distribution PX\mathrm{P}_{X} is H(X)=log(maxx(PX(x)))H_{\infty}(X)=-\log(\max_{x}(\mathrm{P}_{X}({x}))). The average conditional min-entropy [21] is defined as, H~(X|Y)=log𝔼yYmaxx𝒳PX|Y(x|y).\tilde{H}_{\infty}(X|Y)=-\log\mathbb{E}_{{y}\leftarrow Y}\max_{{x}\in\mathcal{X}}\mathrm{P}_{X|Y}({x}|{y}). The statistical distance between two random variables XX and YY with the same domain 𝒯\mathcal{T} is given by Δ(X,Y)=12v𝒯|Pr[X=v]Pr[Y=v]|{\rm\Delta}(X,Y)=\frac{1}{2}\sum_{v\in{\cal T}}|\Pr[X=v]-\Pr[Y=v]|. For an nn-bit variable 𝐱\mathbf{x}, we use [x]ij[x]_{i\cdots j} to denote the block of bits from the iith bit to the jjth bit in x.x. For \ell\in\mathbb{N}, UU_{\ell} denotes an RV with uniform distribution over {0,1}\{0,1\}^{\ell}. Vectors are denoted using boldface letters, e.g. 𝐗=(X1,,Xn)\mathbf{X}=(X_{1},\cdots,X_{n}) is a vector of nn RVs, and its realization is given by 𝐱=(x1,,xn)\mathbf{x}=(x_{1},\cdots,x_{n}).

To define closeness of two families of distributions that are indexed by λ\lambda using the notion of indistinguishability (statistical and computational), we use two classes of functions called SMALL{SMALL} and NEGL{NEGL} as defined in [57]. The class of negligible functions NEGL{NEGL}, contains all functions s:0s:\mathbb{N}\to\mathbb{R}_{\geq 0} where for every positive polynomial f()f(\cdot), n0\exists n_{0}\in\mathbb{N} such that nn0,|s(n)|<1f(n)\forall n\geq n_{0},|s(n)|<\frac{1}{f(n)}, where 0\mathbb{R}_{\geq 0} is the set of non-negative real numbers. A set SMALL{SMALL} is a class of small functions 0\mathbb{N}\to\mathbb{R}_{\geq 0} if: (i)(i) it is closed under addition, and (ii)(ii) a function sSMALLs^{\prime}\in SMALL implies that all functions f:0f^{\prime}:\mathbb{N}\to\mathbb{R}_{\geq 0} with fsf^{\prime}\leq s^{\prime} are also in the set SMALLSMALL.

Universal hash functions have been used to generate close to uniform RVs from non-uniform entropy sources with sufficient min-entropy. This is proved in Leftover Hash Lemma [58]. We use a variant of Leftover Hash Lemma, called Generalized Leftover Hash Lemma [21, Lemma 2.4].

Definition 1 (Universal hash family).

A family of hash functions h:𝒳×𝒮𝒴h:\mathcal{X}\times\mathcal{S}\to\mathcal{Y} is called a universal hash family if x1,x2𝒳\forall x_{1},x_{2}\in\mathcal{X}, x1x2x_{1}\neq x_{2}, we have Pr[h(x1,S)=h(x2,S)]1|𝒴|\mathrm{Pr}[h(x_{1},S)=h(x_{2},S)]\leq\frac{1}{|\mathcal{Y}|}, where the probability is over the uniform choices of 𝒮\mathcal{S}.

Lemma 1 (Generalized Leftover Hash Lemma [21]).

Let h:𝒳×𝒮{0,1}h:\mathcal{X}\times\mathcal{S}\rightarrow\{0,1\}^{\ell} be a universal hash family. Then for any two variables A𝒳A\in\mathcal{X} and B𝒴B\in\mathcal{Y}, applying hh on AA can extract a uniform random variable whose length \ell satisfies the following Δ(h(A,S),S,B;U,S,B)122H~(A|B)2\Delta(h(A,S),S,B;U_{\ell},S,B)\leq\frac{1}{2}\sqrt{2^{-\tilde{H}_{\infty}(A|B)}\cdot 2^{\ell}}, where SS is chosen uniformly from 𝒮\mathcal{S}.

For λ\lambda\in\mathbb{N}, the unary representation of λ\lambda given by 1λ1^{\lambda}, is used to specify the running time of the algorithm as a function of λ\lambda. For efficient algorithm, the running time is a polynomial in λ\lambda. We use λ\lambda as the security parameter of the system.

An algorithm 𝖣\mathsf{D} that takes inputs x,y,x,y,\cdots, and generates the output uu, while having access to oracles 𝖮1,𝖮2,\mathsf{O}_{1},\mathsf{O}_{2},\dots, by u𝖣𝖮1,𝖮2,(x,y,)u\leftarrow\mathsf{D}^{\mathsf{O}_{1},\mathsf{O}_{2},...}(x,y,\cdots).

KEM and DEM. Hybrid encryption and the notion of KEM was first introduced and formalized in [1]. Properties of KEM and DEM were formally defined in [2].

Definition 2 (KEM distinguishing advantage [2]).

Let 𝖣=(𝖣1,𝖣2)\mathsf{D}=(\mathsf{D}_{1},\mathsf{D}_{2}) be an adversary and 𝗄𝖾𝗆=(𝗄𝖾𝗆.𝖦𝖾𝗇,𝗄𝖾𝗆.𝖤𝗇𝖼,𝗄𝖾𝗆.𝖣𝖾𝖼)\mathsf{kem}=(\mathsf{kem.Gen},\mathsf{kem.Enc},\mathsf{kem.Dec}) be a KEM with security parameter λ\lambda and key space {0,1}𝗄𝖾𝗆.𝖫𝖾𝗇(λ)\{0,1\}^{\mathsf{kem.Len}(\lambda)}. For atk{cpa,,cca1,cca2}atk\in\{cpa,,cca1,cca2\}, the key indistinguishability (kind) advantage of 𝗄𝖾𝗆\mathsf{kem} is defined as

Adv𝗄𝖾𝗆,𝖣kind-atk(λ)|Pr[KIND𝗄𝖾𝗆,𝖣atk-0(λ)=1]Pr[KIND𝗄𝖾𝗆,𝖣atk-1(λ)=1]|,Adv^{kind\text{-}atk}_{\mathsf{kem},\mathsf{D}}(\lambda)\triangleq|\mathrm{Pr}[\mathrm{KIND}_{\mathsf{kem},\mathsf{D}}^{atk\text{-}0}(\lambda)=1]-\mathrm{Pr}[\mathrm{KIND}_{\mathsf{kem},\mathsf{D}}^{atk\text{-}1}(\lambda)=1]|, (1)

where the distinguishing game KIND𝗄𝖾𝗆,𝖣atk-b\mathrm{KIND}_{\mathsf{kem},\mathsf{D}}^{atk\text{-}b} for b{0,1}b\in\{0,1\} is defined in Figure. 1.

Game KIND𝗄𝖾𝗆,𝖣atk-b(λ)\mathrm{KIND}_{\mathsf{kem},\mathsf{D}}^{atk\text{-}b}(\lambda)                 

1:(pk,sk)$𝗄𝖾𝗆.𝖦𝖾𝗇(1λ)(pk,sk)\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{kem.Gen}(1^{\lambda})
2:st$𝖣1𝖮1(pk)st\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{D}_{1}^{\mathsf{O}_{1}}(pk)
3:(k,c)$𝗄𝖾𝗆.𝖤𝗇𝖼(pk)(k^{*},c^{*})\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{kem.Enc}(pk)
4:k0kk_{0}\leftarrow k^{*}
5:k1${0,1}𝗄𝖾𝗆.𝖫𝖾𝗇(λ)k_{1}\stackrel{{\scriptstyle\$}}{{\leftarrow}}\{0,1\}^{\mathsf{kem.Len}(\lambda)}
6:b$𝖣2𝖮2(c,st,kb)b^{\prime}\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{D}_{2}^{\mathsf{O}_{2}}(c^{*},st,k_{b})
7:Return bb^{\prime}

Oracles 𝖮1\mathsf{O}_{1} and 𝖮2\mathsf{O}_{2}

atkatk 𝖮1()\mathsf{O}_{1}(\cdot) 𝖮2()\mathsf{O}_{2}(\cdot)
cpacpa ε\ \varepsilon ε\varepsilon
cca1cca1 𝗄𝖾𝗆.𝖣𝖾𝖼(sk,)\mathsf{kem.Dec}(sk,\cdot) ε\varepsilon
cca2cca2 𝗄𝖾𝗆.𝖣𝖾𝖼(sk,)\mathsf{kem.Dec}(sk,\cdot) 𝗄𝖾𝗆.𝖣𝖾𝖼(sk,)\mathsf{kem.Dec}(sk,\cdot)
Figure 1: The distinguishing game KIND𝗄𝖾𝗆,𝖣atk-b\mathrm{KIND}_{\mathsf{kem},\mathsf{D}}^{atk\text{-}b}, where b${0,1}b\stackrel{{\scriptstyle\$}}{{\leftarrow}}\{0,1\}, and atk{cpa,cca1,cca2}atk\in\{cpa,cca1,cca2\}. The decapsulation oracle 𝗄𝖾𝗆.𝖣𝖾𝖼(sk,)\mathsf{kem.Dec}(sk,\cdot) has the private key sksk. Oracle output 𝖮i=ε,i{1,2}\mathsf{O}_{i}=\varepsilon,i\in\{1,2\}, means 𝖮i\mathsf{O}_{i} returns the empty string ε\varepsilon. 𝖮2\mathsf{O}_{2} cannot be asked to decapsulate cc^{*}.

A KEM is IND-CPA (CCA1 or CCA2) secure if for all polynomial-time adversaries 𝖣\mathsf{D} that corresponds to atk=cpaatk=cpa, atk=cca1atk=cca1 or atk=cca2atk=cca2, the advantage function (in equation 1) is negligible in λ{\lambda}. In this paper, we only consider CCA2 security, and refer to it as CCA-security.

Data Encapsulation Mechanism (DEM) is a symmetric key encryption algorithm. We use the following definition in [2].

Definition 3 (Security of DEM: IND-OT, IND-OTCCA, IND-CPA, IND-CCA1, IND-CCA2 [2]).

Let
𝖽𝖾𝗆=(𝖽𝖾𝗆.𝖦𝖾𝗇,𝖽𝖾𝗆.𝖤𝗇𝖼,𝖽𝖾𝗆.𝖣𝖾𝖼)\mathsf{dem}=(\mathsf{dem.Gen},\mathsf{dem.Enc},\mathsf{dem.Dec}) be a DEM scheme with security parameter λ\lambda and key space {0,1}𝖽𝖾𝗆.𝖫𝖾𝗇(λ)\{0,1\}^{{\mathsf{dem.Len}}(\lambda)}, and let 𝖣=(𝖣1,𝖣2)\mathsf{D}=(\mathsf{D}_{1},\mathsf{D}_{2}) be an adversary. For atk{ot,otcca,cpa,cca1,cca2}atk\in\{ot,otcca,cpa,cca1,cca2\} and λ\lambda\in\mathbb{N}, the indistinguishability (ind) advantage of 𝖽𝖾𝗆\mathsf{dem} is defined as

Adv𝖽𝖾𝗆,𝖣ind-atk(λ)|Pr[IND𝖽𝖾𝗆,𝖣atk-0(λ)=1]Pr[IND𝖽𝖾𝗆,𝖣atk-1(λ)=1]|,Adv^{ind\text{-}atk}_{\mathsf{dem},\mathsf{D}}(\lambda)\triangleq|\mathrm{Pr}[\mathrm{IND}_{\mathsf{dem},\mathsf{D}}^{atk\text{-}0}(\lambda)=1]-\mathrm{Pr}[\mathrm{IND}_{\mathsf{dem},\mathsf{D}}^{atk\text{-}1}(\lambda)=1]|, (2)

where the distinguishing game IND𝖽𝖾𝗆,𝖣atk-b\mathrm{IND}_{\mathsf{dem},\mathsf{D}}^{atk\text{-}b} for b{0,1}b\in\{0,1\} is defined in Figure. 2.

Game IND𝖽em,𝖣atk-b(λ)\mathrm{IND}_{\mathsf{d}em,\mathsf{D}}^{atk\text{-}b}(\lambda)

1:k$𝖽𝖾𝗆.𝖦𝖾𝗇(1λ)k\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{dem.Gen}(1^{\lambda})
2:(st,m0,m1)$𝖣1𝖮1()(st,m_{0},m_{1})\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{D}_{1}^{\mathsf{O}_{1}}()
3:c$𝖽𝖾𝗆.𝖤𝗇𝖼(k,mb)c^{*}\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{dem.Enc}(k,m_{b})
4:b$𝖣2𝖮2(c,st)b^{\prime}\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{D}_{2}^{\mathsf{O}_{2}}(c^{*},st)
5:Return bb^{\prime}

Oracles 𝖮1\mathsf{O}_{1} and 𝖮2\mathsf{O}_{2}

atkatk 𝖮1\mathsf{O}_{1} 𝖮2\mathsf{O}_{2}
otot ε\varepsilon ε\varepsilon
otccaotcca ε\varepsilon 𝖽𝖾𝗆.𝖣𝖾𝖼(k,){\mathsf{dem.Dec}}(k,\cdot)
cpacpa 𝖽𝖾𝗆.𝖤𝗇𝖼(k,)\mathsf{dem.Enc}(k,\cdot) ε\varepsilon
cca1cca1 {𝖽𝖾𝗆.𝖤𝗇𝖼(k,),𝖽𝖾𝗆.𝖣𝖾𝖼(k,)}\{\mathsf{dem.Enc}(k,\cdot),{\mathsf{dem.Dec}}(k,\cdot)\} ε\varepsilon
cca2cca2 {𝖽𝖾𝗆.𝖤𝗇𝖼(k,),𝖽𝖾𝗆.𝖣𝖾𝖼(k,)}\{\mathsf{dem.Enc}(k,\cdot),{\mathsf{dem.Dec}}(k,\cdot)\} {𝖽𝖾𝗆.𝖤𝗇𝖼(k,),𝖽𝖾𝗆.𝖣𝖾𝖼(k,)}\{\mathsf{dem.Enc}(k,\cdot),{\mathsf{dem.Dec}}(k,\cdot)\}
Figure 2: DEM distinguishing game. Here, 𝖽𝖾𝗆.𝖤𝗇𝖼(k,)\mathsf{dem.Enc}(k,\cdot) and 𝖽𝖾𝗆.𝖣𝖾𝖼(k,)\mathsf{dem.Dec}(k,\cdot) are encryption and decryption oracles with key kk, respectively, and ε\varepsilon denotes an empty string.

A DEM is σ(λ)-IND-ATK\sigma(\lambda)\text{-}IND\text{-}ATK for ATK{OT,OTCCA,CPA,CCA1,CCA2}ATK\in\{OT,OTCCA,CPA,CCA1,CCA2\} if for all polynomial-time adversaries 𝖣\mathsf{D}, Adv𝖽𝖾𝗆,𝖣ind-atk(λ)σ(λ)Adv^{ind\text{-}atk}_{\mathsf{dem},\mathsf{D}}(\lambda)\leq\sigma(\lambda), where σ()\sigma(\cdot) is a non-negative negligible function in λ\lambda.

The formalization and construction of HE in [1] uses one-time symmetric key encryption schemes with a specific security definition (adversary with access to decryption oracle only). The one-time symmetric key encryption that is defined below, is a DEM with OTCCA security.

A one-time symmetric key encryption 𝖲𝖤=(𝖲𝖤.𝖤𝗇𝖼,𝖲𝖤.𝖣𝖾𝖼)\mathsf{SE}=(\mathsf{SE.Enc},\mathsf{SE.Dec}) with security parameter λ\lambda and the key space {0,1}𝖲𝖤.𝖫𝖾𝗇(λ)\{0,1\}^{\mathsf{SE.Len}(\lambda)} consists of two deterministic222Thus, for all k{0,1}𝖲𝖤.𝖫𝖾𝗇(λ)k\in\{0,1\}^{\mathsf{SE.Len}(\lambda)} and m{0,1}m\in\{0,1\}^{*}, Pr[𝖲𝖤.𝖣𝖾𝖼(k,𝖲𝖤.𝖤𝗇𝖼(k,m))=m]=1\mathrm{Pr}[\mathsf{SE.Dec}\big{(}k,\mathsf{SE.Enc}(k,m)\big{)}=m]=1. algorithms such that: i) the encryption algorithm 𝖲𝖤.𝖤𝗇𝖼(k,m)\mathsf{SE.Enc}(k,m) encrypts a message m{0,1}m\in\{0,1\}^{*} under a uniformly chosen key k{0,1}𝖲𝖤.𝖫𝖾𝗇(λ)k\in\{0,1\}^{\mathsf{SE.Len}(\lambda)} and outputs a ciphertext cc, and ii) the decryption algorithm 𝖲𝖤.𝖤𝗇𝖼(c,k)\mathsf{SE.Enc}(c,k) that decrypts the ciphertext cc using the key kk, and either recovers the message mm, or outputs a special rejection symbol \perp.

Security of 𝖲𝖤\mathsf{SE} is tailored for its application in hybrid encryption systems, and matches the OTCCA security in Definition 3.

IV KEM in correlated randomness model

A KEM in correlated randomness model (also called preprocessing model) has two phases. In the initialization phase that is also called offline phase, Alice, Bob and Eve, respectively, privately receive rAr_{A}, rBr_{B} and rEr_{E}, that is obtained by sampling a public joint distribution P𝐗𝐘𝐙P_{\mathbf{X}\mathbf{Y}\mathbf{Z}} (e.g. an efficient probabilistic experiment). In the online phase Alice and Bob use their private values in the encapsulation and decapsulation algorithms, respectively, to obtain a shared key. Here rEr_{E} represents Eve’s initial information about Alice and Bob’s samples.

Definition 4 (KEM in Preprocessing Model (pKEM)).

KEM in preprocessing model (pKEM) with security parameter λ\lambda, joint distribution P𝐗𝐘𝐙P_{\mathbf{X}\mathbf{Y}\mathbf{Z}}, and key space 𝖪𝖾𝗒𝖲𝖯𝗉𝗄𝖾𝗆(λ)={0,1}𝗉𝗄𝖾𝗆.𝖫𝖾𝗇(λ)\mathsf{KeySP_{\mathsf{pkem}}}(\lambda)=\{0,1\}^{\mathsf{pkem.Len}(\lambda)}, is a triple of algorithms
𝗉𝗄𝖾𝗆=(𝗉𝗄𝖾𝗆.𝖦𝖾𝗇,𝗉𝗄𝖾𝗆.𝖤𝗇𝖼,𝗉𝗄𝖾𝗆.𝖣𝖾𝖼)\mathsf{pkem}=(\mathsf{pkem.Gen},\mathsf{pkem.Enc},\mathsf{pkem.Dec}), where 𝗉𝗄𝖾𝗆.𝖦𝖾𝗇(1λ,P𝐗𝐘𝐙)\mathsf{pkem.Gen}(1^{\lambda},P_{\mathbf{X}\mathbf{Y}\mathbf{Z}}) is a randomized generation algorithm that produces private samples (rA,rB,rE)(r_{A},r_{B},r_{E}) that are privately given to the corresponding parties, 𝗉𝗄𝖾𝗆.𝖤𝗇𝖼(rA)\mathsf{pkem.Enc}(r_{A}) is the randomized encapsulation algorithm that outputs a pair of ciphertext and key (c,k)(c,k) for c𝒞c\in\mathcal{C} and k{0,1}𝗉𝗄𝖾𝗆.𝖫𝖾𝗇(λ)k\in\{0,1\}^{\mathsf{pkem.Len}(\lambda)}, and 𝗉𝗄𝖾𝗆.𝖣𝖾𝖼(rB,c)\mathsf{pkem.Dec}(r_{B},c) is the deterministic decapsulation algorithm that outputs a key kk or a symbol \perp (for an invalid ciphertext).

Correctness. A pKEM is ϵ(λ)\epsilon(\lambda)-correct if for all λ\lambda\in\mathbb{N} and (rA,rB,rE)𝗉𝗄𝖾𝗆.𝖦𝖾𝗇(1λ,P𝐗𝐘𝐙)(r_{A},r_{B},r_{E})\leftarrow\mathsf{pkem.Gen}(1^{\lambda},P_{\mathbf{X}\mathbf{Y}\mathbf{Z}}),
Pr[𝗉𝗄𝖾𝗆.𝖣𝖾𝖼(rB,c)𝗉𝗄𝖾𝗆.𝖤𝗇𝖼(rA).key]ϵ(λ)\text{Pr}[\mathsf{pkem.Dec}(r_{B},c)\neq\mathsf{pkem.Enc}(r_{A}).{key}]\leq\epsilon(\lambda), where ϵ:[0,1)\epsilon:\mathbb{N}\to[0,1) is a small function of λ\lambda, and 𝗉𝗄𝖾𝗆.𝖤𝗇𝖼(rA).key=k\mathsf{pkem.Enc}(r_{A}).{key}=k and the probability is over all random coins of 𝗉𝗄𝖾𝗆.𝖤𝗇𝖼()\mathsf{pkem.Enc}(\cdot) and 𝗉𝗄𝖾𝗆.𝖦𝖾𝗇()\mathsf{pkem.Gen}(\cdot).

Security of pKEM. We consider three types of attacks: One-time attack (OT), Chosen Encapsulation Attack (CEA), and Chosen Ciphertext Attack (CCA), specified by access to the encapsulation and decapsulation oracles 𝗉𝗄𝖾𝗆.𝖤𝗇𝖼(rA,)\mathsf{pkem.Enc}(r_{A},\cdot) and 𝗉𝗄𝖾𝗆.𝖣𝖾𝖼(rB,)\mathsf{pkem.Dec}(r_{B},\cdot), respectively. The corresponding security notions are denoted by IND-OT, IND-CEA and IND-CCA, respectively. An encapsulation query to 𝗉𝗄𝖾𝗆.𝖤𝗇𝖼(rA,)\mathsf{pkem.Enc}(r_{A},\cdot) is a call to generate a key and ciphertext pair (c,k)(c,k) and does not take any input from the adversary. For a query to 𝗉𝗄𝖾𝗆.𝖣𝖾𝖼(rB,)\mathsf{pkem.Dec}(r_{B},\cdot), the attacker chooses a ciphertext cc, and receives the corresponding key kk, or \perp.

Definition 5 (pKEM distinguishing advantage).

Let 𝗉𝗄𝖾𝗆=(𝗉𝗄𝖾𝗆.𝖦𝖾𝗇,𝗉𝗄𝖾𝗆.𝖤𝗇𝖼,𝗉𝗄𝖾𝗆.𝖣𝖾𝖼)\mathsf{pkem}=(\mathsf{pkem.Gen},\mathsf{pkem.Enc},\mathsf{pkem.Dec}) be a pKEM and let 𝖣=(𝖣1,𝖣2)\mathsf{D}=(\mathsf{D}_{1},\mathsf{D}_{2}) be a distinguisher. The preprocessing key indistinguishability advantage (pkind) is denoted by Adv𝗉𝗄𝖾𝗆,𝖣pkind-atk(λ)Adv^{pkind\text{-}atk}_{\mathsf{pkem},\mathsf{D}}(\lambda) and defined as follows:

|Pr[pKIND𝗉𝗄𝖾𝗆,𝖣atk-0(λ)=1]Pr[pKIND𝗉𝗄𝖾𝗆,𝖣atk-1(λ)=1]|,\displaystyle|\mathrm{Pr}[\mathrm{pKIND}_{\mathsf{pkem},\mathsf{D}}^{atk\text{-}0}(\lambda)=1]-\mathrm{Pr}[\mathrm{pKIND}_{\mathsf{pkem},\mathsf{D}}^{atk\text{-}1}(\lambda)=1]|, (3)

where the distinguishing game pKIND𝗉𝗄𝖾𝗆,𝖣atk-b\mathrm{pKIND}_{\mathsf{pkem},\mathsf{D}}^{atk\text{-}b} for a random bit b${0,1}b\stackrel{{\scriptstyle\$}}{{\leftarrow}}\{0,1\}, is defined in Figure. 3.

Game pKIND𝗉𝗄𝖾𝗆,𝖣atk-b(λ)\mathrm{pKIND}_{\mathsf{pkem},\mathsf{D}}^{atk\text{-}b}(\lambda)                           Oracles 𝖮1\mathsf{O}_{1} and 𝖮2\mathsf{O}_{2}

1:(rA,rB,rE)$𝗉𝗄𝖾𝗆.𝖦𝖾𝗇(1λ,P𝐗𝐘𝐙)(r_{A},r_{B},r_{E})\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{pkem.Gen}(1^{\lambda},{P_{\mathbf{X}\mathbf{Y}\mathbf{Z}}})
2:st1$𝖣1𝖮1(rE)st_{1}\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{D}_{1}^{\mathsf{O}_{1}}(r_{E})
3:(k,c)$𝗉𝗄𝖾𝗆.𝖤𝗇𝖼(rA)(k^{*},c^{*})\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{pkem.Enc}(r_{A})
4:k0kk_{0}\leftarrow k^{*}
5:k1${0,1}𝗉𝗄𝖾𝗆.𝖫𝖾𝗇(λ)k_{1}\stackrel{{\scriptstyle\$}}{{\leftarrow}}\{0,1\}^{\mathsf{pkem.Len}(\lambda)}
6:b$𝖣2𝖮2(st1,c,kb)b^{\prime}\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{D}_{2}^{\mathsf{O}_{2}}(st_{1},c^{*},k_{b})
7:Return bb^{\prime}
atkatk 𝖮1()\mathsf{O}_{1}(\cdot) 𝖮2()\mathsf{O}_{2}(\cdot)
otot ε\varepsilon ε\varepsilon
ceacea 𝗉𝗄𝖾𝗆.𝖤𝗇𝖼(rA,)\mathsf{\mathsf{pkem.Enc}}(r_{A},\cdot) 𝗉𝗄𝖾𝗆.𝖤𝗇𝖼(rA,)\mathsf{\mathsf{pkem.Enc}}(r_{A},\cdot)
ccacca {𝗉𝗄𝖾𝗆.𝖤𝗇𝖼(rA,),\{\mathsf{\mathsf{pkem.Enc}}(r_{A},\cdot), 𝗉𝗄𝖾𝗆.𝖣𝖾𝖼(rB,)}\mathsf{\mathsf{pkem.Dec}}(r_{B},\cdot)\} {𝗉𝗄𝖾𝗆.𝖤𝗇𝖼(rA,),\{\mathsf{\mathsf{pkem.Enc}}(r_{A},\cdot), 𝗉𝗄𝖾𝗆.𝖣𝖾𝖼(rB,)}\mathsf{\mathsf{pkem.Dec}}(r_{B},\cdot)\}
Figure 3: The security game pKIND𝗉𝗄𝖾𝗆,𝖣atk-b\mathrm{pKIND}_{\mathsf{pkem},\mathsf{D}}^{atk\text{-}b} where b${0,1}b\stackrel{{\scriptstyle\$}}{{\leftarrow}}\in\{0,1\} and atk{ot,cea,cca}atk\in\{ot,cea,cca\}. Here 𝖮1()\mathsf{O}_{1}(\cdot) and 𝖮2()\mathsf{O}_{2}(\cdot) are oracles that are accessed before and after the challenge is seen, respectively. 𝖮i=ε\mathsf{O}_{i}=\varepsilon, for i{1,2}i\in\{1,2\}, means 𝖮i\mathsf{O}_{i} returns the empty string ε\varepsilon. The number of queries for computational (resp. unbounded) adversaries will be a polynomial in λ\lambda (resp. constant number qeq_{e} encapsulation and qdq_{d} decapsulation queries). The adversary 𝖣2\mathsf{D}_{2} cannot ask cc^{*} to decryption oracle.

For ATK{OT,CEA,CCA}\text{ATK}\in\{\text{OT,CEA,CCA}\}, a pKEM is σ(λ)\sigma(\lambda)-IND-ATK secure if Adv𝗉𝗄𝖾𝗆,𝖣pkind-atk(λ)Adv^{pkind\text{-}atk}_{\mathsf{pkem},\mathsf{D}}(\lambda) is bounded by σ(λ)\sigma(\lambda) for atk{ot,cea,cca}\text{atk}\in\{\text{ot,cea,cca}\}, respectively, where σ:[0,1)\sigma:\mathbb{N}\to[0,1) is a small function of λ\lambda. The adversary 𝖣\mathsf{D} may be computationally (i)(i) bounded, or (ii)(ii) unbounded. We call the KEM in the former case a computational KEM (cKEM), and in the latter case an information theoretic KEM (iKEM), both in preprocessing model. For a secure cKEM, σ()NEGL\sigma(\cdot)\in NEGL and for a secure iKEM σ()SMALL\sigma(\cdot)\in SMALL.

Remark 1 (iKEM with bounded-query security).

The number of queries when the adversary is computationally bounded (Definition 5) is a polynomial in λ\lambda. We define qq-bounded adversaries for iKEM, where the number of queries is bounded by a known predetermined polynomial in λ\lambda. qq-bounded CCA security for public-key encryption has been considered in [59] to overcome impossibility results that hold for general CCA encryption. In iKEM, the bound on the number of queries is because of the adversary’s unlimited computation power. Indistinguishability security against a qeq_{e}-bounded CEA adversary with access to at most qeq_{e} encapsulation queries is denoted by IND-qeq_{e}-CEA security. Similarly, IND-(qe;qd)(q_{e};q_{d})-CCA security is defined against an attacker that is qeq_{e}-bounded for encapsulation queries and qdq_{d}-bounded for decapsulaton queries, where the queries can be asked according to the distinguishing game of Figure. 3.

IV-1 Ciphertext Integrity (INT-CTXT) in preprocessing model.

Ciphertext integrity (INT-CTXT) requires that the adversary’s tampering of the ciphertext be detected by a high probability. Ciphertext integrity was defined by Bellare et al. [60] for symmetric key encryption systems and it was proved that in symmetric key encryption systems, IND-CPA security together with INT-CTXT security implies IND-CCA security ([60, Theorem 3.2]). In [61], the notion of ciphertext existential unforgeability is proposed and a composition theorem ([61, Theorem 1]) is proved that shows existential unforgeability of the ciphertext together with CPA security of the encryption system, leads to CCA security of the encryption system. In the following we define integrity for KEM in preprocessing model, and prove a composition theorem to obtain CCA security.

Definition 6 (pKEM ciphertext integrity).

A pKEM 𝗉𝗄𝖾𝗆=(𝗉𝗄𝖾𝗆.𝖦𝖾𝗇,𝗉𝗄𝖾𝗆.𝖤𝗇𝖼,𝗉𝗄𝖾𝗆.𝖣𝖾𝖼)\mathsf{pkem}=(\mathsf{pkem.Gen},\mathsf{pkem.Enc},\mathsf{pkem.Dec}) with security parameter λ\lambda, initial joint distribution P𝐗𝐘𝐙P_{\mathbf{X}\mathbf{Y}\mathbf{Z}}, and the key space 𝖪𝖾𝗒𝖲𝖯(λ)={0,1}𝗉𝗄𝖾𝗆.𝖫𝖾𝗇(λ)\mathsf{KeySP}(\lambda)=\{0,1\}^{\mathsf{pkem.Len}(\lambda)} provides ciphertext integrity (INT-CTXT), if for all initial correlated samples (rA,rB,rE)\big{(}r_{A},r_{B},r_{E}\big{)} (generated by 𝗉𝗄𝖾𝗆.𝖦𝖾𝗇(1λ,P𝐗𝐘𝐙)\mathsf{pkem.Gen}(1^{\lambda},P_{\mathbf{X}\mathbf{Y}\mathbf{Z}})), and all adversaries 𝖠\mathsf{A} with access to the encapsulation and decapsulation queries, the key integrity advantage defined as Adv𝗉𝗄𝖾𝗆,𝖠kint(λ)Pr[KINT𝗉𝗄𝖾𝗆,𝖠=1]Adv^{kint}_{\mathsf{pkem},\mathsf{A}}(\lambda)\triangleq\mathrm{Pr}[\mathrm{KINT}_{\mathsf{pkem},\mathsf{A}}=1] is upper bounded by δ(λ)\delta(\lambda), a small function of λ\lambda, where the integrity game KINT𝗉𝗄𝖾𝗆,𝖠\mathrm{KINT}_{\mathsf{pkem},\mathsf{A}} is given in Figure. 4.

Game KINT𝗉𝗄𝖾𝗆,𝖠(λ)\mathrm{KINT}_{\mathsf{pkem},\mathsf{A}}(\lambda)

1:(rA,rB,rE)$𝗉𝗄𝖾𝗆.𝖦𝖾𝗇(1λ,P𝐗𝐘𝐙)(r_{A},r_{B},r_{E})\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{pkem.Gen}(1^{\lambda},{P_{\mathbf{X}\mathbf{Y}\mathbf{Z}}})
2:c^$𝖠𝗉𝗄𝖾𝗆.𝖤𝗇𝖼(rA,),𝗉𝗄𝖾𝗆.𝖣𝖾𝖼(rB,)(rE)\hat{c}\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{A}^{\mathsf{pkem.Enc}(r_{A},\cdot),\mathsf{pkem.Dec}(r_{B},\cdot)}(r_{E})
3:If 𝗉𝗄𝖾𝗆.𝖣𝖾𝖼(rB,c^)\mathsf{pkem.Dec}(r_{B},\hat{c})\neq\perp: Return 1
Figure 4: The integrity game of pKEM. Computationally bounded adversaries can make any-poly encapsulation and decapsulation queries. Unbounded adversaries can make fixed-poly qeq_{e} encapsulation and qdq_{d} decapsulation queries. c^\hat{c} cannot be a queries output of 𝗉𝗄𝖾𝗆.𝖤𝗇𝖼(rA,)\mathsf{pkem.Enc}(r_{A},\cdot).

We define INT-(qe;qd)(q_{e};q_{d})-CTXT for an adversary with qe0q_{e}\geq 0 encapsulation and qd>0q_{d}>0 decapsulation queries, where the number of allowed queries depends on the adversary being computationally bounded or unbounded.

The following theorem shows that a pKEM that is IND-CEA and INT-CTXT secure is IND-CCA secure.

Theorem 1.

Let 𝗉𝗄𝖾𝗆=(𝗉𝗄𝖾𝗆.𝖦𝖾𝗇,𝗉𝗄𝖾𝗆.𝖤𝗇𝖼,𝗉𝗄𝖾𝗆.𝖣𝖾𝖼)\mathsf{pkem}=(\mathsf{pkem.Gen},\mathsf{pkem.Enc},\mathsf{pkem.Dec}) be a pKEM with security parameter λ\lambda and the input distribution P𝐗𝐘𝐙P_{\mathbf{X}\mathbf{Y}\mathbf{Z}}. For an adversary 𝖣=(𝖣1,𝖣2)\mathsf{D}=(\mathsf{D}_{1},\mathsf{D}_{2}) in the CCA key distinguishing game pKIND𝗉𝗄𝖾𝗆,𝖣cca-b(λ)\mathrm{pKIND}_{\mathsf{pkem},\mathsf{D}}^{cca\text{-}b}(\lambda), there are adversaries 𝖠\mathsf{A} and 𝖡\mathsf{B} for KINT𝗉𝗄𝖾𝗆,𝖠(λ)\mathrm{KINT}_{\mathsf{pkem},\mathsf{A}}(\lambda) and the CEA key distinguishing game pKIND𝗉𝗄𝖾𝗆,𝖡cea-b(λ)\mathrm{pKIND}_{\mathsf{pkem},\mathsf{B}}^{cea\text{-}b}(\lambda), respectively that satisfy the following:

Adv𝗉𝗄𝖾𝗆,𝖣pkind-cca(λ)2qdAdv𝗉𝗄𝖾𝗆,𝖠kint(λ)+Adv𝗉𝗄𝖾𝗆,𝖡pkind-cea(λ).Adv^{pkind\text{-}cca}_{\mathsf{pkem},\mathsf{D}}(\lambda)\leq 2q_{d}Adv^{kint}_{\mathsf{pkem},\mathsf{A}}(\lambda)+Adv^{pkind\text{-}cea}_{\mathsf{pkem},\mathsf{B}}(\lambda).

If 𝖣\mathsf{D} makes qeq_{e} encapsulation and qdq_{d} decapsulation queries, 𝖠\mathsf{A} makes qe1q_{e}-1 encapsulation and qdq_{d} decapsulation queries to its decapsulation oracles, and 𝖡\mathsf{B} makes qeq_{e} queries to its encapsulation oracle, we have the following.

  1. 1.

    For computationally bounded adversaries

    INT-CTXT cKEM +IND-CEA cKEMIND-CCA cKEM.\mbox{INT-CTXT cKEM }+\mbox{IND-CEA cKEM}\rightarrow\mbox{IND-CCA cKEM}.
  2. 2.

    For computationally unbounded adversaries,

    INT-(qe;qd)-CTXT iKEM+IND-qe-CEA iKEMIND-(qe′′;qd)-CCA iKEM,\displaystyle\mbox{INT-$(q^{\prime}_{e};q_{d})$-CTXT iKEM}+\mbox{IND-$q_{e}$-CEA iKEM}\rightarrow\mbox{IND-$(q^{\prime\prime}_{e};q_{d})$-CCA iKEM},

    where qe′′=min(qe;qe1)q^{\prime\prime}_{e}=min(q_{e};q^{\prime}_{e}-1).

Proof sketch. For the proof of the first part, we use a sequence of two games G𝗉𝗄𝖾𝗆,𝖣0-b\mathrm{G}^{0\text{-}b}_{\mathsf{pkem},\mathsf{D}} and G𝗉𝗄𝖾𝗆,𝖣1-b\mathrm{G}^{1\text{-}b}_{\mathsf{pkem},\mathsf{D}} played by the distinguisher 𝖣\mathsf{D}, where bb is uniformly chosen from {0,1}\{0,1\}. The first game G𝗉𝗄𝖾𝗆,𝖣0-b\mathrm{G}^{0\text{-}b}_{\mathsf{pkem},\mathsf{D}} is the CCA distinguishing game (pKIND𝗉𝗄𝖾𝗆,𝖣cca-b(λ)\mathrm{pKIND}_{\mathsf{pkem},\mathsf{D}}^{cca\text{-}b}(\lambda) in Figure 3). The second game, G𝗉𝗄𝖾𝗆,𝖣1-b\mathrm{G}^{1\text{-}b}_{\mathsf{pkem},\mathsf{D}}, is the same as G𝗉𝗄𝖾𝗆,𝖣0-b\mathrm{G}^{0\text{-}b}_{\mathsf{pkem},\mathsf{D}} except for its decapsulation oracle that always outputs \perp, an empty string. We bound the CCA advantage of the adversary by bounding the advantage of these games. The proof of the second part uses the same sequence of games, but is against a computationally unbounded adversary. See the complete proof in Appendix A.

IV-A Hybrid encryption in Preprocessing Model

We define hybrid encryption (HE) and KEM/DEM paradigm for preprocessing model, where during the offline phase, Alice, Bob and possibly Eve, receive correlated private inputs, and during the online phase, pKEM generates the key that will be used by DEM.

Definition 7 (Hybrid encryption in preprocessing model).

For a security parameter λ\lambda, let
𝗉𝗄𝖾𝗆=(𝗉𝗄𝖾𝗆.𝖦𝖾𝗇,𝗉𝗄𝖾𝗆.𝖤𝗇𝖼;𝗉𝗄𝖾𝗆.𝖣𝖾𝖼)\mathsf{pkem}=(\mathsf{pkem.Gen},\mathsf{pkem.Enc};\mathsf{pkem.Dec}) be a pKEM and 𝖲𝖤=(𝖲𝖤.𝖤𝗇𝖼,𝖲𝖤.𝖣𝖾𝖼)\mathsf{SE}=(\mathsf{SE.Enc},\mathsf{SE.Dec}) be a DEM with the same key space {0,1}(λ)\{0,1\}^{\ell(\lambda)}, for each λ\lambda. A hybrid encryption in preprocessing model denoted by 𝖧𝖤𝗉𝗄𝖾𝗆,𝖲𝖤=(𝖧𝖤.𝖦𝖾𝗇,𝖧𝖤.𝖤𝗇𝖼,𝖧𝖤.𝖣𝖾𝖼)\mathsf{HE}_{\mathsf{pkem},\mathsf{SE}}=(\mathsf{HE.Gen},\mathsf{HE.Enc},\mathsf{HE.Dec}) is defined as given in Figure 5.

𝐀𝐥𝐠𝖧𝖤.𝖦𝖾𝗇(1λ,P𝐗𝐘𝐙)\mathbf{Alg}\ \mathsf{HE.Gen}(1^{\lambda},P_{\mathbf{X}\mathbf{Y}\mathbf{Z}})
(rA,rB,rE)$𝗉𝗄𝖾𝗆.𝖦𝖾𝗇(1λ,P𝐗𝐘𝐙)(r_{A},r_{B},r_{E})\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{pkem.Gen}(1^{\lambda},P_{\mathbf{X}\mathbf{Y}\mathbf{Z}})
Return (rA,rB,rE)(r_{A},r_{B},r_{E})
𝐀𝐥𝐠𝖧𝖤.𝖤𝗇𝖼(rA,m)\mathbf{Alg}\ \mathsf{HE.Enc}(r_{A},m) 𝐀𝐥𝐠𝖧𝖤.𝖣𝖾𝖼(rB,c1,c2)\mathbf{Alg}\ \mathsf{HE.Dec}(r_{B},c_{1},c_{2})
(c1,k)$𝗉𝗄𝖾𝗆.𝖤𝗇𝖼(rA)(c_{1},k)\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{pkem.Enc}(r_{A}) If 𝗉𝗄𝖾𝗆.𝖣𝖾𝖼(rB,c1)\perp\leftarrow\mathsf{pkem.Dec}(r_{B},c_{1}):
c2𝖲𝖤.𝖤𝗇𝖼(k,m)c_{2}\leftarrow\mathsf{SE.Enc}(k,m)      Return \perp
Return (c1,c2)(c_{1},c_{2}) Else: m𝖲𝖤.𝖣𝖾𝖼(c2,k)m\leftarrow\mathsf{SE.Dec}(c_{2},k)
     Return mm
Figure 5: Hybrid encryption 𝖧𝖤𝗉𝗄𝖾𝗆,𝖲𝖤\mathsf{HE}_{\mathsf{pkem},\mathsf{SE}} in preprocessing model

Security of hybrid encryption in preprocessing model. 𝖧𝖤𝗉𝗄𝖾𝗆,𝖲𝖤\mathsf{HE}_{\mathsf{pkem},\mathsf{SE}} is a private input encryption system, where Alice and Bob’s private inputs are not the same but are correlated. We use indistinguishability security and consider three security notions depending on the attacker’s access to the encryption and decryption oracles (during the online phase): i) no oracle access (IND-OT), ii) access to encryption queries (IND-CPA), and iii) access to encryption and decryption queries, where access in the latter two cases will be before and after receiving the challenge ciphertext (IND-CCA). The number of queries for computationally bounded adversaries is polynomial in λ\lambda, and for unbounded adversary is a predetermined polynomial in λ\lambda. The security notions in the latter case for qeq_{e} encryption queries, and for qeq_{e} encryption and qdq_{d} decryption queries are denoted by IND-qeq_{e}-CEA and IND-(qe;qd)(q_{e};q_{d})-CCA, respectively. The security games are similar to the security games in symmetric key encryption schemes: the adversary (after making queries according to the game type) generates two equal length (in bits) messages m0m_{0} and m1m_{1}, and for a random b{0,1}b\in\{0,1\}, receives c=𝖧𝖤𝗉𝗄𝖾𝗆,𝖲𝖤(mb)c^{*}=\mathsf{HE}_{\mathsf{pkem},\mathsf{SE}}(m_{b}). It then (after making enough queries) outputs a bit b^{0,1}\hat{b}\in\{0,1\}. The indistinguishability advantage for a computationally bounded adversary 𝖣\mathsf{D} and atk{ot,cpa,cca}atk\in\{ot,cpa,cca\}, and computationally unbounded adversary 𝖣\mathsf{D}^{\prime} and atk{ot,qe-cpa,(qe;qd)-cca}atk\in\{ot,q_{e}\text{-}cpa,(q_{e};q_{d})\text{-}cca\}, are Adv𝖧𝖤𝗉𝗄𝖾𝗆,𝖲𝖤,xind-atk(λ)|Pr[b^=1|b=0]Pr[b^=1|b=1]|Adv^{ind\text{-}atk}_{\mathsf{HE}_{\mathsf{pkem},\mathsf{SE}},x}(\lambda)\triangleq|\mathrm{Pr}[\hat{b}=1|b=0]-\mathrm{Pr}[\hat{b}=1|b=1]|, where x{𝖣,𝖣}x\in\{\mathsf{D},\mathsf{D}^{\prime}\}, 𝗉𝗄𝖾𝗆=𝖼𝗄𝖾𝗆\mathsf{pkem}=\mathsf{ckem} when x=𝖣x=\mathsf{D} and 𝗉𝗄𝖾𝗆=𝗂𝗄𝖾𝗆\mathsf{pkem}=\mathsf{ikem} when x=𝖣x=\mathsf{D}^{\prime}. The advantage is bounded by σ(λ)\sigma(\lambda), where σ()NEGL\sigma(\cdot)\in NEGL for adversary 𝖣\mathsf{D} and σ()SMALL\sigma(\cdot)\in SMALL for adversary 𝖣\mathsf{D}^{\prime}.

The following theorem is the counterpart for Theorem 7.27.2 in [1] in preprocessing model. Theorem 7.2 in [1] considers only public key KEM. We prove the following theorem for both computational and information-theoretic KEMs (cKEM and iKEM, respectively). The theorem is proved for two types of query accesses for the adversary. One can consider similar types of results for other KEMs as defined in [2].

Theorem 2 (Hybrid encryption composition theorem).

For a security parameter λ\lambda\in\mathbb{N}, let,

𝖼𝗄𝖾𝗆=(𝖼𝗄𝖾𝗆.𝖦𝖾𝗇,𝖼𝗄𝖾𝗆.𝖤𝗇𝖼,𝖼𝗄𝖾𝗆.𝖣𝖾𝖼)\mathsf{ckem}=(\mathsf{ckem.Gen},\mathsf{ckem.Enc},\mathsf{ckem.Dec}) be an ϵ(λ)\epsilon(\lambda)-correct cKEM in preprocessing model, and

𝗂𝗄𝖾𝗆=(𝗂𝗄𝖾𝗆.𝖦𝖾𝗇,𝗂𝗄𝖾𝗆.𝖤𝗇𝖼,𝗂𝗄𝖾𝗆.𝖣𝖾𝖼)\mathsf{ikem}=(\mathsf{ikem.Gen},\mathsf{ikem.Enc},\mathsf{ikem.Dec}) be an ϵ(λ)\epsilon(\lambda)-correct iKEM in preprocessing model,

and let 𝖲𝖤\mathsf{SE} denote a one-time symmetric key encryption scheme with security parameter λ\lambda that is compatible with the corresponding 𝖼𝗄𝖾𝗆\mathsf{ckem} or 𝗂𝗄𝖾𝗆\mathsf{ikem}. Then,

1)σ(λ)-IND-CEA𝖼𝗄𝖾𝗆+σ(λ)-IND-OT𝖲𝖤(2σ(λ)+σ(λ))-IND-CPA𝖧𝖤𝖼𝗄𝖾𝗆,𝖲𝖤\displaystyle 1)\quad\sigma(\lambda)\mbox{-IND-CEA}~{}\mathsf{ckem}+\sigma^{\prime}(\lambda)\mbox{-IND-OT}~{}\mathsf{SE}\rightarrow(2\sigma(\lambda)+\sigma^{\prime}(\lambda))\mbox{-IND-CPA}~{}\mathsf{HE}_{\mathsf{ckem},\mathsf{SE}}
2)σ(λ)-IND-CCA𝖼𝗄𝖾𝗆+σ(λ)-IND-OT𝖲𝖤(2ϵ(λ)+2σ(λ)+σ(λ))-IND-CCA𝖧𝖤𝖼𝗄𝖾𝗆,𝖲𝖤\displaystyle 2)\quad\sigma(\lambda)\mbox{-IND-CCA}~{}\mathsf{ckem}+\sigma^{\prime}(\lambda)\mbox{-IND-OT}~{}\mathsf{SE}\rightarrow(2\epsilon(\lambda)+2\sigma(\lambda)+\sigma^{\prime}(\lambda))\mbox{-IND-CCA}~{}\mathsf{HE}_{\mathsf{ckem},\mathsf{SE}}
3)σ(λ)-IND-qe-CEA 𝗂𝗄𝖾𝗆+σ(λ)-IND-OT 𝖲𝖤(2σ(λ)+σ(λ))-IND-qe-CPA 𝖧𝖤𝗂𝗄𝖾𝗆,𝖲𝖤\displaystyle 3)\quad\sigma(\lambda)\mbox{-IND-}q_{e}\mbox{-CEA }\mathsf{ikem}+\sigma^{\prime}(\lambda)\mbox{-IND-OT }\mathsf{SE}\rightarrow(2\sigma(\lambda)+\sigma^{\prime}(\lambda))\mbox{-IND-}q_{e}\mbox{-CPA }\mathsf{HE}_{\mathsf{ikem},\mathsf{SE}}
4)σ(λ)-IND-(qe;qd)-CCA 𝗂𝗄𝖾𝗆+σ(λ)-IND-OTCCA 𝖲𝖤(2ϵ(λ)+2σ(λ)+σ(λ))-IND-(qe;qd)-CCA 𝖧𝖤𝗂𝗄𝖾𝗆,𝖲𝖤\displaystyle 4)\quad\sigma(\lambda)\mbox{-IND-}(q_{e};q_{d})\mbox{-CCA }\mathsf{ikem}+\sigma^{\prime}(\lambda)\mbox{-IND-OTCCA }\mathsf{SE}\rightarrow(2\epsilon(\lambda)+2\sigma(\lambda)+\sigma^{\prime}(\lambda))\mbox{-IND-}(q_{e};q_{d})\mbox{-CCA }\mathsf{HE}_{\mathsf{ikem},\mathsf{SE}}

Security of the hybrid encryption scheme in all above cases is with respect to a computationally bounded adversary.

Proof Sketch. We prove the theorem for the first two cases; the proofs of the last two cases will be similar. We use a sequence of three games G𝖣0-b\mathrm{G}^{0\text{-}b}_{\mathsf{D}}, G𝖣1-b\mathrm{G}^{1\text{-}b}_{\mathsf{D}}, and G𝖣2-b\mathrm{G}^{2\text{-}b}_{\mathsf{D}}, all played by a computationally bounded adversary (distinguisher) 𝖣\mathsf{D}. G𝖣0-b\mathrm{G}^{0\text{-}b}_{\mathsf{D}} is identical to the distinguishing game of the hybrid encryption in preprocessing model. G𝖣1-b\mathrm{G}^{1\text{-}b}_{\mathsf{D}} differs from G𝖣0-b\mathrm{G}^{0\text{-}b}_{\mathsf{D}} in its decapsulation oracle response. For the challenge HE ciphertext c=(c1,c2)c^{*}=(c_{1}^{*},c_{2}^{*}), where c1c_{1}^{*} is the ciphertext output of 𝖼𝗄𝖾𝗆.𝖤𝗇𝖼\mathsf{ckem.Enc} and c2c_{2}^{*} is generated by 𝖲𝖤.𝖤𝗇𝖼\mathsf{SE.Enc}, the response will be as follows. If the decryption query c=(c1,c2)(c1,c2)c=(c_{1},c_{2})\neq(c_{1}^{*},c_{2}^{*}) and c1=c1c_{1}=c_{1}^{*} (and c2c2c_{2}\neq c_{2}^{*}), the response will be the key k1k_{1}^{*} that was generated by the encapsulation oracle (corresponding to c1c_{1}^{*}); otherwise the decryption oracle of G𝖣1-b\mathrm{G}^{1\text{-}b}_{\mathsf{D}} uses 𝖼𝗄𝖾𝗆.𝖣𝖾𝖼\mathsf{ckem.Dec} to decrypt cc. Finally, G𝖣2-b\mathrm{G}^{2\text{-}b}_{\mathsf{D}} differs from G𝖣1-b\mathrm{G}^{1\text{-}b}_{\mathsf{D}} in using a uniformly sampled key instead of the key generated by the cKEM. The differences between the success probabilities of the first two, and the last two games are bounded by the failure probability of encapsulation, and the indistinguishability advantage of the of the 𝖲𝖤\mathsf{SE}. The complete proof is given in Appendix B.\ \ \qed

Note that in cases (3) and (4) of the theorem above, the iKEM is secure against a computationally unbounded adversary. Therefore, as long as the symmetric encryption scheme is quantum safe, the resulting hybrid encryption scheme will be quantum-resistant.

V Instantiating iKEM

In this section, we construct two iKEMs in correlated random model and prove their security properties. In the first construction (Construction 1) the adversary can only query the encapsulation oracle. In the second construction (Construction 2) however, the adversary can query both the encapsulation and decapsulation oracles.

For both constructions we consider the probabilistic experiment that underlies the generation of correlated triplet to be nn times independent repetition of a probabilistic experiment, and so 𝐗=(X1,,Xn)\mathbf{X}=(X_{1},\cdots,X_{n}), 𝐘=(Y1,,Yn)\mathbf{Y}=(Y_{1},\cdots,Y_{n}) and 𝐙=(Z1,,Zn)\mathbf{Z}=(Z_{1},\cdots,Z_{n}) respectively, where P𝐗𝐘𝐙(𝐱,𝐲,𝐳)=i=1nPXYZ(xi,yi,zi)P_{\mathbf{X}\mathbf{Y}\mathbf{Z}}(\mathbf{x},\mathbf{y},\mathbf{z})=\prod_{i=1}^{n}P_{XYZ}(x_{i},y_{i},z_{i}), where 𝐱=(x1,,xn)\mathbf{x}=(x_{1},\cdots,x_{n}), 𝐲=(y1,,yn)\mathbf{y}=(y_{1},\cdots,y_{n}) and 𝐳=(z1,,zn)\mathbf{z}=(z_{1},\cdots,z_{n}). Alice, Bob and Eve privately receive realizations of the random variables 𝐗\mathbf{X}, 𝐘\mathbf{Y} and 𝐙\mathbf{Z} , respectively.

This setting is considered in commonly used source model  [13, 27].

V-A A CEA secure construction

An IND-qeq_{e}-CEA secure iKEM allows adversary to query tha encapsulation oracle, and can be used to construct an IND-qeq_{e}-CPA secure hybrid encryption where the adversary has access to encryption queries. The construction slightly modifies the IND-qeq_{e}-CEA secure iKEM construction in [32] to increase the length of the extracted key, without compromising its security.

Construction 1 (CEA secure iKEM.).

We define an iKEM 𝗂𝗄𝖾𝗆cea=(𝗂𝗄𝖾𝗆.𝖦𝖾𝗇,𝗂𝗄𝖾𝗆.𝖤𝗇𝖼,𝗂𝗄𝖾𝗆.𝖣𝖾𝖼)\mathsf{ikem}_{cea}=(\mathsf{ikem.Gen},\mathsf{ikem.Enc},\mathsf{ikem.Dec}), as follows:

Let P𝐗𝐘𝐙=i=1nPXiYiZiP_{\mathbf{X}\mathbf{Y}\mathbf{Z}}=\prod_{i=1}^{n}P_{X_{i}Y_{i}Z_{i}} be the public joint distribution as defined above, and PXiYiZi=PXYZP_{X_{i}Y_{i}Z_{i}}=P_{XYZ} for all i{1,,n}i\in\{1,\cdots,n\}.

Let h:𝒳n×𝒮{0,1}th:\mathcal{X}^{n}\times\mathcal{S}\rightarrow\{0,1\}^{t} and h:𝒳n×𝒮{0,1}h^{\prime}:\mathcal{X}^{n}\times\mathcal{S^{\prime}}\rightarrow\{0,1\}^{\ell} be two universal hash families. Let the ciphertext and key space be defined as 𝒞={0,1}t×S\mathcal{C}=\{0,1\}^{t}\times S^{\prime} and 𝒦={0,1}\mathcal{K}=\{0,1\}^{\ell}, respectively. The iKEM 𝗂𝗄𝖾𝗆cea\mathsf{ikem}_{cea}’s three algorithms (𝗂𝗄𝖾𝗆.𝖦𝖾𝗇,𝗂𝗄𝖾𝗆.𝖤𝗇𝖼,𝗂𝗄𝖾𝗆.𝖣𝖾𝖼)(\mathsf{ikem.Gen},\mathsf{ikem.Enc},\mathsf{ikem.Dec}) are described in Algorithm 1, Algorithm 2 and Algorithm 3 respectively. The parameters tt and \ell depend on the security parameter λ\lambda and their relationship with other system parameters is given in section V-B.

In 𝗂𝗄𝖾𝗆.𝖣𝖾𝖼\mathsf{ikem.Dec} (Algorithm 3), we use a parameter ν\nu to define a set \mathcal{R}. This is a decapsulation algorithm parameter that depends on P𝐗𝐘𝐙P_{\mathbf{X}\mathbf{Y}\mathbf{Z}}, the correlation between the RVs 𝐗\mathbf{X} and 𝐘\mathbf{Y}, and is chosen using the required correctness (and security) of the derived key. Higher correlation between the RVs 𝐗\mathbf{X} and 𝐘\mathbf{Y} leads to smaller ν\nu for the same correctness level. The details of parameter derivation for ν\nu and tt are in [19] and are also repeated in the proof of Theorem 4 which uses the same reconciliation algorithm to obtain 𝐱\mathbf{x} from 𝐲\mathbf{y}. Theorem 3 derives that the length of the extracted key gives is upper bounded or \ell, the extracted key length by constructing a protocol, improving the results in [19].

Note that 𝗂𝗄𝖾𝗆.𝖦𝖾𝗇(P𝐗𝐘𝐙)\mathsf{ikem.Gen}(P_{\mathbf{X}\mathbf{Y}\mathbf{Z}}), in addition to the random samples, generates a random seed ss of appropriate size that is distributed to the parties over public authenticated channels.

 
Input : A public distribution P𝐗𝐘𝐙P_{\mathbf{X}\mathbf{Y}\mathbf{Z}}
Output : (𝐱,𝐲,𝐳)(\mathbf{x},\mathbf{y},\mathbf{z}), the seed ss (public)
1: Samples (𝐱,𝐲,𝐳)$P𝐗𝐘𝐙(\mathbf{x},\mathbf{y},\mathbf{z})\xleftarrow{\$}P_{\mathbf{X}\mathbf{Y}\mathbf{Z}} and
send privately to Alice, Bob and Eve, respectively.
2: Sample and publish s$𝒮s\xleftarrow{\$}\mathcal{S} for h()h(\cdot).
Algorithm 1 𝗂𝗄𝖾𝗆.𝖦𝖾𝗇(P𝐗𝐘𝐙)\mathsf{ikem.Gen}(P_{\mathbf{X}\mathbf{Y}\mathbf{Z}})
 
Input : 𝐱\mathbf{x} and the seed ss (output of 𝗂𝗄𝖾𝗆.𝖦𝖾𝗇\mathsf{ikem.Gen})
Output :  The final key = kk, ciphertext = cc
1: Sample s$𝒮s^{\prime}\xleftarrow{\$}\mathcal{S^{\prime}} for h()h^{\prime}(\cdot)
2: kk = h(𝐱,s)h^{\prime}(\mathbf{x},s^{\prime})
3: cc = (h(𝐱,s),s)(h(\mathbf{x},s),s^{\prime})
4: Output = (k,c)(k,c)
Algorithm 2 𝗂𝗄𝖾𝗆.𝖤𝗇𝖼(𝐱)\mathsf{ikem.Enc}(\mathbf{x})
 
Input : 𝐲\mathbf{y}, ciphertext cc and the seed ss (output of 𝗂𝗄𝖾𝗆.𝖦𝖾𝗇\mathsf{ikem.Gen})
Output :  The final key kk or \perp
1: Parse cc as (v,s)(v,s^{\prime}), where vv is a tt-bit string
2: Let ={𝐱:log(P𝐗|𝐘(𝐱|𝐲))ν}\mathcal{R}=\{\mathbf{x}:-\log(P_{\mathbf{X}|\mathbf{Y}}(\mathbf{x}|\mathbf{y}))\leq\nu\}
3: For each 𝐱^\hat{\mathbf{x}}\in\mathcal{R}, Bob checks whether v=h(𝐱^,s)v=h(\hat{\mathbf{x}},s)
4: if there is a unique 𝐱^\hat{\mathbf{x}}\in\mathcal{R} such that v=h(𝐱^,s)v=h(\hat{\mathbf{x}},s) then
      Output k=h(𝐱^,s)k=h^{\prime}(\hat{\mathbf{x}},s^{\prime})
     
      else
           Output \perp
          
           end if
Algorithm 3 𝗂𝗄𝖾𝗆.𝖣𝖾𝖼(𝐲,c)\mathsf{ikem.Dec}(\mathbf{y},c)

V-B Security analysis of iKEM construction 1

Theorem 3 provides the relationship among parameters of construction 1.

The protocol is based on the OWSKA in [19]. The parameters ν\nu and tt are derived in  [19, Theorem 2] such that the error probability of the protocol will be upperbounded by the correctness (reliability) parameter ϵ\epsilon. The iKEM construction 1 uses the same reconciliation information in all queries. That is, in the encapsulation ciphertext c=(h(𝐱,s),s)c=(h(\mathbf{x},s),s^{\prime}), the value of h(𝐱,s)h(\mathbf{x},s) that is used by Bob to recover recover 𝐱\mathbf{x} (reconciliation information) will be the same in all queries. Each query however will include a new value of ss^{\prime} and so a new final key. In our construction 1, the randomness ss is generated during the initialization and published (or sent to Bob over a public authenticated channel). The CEA secure iKEM protocol construction in [32] however updates both parts of cc in each query, which results in higher information leakage from 𝐱\mathbf{x} and shorter length for the final key. In appendix I we have reproduced the protocol in  [32] for ease of reference.

The following lemma for conditional min-entropy is proved in  [29, Lemma 2], and will be used in Theorem 3.

Lemma 2.

[29] For any X1Z1,,XnZnX_{1}Z_{1},\cdots,X_{n}Z_{n} independently and identically distributed according to PXZP_{XZ}, it holds that
H~(𝐗|𝐙)=nH~(X|Z)\tilde{H}_{\infty}({\mathbf{X}}|{\mathbf{Z}})=n\tilde{H}_{\infty}(X|Z), where 𝐗=(X1,,Xn){\mathbf{X}}=(X_{1},\cdots,X_{n}) and 𝐙=(Z1,,Zn).{\mathbf{Z}}=(Z_{1},\cdots,Z_{n}).

Theorem 3 (IND-qeq_{e}-CEA).

The iKEM 𝗂𝗄𝖾𝗆cea\mathsf{ikem}_{cea} described in construction 1 establishes a secret key of length

nH~(X|Z)+2log(σ)+2tqe+1\ell\leq\frac{n\tilde{H}_{\infty}(X|Z)+2\log(\sigma)+2-t}{q_{e}+1}

that is 2σ2\sigma-indistinguishable from random by an adversary with access to qeq_{e} encapsulation queries, where qe0q_{e}\geq 0 (i.e. 2σ2\sigma-IND-qeq_{e}-CEA secure).

Proof sketch. The response to an encapsulation query leaks some information about Alice’s private sample 𝐱\mathbf{x} and this reduces the length of the final shared key. The response to the iith encapsulation query is a key and ciphertext pair (Ki,Ci)(K_{i},C_{i}), where Ci=(h(𝐱,s),si)C_{i}=(h(\mathbf{x},s),s^{\prime}_{i}) and h(𝐱,s)h(\mathbf{x},s) is the same in all responses. Here KiK_{i} and CiC_{i} are RVs over {0,1}\{0,1\}^{\ell} and {0,1}t\{0,1\}^{t}, respectively.

After seeing (Ki,Ci)(K_{i},C_{i}), the remaining min-entropy entropy of 𝐱\mathbf{x} using [21, Lemma 2.2(b)], will be lowerbounded by H~(𝐗|𝐙,𝐖icea)=H~(𝐗|𝐙,Ki,Ci)H~(𝐗|𝐙)t\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z},\mathbf{W}^{cea}_{i})=\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z},K_{i},C_{i})\geq\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z})-\ell-t. Since h(𝐱,s)h(\mathbf{x},s) is the same in all responses, after qeq_{e} queries, the min-entropy entropy of 𝐱\mathbf{x} will be H~(𝐗|𝐙)qet\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z})-q_{e}\ell-t which will be used to bound the key distinguishing advantage of the adversary. The complete proof of the theorem is in Appendix E.

Comparison. The construction in [32, Theorem 2] provides a key of length

H~(𝐗|𝐙)+2log(σ)+2qe+1tlog(qeσ)\ell\leq\frac{\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z})+2\log(\sigma)+2}{q_{e}+1}-t-\log(\frac{q_{e}}{\sigma})

that is 2σ2\sigma-indistinguishable from random (2σ2\sigma-IND-qeq_{e}-CEA). Our Construction 1 results in a key of length

nH~(X|Z)+2log(σ)+2tqe+1\ell\leq\frac{n\tilde{H}_{\infty}(X|Z)+2\log(\sigma)+2-t}{q_{e}+1}

that is 2σ2\sigma-indistinguishable from random (2σ2\sigma-IND-qeq_{e}-CEA), improving the result in [32, Theorem 2].

V-C A CCA secure construction

In this section, we modify the IND-qeq_{e}-CEA secure iKEM construction 1 in Section V-A to provide stronger security. More specifically, we extend the construction to an IND-(qe;qd)(q_{e};q_{d})-CCA secure iKEM which provides security against an adversary with access to qeq_{e} encapsulation and qdq_{d} decapsulation oracle queries. Access to decapsulation queries models an adversary who can tamper with the encapsulation ciphertext, and see the result of the decapsulation algorithm on its manufactured fraudulent encapsulation ciphertext.

To provide security against such adversaries we use the notion of ciphertext integrity (INT-CTXT) that requires the iKEM to satisfy definition 6 and guarantee that any tampering with cc will be detected by the decapsulation algorithm, with a high probability.

The iKEM construction 2 provides ciphertext integrity. According to Theorem 1, the IND-qeq_{e}-CEA security and (qe,qd)(q^{\prime}_{e},q_{d})-ciphertext integrity (INT-(qe,qd)(q^{\prime}_{e},q_{d})-CTXT) of iKEM together lead to IND- (qe′′;qd)(q^{\prime\prime}_{e};q_{d})-CCA security, where qe′′=min{qe,qe1}q^{\prime\prime}_{e}=\min\{q_{e},q^{\prime}_{e}-1\}, which is the strongest and widely used notion of security for encryption systems. The construction is based on the construction 1 but modifies its ciphertext, and requires the hash function hh to be a universal hash function with additional properties.

Construction 2 (CCA secure iKEM.).

We define an iKEM, 𝗂𝗄𝖾𝗆cca=(𝗂𝗄𝖾𝗆.𝖦𝖾𝗇,𝗂𝗄𝖾𝗆.𝖤𝗇𝖼,𝗂𝗄𝖾𝗆.𝖣𝖾𝖼)\mathsf{ikem}_{cca}=(\mathsf{ikem.Gen},\mathsf{ikem.Enc},\mathsf{ikem.Dec}), as follows:

Let the joint distribution of the three random variables 𝐗\mathbf{X}, 𝐘\mathbf{Y} and 𝐙\mathbf{Z} be described by the distribution P𝐗𝐘𝐙=i=1nPXiYiZiP_{\mathbf{X}\mathbf{Y}\mathbf{Z}}=\prod_{i=1}^{n}P_{X_{i}Y_{i}Z_{i}} that is obtained as product of nn independent copies of the distribution (X,Y,Z)(X,Y,Z), where 𝐗=(X1,,Xn)\mathbf{X}=(X_{1},\cdots,X_{n}), 𝐘=(Y1,,Yn)\mathbf{Y}=(Y_{1},\cdots,Y_{n}), 𝐙=(Z1,,Zn)\mathbf{Z}=(Z_{1},\cdots,Z_{n}) and PXiYiZi=PXYZP_{X_{i}Y_{i}Z_{i}}=P_{XYZ} for 1in1\leq i\leq n. The joint distribution P𝐗𝐘𝐙P_{\mathbf{X}\mathbf{Y}\mathbf{Z}} is used to generate the correlated random samples of 𝐗,𝐘,𝐙𝒳n\mathbf{X},\mathbf{Y},\mathbf{Z}\in{\mathcal{X}}^{n}.

Let h:𝒳n×𝒮{0,1}h^{\prime}:\mathcal{X}^{n}\times\mathcal{S^{\prime}}\rightarrow\{0,1\}^{\ell} be a universal hash family, and h:𝒳n×(𝒮×𝒮){0,1}th:\mathcal{X}^{n}\times(\mathcal{S^{\prime}}\times\mathcal{S})\rightarrow\{0,1\}^{t} denote a second universal hash family with extra properties as constructed in Section V-E.

Let 𝒞={0,1}t×𝒮×𝒮\mathcal{C}=\{0,1\}^{t}\times\mathcal{S^{\prime}}\times\mathcal{S} and 𝒦={0,1}\mathcal{K}=\{0,1\}^{\ell} denote the ciphertext and key domains, respectively.

The 𝗂𝗄𝖾𝗆cca\mathsf{ikem}_{cca} algorithms (𝗂𝗄𝖾𝗆.𝖦𝖾𝗇,𝗂𝗄𝖾𝗆.𝖤𝗇𝖼,𝗂𝗄𝖾𝗆.𝖣𝖾𝖼)(\mathsf{ikem.Gen},\mathsf{ikem.Enc},\mathsf{ikem.Dec}) are, Algorithm 4, Algorithm 5 and Algorithm 6, respectively.

The hash function parameters tt and \ell are functions of the security parameter λ\lambda and together with the other iKEM parameters are derived in Theorem 4 and Theorem 5 in section V-D. The parameter ν\nu is defined and used the same as in Construction 1. Note that the initialization phase is only used to generate and securely distribute the private inputs of participants. The seed ss will be generated independently for each instance of the protocol and will be protected against the adversary’s tampering through the additional properties of hh.

 
Input : Distribution P𝐗𝐘𝐙P_{\mathbf{X}\mathbf{Y}\mathbf{Z}}
Output : (𝐱,𝐲,𝐳)(\mathbf{x},\mathbf{y},\mathbf{z})
1: Samples (𝐱,𝐲,𝐳)$P𝐗𝐘𝐙(\mathbf{x},\mathbf{y},\mathbf{z})\xleftarrow{\$}P_{\mathbf{X}\mathbf{Y}\mathbf{Z}}; and
send privately to Alice, Bob and Eve, respectively.
Algorithm 4 𝗂𝗄𝖾𝗆.𝖦𝖾𝗇(P𝐗𝐘𝐙)\mathsf{ikem.Gen}(P_{\mathbf{X}\mathbf{Y}\mathbf{Z}})
 
Input : 𝐱\mathbf{x}
Output : extracted key = kk, ciphertext = cc
1: Generate seed s$𝒮s^{\prime}\xleftarrow{\$}\mathcal{S^{\prime}} for h()h^{\prime}(\cdot)
2: Generate seed s$𝒮s\xleftarrow{\$}\mathcal{S} for h()h(\cdot)
3: kk = h(𝐱,s)h^{\prime}(\mathbf{x},s^{\prime})
4: cc = (h(𝐱,(s,s)),s,s)(h(\mathbf{x},(s^{\prime},s)),s^{\prime},s)
5: Output = (k,c)(k,c)
Algorithm 5 𝗂𝗄𝖾𝗆.𝖤𝗇𝖼(𝐱)\mathsf{ikem.Enc}(\mathbf{x})
 
Input : 𝐲\mathbf{y} and ciphertext cc
Output : An extracted key kk or \perp
1: Parse cc as (v,s,s)(v,s^{\prime},s), where vv is a tt-bit string
2: ={𝐱:log(P𝐗|𝐘(𝐱|𝐲))ν}\displaystyle\text{2: }\mathcal{R}=\{\mathbf{x}:-\log(P_{\mathbf{X}|\mathbf{Y}}(\mathbf{x}|\mathbf{y}))\leq\nu\} (4)
3: For each 𝐱^\hat{\mathbf{x}}\in\mathcal{R}, Bob checks whether v=h(𝐱^,(s,s))v=h(\hat{\mathbf{x}},(s^{\prime},s))
4: if there is a unique 𝐱^\hat{\mathbf{x}}\in\mathcal{R} such that v=h(𝐱^,(s,s))v=h(\hat{\mathbf{x}},(s^{\prime},s)) then
      Output k=h(𝐱^,s)k=h^{\prime}(\hat{\mathbf{x}},s^{\prime})
     
      else
           Output \perp
          
           end if
Algorithm 6 𝗂𝗄𝖾𝗆.𝖣𝖾𝖼(𝐲,c)\mathsf{ikem.Dec}(\mathbf{y},c)

V-C1 Relation with CEA secure iKEM

To provide CCA security in Construction 2, we modify Construction 1 and use the seeds of both hash functions as input to hh, which is randomly selected from a function family that in addition to being a universal hash function family, can be interpreted as an information theoretic MAC with partially leaked secret key 𝐱\mathbf{x}, that detects tampering with the seeds ss^{\prime} and seed ss. More specifically, h(𝐱,(s,s))h(\mathbf{x},(s^{\prime},s)) is a universal hash function family with seed (s,s)(s^{\prime},s) that is evaluated on the input 𝐱\mathbf{x}, and a MAC with key 𝐱\mathbf{x} that is evaluated on the message (s,s)(s^{\prime},s). The construction of hh is given in Section V-E, and proof of CCA security of iKEM is given in Section V-E.

V-D Security analysis of iKEM construction 2

We prove security properties of the construction using two main theorems. The proofs also determine parameters that must be used to guarantee the required levels of correctness and security. Theorem 4 proves reliability and IND-qeq_{e}-CEA security of the iKEM. Theorem 5 proves ciphertext integrity of the construction, and together with Theorem 4 proves IND-(0,qd)(0,q_{d})-CCA security of the construction.

Theorem 4 (reliability and IND-qeq_{e}-CEA).

Let ν\nu and tt satisfy,

ν\displaystyle\nu =\displaystyle= nH(X|Y)+nlog(|𝒳|+3)log(n(n1)ϵ),\displaystyle nH(X|Y)+\sqrt{n}\log(|\mathcal{X}|+3)\sqrt{\log(\frac{\sqrt{n}}{(\sqrt{n}-1)\epsilon})},
t\displaystyle t \displaystyle\geq nH(X|Y)+nlog(|𝒳|+3)log(n(n1)ϵ)+log(nϵ).\displaystyle nH(X|Y)+\sqrt{n}\log(|\mathcal{X}|+3)\sqrt{\log(\frac{\sqrt{n}}{(\sqrt{n}-1)\epsilon})}+\log(\frac{\sqrt{n}}{\epsilon}).

Then the iKEM 𝗂𝗄𝖾𝗆cca\mathsf{ikem}_{cca} in construction 2 establishes a secret key of length nH~(X|Z)+2log(σ)+2qe+1t\ell\leq\frac{n\tilde{H}_{\infty}(X|Z)+2\log(\sigma)+2}{q_{e}+1}-t that is ϵ\epsilon-correct and 2σ2\sigma-indistinguishable from random by an adversary with access to qeq_{e} encapsulation queries, where qe0q_{e}\geq 0 (i.e. 2σ2\sigma-IND-qeq_{e}-CEA secure).

Proof sketch.

Correctness (reliability). We first determine the values of ν\nu and tt that guarantee correctness (reliability) for the given ϵ\epsilon, and then prove security. Decapsulation algorithm 𝗂𝗄𝖾𝗆.𝖣𝖾𝖼()\mathsf{ikem.Dec}(\cdot) searches the set \mathcal{R} that is defined by P𝐗|𝐘P_{\mathbf{X}|\mathbf{Y}} and ν\nu, to find a unique value 𝐱^\hat{\mathbf{x}} that satisfies h(𝐱^,(s,s))=vh(\hat{\mathbf{x}},(s^{\prime},s))=v were vv is the received hash value. The algorithm fails if at least one of the following events occurs:

1={𝐱:𝐱}={𝐱:log(P𝐗|𝐘(𝐱|𝐲))>ν} and\displaystyle\mathcal{E}_{1}=\{\mathbf{x}:\mathbf{x}\notin\mathcal{R}\}=\{\mathbf{x}:-\log(P_{\mathbf{X}|\mathbf{Y}}(\mathbf{x}|\mathbf{y}))>\nu\}\text{ and }
2={𝐱: 𝐱^ s.t. h(𝐱,(s,s))=h(𝐱^,(s,s)}.\displaystyle\mathcal{E}_{2}=\{\mathbf{x}\in\mathcal{R}:\exists\text{ }\hat{\mathbf{x}}\in\mathcal{R}\text{ s.t. }h(\mathbf{x},(s^{\prime},s))=h(\hat{\mathbf{x}},(s^{\prime},s)\}.

We use [62, Theorem 2] and the property of universal hash function hh to bound these two probabilities and prove that with appropriate choice of parameters, the sum of these two probabilities is bounded by ϵ\epsilon.

Security: Key indistinguishability. The response to and encapsulation query, (Ki,Ci)(K_{i},C_{i}), leaks information about the secret key 𝐱\mathbf{x}. We use [21, Lemma 2.2(b)] to estimate the remaining min-entropy entropy of 𝐱\mathbf{x} as,

H~(𝐗|𝐙,𝐖icea)=H~(𝐗|𝐙,Ki,Ci)H~(𝐗|𝐙)t,\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z},\mathbf{W}^{cea}_{i})=\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z},K_{i},C_{i})\geq\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z})-\ell-t,

where KiK_{i} and CiC_{i} are RVs over {0,1}\{0,1\}^{\ell} and {0,1}t\{0,1\}^{t} respectively. By bounding the total leakage of qeq_{e} queries, we bound the key distinguishing advantage of the adversary.

The complete proof of the theorem is in Appendix F.

V-E Ciphertext integrity of construction 2

To achieve ciphertext integrity, we use the construction of a universal hash function h:𝒳n×(𝒮×𝒮){0,1}th:\mathcal{X}^{n}\times(\mathcal{S^{\prime}}\times\mathcal{S})\to\{0,1\}^{t} described below.

Construction of hh. For a vector of nn components denoted by 𝐱\mathbf{x}, let 𝐱1=[𝐱]1t\mathbf{x}_{1}=[\mathbf{x}]_{1\cdots t} and 𝐱2=[𝐱]t+1n\mathbf{x}_{2}=[\mathbf{x}]_{t+1\cdots n}, where 𝐱=𝐱2𝐱1\mathbf{x}=\mathbf{x}_{2}\parallel\mathbf{x}_{1} and tn/2t\leq n/2.

We define a universal hash family with seed space (𝒮×𝒮)(\mathcal{S^{\prime}}\times\mathcal{S}) and input space 𝒳n{\mathcal{X}}^{n}, where 𝒮=GF(2nt)×GF(2t)\mathcal{S}=GF(2^{n-t})\times GF(2^{t}), 𝒮=GF(2w)\mathcal{S^{\prime}}=GF(2^{w}), for some suitable ww\in\mathbb{N}, and 𝒳n=GF(2n)\mathcal{X}^{n}=GF(2^{n}). Let s𝒮s^{\prime}\in\mathcal{S^{\prime}}. We write ss^{\prime} as a vector of elements (s1,,sr)(s^{\prime}_{1},\cdots,s^{\prime}_{r}) where each element is from GF(2nt)GF(2^{n-t}), where rr is an even number satisfying:
(r2)(nt)<wr(nt)(r-2)(n-t)<w\leq r(n-t). (We use padding with 1’s for srs^{\prime}_{r} and sr1s^{\prime}_{r-1}, when needed.). Let s=(s2,s1)𝒮s=(s_{2},s_{1})\in\mathcal{S} with s2GF(2nt)s_{2}\in GF(2^{n-t}) and s1GF(2t)s_{1}\in GF(2^{t}).

The hash function h(𝐱,(s,s))h\big{(}\mathbf{x},(s^{\prime},s)\big{)} with seed (s,s)(s^{\prime},s) and input 𝐱𝒳n\mathbf{x}\in{\mathcal{X}}^{n} is given by,

h(𝐱,(s,s))=h(𝐱,(s,s2,s1))\displaystyle h\big{(}\mathbf{x},(s^{\prime},s)\big{)}=h\big{(}\mathbf{x},(s^{\prime},s_{2},s_{1})\big{)} (5)
=[(𝐱2)r+3+i=1rsi(𝐱2)i+1+s2𝐱2]1t+(𝐱1)3+s1𝐱1.\displaystyle\qquad\qquad\quad\hskip 3.00003pt=\big{[}(\mathbf{x}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{i}(\mathbf{x}_{2})^{i+1}+s_{2}\mathbf{x}_{2}\big{]}_{1\cdots t}+(\mathbf{x}_{1})^{3}+s_{1}\mathbf{x}_{1}.
Lemma 3.

hh is a universal hash family.

Proof is in Appendix G.

Proving ciphertext integrity. In Theorem 5, we prove that the construction 2 is an iKEM that satisfies ciphertext integrity as given in Definition 6, for qe=1q_{e}=1 and qdq_{d}. The proof of the theorem relies on Lemmas 4, 5, and 6.

Lemma 4.

Consider a joint distribution P𝐗𝐘P_{\mathbf{X}\mathbf{Y}}, and let AA denote a random variable over a set of size at most 2α2^{\alpha}. Then,

𝔼aAmax𝐱𝐲:P𝐗|𝐘(𝐱|𝐲))2νPr[𝐘=𝐲|A=a]\displaystyle\underset{a\leftarrow A}{\mathbb{E}}\max_{\mathbf{x}}\sum_{\mathbf{y}:P_{\mathbf{X}|\mathbf{Y}}(\mathbf{x}|\mathbf{y}))\geq 2^{-\nu}}\mathrm{Pr}[\mathbf{Y}=\mathbf{y}|A=a]
2αmax𝐱𝐲:P𝐗|𝐘(𝐱|𝐲))2νPr[𝐘=𝐲].\displaystyle\leq 2^{\alpha}\max_{\mathbf{x}}\sum_{\mathbf{y}:P_{\mathbf{X}|\mathbf{Y}}(\mathbf{x}|\mathbf{y}))\geq 2^{-\nu}}\mathrm{Pr}[\mathbf{Y}=\mathbf{y}].
Proof.
𝔼aAmax𝐱𝐲:P𝐗|𝐘(𝐱|𝐲))2νPr[𝐘=𝐲|A=a]\displaystyle\underset{a\leftarrow A}{\mathbb{E}}\max_{\mathbf{x}}\sum_{\mathbf{y}:P_{\mathbf{X}|\mathbf{Y}}(\mathbf{x}|\mathbf{y}))\geq 2^{-\nu}}\mathrm{Pr}[\mathbf{Y}=\mathbf{y}|A=a]
=aPr[A=a]max𝐱𝐲:P𝐗|𝐘(𝐱|𝐲))2νPr[𝐘=𝐲|A=a]\displaystyle=\sum_{a}\mathrm{Pr}[A=a]\max_{\mathbf{x}}\sum_{\mathbf{y}:P_{\mathbf{X}|\mathbf{Y}}(\mathbf{x}|\mathbf{y}))\geq 2^{-\nu}}\mathrm{Pr}[\mathbf{Y}=\mathbf{y}|A=a]
=amax𝐱𝐲:P𝐗|𝐘(𝐱|𝐲))2νPr[𝐘=𝐲|A=a]Pr[A=a]\displaystyle=\sum_{a}\max_{\mathbf{x}}\sum_{\mathbf{y}:P_{\mathbf{X}|\mathbf{Y}}(\mathbf{x}|\mathbf{y}))\geq 2^{-\nu}}\mathrm{Pr}[\mathbf{Y}=\mathbf{y}|A=a]\mathrm{Pr}[A=a]
=amax𝐱𝐲:P𝐗|𝐘(𝐱|𝐲))2νPr[𝐘=𝐲,A=a]\displaystyle=\sum_{a}\max_{\mathbf{x}}\sum_{\mathbf{y}:P_{\mathbf{X}|\mathbf{Y}}(\mathbf{x}|\mathbf{y}))\geq 2^{-\nu}}\mathrm{Pr}[\mathbf{Y}=\mathbf{y},A=a]
amax𝐱𝐲:P𝐗|𝐘(𝐱|𝐲))2νPr[𝐘=𝐲]\displaystyle\leq\sum_{a}\max_{\mathbf{x}}\sum_{\mathbf{y}:P_{\mathbf{X}|\mathbf{Y}}(\mathbf{x}|\mathbf{y}))\geq 2^{-\nu}}\mathrm{Pr}[\mathbf{Y}=\mathbf{y}]
2αmax𝐱𝐲:P𝐗|𝐘(𝐱|𝐲))2νPr[𝐘=𝐲]\displaystyle\leq 2^{\alpha}\max_{\mathbf{x}}\sum_{\mathbf{y}:P_{\mathbf{X}|\mathbf{Y}}(\mathbf{x}|\mathbf{y}))\geq 2^{-\nu}}\mathrm{Pr}[\mathbf{Y}=\mathbf{y}]

Let PSP_{S}  denote the best success probability of the adversary in guessing a key 𝐱f\mathbf{x}_{f} for the encapsulation algorithm 5, such that it is considered valid by the decapsulation algorithm 6. That is, Pr(𝐱f|𝐲)2ν\Pr(\mathbf{x}_{f}|\mathbf{y})\geq 2^{-\nu} for (the unknown) decapsulation key 𝐲\mathbf{y}.

Lemma 5.

The success probability of constructing a ciphertext cfc_{f} that is accepted by the decapsulation algorithm is bounded as follows.

1.

PSmax{max𝐱𝐲:Pr(𝐱|𝐲)2νPr(𝐱,𝐲|𝐳),max𝐲𝐱:Pr(𝐱|𝐲)2νPr(𝐱,𝐲|𝐳)}.\displaystyle\mbox{$P_{S}$}\geq\max\{\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}\Pr(\mathbf{x},\mathbf{y}^{\prime}|\mathbf{z}),\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}\Pr(\mathbf{x}^{\prime},\mathbf{y}|\mathbf{z})\}. (6)

2. Assuming equality in the above bound,

PSmax{max𝐱𝐲:Pr(𝐱|𝐲)2νP𝐘(𝐲|𝐳),max𝐲𝐱:Pr(𝐱|𝐲)2νP𝐗(𝐱|𝐳)}\displaystyle\mbox{$P_{S}$}\leq\max\{\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}P_{\mathbf{Y}}(\mathbf{y}^{\prime}|\mathbf{z}),\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}P_{\mathbf{X}}(\mathbf{x}^{\prime}|\mathbf{z})\}
Proof.

1. The encapsulation algorithm uses the key 𝐱\mathbf{x}, and the decapsulation algorithm uses the key 𝐲\mathbf{y}, both unknown to the adversary. To be accepted by the decapsulation algorithm, a guessed value 𝐱\mathbf{x}^{\prime} must belong to the set \cal R defined by the decapsulation algorithm 6. That is Pr(𝐱|𝐲)2ν\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu} for the unknown 𝐲\mathbf{y}. The adversary may use two types of guessing strategies to find a candidate 𝐱f\mathbf{x}_{f}: guess Alice’s key from 𝒳n{\cal X}^{n} such that it belongs to \cal R for the unknown 𝐲\mathbf{y}, or guess a Bob’s key 𝐲\mathbf{y}, and choose one of the 𝐱\mathbf{x}^{\prime} that satisfy \cal R defined with respect to 𝐲\mathbf{y}. The best success probabilities of these two types of guessing strategies are denoted by PS(𝐗)P^{(\mathbf{X})}_{S} and PS(𝐘)P^{(\mathbf{Y})}_{S}, respectively.

We have

PS\displaystyle P_{S} \displaystyle\geq max{Pr(Guess 𝐱 from 𝒳n,Pr(Guess 𝐲 from 𝒴n)}\displaystyle\max\{\Pr(\mbox{Guess $\mathbf{x}$ from ${\cal X}^{n}$},\Pr(\mbox{Guess $\mathbf{y}$ from ${\cal Y}^{n}$})\} (7)
\displaystyle\geq max{PS(𝐗),PS(𝐘)}\displaystyle\max\{P^{(\mathbf{X})}_{S},P^{(\mathbf{Y})}_{S}\}

The encapsulation and decapsulation algorithms are deterministic and probabilities are over the probability space Pr(𝐱,𝐲,𝐳)\Pr(\mathbf{x},\mathbf{y},\mathbf{z}).

(i)(i) To bound PS(𝐗)=Pr(Guess𝐱from 𝒳n)P^{(\mathbf{X})}_{S}=\Pr(\mbox{Guess}\mathbf{x}\mbox{from }{\cal X}^{n}), we note that each 𝐱\mathbf{x} will be accepted by all 𝐲\mathbf{y} that satisfy Pr(𝐱|𝐲)2ν\Pr(\mathbf{x}|\mathbf{y})\geq 2^{-\nu}.

This means that the adversary’s success probability that a ciphertext c=(v,s,s)c=(v,s^{\prime},s) that is constructed using a guessed key 𝐗=𝐱\mathbf{X}=\mathbf{x} be accepted by decapsulation algorithm that uses the unknown key 𝐲\mathbf{y}, corresponds to the probability of the set of sample points (𝐗=𝐱,𝐘=𝐲)(\mathbf{X}=\mathbf{x},\mathbf{Y}=\mathbf{y}^{\prime}) (key pairs) where

𝐲:Pr(𝐱|𝐲)2νPr(𝐱,𝐲|𝐳)\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}\Pr(\mathbf{x},\mathbf{y}^{\prime}|\mathbf{z})

which can be computed by the adversary (conditional distribution Pr(𝐗,𝐘|𝐙)\Pr(\mathbf{X},\mathbf{Y}|\mathbf{Z})). Therefore, to each 𝐱𝒳n\mathbf{x}\in{\cal X}^{n} we associate a weight 𝐲:Pr(𝐱|𝐲)2νPr(𝐱,𝐲|𝐳)\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}\Pr(\mathbf{x},\mathbf{y}^{\prime}|\mathbf{z}) that is the acceptance probability of the ciphertext by some 𝐲𝒴n\mathbf{y}\in{\cal Y}^{n}. The best guess for 𝐱\mathbf{x} will be by finding the element of 𝒳n{\cal X}^{n} with the highest acceptance probability,

PS(𝐗)=max𝐱𝐲:Pr(𝐱|𝐲)2νPr(𝐱,𝐲|𝐳).P^{(\mathbf{X})}_{S}=\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2{-\nu}}\Pr(\mathbf{x},\mathbf{y}^{\prime}|\mathbf{z}).

(This also determines the value 𝐱{\mathbf{x}}^{*} (i.e. 𝐱f\mathbf{x}_{f}) that can be used to construct cfc_{f}.) (We note that the acceptance probabilities attached to elements of 𝒳n{\cal X}^{n} do not form a probability distribution on 𝒳\cal X.)

(ii)(ii) To find PS(𝐘)P^{(\mathbf{Y})}_{S} using 𝒴n{\cal Y}^{n}, we note that each 𝐲\mathbf{y} will accept all Alice’s key values 𝐱\mathbf{x}^{\prime}s that satisfy Pr(𝐱|𝐲)2ν\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}.

This attaches an acceptance probability to each 𝐲𝒴n\mathbf{y}\in{\cal Y}^{n} that is the total probability of ciphertexts c=(v,s,s)c=(v,s^{\prime},s) being accepted by a 𝐲\mathbf{y} when Alice’s key is not known, and is obtained by summing probabilities of the set (𝐱,𝐲)(\mathbf{x}^{\prime},\mathbf{y}) of sample points (key instances) as follows

𝐱:Pr(𝐱|𝐲)2νPr(𝐱,𝐲|𝐳).\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}\Pr(\mathbf{x}^{\prime},\mathbf{y}|\mathbf{z}).

Thus, the best guess for Bob’s key 𝐲\mathbf{y} for accepting a ciphertext when Alice’s key is unknown, is given by

PS(𝐘)=max𝐲𝐱:Pr(𝐱|𝐲)2νPr(𝐱,𝐲|𝐳).\displaystyle P^{(\mathbf{Y})}_{S}=\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}\Pr(\mathbf{x}^{\prime},\mathbf{y}|\mathbf{z}). (8)

Therefore,

PSmax{PS(𝐗),PS(𝐘)}\displaystyle P_{S}\geq\max\{P^{(\mathbf{X})}_{S},P^{(\mathbf{Y})}_{S}\}
max{max𝐱𝐲:Pr(𝐱|𝐲)2νPr(𝐱,𝐲|𝐳),max𝐲𝐱:Pr(𝐱|𝐲)2νPr(𝐱,𝐲|𝐳)}\displaystyle\quad\geq\max\{\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}\Pr(\mathbf{x},\mathbf{y}^{\prime}|\mathbf{z}),\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}\Pr(\mathbf{x}^{\prime},\mathbf{y}|\mathbf{z})\} (9)

2. Simplifying the bound: Consider the case that the expression 6 holds with equality. That is the 𝐱\mathbf{x} value that results in the highest success probability for successful ciphertext forgery can be obtained by using one of the two key guessing strategies outlined above to guess a key 𝐱f\mathbf{x}_{f} and compute h(𝐱,(s,s))h(\mathbf{x},(s^{\prime},s)). This is true because any ciphertext that is accepted by the decapsulation algorithm must be well formed, and correspond to the evaluation of a polynomial defined by (s,s)(s^{\prime},s) using a key that satisfies P(𝐱|𝐲)2νP(\mathbf{x}|\mathbf{y})\geq 2^{-\nu}. A computationally unbounded adversary can always find the roots of such a polynomial, and so any forged ciphertext can be generated by choosing a key 𝐱f\mathbf{x}_{f} that satisfies the required condition, and using the encapsulation algorithm. This is somewhat similar to the notion of plaintext awareness in computational security [63, 64], where it is assumed that the adversary can create ciphertexts for which it is able to “extract” the corresponding plaintext.

Thus we have,

PS=max{PS(𝐗),PS(𝐘)}.P_{S}=\max\{P^{(\mathbf{X})}_{S},P^{(\mathbf{Y})}_{S}\}.

We then use the following approximation in terms of marginal distributions of Pr𝐗(𝐱)\Pr_{\mathbf{X}}(\mathbf{x}) and Pr𝐘(𝐲)\Pr_{\mathbf{Y}}(\mathbf{y}).

Let 𝐱\mathbf{x}^{*} and 𝐲\mathbf{y}^{*} be the 𝐱\mathbf{x} and 𝐲\mathbf{y} values that maximize the expressions, max𝐱𝐲:Pr(𝐱|𝐲)2νPr(𝐱,𝐲|𝐳)\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}\Pr(\mathbf{x},\mathbf{y}^{\prime}|\mathbf{z}) and
max𝐲𝐱:Pr(𝐱|𝐲)2νPr(𝐱,𝐲|𝐳)\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}\Pr(\mathbf{x}^{\prime},\mathbf{y}|\mathbf{z}), respectively, and Pr𝐗(𝐱)\Pr_{\mathbf{X}}(\mathbf{x}) and Pr𝐘(𝐲)\Pr_{\mathbf{Y}}(\mathbf{y}) denote marginal distributions of 𝐗\mathbf{X} and 𝐘\mathbf{Y}.

Since Pr𝐗,𝐘(𝐱,𝐲|𝐳)Pr𝐗(𝐱|𝐳)\Pr_{\mathbf{X},\mathbf{Y}}(\mathbf{x},\mathbf{y}|\mathbf{z})\leq\Pr_{\mathbf{X}}(\mathbf{x}|\mathbf{z}), we have

PS\displaystyle P_{S} max{𝐲:Pr𝐗|𝐘(𝐱|𝐲)2νPr𝐘(𝐲|𝐳),𝐱:Pr𝐗|𝐘(𝐱|𝐲)2νPr𝐗(𝐱|𝐳)}\displaystyle\leq\max\{\sum_{\mathbf{y}^{\prime}:\Pr_{\mathbf{X}|\mathbf{Y}}(\mathbf{x}^{*}|\mathbf{y}^{\prime})\geq 2^{-\nu}}\Pr_{\mathbf{Y}}(\mathbf{y}^{\prime}|\mathbf{z}),\sum_{\mathbf{x}^{\prime}:\Pr_{\mathbf{X}|\mathbf{Y}}(\mathbf{x}^{\prime}|\mathbf{y}^{*})\geq 2^{-\nu}}\Pr_{\mathbf{X}}(\mathbf{x}^{\prime}|\mathbf{z})\}

Note that

𝐲:Pr(𝐱|𝐲)2νPr𝐘(𝐲|𝐳)max𝐱𝐲:Pr(𝐱|𝐲)2νPr𝐘(𝐲|𝐳)\displaystyle\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}^{*}|\mathbf{y}^{\prime})\geq 2^{-\nu}}\Pr_{\mathbf{Y}}(\mathbf{y}^{\prime}|\mathbf{z})\leq\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}\Pr_{\mathbf{Y}}(\mathbf{y}^{\prime}|\mathbf{z}) (10)
𝐱:Pr(𝐱|𝐲)2νPr𝐗(𝐱|𝐳)max𝐲𝐱:Pr(𝐱|𝐲)2νPr𝐗(𝐱|𝐳)\displaystyle\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y}^{*})\geq 2^{-\nu}}\Pr_{\mathbf{X}}(\mathbf{x}^{\prime}|\mathbf{z})\leq\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}\Pr_{\mathbf{X}}(\mathbf{x}^{\prime}|\mathbf{z}) (11)

This is true because the RHSs of 10 and 11 are maximizing over all 𝐱\mathbf{x} values of 𝐱\mathbf{x} and 𝐲\mathbf{y}, respectively.

Therefore,

PS\displaystyle P_{S} max{max𝐱𝐲:Pr(𝐱|𝐲)2νPr𝐘(𝐲|𝐳),max𝐲𝐱:Pr(𝐱|𝐲)2νPr𝐗(𝐱|𝐳)}.\displaystyle\leq\max\{\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}\Pr_{\mathbf{Y}}(\mathbf{y}^{\prime}|\mathbf{z}),\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}\Pr_{\mathbf{X}}(\mathbf{x}^{\prime}|\mathbf{z})\}. (12)

Note. We will use the above calculation for conditional distributions that takes into account all the adversary’s information about 𝐱\mathbf{x}, in particular after one query, that is (k,c)(k,c),

PS\displaystyle P_{S} max{max𝐱𝐲:Pr(𝐱|𝐲)2νP𝐘(𝐲|(k,c),𝐳),max𝐲𝐱:Pr(𝐱|𝐲)2νP𝐗(𝐱|(k,c),𝐳)}.\displaystyle\leq\max\{\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}P_{\mathbf{Y}}(\mathbf{y}^{\prime}|(k,c),\mathbf{z}),\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}P_{\mathbf{X}}(\mathbf{x}^{\prime}|(k,c),\mathbf{z})\}. (13)

In the following we will use h(𝐱,(s,s))h(\mathbf{x},(s^{\prime},s)) and recall the following notations: (i)(i) 𝐱𝒳n\mathbf{x}\in{\cal X}^{n} is written as 𝐱=(𝐱2𝐱1)\mathbf{x}=(\mathbf{x}_{2}\parallel\mathbf{x}_{1}) and 𝐱2=(xn,xn1,xt+1)\mathbf{x}_{2}=(x_{n},x_{n-1},\cdots x_{t+1}), and 𝐱1=(xt,xt1,x1)\mathbf{x}_{1}=(x_{t},x_{t-1},\cdots x_{1}) where ``"``\parallel" denotes concatenation of two vectors; and (ii)(ii) ss^{\prime}, suitably padded, is written as a sequence (s1,,sr)(s^{\prime}_{1},\cdots,s^{\prime}_{r}) where siGF(2nt)s^{\prime}_{i}\in GF(2^{n-t}), i{1,,r}\forall i\in\{1,\cdots,r\}, and s=(s2,s1)s=(s_{2},s_{1}) where s2GF(2nt)s_{2}\in GF(2^{n-t}) and s1GF(2t)s_{1}\in GF(2^{t}).

Lemma 6.

The lemma has two parts.

  1. (i)

    The number of 𝐱=(𝐱2𝐱1)\mathbf{x}=(\mathbf{x}_{2}\parallel\mathbf{x}_{1}) that satisfies the following two equations (in GF(2t)GF(2^{t})) for two values of vv and vfv_{f}:

    v\displaystyle v =\displaystyle= h(𝐱,(s,s))=[(𝐱2)r+3+i=1rsi(𝐱2)i+1+s2𝐱2]1t+(𝐱1)3+s1𝐱1\displaystyle h(\mathbf{x},(s^{\prime},s))=\big{[}(\mathbf{x}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{i}(\mathbf{x}_{2})^{i+1}+s_{2}\mathbf{x}_{2}\big{]}_{1\cdots t}+(\mathbf{x}_{1})^{3}+s_{1}\mathbf{x}_{1} (14)
    vf\displaystyle v_{f} =\displaystyle= h(𝐱,sf,sf)=[(𝐱2)r+3+i=1rsf,i(𝐱2)i+1+sf,2𝐱2]1t+(𝐱1)3+sf,1𝐱1,\displaystyle h(\mathbf{x},s_{f}^{\prime},s_{f})=\big{[}(\mathbf{x}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{f,i}(\mathbf{x}_{2})^{i+1}+s_{f,2}\mathbf{x}_{2}\big{]}_{1\cdots t}+(\mathbf{x}_{1})^{3}+s_{f,1}\mathbf{x}_{1}, (15)

    is at most 3(r+1)2n2t3(r+1)2^{n-2t}.

    In these equations, 𝐱2,s2,sf,2,sf,1,..,sf,r,s1,..,srGF(2nt)\mathbf{x}_{2},s_{2},s_{f,2},s_{f,1}^{\prime},..~{},s_{f,r}^{\prime},s^{\prime}_{1},..~{},s^{\prime}_{r}\in GF(2^{n-t}), v,vf,𝐱1,s1,sf,1GF(2t)v,v_{f},\mathbf{x}_{1},s_{1},s_{f,1}\in GF(2^{t}), and
    ((sf,1,,sf,r),(sf,2,sf,1))((s1,,sr),(s2,s1))((s^{\prime}_{f,1},\cdots,s^{\prime}_{f,r}),(s_{f,2},s_{f,1}))\neq((s^{\prime}_{1},\cdots,s^{\prime}_{r}),(s_{2},s_{1})).

  2. (ii)

    Let 𝐱=(𝐱2𝐱1)\mathbf{x}=(\mathbf{x}_{2}\parallel\mathbf{x}_{1}) and 𝐱=(𝐱2𝐱1)\mathbf{x}^{\prime}=(\mathbf{x}^{\prime}_{2}\parallel\mathbf{x}^{\prime}_{1}) satisfy v=h(𝐱,(s,s))v=h(\mathbf{x},(s^{\prime},s)) and vf=h(𝐱,sf,sf)v_{f}=h(\mathbf{x}^{\prime},s^{\prime}_{f},s_{f}), respectively, where sfs^{\prime}_{f} and sfs_{f} are defined as in (i)(i). Assume 𝐱=𝐱+𝐞\mathbf{x}=\mathbf{x}^{\prime}+\mathbf{e} for some 𝐞=(𝐞2𝐞1)GF(2n)\mathbf{e}=(\mathbf{e}_{2}\parallel\mathbf{e}_{1})\in GF(2^{n}), 𝐞2GF(2nt),𝐞1GF(2t)\mathbf{e}_{2}\in GF(2^{n-t}),\mathbf{e}_{1}\in GF(2^{t}) and 𝐞𝟎\mathbf{e}\neq{\bf 0}. Then the number of 𝐱=(𝐱2𝐱1)\mathbf{x}^{\prime}=(\mathbf{x}^{\prime}_{2}\parallel\mathbf{x}^{\prime}_{1}) that satisfies the following equations:

    v\displaystyle v =\displaystyle= [(𝐱2+𝐞2)r+3+i=1rsi(𝐱2+𝐞2)i+1+s2(𝐱2+𝐞2)]1t+(𝐱1+𝐞1)3+s1(𝐱1+𝐞1)\displaystyle\big{[}(\mathbf{x}^{\prime}_{2}+\mathbf{e}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{i}(\mathbf{x}^{\prime}_{2}+\mathbf{e}_{2})^{i+1}+s_{2}(\mathbf{x}^{\prime}_{2}+\mathbf{e}_{2})\big{]}_{1\cdots t}+(\mathbf{x}^{\prime}_{1}+\mathbf{e}_{1})^{3}+s_{1}(\mathbf{x}^{\prime}_{1}+\mathbf{e}_{1}) (16)
    vf\displaystyle v_{f} =\displaystyle= [(𝐱2)r+3+i=1rsf,i(𝐱2)i+1+sf,2𝐱2]1t+(𝐱1)3+sf,1𝐱1,\displaystyle\big{[}(\mathbf{x}^{\prime}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{f,i}(\mathbf{x}^{\prime}_{2})^{i+1}+s_{f,2}\mathbf{x}^{\prime}_{2}\big{]}_{1\cdots t}+(\mathbf{x}^{\prime}_{1})^{3}+s_{f,1}\mathbf{x}^{\prime}_{1}, (17)

    is at most (r+3)(r+2)2n2t(r+3)(r+2)2^{n-2t} where, (𝐞2𝐞1)(\mathbf{e}_{2}\parallel\mathbf{e}_{1}) is a non-zero vector and
    (vf,(sf,1,,sf,r),(sf,2,sf,1))(v,(s1,,sr),(s2,s1))(v_{f},(s^{\prime}_{f,1},\cdots,s^{\prime}_{f,r}),(s_{f,2},s_{f,1}))\neq(v,(s^{\prime}_{1},\cdots,s^{\prime}_{r}),(s_{2},s_{1})).

Proof.

(i)(i) From equation 14 and equation 15, we have

vvf=\displaystyle v-v_{f}= [i=1r(sisf,i)(𝐱2)i+1+(s2sf,2)𝐱2]1t+(s1sf,1)𝐱1\displaystyle\big{[}{\sum}_{i=1}^{r}(s^{\prime}_{i}-s^{\prime}_{f,i})(\mathbf{x}_{2})^{i+1}+(s_{2}-s_{f,2})\mathbf{x}_{2}\big{]}_{1\cdots t}+(s_{1}-s_{f,1})\mathbf{x}_{1} (18)

where arithmetic operations are in the corresponding binary extension finite fields. If (s1=sf,1)(s_{1}=s_{f,1}), then
((s1,,sr),s2)((sf,1,,sf,r),sf,2)((s^{\prime}_{1},\cdots,s^{\prime}_{r}),s_{2})\neq((s^{\prime}_{f,1},\cdots,s^{\prime}_{f,r}),s_{f,2}) as (sf,sf)(s,s)(s^{\prime}_{f},s_{f})\neq(s^{\prime},s). Therefore, the degree of the equation 18 in 𝐱2\mathbf{x}_{2} is at most (r+1)(r+1). The term [i=1r(sisf,i)(𝐱2)i+1+(s2sf,2)𝐱2]\big{[}{\sum}_{i=1}^{r}(s^{\prime}_{i}-s^{\prime}_{f,i})(\mathbf{x}_{2})^{i+1}+(s_{2}-s_{f,2})\mathbf{x}_{2}\big{]} takes on each element of the field GF(2nt)GF(2^{n-t}) at most (r+1)(r+1) times as 𝐱2\mathbf{x}_{2} varies. This is because the degree of the polynomial is (r+1)(r+1) and so there are at most (r+1)(2nt/2t)=(r+1)2n2t(r+1)(2^{n-t}/2^{t})=(r+1)2^{n-2t} values of 𝐱2\mathbf{x}_{2} that satisfy equation 18.

Equation 14, for fixed vfv_{f} and 𝐱2\mathbf{x}_{2}, is a polynomial of degree three, and hence for each value of 𝐱2\mathbf{x}_{2}, will be satisfied by at most three values of 𝐱1\mathbf{x}_{1}, and so there are at most 3(r+1)2n2t3(r+1)2^{n-2t} values of (𝐱2𝐱1)(\mathbf{x}_{2}\parallel\mathbf{x}_{1}) that satisfy both equations 14 and  18.

If (s1sf,1)(s_{1}\neq s_{f,1}), we use equation 18 to express 𝐱1\mathbf{x}_{1} as a polynomial in 𝐱2\mathbf{x}_{2}, and by substituting it in equation 14, obtain
v=[(s1sf,1)3(srsf,r)3(𝐱2)3(r+1)]1t+g(𝐱2)v=[-(s_{1}-s_{f,1})^{-3}(s_{r}-s_{f,r})^{3}(\mathbf{x}_{2})^{3(r+1)}]_{{}_{1\cdots t}}+g(\mathbf{x}_{2}) for some polynomial g(𝐱2)g(\mathbf{x}_{2}) of degree at most 3r+23r+2. Therefore, there are at most 3(r+1)2n2t3(r+1)2^{n-2t} values of 𝐱2\mathbf{x}_{2} that satisfy this equation. From equation 18, for each value of 𝐱2\mathbf{x}_{2}, there is a unique 𝐱1\mathbf{x}_{1} that satisfies the equation.

Therefore, in both cases, there are at most 3(r+1)2n2t3(r+1)2^{n-2t} values of (𝐱2||𝐱1)(\mathbf{x}_{2}||\mathbf{x}_{1}) that satisfy both the equation 14 and equation 18.

(ii)(ii) From equation 16 and equation 17, we have

vvf=\displaystyle v-v_{f}= [[(𝐱2+𝐞2)r+3+i=1rsi(𝐱2+𝐞2)i+1+s2(𝐱2+𝐞2)]1t+(𝐱1+𝐞1)3+s1(𝐱1+𝐞1)]\displaystyle\Big{[}\big{[}(\mathbf{x}_{2}+\mathbf{e}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{i}(\mathbf{x}_{2}+\mathbf{e}_{2})^{i+1}+s_{2}(\mathbf{x}_{2}+\mathbf{e}_{2})\big{]}_{1\cdots t}+(\mathbf{x}_{1}+\mathbf{e}_{1})^{3}+s_{1}(\mathbf{x}_{1}+\mathbf{e}_{1})\Big{]}
[[(𝐱2)r+3+i=1rsf,i(𝐱2)i+1+sf,2𝐱2]1t+(𝐱1)3+sf,1𝐱1].\displaystyle-\Big{[}\big{[}(\mathbf{x}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{f,i}(\mathbf{x}_{2})^{i+1}+s_{f,2}\mathbf{x}_{2}\big{]}_{1\cdots t}+(\mathbf{x}_{1})^{3}+s_{f,1}\mathbf{x}_{1}\Big{]}. (19)

This is an equation in two indeterminates 𝐱2\mathbf{x}_{2} and 𝐱1\mathbf{x}_{1} of degree at most (r+2)(r+2). The equation 17 is also an equation in two indeterminants 𝐱2\mathbf{x}_{2} and 𝐱1\mathbf{x}_{1} of degree at most (r+3)(r+3). Since (vf,(sf,1,,sf,r),(sf,2,sf,1))(v,(s1,,sr),(s2,s1))(v_{f},(s^{\prime}_{f,1},\cdots,s^{\prime}_{f,r}),(s_{f,2},s_{f,1}))\neq(v,(s^{\prime}_{1},\cdots,s^{\prime}_{r}),(s_{2},s_{1})), by Bézout’s theorem [65, 66], recalled in Section H, we have that there are at most (r+3)(r+2)2nt/2t=(r+3)(r+2)2n2t(r+3)(r+2)2^{n-t}/2^{t}=(r+3)(r+2)2^{n-2t} values of (𝐱2𝐱1)(\mathbf{x}^{\prime}_{2}\parallel\mathbf{x}^{\prime}_{1}) (i.e. 𝐱\mathbf{x}^{\prime}) that satisfy both equation 19 and equation 17.

Theorem 5 (Ciphertext integrity (INT-(1;qd)(1;q_{d})-CTXT)).

For an adversary that makes at most one encapsulation query and qdq_{d} decapsulation queries, the ciphertext integrity defined in Definition 6 is broken with probability at most

qd(r+3)(r+2)2n+tmax{𝔼𝐳𝐙[max𝐱𝐲:Pr(𝐱|𝐲)2νP(𝐲|𝐙=𝐳)],𝔼𝐳𝐙[max𝐲𝐱:Pr(𝐱|𝐲)2νP(𝐱|𝐙=𝐳)]}\displaystyle q_{d}(r+3)(r+2)2^{n+\ell-t}\max\{\mathbb{E}_{\mathbf{z}\leftarrow\mathbf{Z}}\Big{[}\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}P(\mathbf{y}^{\prime}|\mathbf{Z}=\mathbf{z})\Big{]},\mathbb{E}_{\mathbf{z}\leftarrow\mathbf{Z}}\Big{[}\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}P(\mathbf{x}^{\prime}|\mathbf{Z}=\mathbf{z})\Big{]}\}

For the above number of queries the iKEM 𝗂𝗄𝖾𝗆cca\mathsf{ikem}_{cca} construction 2 establishes a secret key of length

\displaystyle\ell \displaystyle\leq t+min{log(𝔼𝐳𝐙[max𝐱𝐲:Pr(𝐱|𝐲)2νP(𝐲|𝐙=𝐳)]),log(𝔼𝐳𝐙[max𝐲𝐱:Pr(𝐱|𝐲)2νP(𝐱|𝐙=𝐳)])}\displaystyle t+\min\{-\log(\mathbb{E}_{\mathbf{z}\leftarrow\mathbf{Z}}\Big{[}\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}P(\mathbf{y}^{\prime}|\mathbf{Z}=\mathbf{z})\Big{]}),-\log(\mathbb{E}_{\mathbf{z}\leftarrow\mathbf{Z}}\Big{[}\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}P(\mathbf{x}^{\prime}|\mathbf{Z}=\mathbf{z})\Big{]})\}
nlog(qd(r+3)(r+2)δ),\displaystyle-n-\log\big{(}\frac{q_{d}(r+3)(r+2)}{\delta}\big{)},

that is δ\delta-INT-(1;qd)(1;q_{d})-CTXT secure.

Proof.

The proof uses Lemma 45 and 6. We first provide an outline of the main proof steps, and then expand each step.

Let PSucc(k,c)P_{Succ}(k,c)  denote the maximum success probability of the adversary that has access to (k,c)(k,c) (i.e. response to an encapsulation query) and constructs a forged ciphertext cf=(vf,sf,sf)c_{f}=(v_{f},s^{\prime}_{f},s_{f}) where cfcc_{f}\neq c. That is, PSucc(k,c)P_{Succ}(k,c)  is the highest success probability of constructing cfc_{f} that is accepted by the decapsulation algorithm Algorithm 6. Let PSuccP_{Succ} denote the expected value of PSucc(k,c)P_{Succ}(k,c)  over all query responses (k,c)(k,c), and PSuccqdP_{Succ}^{q_{d}}  denote the expected final success probability with one encapsulation, and qdq_{d} decapsulation query.

The upper bound on PSuccqdP_{Succ}^{q_{d}}  will be obtained in three steps: (1) bounding PSucc(k,c)P_{Succ}(k,c), (2) bounding PSuccP_{Succ}  by finding the expectation over the random variables corresponding to the adversary’s information, that is the received response (k,c)(k,c), and finally (3) bounding PSuccqdP_{Succ}^{q_{d}}  that takes into account the decapsulation queries.

Step 1. Bounding PSucc(k,c)P_{Succ}(k,c).

The adversary has the key and the ciphertext pair (k,c)=(k,(v,s,s))(k,c)=(k,(v,s^{\prime},s)), where vv is computed using Alice’s secret key 𝐱\mathbf{x} and h(𝐱,(s,s))h(\mathbf{x},(s^{\prime},s)) given by the equation 5 (section V-E). The ciphertext will be accepted by the decapsulation algorithm ikem.Dec() (Algorithm 6) using Bob’s key 𝐲\mathbf{y} with probability at least 1ϵ1-\epsilon.

A forged ciphertext cf=(vf,sf,sf)c_{f}=(v_{f},s^{\prime}_{f},s_{f}) that is accepted by the decapsulation algorithm must pass the test v=?h(𝐱,(s,s))v\stackrel{{\scriptstyle?}}{{=}}h(\mathbf{x}^{\prime},(s^{\prime},s)) for a unique 𝐱\mathbf{x}^{\prime}\in{\cal R} that is found by the decapsulation algorithm using Bob’s key 𝐲\mathbf{y}. Thus a ciphertext that is accepted by the decapsulation algorithm must be generatable by the generation Algorithm 5 using some (guessed) key. We call ciphertexts that satisfy v=h(𝐱,s,s)v=h(\mathbf{x}^{\prime},s^{\prime},s) as well-formed.

We assume the adversary can only make a well-formed cfc_{f} by using the encapsulation algorithm (Algorithm 5) for a guessed key. That is there is no shortcut algorithm can be used by the adversary to generate a new well-formed ciphertext from other available information. This assumption holds if the encapsulation algorithm is modelled as a random function (random oracle) for the generation of cc.

The encapsulation algorithm is deterministic, and so PSucc(k,c)P_{Succ}(k,c)  can be obtained by,

  1. 1.

    Finding PSP_{S}, the best guessing probability of a key 𝐱f\mathbf{x}_{f} that satisfies 𝐱f\mathbf{x}_{f}\in{\cal R} for Bob’s (unknown) 𝐲\mathbf{y}. We use Lemma 5, part (ii)(ii), that assumes the best guessing probability is by using one of the two direct guessing strategies outlined in the lemma.

  2. 2.

    Take into account the number of 𝐱𝐱f\mathbf{x}^{\prime}\neq\mathbf{x}_{f} that results in the same cf=(vf,sf,sf)c_{f}=(v_{f},s^{\prime}_{f},s_{f}) that is constructed using the key 𝐱f\mathbf{x}_{f}. An upper bound on this number, denoted by LL, is obtained in Lemma 6.

Step 2. PSuccP_{Succ}: Expectation over the adversary’s view. For fixed (s,s)(s^{\prime},s), let KK, CC, 𝐗\mathbf{X}, 𝐗1\mathbf{X}_{1}, 𝐗2\mathbf{X}_{2}, VV be random variables corresponding to kk, cc, 𝐱\mathbf{x}, 𝐱1\mathbf{x}_{1}, 𝐱2\mathbf{x}_{2} and vv respectively, where the randomness is over P𝐗𝐘𝐙P_{\mathbf{X}\mathbf{Y}\mathbf{Z}}. The adversary has (k,c)(k,c) derived from 𝐱\mathbf{x}, guesses 𝐱f\mathbf{x}_{f}, and generates the ciphertext cf=(vf,sf,sf)c_{f}=(v_{f},s^{\prime}_{f},s_{f}) where vf=h(𝐱f,sf,sf)v_{f}=h(\mathbf{x}_{f},s^{\prime}_{f},s_{f}).

We consider two cases: (i)(i) the adversary’s guess 𝐱f=𝐱\mathbf{x}_{f}=\mathbf{x} where 𝐱\mathbf{x} is Alice’s key, and (ii)(ii) the adversary’s guessed key 𝐱f=𝐱𝐱\mathbf{x}_{f}=\mathbf{x}^{\prime}\neq\mathbf{x} where 𝐱\mathbf{x}^{\prime}\in\mathcal{R} for the unknown 𝐲\mathbf{y}. Let the success probabilities of the adversary in generating a ciphertext cfc_{f} corresponding to the above two cases be δ𝐱\delta_{\mathbf{x}} and δ𝐱\delta_{\mathbf{x}^{\prime}} respectively. The decapsulation algorithm 𝗂𝗄𝖾𝗆.𝖣𝖾𝖼()\mathsf{ikem.Dec}(\cdot) searches for a unique element in \mathcal{R} and so only one of the above two cases will occur, and the success probability of the adversary in generating a cfc_{f} will be

PSucc=max{δ𝐱,δ𝐱}\displaystyle\mbox{$P_{Succ}$}=\max\{\delta_{\mathbf{x}},\delta_{\mathbf{x}^{\prime}}\} (20)

where probability is over P𝐗𝐘𝐙P_{\mathbf{X}\mathbf{Y}\mathbf{Z}}.

Computing δ𝐱\delta_{\mathbf{x}}. The success probability of forging a ciphertext, given a key and ciphertext pair (k,c)(k,c), is:

𝔼(k,c,𝐳)(K,C,𝐙)[𝖯𝗋[vf=[(𝐱2)r+3+i=1rsf,i(𝐱2)i+1+sf,2𝐱2]1t+(𝐱1)3+sf,1𝐱1 | K=k,C=c,𝐙=𝐳]].\displaystyle\mathbb{E}_{(k,c,\mathbf{z})\leftarrow(K,C,\mathbf{Z})}\Big{[}\mathsf{Pr}\big{[}v_{f}=\big{[}(\mathbf{x}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{f,i}(\mathbf{x}_{2})^{i+1}+s_{f,2}\mathbf{x}_{2}\big{]}_{1\cdots t}+(\mathbf{x}_{1})^{3}+s_{f,1}\mathbf{x}_{1}\text{ $|$ }K=k,C=c,\mathbf{Z}=\mathbf{z}\big{]}\Big{]}.

The known ciphertext c=(v,s,s)c=(v,s^{\prime},s) and the forged ciphertext (vf,sf,sf)(v_{f},s^{\prime}_{f},s_{f}) must satisfy equation 14 and equation 15, respectively, with (vf,sf,sf)(v,s,s)(v_{f},s^{\prime}_{f},s_{f})\neq(v,s^{\prime},s). Note that if (sf,sf)=(s,s)(s^{\prime}_{f},s_{f})=(s^{\prime},s), then it must be that vfvv_{f}\neq v and because h(𝐱,(s,s))h(\mathbf{x},(s^{\prime},s)) is a single value, vfh(𝐱,sf,s)v_{f}\neq h(\mathbf{x},s_{f},s) and 𝗂𝗄𝖾𝗆.𝖣𝖾𝖼()\mathsf{ikem.Dec}(\cdot) will reject, which is a contradiction. Therefore, we only need to consider the case that (sf,sf)(s,s)(s^{\prime}_{f},s_{f})\neq(s^{\prime},s).

From Lemma 6 part (i)(i), the number of 𝐱=(𝐱2𝐱1)\mathbf{x}=(\mathbf{x}_{2}\parallel\mathbf{x}_{1}) that satisfy both equation 14 and equation 15 is at most
3(r+1)2n2t3(r+1)2^{n-2t}.

Since the adversary is given a key and ciphertext pair (k,(v,s,s))\big{(}k,(v,s^{\prime},s)\big{)}, from Lemma 5 part (2) and equation 13, we have that the adversary can guess (𝐱2𝐱1)(\mathbf{x}_{2}\parallel\mathbf{x}_{1}) with probability at most

max{\displaystyle\max\{ max𝐱𝐲:Pr(𝐱|𝐲)2νP(𝐲|𝐳,v,k),max𝐲𝐱:Pr(𝐱|𝐲)2νP(𝐱|𝐳,v,k)},\displaystyle\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}P(\mathbf{y}^{\prime}|\mathbf{z},v,k),\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}P(\mathbf{x}^{\prime}|\mathbf{z},v,k)\}, (21)

where 𝐙\mathbf{Z} is the attacker’s initial side information. Since |k|=|k|=\ell and |v|=t|v|=t, from Lemma 4, we have

𝔼(k,c,𝐳)(K,C,𝐙)[max{max𝐱𝐲:Pr(𝐱|𝐲)2νP(𝐲|𝐙=𝐳,V=v,K=k),max𝐲𝐱:Pr(𝐱|𝐲)2νP(𝐱|𝐙=𝐳,V=v,K=k)}]\displaystyle\mathbb{E}_{(k,c,\mathbf{z})\leftarrow(K,C,\mathbf{Z})}\Big{[}\max\{\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}P(\mathbf{y}^{\prime}|\mathbf{Z}=\mathbf{z},V=v,K=k),\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}P(\mathbf{x}^{\prime}|\mathbf{Z}=\mathbf{z},V=v,K=k)\}\Big{]}
2t+𝔼𝐳𝐙[max{max𝐱𝐲:Pr(𝐱|𝐲)2νP(𝐲|𝐙=𝐳),max𝐲𝐱:Pr(𝐱|𝐲)2νP(𝐱|𝐙=𝐳)}].\displaystyle\leq 2^{t+\ell}\mathbb{E}_{\mathbf{z}\leftarrow\mathbf{Z}}\Big{[}\max\{\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}P(\mathbf{y}^{\prime}|\mathbf{Z}=\mathbf{z}),\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}P(\mathbf{x}^{\prime}|\mathbf{Z}=\mathbf{z})\}\Big{]}. (22)

Therefore,

δ𝐱\displaystyle\delta_{\mathbf{x}} = Success probability of the adversary with (vf,sf,sf), when verified with 𝐱, given the pair (k,(v,s,s))\displaystyle=\text{ Success probability of the adversary with }(v_{f},s^{\prime}_{f},s_{f}),\text{ when verified with $\mathbf{x}$, given the pair $(k,(v,s^{\prime},s))$ }
=𝔼(k,c,𝐳)(K,C,𝐙)[𝖯𝗋[vf=[(𝐱2)r+3+i=1rsf,i(𝐱2)i+1+sf,2𝐱2]1t+(𝐱1)3+sf,1𝐱1 | K=k,C=c,𝐙=𝐳]]\displaystyle=\mathbb{E}_{(k,c,\mathbf{z})\leftarrow(K,C,\mathbf{Z})}\Big{[}\mathsf{Pr}\big{[}v_{f}=\big{[}(\mathbf{x}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{f,i}(\mathbf{x}_{2})^{i+1}+s_{f,2}\mathbf{x}_{2}\big{]}_{1\cdots t}+(\mathbf{x}_{1})^{3}+s_{f,1}\mathbf{x}_{1}\text{ $|$ }K=k,C=c,\mathbf{Z}=\mathbf{z}\big{]}\Big{]}
=𝔼(k,c,𝐳)(K,C,𝐙)[𝖯𝗋[vf=[(𝐱2)r+3+i=1rsf,i(𝐱2)i+1+sf,2𝐱2]1t+(𝐱1)3+sf,1𝐱1\displaystyle=\mathbb{E}_{(k,c,\mathbf{z})\leftarrow(K,C,\mathbf{Z})}\Big{[}\mathsf{Pr}\big{[}v_{f}=\big{[}(\mathbf{x}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{f,i}(\mathbf{x}_{2})^{i+1}+s_{f,2}\mathbf{x}_{2}\big{]}_{1\cdots t}+(\mathbf{x}_{1})^{3}+s_{f,1}\mathbf{x}_{1}
v=[(𝐱2)r+3+i=1rsi(𝐱2)i+1+s2𝐱2]1t+(𝐱1)3+s1𝐱1 | K=k,C=c,𝐙=𝐳]]\displaystyle\qquad\qquad\qquad\qquad\qquad\wedge v=\big{[}(\mathbf{x}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{i}(\mathbf{x}_{2})^{i+1}+s_{2}\mathbf{x}_{2}\big{]}_{1\cdots t}+(\mathbf{x}_{1})^{3}+s_{1}\mathbf{x}_{1}\text{ $|$ }K=k,C=c,\mathbf{Z}=\mathbf{z}\big{]}\Big{]} (23)
=𝔼(k,c,𝐳)(K,C,𝐙)[𝖯𝗋[vvf=[i=1r(sisf,i)(𝐱2)i+1+(s2sf,2)𝐱2]1t+(s1sf,1)𝐱1\displaystyle=\mathbb{E}_{(k,c,\mathbf{z})\leftarrow(K,C,\mathbf{Z})}\Big{[}\mathsf{Pr}\Big{[}v-v_{f}=\big{[}{\sum}_{i=1}^{r}(s^{\prime}_{i}-s^{\prime}_{f,i})(\mathbf{x}_{2})^{i+1}+(s_{2}-s_{f,2})\mathbf{x}_{2}\big{]}_{1\cdots t}+(s_{1}-s_{f,1})\mathbf{x}_{1}
v=[(𝐱2)r+3+i=1rsi(𝐱2)i+1+s2𝐱2]1t+(𝐱1)3+s1𝐱1 | K=k,C=c,𝐙=𝐳]]\displaystyle\qquad\qquad\qquad\qquad\qquad\wedge v=\big{[}(\mathbf{x}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{i}(\mathbf{x}_{2})^{i+1}+s_{2}\mathbf{x}_{2}\big{]}_{1\cdots t}+(\mathbf{x}_{1})^{3}+s_{1}\mathbf{x}_{1}\text{ $|$ }K=k,C=c,\mathbf{Z}=\mathbf{z}\Big{]}\Big{]} (24)
𝔼(k,c,𝐳)(K,C,𝐙)[3(r+1)2n2tmax{max𝐱𝐲:Pr(𝐱|𝐲)2νP(𝐲|𝐙=𝐳,v,k),max𝐲𝐱:Pr(𝐱|𝐲)2νP(𝐱|𝐙=𝐳,v,k)}]\displaystyle\leq\mathbb{E}_{(k,c,\mathbf{z})\leftarrow(K,C,\mathbf{Z})}\big{[}3(r+1)2^{n-2t}\cdot\max\{\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}P(\mathbf{y}^{\prime}|\mathbf{Z}=\mathbf{z},v,k),\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}P(\mathbf{x}^{\prime}|\mathbf{Z}=\mathbf{z},v,k)\}\big{]} (25)
3(r+1)2n2t2t+𝔼𝐳𝐙[max{max𝐱𝐲:Pr(𝐱|𝐲)2νP(𝐲|𝐙=𝐳),max𝐲𝐱:Pr(𝐱|𝐲)2νP(𝐱|𝐙=𝐳)}]\displaystyle\leq 3(r+1)2^{n-2t}2^{t+\ell}\mathbb{E}_{\mathbf{z}\leftarrow\mathbf{Z}}\Big{[}\max\{\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}P(\mathbf{y}^{\prime}|\mathbf{Z}=\mathbf{z}),\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}P(\mathbf{x}^{\prime}|\mathbf{Z}=\mathbf{z})\}\Big{]} (26)
=3(r+1)2n+t𝔼𝐳𝐙[max{max𝐱𝐲:Pr(𝐱|𝐲)2νP(𝐲|𝐙=𝐳),max𝐲𝐱:Pr(𝐱|𝐲)2νP(𝐱|𝐙=𝐳)}]\displaystyle=3(r+1)2^{n+\ell-t}\mathbb{E}_{\mathbf{z}\leftarrow\mathbf{Z}}\Big{[}\max\{\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}P(\mathbf{y}^{\prime}|\mathbf{Z}=\mathbf{z}),\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}P(\mathbf{x}^{\prime}|\mathbf{Z}=\mathbf{z})\}\Big{]} (27)

where equation 24 is obtained from subtracting the two equations within the probability expression in equation 23; equation 25 follows from equation 21; equation 26 follows from equation 22. The expectation is taken over the distribution of P𝐗|K=k,C=c,𝐙=𝐳P_{\mathbf{X}|K=k,C=c,\mathbf{Z}=\mathbf{z}}.

Computing δ𝐱\delta_{\mathbf{x}^{\prime}}.

Let 𝐱f=𝐱𝐱\mathbf{x}_{f}=\mathbf{x}^{\prime}\neq\mathbf{x}. The forged ciphertext (vf,sf,sf)(v_{f},s^{\prime}_{f},s_{f}) will be,

vf\displaystyle v_{f} =\displaystyle= h(𝐱,(sf,sf))\displaystyle h\big{(}\mathbf{x}^{\prime},(s^{\prime}_{f},s_{f})\big{)} (28)
=\displaystyle= [(𝐱2)r+3+i=1rsf,i(𝐱2)i+1+sf,2𝐱2]1t+(𝐱1)3+sf,1𝐱1\displaystyle\big{[}(\mathbf{x}^{\prime}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{f,i}(\mathbf{x}^{\prime}_{2})^{i+1}+s_{f,2}\mathbf{x}^{\prime}_{2}\big{]}_{1\cdots t}+(\mathbf{x}^{\prime}_{1})^{3}+s_{f,1}\mathbf{x}^{\prime}_{1}

, where (vf,sf,sf)(v,s,s)(v_{f},s^{\prime}_{f},s_{f})\neq(v,s^{\prime},s), and all other variables are defined as in Lemma 6 and equation 5.

Let (k,c)=(k,(v,s,s)(k,c)=(k,(v,s^{\prime},s) is constructed using 𝐱\mathbf{x}. We can write 𝐱=𝐱+𝐞\mathbf{x}=\mathbf{x}^{\prime}+\mathbf{e} for some (unknown) vector 𝐞=(𝐞2𝐞1)GF(2n)\mathbf{e}=(\mathbf{e}_{2}\parallel\mathbf{e}_{1})\in GF(2^{n}) and (𝐱2𝐱1)=((𝐱2+𝐞2)(𝐱1+𝐞1))(\mathbf{x}_{2}\parallel\mathbf{x}_{1})=((\mathbf{x}^{\prime}_{2}+\mathbf{e}_{2})\parallel(\mathbf{x}^{\prime}_{1}+\mathbf{e}_{1})). Replacing 𝐱2\mathbf{x}_{2} and 𝐱1\mathbf{x}_{1} with (𝐱2+𝐞2)(\mathbf{x}^{\prime}_{2}+\mathbf{e}_{2}) and (𝐱1+𝐞1)(\mathbf{x}^{\prime}_{1}+\mathbf{e}_{1}), respectively in equation 5, we obtain

v\displaystyle v =[(𝐱2+𝐞2)r+3+i=1rsi(𝐱2+𝐞2)i+1+s2(𝐱2+𝐞2)]1t+(𝐱1+𝐞1)3+s1(𝐱1+𝐞1)\displaystyle=\big{[}(\mathbf{x}^{\prime}_{2}+\mathbf{e}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{i}(\mathbf{x}^{\prime}_{2}+\mathbf{e}_{2})^{i+1}+s_{2}(\mathbf{x}^{\prime}_{2}+\mathbf{e}_{2})\big{]}_{1\cdots t}+(\mathbf{x}^{\prime}_{1}+\mathbf{e}_{1})^{3}+s_{1}(\mathbf{x}^{\prime}_{1}+\mathbf{e}_{1}) (29)

From Lemma 6 part (ii)(ii), the number of (𝐱2𝐱1)(\mathbf{x}^{\prime}_{2}\parallel\mathbf{x}^{\prime}_{1}) (i.e. 𝐱\mathbf{x}^{\prime}) that satisfy both the equation 29 and equation 28 is at most (r+3)(r+2)2n2t(r+3)(r+2)2^{n-2t}.

Let 𝐗1\mathbf{X}^{\prime}_{1}, 𝐗2\mathbf{X}^{\prime}_{2} and 𝐗\mathbf{X}^{\prime} denote the random variables corresponding to 𝐱1\mathbf{x}^{\prime}_{1}, 𝐱2\mathbf{x}^{\prime}_{2} and 𝐱\mathbf{x}^{\prime} respectively.

Define h1(𝐱2,s,s)=(𝐱2)r+3+i=1rsi(𝐱2)i+1+s2𝐱2h_{1}(\mathbf{x}_{2},s^{\prime},s)=(\mathbf{x}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{i}(\mathbf{x}_{2})^{i+1}+s_{2}\mathbf{x}_{2}.

δ𝐱\displaystyle\delta_{\mathbf{x}^{\prime}} =\displaystyle= PSucc(k,c) with (vf,sf,sf) corresponding to 𝐱\displaystyle\text{ $P_{Succ}(k,c)$~{} with }(v_{f},s^{\prime}_{f},s_{f})\text{ corresponding to }\mathbf{x}^{\prime} (30)
=\displaystyle= 𝔼(k,c,𝐳)(K,C,𝐙)[Pr[vf=[(𝐱2)r+3+i=1rsf,i(𝐱2)i+1+sf,2𝐱2]1t+(𝐱1)3+sf,1𝐱1|K=k,C=c,𝐙=𝐳]]\displaystyle\mathbb{E}_{(k,c,\mathbf{z})\leftarrow(K,C,\mathbf{Z})}\Big{[}\Pr\big{[}v_{f}=\big{[}(\mathbf{x}^{\prime}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{f,i}(\mathbf{x}^{\prime}_{2})^{i+1}+s_{f,2}\mathbf{x}^{\prime}_{2}\big{]}_{1\cdots t}+(\mathbf{x}^{\prime}_{1})^{3}+s_{f,1}\mathbf{x}^{\prime}_{1}|K=k,C=c,\mathbf{Z}=\mathbf{z}\big{]}\Big{]}
=\displaystyle= 𝔼(k,c,𝐳)(K,C,𝐙)[𝖯𝗋[vf=[h1(𝐱2,sf,sf)]1t+(𝐱1)3+sf,1𝐱1\displaystyle\mathbb{E}_{(k,c,\mathbf{z})\leftarrow(K,C,\mathbf{Z})}\Big{[}\mathsf{Pr}\big{[}v_{f}=\big{[}h_{1}(\mathbf{x}^{\prime}_{2},s^{\prime}_{f},s_{f})\big{]}_{1\cdots t}+(\mathbf{x}^{\prime}_{1})^{3}+s_{f,1}\mathbf{x}^{\prime}_{1}\wedge
v=[h1(𝐱2,s,s)]1t+(𝐱1)3+s1𝐱1|K=k,C=c,𝐙=𝐳]]\displaystyle\qquad\qquad\qquad\qquad\quad v=\big{[}h_{1}(\mathbf{x}_{2},s^{\prime},s)\big{]}_{1\cdots t}+(\mathbf{x}_{1})^{3}+s_{1}\mathbf{x}_{1}|K=k,C=c,\mathbf{Z}=\mathbf{z}\big{]}\Big{]}
\displaystyle\leq 𝔼(k,c,𝐳)(K,C,𝐙)[(r+3)(r+2)2n2tmax{max𝐱𝐲:Pr(𝐱|𝐲)2νP(𝐲|𝐙=𝐳,V=v,K=k),\displaystyle\mathbb{E}_{(k,c,\mathbf{z})\leftarrow(K,C,\mathbf{Z})}\big{[}(r+3)(r+2)2^{n-2t}\max\{\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}P(\mathbf{y}^{\prime}|\mathbf{Z}=\mathbf{z},V=v,K=k),
max𝐲𝐱:Pr(𝐱|𝐲)2νP(𝐱|𝐙=𝐳,V=v,K=k)}]\displaystyle\qquad\qquad\qquad\qquad\quad\qquad\qquad\qquad\qquad\quad\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}P(\mathbf{x}^{\prime}|\mathbf{Z}=\mathbf{z},V=v,K=k)\}\big{]}
\displaystyle\leq (r+3)(r+2)2n2t2t+𝔼𝐳𝐙[max{max𝐱𝐲:Pr(𝐱|𝐲)2νP(𝐲|𝐙=𝐳),max𝐲𝐱:Pr(𝐱|𝐲)2νP(𝐱|𝐙=𝐳)}]\displaystyle(r+3)(r+2)2^{n-2t}2^{t+\ell}\mathbb{E}_{\mathbf{z}\leftarrow\mathbf{Z}}\Big{[}\max\{\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}P(\mathbf{y}^{\prime}|\mathbf{Z}=\mathbf{z}),\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}P(\mathbf{x}^{\prime}|\mathbf{Z}=\mathbf{z})\}\Big{]} (31)
=\displaystyle= (r+3)(r+2)2n+t𝔼𝐳𝐙[max{max𝐱𝐲:Pr(𝐱|𝐲)2νP(𝐲|𝐙=𝐳),max𝐲𝐱:Pr(𝐱|𝐲)2νP(𝐱|𝐙=𝐳)}]\displaystyle(r+3)(r+2)2^{n+\ell-t}\mathbb{E}_{\mathbf{z}\leftarrow\mathbf{Z}}\Big{[}\max\{\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}P(\mathbf{y}^{\prime}|\mathbf{Z}=\mathbf{z}),\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}P(\mathbf{x}^{\prime}|\mathbf{Z}=\mathbf{z})\}\Big{]} (32)

where equation 30 follows from Lemma 5 part (2) and equation 13 since the adversary is given a key and ciphertext pair (k,(v,s,s))\big{(}k,(v,s^{\prime},s)\big{)}; equation 31 follows from Lemma 4.

Therefore, from equations 2027 and 32, we have that after one encapsulation query, the probability that an adversary will be able to forge a ciphertext is at most

(r+3)(r+2)2n+t𝔼𝐳𝐙[max{max𝐱𝐲:Pr(𝐱|𝐲)2νP(𝐲|𝐙=𝐳),max𝐲𝐱:Pr(𝐱|𝐲)2νP(𝐱|𝐙=𝐳)}].\displaystyle(r+3)(r+2)2^{n+\ell-t}\mathbb{E}_{\mathbf{z}\leftarrow\mathbf{Z}}\Big{[}\max\{\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}P(\mathbf{y}^{\prime}|\mathbf{Z}=\mathbf{z}),\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}P(\mathbf{x}^{\prime}|\mathbf{Z}=\mathbf{z})\}\Big{]}.

Step 3: PSuccqdP_{Succ}^{q_{d}}: Including decapsulation queries. For each decapsulation query, the adversary receives either a key, if the forged ciphertext is accepted by the decapsulation algorithm, and or \perp, otherwise. The adversary succeeds with the first query that is successful. After qdq_{d} unsuccessful decapsulation queries, the size of the set of possible guesses will reduce by log(qd)\log(q_{d}). Thus, after one encapsulation query and qdq_{d} decapsulation queries, PSuccP_{Succ}  is bounded by

PSuccP_{Succ} \displaystyle\leq 2log(qd)(r+3)(r+2)2n+t𝔼𝐳𝐙[max{max𝐱𝐲:Pr(𝐱|𝐲)2νP(𝐲|𝐙=𝐳),max𝐲𝐱:Pr(𝐱|𝐲)2νP(𝐱|𝐙=𝐳)}]\displaystyle 2^{\log(q_{d})}(r+3)(r+2)2^{n+\ell-t}\mathbb{E}_{\mathbf{z}\leftarrow\mathbf{Z}}\Big{[}\max\{\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}P(\mathbf{y}^{\prime}|\mathbf{Z}=\mathbf{z}),\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}P(\mathbf{x}^{\prime}|\mathbf{Z}=\mathbf{z})\}\Big{]}
=\displaystyle= qd(r+3)(r+2)2n+tmax{𝔼𝐳𝐙[max𝐱𝐲:Pr(𝐱|𝐲)2νP(𝐲|𝐙=𝐳)],\displaystyle q_{d}(r+3)(r+2)2^{n+\ell-t}\max\{\mathbb{E}_{\mathbf{z}\leftarrow\mathbf{Z}}\Big{[}\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}P(\mathbf{y}^{\prime}|\mathbf{Z}=\mathbf{z})\Big{]},
𝔼𝐳𝐙[max𝐲𝐱:Pr(𝐱|𝐲)2νP(𝐱|𝐙=𝐳)]}δ.\displaystyle\qquad\qquad\qquad\qquad\qquad\qquad\quad\mathbb{E}_{\mathbf{z}\leftarrow\mathbf{Z}}\Big{[}\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}P(\mathbf{x}^{\prime}|\mathbf{Z}=\mathbf{z})\Big{]}\}\leq\delta.

Therefore, if

t+min{log(𝔼𝐳𝐙[max𝐱𝐲:Pr(𝐱|𝐲)2νP(𝐲|𝐙=𝐳)]),log(𝔼𝐳𝐙[max𝐲𝐱:Pr(𝐱|𝐲)2νP(𝐱|𝐙=𝐳)])}\displaystyle\ell\leq t+\min\{-\log(\mathbb{E}_{\mathbf{z}\leftarrow\mathbf{Z}}\Big{[}\max_{\mathbf{x}}\sum_{\mathbf{y}^{\prime}:\Pr(\mathbf{x}|\mathbf{y}^{\prime})\geq 2^{-\nu}}P(\mathbf{y}^{\prime}|\mathbf{Z}=\mathbf{z})\Big{]}),-\log(\mathbb{E}_{\mathbf{z}\leftarrow\mathbf{Z}}\Big{[}\max_{\mathbf{y}}\sum_{\mathbf{x}^{\prime}:\Pr(\mathbf{x}^{\prime}|\mathbf{y})\geq 2^{-\nu}}P(\mathbf{x}^{\prime}|\mathbf{Z}=\mathbf{z})\Big{]})\}
nlog(qd(r+3)(r+2)δ),\displaystyle\quad-n-\log\big{(}\frac{q_{d}(r+3)(r+2)}{\delta}\big{)},

the iKEM 𝗂𝗄𝖾𝗆cca\mathsf{ikem}_{cca} given in construction 2 is δ\delta-INT-(1;qd)(1;q_{d})-CTXT secure. ∎

Corollary 1 (CCA security).

The iKEM construction 2 is an IND-(0;qd)(0;q_{d})-CCA secure iKEM.

Proof.

According to Theorems 4 and 5 the iKEM construction 2 is both IND-qeq_{e}-CEA secure with qeq_{e} encapsulation queries, and INT-(1;qd)(1;q_{d})-CTXT secure with one encapsulation and qdq_{d} decapsulation queries. Then according to Theorems 1, the iKEM is also IND-(0;qd)(0;q_{d})-CCA secure with qdq_{d} decapsulation queries and zero encapsulation query. Therefore, if the parameters \ell, tt and ν\nu are chosen to satisfy both Theorems 4 and  5, then the iKEM construction 2 is also IND-(0;qd)(0;q_{d})-CCA secure. ∎

VI KEM combiners for iKEM

Cryptographic combiners provide robustness for cryptographic schemes against possible flaws or security breaks of the component schemes. Combiners for KEM were introduced by Giacon et al. [30] who defined a framework for combining two or more public-key KEMs. Our goal in this section is to extend their framework to allow pKEMs to be combined with public key KEMs. This is well-motivated because iKEMs are post-quantum secure and so a much wider set of KEMs with post-quantum security becomes available to the system designers.

In this section, we first define combiners for combining pKEMs (i.e. in correlated randomness model) with a public-key KEM, and then give constructions and prove their security. We focus on combiners for iKEM and public key KEMs because of subtleties of combining security of two tyoes of schemes: security against computationally unbounded and computationally bounded adversaries.

Combiners. Using the framework of Giacon et al. [30], for security parameter λ\lambda, we define a core function for combining an iKEM 𝗂𝗄𝖾𝗆=(𝗂𝗄𝖾𝗆.𝖦𝖾𝗇,𝗂𝗄𝖾𝗆.𝖤𝗇𝖼,𝗂𝗄𝖾𝗆.𝖣𝖾𝖼)\mathsf{ikem}=(\mathsf{ikem.Gen},\mathsf{ikem.Enc},\mathsf{ikem.Dec}) with correlation generating distribution P𝐗𝐘𝐙P_{\mathbf{X}\mathbf{Y}\mathbf{Z}}, output key space 𝖪𝖾𝗒𝖲𝖯𝗂𝗄𝖾𝗆(λ)=𝒦1\mathsf{KeySP}_{\mathsf{ikem}}(\lambda)=\mathcal{K}_{1}, and ciphertext space 𝒞1{\cal C}_{1}, with a public-key KEM 𝗄𝖾𝗆=(𝗄𝖾𝗆.𝖦𝖾𝗇,𝗄𝖾𝗆.𝖤𝗇𝖼,𝗄𝖾𝗆.𝖣𝖾𝖼)\mathsf{kem}=(\mathsf{kem}.\mathsf{Gen},\mathsf{kem}.\mathsf{Enc},\mathsf{kem}.\mathsf{Dec}) with public-key space 𝒫𝒦{\cal PK}, output key space 𝖪𝖾𝗒𝖲𝖯𝗄𝖾𝗆(λ)=𝒦2\mathsf{KeySP}_{\mathsf{kem}}(\lambda)=\mathcal{K}_{2}, and ciphertext space 𝒞2\mathcal{C}_{2}. The combiner
𝖢𝗈𝗆𝖻𝗂𝗄𝖾𝗆,𝗄𝖾𝗆=(𝖢𝗈𝗆𝖻.𝖦𝖾𝗇,𝖢𝗈𝗆𝖻.𝖤𝗇𝖼,𝖢𝗈𝗆𝖻.𝖣𝖾𝖼)\mathsf{Comb}_{\mathsf{ikem},\mathsf{kem}}=(\mathsf{Comb.Gen},\mathsf{Comb.Enc},\mathsf{Comb.Dec}) is a KEM with three algorithms 𝖢𝗈𝗆𝖻.𝖦𝖾𝗇\mathsf{Comb.Gen}; 𝖢𝗈𝗆𝖻.𝖤𝗇𝖼\mathsf{Comb.Enc}; and 𝖢𝗈𝗆𝖻.𝖣𝖾𝖼\mathsf{Comb.Dec} for key generation, encapsulation and decapsulation, respectively, that uses a core function, 𝖶:𝒦1×𝒦2×𝒞1×𝒞2𝒦\mathsf{W}:\mathcal{K}_{1}\times\mathcal{K}_{2}\times\mathcal{C}_{1}\times\mathcal{C}_{2}\to\mathcal{K}^{*}, to generate a session key in the key space 𝒦\mathcal{K}^{*}, using the algorithms defined in Figure. 6.

𝐀𝐥𝐠𝐨𝖢𝗈𝗆𝖻.𝖦𝖾𝗇(1λ,P𝐗𝐘𝐙)\mathbf{Algo}\ \mathsf{Comb.Gen}({1^{\lambda}},P_{\mathbf{X}\mathbf{Y}\mathbf{Z}}) 𝐀𝐥𝐠𝐨𝖢𝗈𝗆𝖻.𝖤𝗇𝖼(rA,pk)\mathbf{Algo}\ \mathsf{Comb.Enc}(r_{A},pk)
(rA,rB,rE)$𝗂𝗄𝖾𝗆.𝖦𝖾𝗇(1λ,P𝐗𝐘𝐙)(r_{A},r_{B},r_{E})\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{ikem.Gen}(1^{\lambda},{P_{\mathbf{X}\mathbf{Y}\mathbf{Z}}}) (c1,k1)$𝗂𝗄𝖾𝗆.𝖤𝗇𝖼(rA)(c_{1},k_{1})\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{ikem.Enc}(r_{A})
(pk,sk)$𝗄𝖾𝗆.𝖦𝖾𝗇(1λ)(pk,sk)\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{kem.Gen}(1^{\lambda}) (c2,k2)$𝗄𝖾𝗆.𝖤𝗇𝖼(pk)(c_{2},k_{2})\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{kem.Enc}({pk})
Return (rA,rB,rE,pk,sk)(r_{A},r_{B},r_{E},{pk},{sk}) k𝖶(k1,k2,c1,c2){k}\leftarrow\mathsf{W}(k_{1},k_{2},c_{1},c_{2})
Return (k,c1,c2)(k,c_{1},c_{2})
𝐀𝐥𝐠𝐨𝖢𝗈𝗆𝖻.𝖣𝖾𝖼(rB,sk,c1,c2)\mathbf{Algo}\ \mathsf{Comb.Dec}(r_{B},sk,c_{1},c_{2})
k1𝗂𝗄𝖾𝗆.𝖣𝖾𝖼(rB,c1)k_{1}\leftarrow\mathsf{ikem.Dec}(r_{B},c_{1})
k2𝗄𝖾𝗆.𝖣𝖾𝖼(sk,c2)k_{2}\leftarrow\mathsf{kem.Dec}({sk},c_{2})
If k1=k2=:Return\quad\text{If }k_{1}=\perp\vee\ k_{2}=\perp:{\text{Return}\perp}
k𝖶(k1,k2,c1,c2){k}\leftarrow\mathsf{W}(k_{1},k_{2},c_{1},c_{2})
Return kk
Figure 6: Combining an iKEM with a public-key KEM

One can also define combiners for other combinations of component KEMs, i.e. two iKEMs , two cKEMs, an iKEM and a cKEM, and a cKEM and public key KEM, with private samples (rA,rB,rE(r_{A},r_{B},r_{E}) that generates a pair (c1,k1)(c_{1},k_{1}) where key k1{0,1}𝗂𝗄𝖾𝗆.𝖫𝖾𝗇(λ)k_{1}\in\{0,1\}^{\mathsf{ikem.Len}(\lambda)} and ciphertext c1𝒞1c_{1}\in\mathcal{C}_{1}, and let KEM 𝖪\mathsf{K} be a public-key with public and private key pair (pk,sk)(pk,sk) that generates

Construction 3 (XOR combiner.).

Let 𝗂𝗄𝖾𝗆\mathsf{ikem} be an iKEM with with private samples (rA,rB,rE)(r_{A},r_{B},r_{E}), and 𝗄𝖾𝗆\mathsf{kem} be a public-key KEM with public and private key pair (pk,sk)(pk,sk) that generate keys k1{0,1}𝗂𝗄𝖾𝗆.𝖫𝖾𝗇(λ)k_{1}\in\{0,1\}^{\mathsf{ikem.Len}(\lambda)} and k2{0,1}𝗄𝖾𝗆.𝖫𝖾𝗇(λ)k_{2}\in\{0,1\}^{\mathsf{kem.Len}(\lambda)}, respectively, and let {0,1}𝗂𝗄𝖾𝗆.𝖫𝖾𝗇(λ)={0,1}𝗄𝖾𝗆.𝖫𝖾𝗇(λ)={0,1}(λ)\{0,1\}^{\mathsf{ikem.Len}(\lambda)}=\{0,1\}^{\mathsf{kem.Len}(\lambda)}=\{0,1\}^{\ell(\lambda)}. The combiner 𝖢𝗈𝗆𝖻𝗂𝗄𝖾𝗆,𝗄𝖾𝗆\mathsf{Comb}_{\mathsf{ikem},\mathsf{kem}}^{\oplus} with an XOR core function 𝖶\mathsf{W}, outputs k=𝖶(k1,k2)=k1k2k=\mathsf{W}(k_{1},k_{2})=k_{1}\oplus k_{2} when none of kik_{i}’s for i{1,2},i\in\{1,2\}, is \perp, and outputs \perp otherwise.

The following theorem shows that for a given qe0q_{e}\geq 0, the XOR combiner retains the IND-qeq_{e}-CEA security of the component iKEM. The proof is given in Appendix C.

Theorem 6.

For security parameter λ\lambda, let 𝗂𝗄𝖾𝗆=(𝗂𝗄𝖾𝗆.𝖦𝖾𝗇,𝗂𝗄𝖾𝗆.𝖤𝗇𝖼,𝗂𝗄𝖾𝗆.𝖣𝖾𝖼)\mathsf{ikem}=(\mathsf{ikem.Gen},\mathsf{ikem.Enc},\mathsf{ikem.Dec}) be an IND-qeq_{e}-CEA secure iKEM that generates k1{0,1}(λ)k_{1}\in\{0,1\}^{\ell(\lambda)}, and 𝗄𝖾𝗆=(𝗄𝖾𝗆.𝖦𝖾𝗇,𝗄𝖾𝗆.𝖤𝗇𝖼,𝗄𝖾𝗆.𝖣𝖾𝖼)\mathsf{kem}=(\mathsf{kem.Gen},\mathsf{kem.Enc},\mathsf{kem.Dec}) be a public-key KEM with the same security parameter that generates k2{0,1}(λ)k_{2}\in\{0,1\}^{\ell(\lambda)} of the same length. Consider a combiner KEM 𝖢𝗈𝗆𝖻𝗂𝗄𝖾𝗆,𝗄𝖾𝗆\mathsf{Comb}^{\oplus}_{\mathsf{ikem},\mathsf{kem}} using the XOR core function that combines 𝗂𝗄𝖾𝗆\mathsf{ikem} and 𝗄𝖾𝗆\mathsf{kem}, and generates the key k=k1k2k=k_{1}\oplus k_{2}. For a computationally unbounded adversary 𝖣\mathsf{D}, there exists a computationally unbounded adversary 𝖣\mathsf{D}^{\prime}, such that

Adv𝖢𝗈𝗆𝖻𝗂𝗄𝖾𝗆,𝗄𝖾𝗆,𝖣pkind-qe-cea(λ)Adv𝗂𝗄𝖾𝗆,𝖣pkind-qe-cea(λ).Adv^{pkind\text{-}q_{e}\text{-}cea}_{\mathsf{Comb}_{\mathsf{ikem},\mathsf{kem}}^{\oplus},\mathsf{D}}(\lambda)\leq Adv^{pkind\text{-}q_{e}\text{-}cea}_{\mathsf{ikem},\mathsf{D}^{\prime}}(\lambda).

In the above theorem, computational security of 𝖢𝗈𝗆𝖻𝗂𝗄𝖾𝗆,𝗄𝖾𝗆\mathsf{Comb}^{\oplus}_{\mathsf{ikem},\mathsf{kem}} follows [30, Lemma 1] as an iKEM can be seen as an insecure KEM for polynomial number of queries.

CCA security. The XOR combiner cannot retain the IND-(qe;qd)(q_{e};q_{d})-CCA security of the component iKEM (with similar reasoning as [30, Lemma 2]).

We show the PRF-then-XOR core function in [30] can be used to combine an iKEM with a public-key KEM such that, in addition to resulting in a secure public-key KEM, if the PRF output is indistinguishable from uniform by a computationally unbounded and query-bounded adversary, the resulting KEM will be an IND-(qe;qd)(q_{e};q_{d})-CCA secure iKEM.

Definition 8 (PRF and its security).

Let λ\lambda be a security parameter. We use λ\lambda as an argument for values to make dependence on λ\lambda as a parameter, explicit. A family of functions 𝖥:𝒦×𝒳𝒴\mathsf{F}:\mathcal{K}\times\mathcal{X}\to\mathcal{Y}, where 𝒦\mathcal{K}, 𝒳\mathcal{X} and 𝒴\mathcal{Y}, respectively, are finite sets corresponding to key, input and outputs, is a secure PRF, if the advantage of an adversary in the distinguishing game of PRF, defined in Figure. 7, satisfies the following:

  1. (i)

    Computationally secure PRF: For any computationally bounded adversary 𝖡\mathsf{B} with access to q(λ)q(\lambda) queries, where qq is a polynomial, the advantage of the adversary defined as, Adv𝖥,𝖡PRF(λ)|Pr[PRI𝖥,𝖡0(λ)=1]Pr[PRI𝖥,𝖡1(λ)=1]|Adv^{PRF}_{\mathsf{F},\mathsf{B}}(\lambda)\triangleq|\Pr[\mathrm{PRI}^{0}_{\mathsf{F},\mathsf{B}}(\lambda)=1]-\Pr[\mathrm{PRI}^{1}_{\mathsf{F},\mathsf{B}}(\lambda)=1]|, is a negligible function of λ\lambda.

  2. (ii)

    Information theoretic PRF: For any computationally unbounded adversary 𝖴\mathsf{U} with access to q(λ)q(\lambda) queries, where qq is a pre-defined polynomial in λ\lambda, the advantage of the adversary defined as,
    Adv𝖥,𝖴q-PRF(λ)|Pr[PRI𝖥,𝖴q-IND-0(λ)=1]Pr[PRI𝖥,𝖴q-IND-1(λ)=1]|Adv^{q\text{-}PRF}_{\mathsf{F},\mathsf{U}}(\lambda)\triangleq|\Pr[\mathrm{PRI}^{q\text{-}IND\text{-}0}_{\mathsf{F},\mathsf{U}}(\lambda)=1]-\Pr[\mathrm{PRI}^{q\text{-}IND\text{-}1}_{\mathsf{F},\mathsf{U}}(\lambda)=1]|, is a small function σ()\sigma(\cdot) of λ\lambda i.e. σ()SMALL\sigma(\cdot)\in SMALL.

The games PRI𝖥,𝖡b\mathrm{PRI}_{\mathsf{F},\mathsf{B}}^{b} (or the games PRI𝖥,𝖴q-IND-b\mathrm{PRI}^{q\text{-}IND\text{-}b}_{\mathsf{F},\mathsf{U}}) are chosen using a uniformly random bit b{0,1}b\in\{0,1\}.

PRF distinguishing game. The PRF distinguishing game for a function family 𝖥:𝒦×𝒳𝒴\mathsf{F}:\mathcal{K}\times\mathcal{X}\to\mathcal{Y} where 𝒦\mathcal{K}, 𝒳\mathcal{X} and 𝒴\mathcal{Y}, respectively, are finite sets corresponding to key, input and output, is defined in Figure 7.

Game PRI𝖥,𝖣b(λ)\mathrm{PRI}^{b}_{\mathsf{F},\mathsf{D}}(\lambda)                   Oracle 𝖤𝗏𝖺𝗅(x)\mathsf{Eval}(x)

1:𝒳\mathcal{X}\leftarrow\emptyset
2:k$𝒦k\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathcal{K}
3:b$𝖣2𝖤𝗏𝖺𝗅b^{\prime}\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{D}_{2}^{\mathsf{Eval}}
4:Return bb^{\prime}
1:If x𝒳x\in\mathcal{X}: Abort
2:𝒳=𝒳{x}\mathcal{X}=\mathcal{X}\cup\{x\}
3:y𝖥(k,x)y\leftarrow\mathsf{F}(k,x)
4:y0y;y1$𝒴y_{0}\leftarrow y;y_{1}\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathcal{Y}
5:Return yby_{b}
Figure 7: PRF distinguishing game
Construction 4 (PRF-then-XOR combiner.).

Let λ\lambda be the security parameter. Consider an iKEM 𝗂𝗄𝖾𝗆\mathsf{ikem} with private samples (rA,rB,rE)(r_{A},r_{B},r_{E}) that generates a pair (c1,k1)(c_{1},k_{1}) where key k1{0,1}𝗂𝗄𝖾𝗆.𝖫𝖾𝗇(λ)k_{1}\in\{0,1\}^{\mathsf{ikem.Len}(\lambda)} and ciphertext c1𝒞1c_{1}\in\mathcal{C}_{1}, and let KEM 𝖪\mathsf{K} be a public-key with public and private key pair (pk,sk)(pk,sk) that generates a pair (c2,k2)(c_{2},k_{2}) where key k2{0,1}𝗄𝖾𝗆.𝖫𝖾𝗇(λ)k_{2}\in\{0,1\}^{\mathsf{kem.Len}(\lambda)} and ciphertext c2𝒞2c_{2}\in\mathcal{C}_{2}. Further, let 𝖥1:{0,1}𝗂𝗄𝖾𝗆.𝖫𝖾𝗇(λ)×𝒞2𝒦\mathsf{F}_{1}:\mathcal{\{}0,1\}^{\mathsf{ikem.Len}(\lambda)}\times\mathcal{C}_{2}\to\mathcal{K} and 𝖥2:{0,1}𝗄𝖾𝗆.𝖫𝖾𝗇(λ)×𝒞1𝒦\mathsf{F}_{2}:\{0,1\}^{\mathsf{kem.Len}(\lambda)}\times\mathcal{C}_{1}\to\mathcal{K} be two PRFs with information theoretic and computational security, respectively.

The combiner 𝖢𝗈𝗆𝖻𝗂𝗄𝖾𝗆,𝗄𝖾𝗆PtX\mathsf{Comb}_{\mathsf{ikem},\mathsf{kem}}^{\mathrm{PtX}} with the core function PRF-then-XOR outputs 𝖶(k1,k2,c1,c2)=𝖥1(k1,c2)𝖥2(k2,c1)\mathsf{W}(k_{1},k_{2},c_{1},c_{2})=\mathsf{F}_{1}(k_{1},c_{2})\oplus\mathsf{F}_{2}(k_{2},c_{1}) when neither k1k_{1} nor k2k_{2} is \perp, and outputs \perp otherwise.

Theorem 7.

In Construction 4, let 𝗂𝗄𝖾𝗆\mathsf{ikem} and 𝗄𝖾𝗆\mathsf{kem} be an IND-(qe;qd)(q_{e};q_{d})-CCA secure iKEM and an IND-CCA secure KEM, respectively, and let 𝖥1()\mathsf{F}_{1}(\cdot) and 𝖥2()\mathsf{F}_{2}(\cdot) be two PRFs, with security against a computationally unbounded adversary with (qd+1)(q_{d}+1) queries, and a computationally bounded adversary with polynomial number of queries, respectively. Then for any

(a) computationally bounded distinguisher 𝖡\mathsf{B}, there exists computationally bounded adversaries 𝖡1\mathsf{B}_{1} and 𝖡2\mathsf{B}_{2} for games pKIND𝗄𝖾𝗆cca\mathrm{pKIND}^{cca}_{\mathsf{kem}} and PRI𝖥2b\mathrm{PRI}^{b}_{\mathsf{F}_{2}}, respectively, such that,

Adv𝖢𝗈𝗆𝖻𝗂𝗄𝖾𝗆,𝗄𝖾𝗆PtX,𝖣kind-cca(λ)2(Adv𝗄𝖾𝗆,𝖡1kind-cca(λ)+Adv𝖥2,𝖡2PRF(λ)),Adv^{kind\text{-}cca}_{\mathsf{Comb}^{\mathrm{PtX}}_{\mathsf{ikem},\mathsf{kem}},\mathsf{D}}(\lambda)\leq 2\Big{(}Adv^{kind\text{-}cca}_{\mathsf{kem},\mathsf{B}_{1}}(\lambda)+Adv^{PRF}_{\mathsf{F}_{2},\mathsf{B}_{2}}(\lambda)\Big{)}, (33)

(b) computationally unbounded distinguisher 𝖣\mathsf{D}^{\prime}, there exists a computationally unbounded adversaries 𝖴1\mathsf{U}_{1} and 𝖴2\mathsf{U}_{2} for games pKIND𝗂𝗄𝖾𝗆(qe;qd)-cca\mathrm{pKIND}^{(q_{e};q_{d})\text{-}cca}_{\mathsf{ikem}} and PRI𝖥1(qd+1)-IND-b\mathrm{PRI}^{(q_{d}+1)\text{-}IND\text{-}b}_{\mathsf{F}_{1}}, respectively, such that

Adv𝖢𝗈𝗆𝖻𝗂𝗄𝖾𝗆,𝗄𝖾𝗆PtX,𝖣pkind-(qe;qd)-cca(λ)2(Adv𝗂𝗄𝖾𝗆,𝖴1pkind-(qe;qd)-cca(λ)+Adv𝖥1,𝖴2(qd+1)-PRF(λ)).\displaystyle Adv^{pkind\text{-}(q_{e};q_{d})\text{-}cca}_{\mathsf{Comb}^{\mathrm{PtX}}_{\mathsf{ikem},\mathsf{kem}},\mathsf{D}^{\prime}}(\lambda)\leq 2\Big{(}Adv^{pkind\text{-}(q_{e};q_{d})\text{-}cca}_{\mathsf{ikem},\mathsf{U}_{1}}(\lambda)+Adv^{(q_{d}+1)\text{-}PRF}_{\mathsf{F}_{1},\mathsf{U}_{2}}(\lambda)\Big{)}.

Proof sketch. The proof for a computationally bounded adversary will follow the approach of Theorem 3 in [30], noting that the iKEM will loose its security when the number of queries exceed the design parameter of iKEM after repeated queries. The proof for a computationally unbounded adversary is given in Appendix D.

Instantiating PRF for construction 4. To construct a PRF with security against a computationally unbounded adversary with access to (qd+1)(q_{d}+1)-queries, we can use a (qd+2)(q_{d}+2)-independent hash function. An example construction using polynomials over finite fields is given in [67, Section 4.1].

The drawback of this PRF however is its large key size. We leave more efficient constructions of information-theoretic PRF 𝖥1()\mathsf{F}_{1}(\cdot) for the required number of queries for future work.

Note that security of PRF 𝖥1()\mathsf{F}_{1}(\cdot) in the combiner construction 4 against computationally unbounded adversaries, does not depend on the number of encapsulation queries to the combiner. Intuitively, this is because in each encapsulation query to combiner, the component iKEM generates a fresh uniform and independent key which is used as the secret key in PRF 𝖥1()\mathsf{F}_{1}(\cdot), and so the output of PRF 𝖥1()\mathsf{F}_{1}(\cdot) is independent of previous encapsulation and decapsulation queries.

VI-A Composing a “combined” KEM with a DEM

Security requirements of DEM in Theorem 2 is identical to Cramer et. al’s [1, Theorem 7.2] and so the same DEM can be used for secure hybrid encryption for information theoretically secure KEM and public key KEM. The KEM combiner’s output will be used with a secure DEM (example construction is given in [1]), and depending on the security of the component KEM, will result in a secure hybrid encryption with one of the following security properties:

  1. (i)

    If the component KEM is a secure iKEM with IND-qeq_{e}-CEA (IND-(qe;qd)(q_{e};q_{d})-CCA) security, the combiner’s output key will be secure against computationally unbounded attackers, and the resulting hybrid encryption provides security according to Theorem 2, cases (3) and (4).

  2. (ii)

    If an IND-CEA (IND-CCA) cKEM is used as a component in the preprocessing model, the combiner’s output will be secure against computationally bounded adversary, and the resulting hybrid encryption will be secure according to Theorem  2, cases (1) and (2).

  3. (iii)

    If the public-key KEM is secure, the resulting hybrid encryption provides security according to [1, Theorem 7.2].

VII Concluding remarks.

KEM/DEM in the preprocessing model is a natural and useful extension of KEM/DEM paradigm that does not require public keys and so computational assumptions. The paradigm is defined for information theoretic and computational security. That is each of the two components KEM and DEM, and the final HE, may be defined against a computationally unbounded or bounded adversaries. We prove a general composition theorem for KEM and DEM when security of KEM is against a computationally unbounded or bounded adversary, and security of DEM is against a computationally bounded adversary. We focused on these combinations of adversaries to obtain a key efficient HE. Defining DEM with information theoretic security will lead to HE constructions with high secret key requirement (i.e. essentially similar to one-time-pad).

We also defined and constructed combiners with provable security that combine KEMs in preprocessing model with public-key KEMs. Efficient and secure construction of core functions for combining iKEM and public key KEMs that retain CCA security of component KEMs is an interesting direction for future work.

An HE in preprocessing model is a private key encryption where the private keys are correlated random strings (not symmetric), and so security notions are defined similar to symmetric key encryption systems. Combiners for iKEM and public-key KEM widens the range of possible KEMs, and allow fuzzy data to be used for communication with provable security.

Construction of KEMs with computational security in preprocessing model for specific P𝐗𝐘𝐙P_{\mathbf{X}\mathbf{Y}\mathbf{Z}} is an interesting direction for future work.

References

  • [1] R. Cramer and V. Shoup, “Design and analysis of practical public-key encryption schemes secure against adaptive chosen ciphertext attack,” SIAM J. Comput., vol. 33, no. 1, pp. 167–226, 2003. [Online]. Available: https://doi.org/10.1137/S0097539702403773
  • [2] J. Herranz, D. Hofheinz, and E. Kiltz, “Some (in)sufficient conditions for secure hybrid encryption,” Inf. and Computat., vol. 208, no. 11, pp. 1243–1257, 2010. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S089054011000132X
  • [3] E. Kiltz, “Chosen-Ciphertext Security from Tag-Based Encryption,” in Theory of Cryptogr. Conf.   Springer, 2006, pp. 581–600. [Online]. Available: http://link.springer.com/10.1007/11681878{_}30
  • [4] K. Kurosawa and Y. Desmedt, “A new paradigm of hybrid encryption scheme,” in Annu. Int. Cryptol. Conf.   Springer, 2004, pp. 426–442.
  • [5] J. Herranz, D. Hofheinz, and E. Kiltz, “The kurosawa-desmedt key encapsulation is not chosen-ciphertext secure.” IACR Cryptol. ePrint Arch., vol. 2006, p. 207, 2006.
  • [6] M. Abe, R. Gennaro, K. Kurosawa, and V. Shoup, “Tag-kem/dem: A new framework for hybrid encryption and a new analysis of kurosawa-desmedt kem,” in Advances in Cryptology – EUROCRYPT 2005.   Springer Berlin Heidelberg, 2005, pp. 128–146.
  • [7] H. Shacham, “A cramer-shoup encryption scheme from the linear assumption and from progressively weaker linear variants,” Cryptology ePrint Archive, Paper 2007/074, 2007, https://eprint.iacr.org/2007/074. [Online]. Available: https://eprint.iacr.org/2007/074
  • [8] P. Schwabe, D. Stebila, and T. Wiggers, “Post-quantum tls without handshake signatures,” in Proceedings of the 2020 ACM SIGSAC Conference on Computer and Communications Security, ser. CCS ’20.   New York, NY, USA: Association for Computing Machinery, 2020, p. 1461–1480. [Online]. Available: https://doi.org/10.1145/3372297.3423350
  • [9] P. Shor, “Algorithms for quantum computation: discrete logarithms and factoring,” in Proceedings 35th Annual Symposium on Foundations of Computer Science, 1994, pp. 124–134.
  • [10] J. Bos, L. Ducas, E. Kiltz, T. Lepoint, V. Lyubashevsky, J. M. Schanck, P. Schwabe, G. Seiler, and D. Stehle, “CRYSTALS - Kyber: A CCA-Secure Module-Lattice-Based KEM,” in 2018 IEEE Eur. Symp. Secur. Priv. (EuroS&P), IEEE.   IEEE, apr 2018, pp. 353–367. [Online]. Available: https://ieeexplore.ieee.org/document/8406610/
  • [11] N. I. of Standards and T. group, “Post-quantum cryptography standardization,” https://csrc.nist.gov/Projects/post-quantum-cryptography/post-quantum-cryptography-standardization/round-3-submissions, 2022, national Institute of Standards and Technology.
  • [12] L. K. Grover, “A fast quantum mechanical algorithm for database search,” in Proceedings of the Twenty-Eighth Annual ACM Symposium on Theory of Computing, ser. STOC ’96.   New York, NY, USA: Association for Computing Machinery, 1996, p. 212–219. [Online]. Available: https://doi.org/10.1145/237814.237866
  • [13] U. Maurer, “Secret Key Agreement by Public Discussion from Common Information,” IEEE Trans. Inf. Theory, vol. 39, no. 3, pp. 733–742, may 1993. [Online]. Available: https://ieeexplore.ieee.org/document/256484/
  • [14] R. Ahlswede and I. Csiszar, “Common Randomness in Information Theory and Cryptography. I. Secret Sharing,” IEEE Trans. Inf. Theory, vol. 39, no. 4, pp. 1121–1132, 1993. [Online]. Available: http://ieeexplore.ieee.org/document/243431/
  • [15] T. Holenstein and R. Renner, “One-way secret-key agreement and applications to circuit polarization and immunization of public-key encryption,” in Annu. Int. Cryptol. Conf.   Springer, 2005, pp. 478–493.
  • [16] T. Holenstein, “Strengthening Key Agreement using Hard-core Sets,” Ph.D. dissertation, ETH Zurich, 2006.
  • [17] J. M. Renes, R. Renner, and D. Sutter, “Efficient One-Way Secret-Key Agreement and Private Channel Coding via Polarization,” in Int. Conf. Theory Appl. Cryptol. Inf. Secur., ser. LNCS, K. Sako and P. Sarkar, Eds.   Springer, 2013, vol. 8269, pp. 194–213. [Online]. Available: http://link.springer.com/10.1007/978-3-642-42033-7{_}11
  • [18] R. A. Chou, M. R. Bloch, and E. Abbe, “Polar Coding for Secret-Key Generation,” IEEE Trans. Inf. Theory, vol. 61, no. 11, pp. 6213–6237, nov 2015. [Online]. Available: http://ieeexplore.ieee.org/document/7217814/
  • [19] S. Sharifian, A. Poostindouz, and R. Safavi-Naini, “A capacity-achieving one-way key agreement with improved finite blocklength analysis,” in Int. Symp. on Inf. Theory and Its Appl., ISITA 2020.   IEEE, 2020, pp. 407–411. [Online]. Available: https://ieeexplore.ieee.org/document/9366148
  • [20] Y. Dodis, L. Reyzin, and A. D. Smith, “Fuzzy extractors: How to generate strong keys from biometrics and other noisy data,” in Advances in Cryptol. - EUROCRYPT 2004,, ser. LNCS, C. Cachin and J. Camenisch, Eds., vol. 3027.   Springer, 2004, pp. 523–540. [Online]. Available: https://doi.org/10.1007/978-3-540-24676-3_31
  • [21] Y. Dodis, R. Ostrovsky, L. Reyzin, and A. D. Smith, “Fuzzy extractors: How to generate strong keys from biometrics and other noisy data,” SIAM J. Comput., vol. 38, no. 1, pp. 97–139, 2008. [Online]. Available: https://doi.org/10.1137/060651380
  • [22] X. Boyen, “Reusable cryptographic fuzzy extractors,” in Proceedings of the 11th ACM Conf. on Computer and communications security, 2004, pp. 82–91.
  • [23] X. Boyen, Y. Dodis, J. Katz, R. Ostrovsky, and A. Smith, “Secure remote authentication using biometric data,” in Annual Int. Conf. Theory Appl. Cryptographic Techniques.   Springer, 2005, pp. 147–163.
  • [24] Y. Dodis, B. Kanukurthi, J. Katz, L. Reyzin, and A. D. Smith, “Robust fuzzy extractors and authenticated key agreement from close secrets,” IEEE Trans. Inf. Theory, vol. 58, no. 9, pp. 6207–6222, 2012. [Online]. Available: https://doi.org/10.1109/TIT.2012.2200290
  • [25] R. Canetti, B. Fuller, O. Paneth, L. Reyzin, and A. Smith, “Reusable fuzzy extractors for low-entropy distributions,” in Annual Int. Conf. Theory Appl. Cryptographic Techniques.   Springer, 2016, pp. 117–146.
  • [26] C. H. Bennett and G. Brassard, “Quantum cryptography: Public key distribution and coin tossing,” in Proceedings of IEEE International Conference on Computers, Systems and Signal Processing, 1984, pp. 175–179.
  • [27] U. Maurer, “Information-theoretically secure secret-key agreement by not authenticated public discussion,” in EUROCRYPT ’97, 1997, pp. 209–225.
  • [28] U. Maurer and S. Wolf, “Secret-Key Agreement over Unauthenticated Public Channels-Part II: The Simulatability Condition,” IEEE Trans. Inf. Theory, vol. 49, no. 4, pp. 832–838, apr 2003. [Online]. Available: http://ieeexplore.ieee.org/document/1193794/
  • [29] S. Panja, S. Jiang, and R. Safavi-Naini, “A one-way secret key agreement with security against active adversaries,” in 2023 IEEE International Symposium on Information Theory (ISIT), 2023, pp. 2314–2319.
  • [30] F. Giacon, F. Heuer, and B. Poettering, “KEM Combiners,” in IACR Int. Work. Public Key Cryptogr.   Springer, 2018, pp. 190–218. [Online]. Available: http://link.springer.com/10.1007/978-3-319-76578-5{_}7
  • [31] N. Bindel, J. Brendel, M. Fischlin, B. Goncalves, and D. Stebila, “Hybrid key encapsulation mechanisms and authenticated key exchange,” in Int. Conf. Post-Quantum Cryptogr.   Springer, 2019, pp. 206–226.
  • [32] S. Sharifian and R. Safavi-Naini, “Information-theoretic key encapsulation and its application to secure communication,” in 2021 IEEE Int. Symp. on Inf. Theory (ISIT).   IEEE, 2021, pp. 2393–2398.
  • [33] A. W. Dent, “A Designer’s Guide to KEMs,” in IMA Int. Conf. on Cryptogr. and Coding.   Springer, 2003, pp. 133–151. [Online]. Available: http://link.springer.com/10.1007/978-3-540-40974-8{_}12
  • [34] K. Bentahar, P. Farshim, J. Malone-Lee, and N. P. Smart, “Generic Constructions of Identity-Based and Certificateless KEMs,” J. Cryptol., vol. 21, no. 2, pp. 178–199, apr 2008. [Online]. Available: http://link.springer.com/10.1007/s00145-007-9000-z
  • [35] K. Haralambiev, T. Jager, E. Kiltz, and V. Shoup, “Simple and Efficient Public-Key Encryption from Computational Diffie-Hellman in the Standard Model,” in IACR Int. Work. Public Key Cryptogr.   Springer, 2010, pp. 1–18. [Online]. Available: http://link.springer.com/10.1007/978-3-642-13013-7{_}1
  • [36] J. Ding, X. Xie, and X. Lin, “A Simple Provably Secure Key Exchange Scheme Based on the Learning with Errors Problem.” IACR Cryptol. ePrint Archive, vol. 2012, p. 688, 2012.
  • [37] C. Peikert, “Lattice Cryptography for the Internet,” in Int. Work. Post-Quantum Cryptogr.   Springer, 2014, pp. 197–219. [Online]. Available: http://link.springer.com/10.1007/978-3-319-11659-4{_}12
  • [38] M. Albrecht, C. Cid, K. Paterson, C. Tjhai, and M. Tomlinson, “Nts-kem — round 2 submission,” https://csrc.nist.gov/CSRC/media/Presentations/nts-kem-round-2-presentation/images-media/nts-kem.pdf, 2019, national Institute of Standards and Technology.
  • [39] T. Matsuda and J. C. N. Schuldt, “A New Key Encapsulation Combiner,” in 2018 Int. Symp. Inf. Theory Its Appl. (ISITA).   IEEE, 2018, pp. 698–702.
  • [40] D. Harnik, J. Kilian, M. Naor, O. Reingold, and A. Rosen, “On Robust Combiners for Oblivious Transfer and Other Primitives,” in Annu. Int. Conf. Theory Appl. Cryptographic Techniques.   Springer, 2005, pp. 96–113. [Online]. Available: http://link.springer.com/10.1007/11426639{_}6
  • [41] C. H. Bennett, G. Brassard, and J.-M. Robert, “Privacy Amplification by Public Discussion,” SIAM J. Comput., vol. 17, no. 2, pp. 210–229, apr 1988. [Online]. Available: http://epubs.siam.org/doi/10.1137/0217014
  • [42] R. Renner and S. Wolf, “Smooth Renyi Entropy and Applications,” in 2004 IEEE Int. Symp. Inf. Theory (ISIT)., IEEE.   IEEE, 2004, pp. 232–232. [Online]. Available: http://ieeexplore.ieee.org/document/1365269/
  • [43] T. Holenstein and R. Renner, “On the Randomness of Independent Experiments,” IEEE Trans. Inf. Theory, vol. 57, no. 4, pp. 1865–1871, apr 2011. [Online]. Available: http://ieeexplore.ieee.org/document/5730579/
  • [44] M. Tomamichel, J. Martinez-Mateo, C. Pacher, and D. Elkouss, “Fundamental finite key limits for information reconciliation in quantum key distribution,” in 2014 IEEE Int. Symp. on Inf. Theory, 2014, pp. 1469–1473.
  • [45] U. Maurer and S. Wolf, “Secret-Key Agreement over Unauthenticated Public Channels-Part I: Definitions and a Completeness Result,” IEEE Trans. Inf. Theory, vol. 49, no. 4, pp. 822–831, apr 2003. [Online]. Available: http://ieeexplore.ieee.org/document/1193793/
  • [46] R. Renner and S. Wolf, “The exact price for unconditionally secure asymmetric cryptography,” in Adv. Cryptol. - EUROCRYPT 2004, C. Cachin and J. L. Camenisch, Eds.   Berlin, Heidelberg: Springer Berlin Heidelberg, 2004, pp. 109–125.
  • [47] B. Kanukurthi and L. Reyzin, “Key Agreement from Close Secrets over Unsecured Channels,” in Annu. Int. Conf. Theory Appl. Cryptographic Techniques.   Springer, 2009, pp. 206–223. [Online]. Available: http://link.springer.com/10.1007/978-3-642-01001-9{_}12
  • [48] C. E. Shannon, “Communication Theory of Secrecy Systems*,” Bell System Technical Journal, vol. 28, no. 4, pp. 656–715, oct 1949. [Online]. Available: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=6769090
  • [49] S. Even and O. Goldreich, “On the power of cascade ciphers,” in Adv. Cryptol.   Boston, MA: Springer US, 1985, vol. 3, pp. 43–50. [Online]. Available: http://link.springer.com/10.1007/978-1-4684-4730-9{_}4
  • [50] U. M. Maurer and J. L. Massey, “Cascade Ciphers: The Importance of Being First,” J. Cryptol., vol. 6, no. 1, pp. 55–61, mar 1993. [Online]. Available: http://link.springer.com/10.1007/BF02620231
  • [51] M. Fischlin and A. Lehmann, “Security-amplifying combiners for collision-resistant hash functions,” in Advances in Cryptology - CRYPTO 2007, A. Menezes, Ed.   Berlin, Heidelberg: Springer Berlin Heidelberg, 2007, pp. 224–243.
  • [52] A. Herzberg, “Folklore, practice and theory of robust combiners,” Cryptology ePrint Archive, Paper 2002/135, 2002, https://eprint.iacr.org/2002/135. [Online]. Available: https://eprint.iacr.org/2002/135
  • [53] D. Beaver, “Precomputing oblivious transfer,” in Annu. Int. Cryptol. Conf.   Springer, 1995, pp. 97–109.
  • [54] R. Bendlin, I. Damgård, C. Orlandi, and S. Zakarias, “Semi-homomorphic Encryption and Multiparty Computation,” in Annu. Int. Conf. Theory Appl. Cryptographic Techniques.   Springer, 2011, pp. 169–188. [Online]. Available: http://link.springer.com/10.1007/978-3-642-20465-4{_}11
  • [55] Y. Ishai, E. Kushilevitz, S. Meldgaard, C. Orlandi, and A. Paskin-Cherniavsky, “On the power of correlated randomness in secure computation,” in Theory of Cryptogr. Conf.   Springer, 2013, pp. 600–620.
  • [56] S. Garg, Y. Ishai, and A. Srinivasan, “Two-round mpc: information-theoretic and black-box,” in Theory of Cryptogr. Conf.   Springer, 2018, pp. 123–151.
  • [57] B. Pfitzmann and M. Waidner, “A model for asynchronous reactive systems and its application to secure message transmission,” in Proc. 2001 IEEE Symp. Secur. Privacy. S&P 2001.   IEEE, 2000, pp. 184–200.
  • [58] R. Impagliazzo, L. A. Levin, and M. Luby, “Pseudo-Random Generation from One-Way Functions,” in Proc. 21st Annu. ACM Symp. Theory Comput. -STOC ’89.   New York, New York, USA: ACM Press, 1989, pp. 12–24. [Online]. Available: http://portal.acm.org/citation.cfm?doid=73007.73009
  • [59] R. Cramer, G. Hanaoka, D. Hofheinz, H. Imai, E. Kiltz, R. Pass, A. Shelat, and V. Vaikuntanathan, “Bounded CCA2-Secure Encryption,” in Int. Conf. Theory Appl. Cryptol. Inf. Secur.   Springer, 2007, pp. 502–518. [Online]. Available: http://link.springer.com/10.1007/978-3-540-76900-2{_}31
  • [60] M. Bellare and C. Namprempre, “Authenticated encryption: Relations among notions and analysis of the generic composition paradigm,” in Int. Conf. Theory Appl. Cryptol. Inf. Secur.   Springer, 2000, pp. 531–545.
  • [61] J. Katz and M. Yung, “Characterization of security notions for probabilistic private-key encryption,” J. Cryptol., vol. 19, no. 1, pp. 67–95, 2006.
  • [62] T. Holenstein and R. Renner, “On the randomness of independent experiments,” IEEE Trans. Inf. Theor., vol. 57, no. 4, pp. 1865–1871, 2011.
  • [63] M. Bellare and P. Rogaway, “Optimal asymmetric encryption,” in Advances in Cryptology — EUROCRYPT’94, A. De Santis, Ed.   Berlin, Heidelberg: Springer Berlin Heidelberg, 1995, pp. 92–111.
  • [64] M. Bellare and A. Palacio, “Towards plaintext-aware public-key encryption without random oracles,” in Advances in Cryptology - ASIACRYPT 2004, P. J. Lee, Ed.   Berlin, Heidelberg: Springer Berlin Heidelberg, 2004, pp. 48–62.
  • [65] J. L. Coolidge, “A treatise on algebraic plane curves,” New York: Dover, 1959, p. 10.
  • [66] E. W. Weisstein, “Bézout’s theorem,” From MathWorld–A Wolfram Web Resource, https://mathworld.wolfram.com/BezoutsTheorem.html. [Online]. Available: https://mathworld.wolfram.com/BezoutsTheorem.html
  • [67] B. Barak, R. Shaltiel, and E. Tromer, “True Random Number Generators Secure in a Changing Environment,” in Int. Workshop on Cryptographic Hardware and Embedded Systems.   Springer, 2003, pp. 166–180. [Online]. Available: http://link.springer.com/10.1007/978-3-540-45238-6{_}14
  • [68] M. Bellare and P. Rogaway, “Introduction to modern cryptography,” 2005, https://web.cs.ucdavis.edu/~rogaway/classes/227/spring05/book/main.pdf. [Online]. Available: https://web.cs.ucdavis.edu/~rogaway/classes/227/spring05/book/main.pdf

Appendix A Proof of Theorem 1

1.1. To prove the first part of the theorem, we define two consecutive games: the first game G𝗉𝗄𝖾𝗆,𝖣0-b\mathrm{G}^{0\text{-}b}_{\mathsf{pkem},\mathsf{D}} is the CCA distinguishing game pKIND𝗉𝗄𝖾𝗆,𝖣cca-b(λ)\mathrm{pKIND}_{\mathsf{pkem},\mathsf{D}}^{cca\text{-}b}(\lambda) in Fig 3 and G𝗉𝗄𝖾𝗆,𝖣1-b\mathrm{G}^{1\text{-}b}_{\mathsf{pkem},\mathsf{D}} is the same game except for its decapsulation oracle that always outputs \perp. We have:

Adv𝗉𝗄𝖾𝗆,𝖣pkind-cca(λ)\displaystyle Adv^{pkind\text{-}cca}_{\mathsf{pkem},\mathsf{D}}(\lambda) =|Pr[pKIND𝗉𝗄𝖾𝗆,𝖣cca-0(λ)=1]Pr[pKIND𝗉𝗄𝖾𝗆,𝖣cca-1(λ)=1]|\displaystyle=|\mathrm{Pr}[\mathrm{pKIND}_{\mathsf{pkem},\mathsf{D}}^{cca\text{-}0}(\lambda)=1]-\mathrm{Pr}[\mathrm{pKIND}_{\mathsf{pkem},\mathsf{D}}^{cca\text{-}1}(\lambda)=1]|
=|Pr[G𝗉𝗄𝖾𝗆,𝖣0-0=1]Pr[G𝗉𝗄𝖾𝗆,𝖣0-1=1]|\displaystyle=|\mathrm{Pr}[\mathrm{G}^{0\textbf{-}0}_{\mathsf{pkem},\mathsf{D}}=1]-\mathrm{Pr}[\mathrm{G}^{0\textbf{-}1}_{\mathsf{pkem},\mathsf{D}}=1]| (35)
=|Pr[G𝗉𝗄𝖾𝗆,𝖣0-0=1]Pr[G𝗉𝗄𝖾𝗆,𝖣1-0=1]+Pr[G𝗉𝗄𝖾𝗆,𝖣1-0=1]\displaystyle=|\mathrm{Pr}[\mathrm{G}^{0\textbf{-}0}_{\mathsf{pkem},\mathsf{D}}=1]-\mathrm{Pr}[\mathrm{G}^{1\textbf{-}0}_{\mathsf{pkem},\mathsf{D}}=1]+\mathrm{Pr}[\mathrm{G}^{1\textbf{-}0}_{\mathsf{pkem},\mathsf{D}}=1]
Pr[G𝗉𝗄𝖾𝗆,𝖣1-1=1]+Pr[G𝗉𝗄𝖾𝗆,𝖣1-1=1]Pr[G𝗉𝗄𝖾𝗆,𝖣0-1=1]|\displaystyle\quad-\mathrm{Pr}[\mathrm{G}^{1\textbf{-}1}_{\mathsf{pkem},\mathsf{D}}=1]+\mathrm{Pr}[\mathrm{G}^{1\textbf{-}1}_{\mathsf{pkem},\mathsf{D}}=1]-\mathrm{Pr}[\mathrm{G}^{0\textbf{-}1}_{\mathsf{pkem},\mathsf{D}}=1]|
|Pr[G𝗉𝗄𝖾𝗆,𝖣0-0=1]Pr[G𝗉𝗄𝖾𝗆,𝖣1-0=1]|+|Pr[G𝗉𝗄𝖾𝗆,𝖣1-0=1]Pr[G𝗉𝗄𝖾𝗆,𝖣1-1=1]|\displaystyle\leq|\mathrm{Pr}[\mathrm{G}^{0\textbf{-}0}_{\mathsf{pkem},\mathsf{D}}=1]-\mathrm{Pr}[\mathrm{G}^{1\textbf{-}0}_{\mathsf{pkem},\mathsf{D}}=1]|+|\mathrm{Pr}[\mathrm{G}^{1\textbf{-}0}_{\mathsf{pkem},\mathsf{D}}=1]-\mathrm{Pr}[\mathrm{G}^{1\textbf{-}1}_{\mathsf{pkem},\mathsf{D}}=1]|
+|Pr[G𝗉𝗄𝖾𝗆,𝖣1-1=1]Pr[G𝗉𝗄𝖾𝗆,𝖣0-1=1]|\displaystyle\quad+|\mathrm{Pr}[\mathrm{G}^{1\textbf{-}1}_{\mathsf{pkem},\mathsf{D}}=1]-\mathrm{Pr}[\mathrm{G}^{0\textbf{-}1}_{\mathsf{pkem},\mathsf{D}}=1]|

where equation 35 is simply using G𝗉𝗄𝖾𝗆,𝖣0-0\mathrm{G}^{0\textbf{-}0}_{\mathsf{pkem},\mathsf{D}} and G𝗉𝗄𝖾𝗆,𝖣0-1\mathrm{G}^{0\textbf{-}1}_{\mathsf{pkem},\mathsf{D}} in lieu of pKIND𝗉𝗄𝖾𝗆,𝖣cca-0\mathrm{pKIND}_{\mathsf{pkem},\mathsf{D}}^{cca\text{-}0} and pKIND𝗉𝗄𝖾𝗆,𝖣cca-1\mathrm{pKIND}_{\mathsf{pkem},\mathsf{D}}^{cca\text{-}1} respectively, and inequality 35 is by triangle inequality.

To bound the first and the last terms of inequality 35, let U1U_{1} be the event that 𝖣\mathsf{D} outputs 1 in game G𝗉𝗄𝖾𝗆,𝖣0-b\mathrm{G}^{0\text{-}b}_{\mathsf{pkem},\mathsf{D}} and U2U_{2} be the event that 𝖣\mathsf{D} outputs 1 in game G𝗉𝗄𝖾𝗆,D1-b\mathrm{G}^{1\text{-}b}_{\mathsf{pkem},D} for b{0,1}b\in\{0,1\}. These two games are identical except when the decapsulation oracle output is not \perp in G𝗉𝗄𝖾𝗆,D0-b\mathrm{G}^{0\text{-}b}_{\mathsf{pkem},D}, lets call this event F. The event F is the union of qdq_{d} events i=1qdFi\cup^{q_{d}}_{i=1}F_{i}, where FiF_{i} is the event that the output of the decapsulation oracle in the ii-th call is not \perp. Let A be the adversary in game KINT𝗉𝗄𝖾𝗆,A\mathrm{KINT}_{\mathsf{pkem},A} that makes qdq_{d} queries to the decapsulation oracle. We have Pr[Fi]Adv𝗉𝗄𝖾𝗆,Akint(λ)\mathrm{Pr}[F_{i}]\leq Adv^{kint}_{\mathsf{pkem},A}(\lambda) and therefore, from the union bound Pr[F]i=1qdPr[Fi]qdPr[KINT𝗉𝗄𝖾𝗆,A=1]=qdAdv𝗉𝗄𝖾𝗆,Akint(λ)\mathrm{Pr}[F]\leq\sum^{q_{d}}_{i=1}\mathrm{Pr}[F_{i}]\leq q_{d}\mathrm{Pr}[\mathrm{KINT}_{\mathsf{pkem},A}=1]=q_{d}Adv^{kint}_{\mathsf{pkem},A}(\lambda), and from Lemma 6.26.2 of [1]:

|Pr[G𝗉𝗄𝖾𝗆,D0-b=1]Pr[G𝗉𝗄𝖾𝗆,D1-b=1]|=|Pr[U1]Pr[U2]|Pr[F]qdAdv𝗉𝗄𝖾𝗆,Akint(λ)\displaystyle|\mathrm{Pr}[\mathrm{G}^{0\text{-}b}_{\mathsf{pkem},D}=1]-\mathrm{Pr}[\mathrm{G}^{1\text{-}b}_{\mathsf{pkem},D}=1]|=|\mathrm{Pr}[U_{1}]-\mathrm{Pr}[U_{2}]|\leq\mathrm{Pr}[F]\leq q_{d}Adv^{kint}_{\mathsf{pkem},A}(\lambda) (36)

To bound the second term in inequality 35, we note that in G𝗉𝗄𝖾𝗆,D1-b\mathrm{G}^{1\text{-}b}_{\mathsf{pkem},D} for b{0,1}b\in\{0,1\}, the decapsulation oracle always output \perp and simulates the IND-CEA game pKIND𝗉𝗄𝖾𝗆,Bcea-b(λ)\mathrm{pKIND}^{cea\text{-}b}_{\mathsf{pkem},B}(\lambda). Therefore,

|Pr[G𝗉𝗄𝖾𝗆,D1-0=1]Pr[G𝗉𝗄𝖾𝗆,D1-1=1]|Adv𝗉𝗄𝖾𝗆,Bpkind-cea(λ)|\mathrm{Pr}[\mathrm{G}^{1\text{-}0}_{\mathsf{pkem},D}=1]-\mathrm{Pr}[\mathrm{G}^{1\text{-}1}_{\mathsf{pkem},D}=1]|\leq Adv^{pkind\text{-}cea}_{\mathsf{pkem},B}(\lambda) (37)

Finally, from inequalities 36 and 37 we have

Adv𝗉𝗄𝖾𝗆,Dpkind-cca(λ)2qdAdv𝗉𝗄𝖾𝗆,Akint(λ)+Adv𝗉𝗄𝖾𝗆,Bpkind-cea(λ)Adv^{pkind\text{-}cca}_{\mathsf{pkem},D}(\lambda)\leq 2q_{d}Adv^{kint}_{\mathsf{pkem},A}(\lambda)+Adv^{pkind\text{-}cea}_{\mathsf{pkem},B}(\lambda)

.

2.2. The proof of the second part of the theorem uses the same sequence of games, but against a computationally unbounded adversary. We can similarly bound the CCA advantage of the adversary by bounding the advantage of these games.

Appendix B Proof of Theorem 2

We first show the claim of the theorem for the second case that is, an IND-CCA secure KEM in preprocessing model and an IND-OTCCA secure DEM construct an IND-CCA secure hybrid encryption scheme in preprocessing model. The proof of the first case will follow from the proof of the second case. The proof of the third and forth cases are identical to the proof of first and second cases respectively and noting that the adversary for the iKEM is query-bounded and computationally unbounded.

We define a sequence of three games G0-b\mathrm{G}^{0\text{-}b}, G1-b\mathrm{G}^{1\text{-}b}, and G2-b\mathrm{G}^{2\text{-}b} that simulate adversary’s actual or modified interaction with the encryption system during the attack procedure. Each game operates on the same underlying probability space. In particular, private inputs of parties, randomness of the adversary’s algorithm, and the hidden bit b take on identical values across all games. At the end of each game, the adversary outputs a bit b^\hat{b}. For a game Gi-b\mathrm{G}^{i\text{-}b}, where i{0,1,2}i\in\{0,1,2\} with output b^\hat{b}, TiT_{i} denotes the event that b^=b\hat{b}=b. All games are played by a computationally bounded distinguisher D. GD0-b\mathrm{G}^{0\text{-}b}_{D} is identical to the distinguishing game of hybrid encryption in preprocessing model explained above. GD1-b\mathrm{G}^{1\text{-}b}_{D} only differs from GD0-b\mathrm{G}^{0\text{-}b}_{D} in its decapsulation oracle. Suppose the challenge HE ciphertext c=(c1,c2)c^{*}=(c_{1}^{*},c_{2}^{*}), where c1c_{1}^{*} is generated by 𝖼𝗄𝖾𝗆.𝖤𝗇𝖼\mathsf{ckem.Enc} and c2c_{2}^{*} is generated by SE.Enc. Then for any decryption query c=(c1,c2)(c1,c2)c=(c_{1},c_{2})\neq(c_{1}^{*},c_{2}^{*}), the decryption oracle of GD1-b\mathrm{G}^{1\text{-}b}_{D} uses 𝖼𝗄𝖾𝗆.𝖣𝖾𝖼\mathsf{ckem.Dec} to decrypt the ciphertext unless c1=c1c_{1}=c_{1}^{*} (and c2c2)c_{2}\neq c_{2}^{*}). In this case, the key k1k_{1} corresponding to c1c_{1}^{*} that is generated by 𝖼𝗄𝖾𝗆.𝖤𝗇𝖼\mathsf{ckem.Enc} will be used for the decryption of c2c_{2}^{*}. Finally, GD2-b\mathrm{G}^{2\text{-}b}_{D} only differs from GD1-b\mathrm{G}^{1\text{-}b}_{D} in using a uniformly sampled key instead of the key generated by cKEM for encryption and answering encryption and decryption queries. We bound Adv𝖧𝖤𝖼𝗄𝖾𝗆,𝖲𝖤,Dind-cca(λ)Adv^{ind\text{-}cca}_{\mathsf{HE}_{\mathsf{ckem},\mathsf{SE}},D}(\lambda) using the defined games: For a given sample sam = (rA,rB,rE)(r_{A},r_{B},r_{E}) generated by 𝖼𝗄𝖾𝗆.𝖦𝖾𝗇\mathsf{ckem.Gen}, we define BKsamBK_{sam}, a set of bad keys k, generated by 𝖼𝗄𝖾𝗆.𝖤𝗇𝖼\mathsf{ckem.Enc}, as BKsam={k:𝖼𝗄𝖾𝗆.𝖣𝖾𝖼(rB,c)k}BK_{sam}=\{k:\mathsf{ckem.Dec}(r_{B},c)\neq k\}. According to the correctness of 𝖼𝗄𝖾𝗆\mathsf{ckem}, for k${0,1}l(λ)k\leftarrow^{\$}\{0,1\}^{l(\lambda)} we have Pr[kBKsam]ϵ\mathrm{Pr}[k\in BK_{sam}]\leq\epsilon. The two events T0T_{0} and T1T_{1} are only different when the event [𝖼𝗄𝖾𝗆.𝖣𝖾𝖼(rB,c1)BKsam][\mathsf{ckem.Dec}(r_{B},c_{1}^{*})\in BK_{sam}] happens. Using Lemma 6.26.2 of [1], we have

|Pr[T0]Pr[T1]|Pr[kBKsam]ϵ|\mathrm{Pr}[T_{0}]-\mathrm{Pr}[T_{1}]|\leq\mathrm{Pr}[k\in BK_{sam}]\leq\epsilon (38)

We now consider the game GD2-b\mathrm{G}^{2\text{-}b}_{D} and GD1-b\mathrm{G}^{1\text{-}b}_{D}. The game GD2-b\mathrm{G}^{2\text{-}b}_{D} is same as GD1-b\mathrm{G}^{1\text{-}b}_{D} except that GD2-b\mathrm{G}^{2\text{-}b}_{D} uses a uniformly sampled key instead of the key generated by cKEM for encryption and decryption queries. Since the KEM’s key is σ\sigma-IND-CCA secure, there exists an adversary DD^{\prime} such that

|Pr[T1]Pr[T2]|=Adv𝖼𝗄𝖾𝗆,Dkind-cca(λ)σ|\mathrm{Pr}[T_{1}]-\mathrm{Pr}[T_{2}]|=Adv^{kind\text{-}cca}_{\mathsf{ckem},D^{\prime}}(\lambda)\leq\sigma (39)

In the above case, the adversary DD^{\prime} just runs the adversary DD. Specifically, DD^{\prime} is playing an attack game against KEM in which kbk_{b} is equal to kk^{*} in game GD1-b\mathrm{G}^{1\text{-}b}_{D}, whereas kbk_{b} is a uniformly sampled random value in the game GD2-b\mathrm{G}^{2\text{-}b}_{D}.

Lastly, note that in game GD2-b\mathrm{G}^{2\text{-}b}_{D}, a new random key is sampled for each encryption/decryption query. Thus in this game, the adversary DD is just executing a chosen ciphertext attack against SE. Therefore, there exists an adversary D′′D^{\prime\prime} such that

|Pr[T2]1/2|=12AdvSE,D′′ind-otcca(λ)σ2|\mathrm{Pr}[T_{2}]-1/2|=\frac{1}{2}Adv^{ind\text{-}otcca}_{SE,D^{\prime\prime}}(\lambda)\leq\frac{\sigma^{\prime}}{2} (40)

Since Adv𝖧𝖤𝖼𝗄𝖾𝗆,𝖲𝖤,Dind-cca(λ)=2|Pr[T0]1/2|Adv^{ind\text{-}cca}_{\mathsf{HE}_{\mathsf{ckem},\mathsf{SE}},D}(\lambda)=2|\mathrm{Pr}[T_{0}]-1/2|, using inequalities 38, 39, 40 we have

Adv𝖧𝖤𝖼𝗄𝖾𝗆,𝖲𝖤,Dind-cca(λ)\displaystyle Adv^{ind\text{-}cca}_{\mathsf{HE}_{\mathsf{ckem},\mathsf{SE}},D}(\lambda) =2|Pr[T0]1/2|\displaystyle=2|\mathrm{Pr}[T_{0}]-1/2|
=2|Pr[T0]Pr[T1]+Pr[T1]Pr[T2]+Pr[T2]1/2|\displaystyle=2|\mathrm{Pr}[T_{0}]-\mathrm{Pr}[T_{1}]+\mathrm{Pr}[T_{1}]-\mathrm{Pr}[T_{2}]+\mathrm{Pr}[T_{2}]-1/2|
2|Pr[T0]Pr[T1]|+2|Pr[T1]Pr[T2]|+2|Pr[T2]1/2|\displaystyle\leq 2|\mathrm{Pr}[T_{0}]-\mathrm{Pr}[T_{1}]|+2|\mathrm{Pr}[T_{1}]-\mathrm{Pr}[T_{2}]|+2|\mathrm{Pr}[T_{2}]-1/2|
2ϵ+2σ+σ.\displaystyle\leq 2\epsilon+2\sigma+\sigma^{\prime}.

For the proof of the first part, we note that GD0-b\mathrm{G}^{0\text{-}b}_{D} and GD1-b\mathrm{G}^{1\text{-}b}_{D} are identical because no decryption query is issued. Therefore, |Pr[T1]Pr[T0]|=0|\mathrm{Pr}[T_{1}]-\mathrm{Pr}[T_{0}]|=0. Also since there is no decryption query and the KEM is σ\sigma-IND-CEA secure we have,

|Pr[T1]Pr[T2]|Adv𝖼𝗄𝖾𝗆,Dkind-qe-cea(λ)σ;|\mathrm{Pr}[T_{1}]-\mathrm{Pr}[T_{2}]|\leq Adv^{kind\text{-}q_{e}\text{-}cea}_{\mathsf{ckem},D}(\lambda)\leq\sigma;

and since the DEM is σ\sigma^{\prime}-IND-OT secure, we have,

|Pr[T2]1/2|=(AdvSE,Dind-ot(λ))/2σ/2|\mathrm{Pr}[T_{2}]-1/2|=(Adv^{ind\text{-}ot}_{SE,D}(\lambda))/2\leq\sigma^{\prime}/2

and finally,

Adv𝖧𝖤𝖼𝗄𝖾𝗆,𝖲𝖤,Dind-cea(λ)=2|Pr[T0]1/2|2σ+σ.Adv^{ind\text{-}cea}_{\mathsf{HE}_{\mathsf{ckem},\mathsf{SE}},D}(\lambda)=2|\mathrm{Pr}[T_{0}]-1/2|\leq 2\sigma+\sigma^{\prime}.

Appendix C Proof of Theorem 6

In the qeq_{e}-CEA distinguishing game of 𝗂𝗄𝖾𝗆\mathsf{ikem}, the distinguisher 𝖣\mathsf{D}^{\prime} receives rEr_{E}, 𝐯qe-cea=(v1cea,,vqecea)\mathbf{v}^{q_{e}\text{-}cea}=({v_{1}}^{cea},\cdots,{v_{q_{e}}}^{cea}), where vicea{v_{i}}^{cea} is the encapsulation oracle’s output to the iith encapsulation query, and the pair of challenge ciphertext and key (c1,k1b)(c_{1}^{*},k^{*}_{1_{b}}), and is supposed to distinguish if k1bk^{*}_{1_{b}} is generated by 𝗂𝗄𝖾𝗆\mathsf{ikem} or is sampled uniformly. 𝖣{\mathsf{D}}^{\prime} uses the KEM 𝗄𝖾𝗆\mathsf{kem} to generate (pk,sk)(pk,sk) and produces (c2,k2)$𝗄𝖾𝗆.𝖤𝗇𝖼(pk)({c^{\prime}}_{2}^{*},{k^{\prime}}_{2}^{*})\stackrel{{\scriptstyle\$}}{{\leftarrow}}\mathsf{kem.Enc}(pk). Then sends 𝐜\mathbf{c}^{*} and kk^{*} to 𝖣\mathsf{D}, where 𝐜=(c1,c2)\mathbf{c}^{*}=(c_{1}^{*},{c^{\prime}}_{2}^{*}) and k=k1bk2{k}^{*}=k_{1_{b}}^{*}\oplus{k^{\prime}}_{2}^{*} to 𝖣\mathsf{D}. Finally, 𝖣\mathsf{D}^{\prime} outputs bb^{\prime} equal to 𝖣\mathsf{D}’s output. The advantages of 𝖣\mathsf{D} and is upper bounded by 𝖣\mathsf{D}^{\prime} because kk^{*} is a sample from the uniform distribution only if k1bk_{1_{b}} is a sample from the uniform distribution. Since we assumed that 𝖣\mathsf{D} breaks the IND-qeq_{e}-CEA security of the combined key, then 𝖣\mathsf{D}^{\prime} can break the IND-qeq_{e}-CEA security of the iKEM which is a contradiction. \ \qed

Appendix D Proof of Theorem 7

The proof for a computationally bounded adversary will be based on the proof of Theorem 3 in [30], and noting that the iKEM will loose its security after a fixed number of repeated queries. We shall prove part (b)(b) of the theorem 7.

To prove the part (b)(b) of the Theorem 7, let D=(D1,D2)D^{\prime}=(D_{1},D_{2}) denote a computationally unbounded adversary attacking the CCA security of the combiner Comb𝗂𝗄𝖾𝗆,𝗄𝖾𝗆PtXComb^{PtX}_{\mathsf{ikem},\mathsf{kem}} by making at most qeq_{e} encapsulation and qdq_{d} ciphertext (decapsulation) queries in the CCA distinguishing game pKINDComb,D(qe;qd)-cca-b\mathrm{pKIND}^{(q_{e};q_{d})\text{-}cca\text{-}b}_{Comb,D^{\prime}}, and bb be uniform over {0,1}.

pKINDComb,D(qe;qd)-cca-b:=GComb,D0-b\mathrm{pKIND}^{(q_{e};q_{d})\text{-}cca\text{-}b}_{Comb,D^{\prime}}:=\mathrm{G}^{0\text{-}b}_{Comb,D^{\prime}}   1: Ret[.]Ret[.]\leftarrow\perp

2: (rA,rB,rE)$𝗂𝗄𝖾𝗆.𝖦𝖾𝗇(1λ,P𝐗𝐘𝐙)(r_{A},r_{B},r_{E})\xleftarrow{\$}\mathsf{ikem.Gen}(1^{\lambda},P_{\mathbf{X}\mathbf{Y}\mathbf{Z}})

3: (sk,pk)$𝗄𝖾𝗆.𝖦𝖾𝗇(1λ)(s_{k},p_{k})\xleftarrow{\$}\mathsf{kem.Gen}(1^{\lambda})

4: st1$D1O1(rE,pk)st_{1}\xleftarrow{\$}D^{O_{1}}_{1}(r_{E},p_{k})

5: (k1,c1)$𝗂𝗄𝖾𝗆.𝖤𝗇𝖼(rA)(k^{*}_{1},c^{*}_{1})\xleftarrow{\$}\mathsf{ikem.Enc}(r_{A})

% GD1-bGD3-b:\mathrm{G}^{1\text{-}b}_{D^{\prime}}-\mathrm{G}^{3\text{-}b}_{D^{\prime}}: k1${0,1}𝗂𝗄𝖾𝗆.𝖫𝖾𝗇(λ)k^{*}_{1}\xleftarrow{\$}\{0,1\}^{\mathsf{ikem.Len}(\lambda)}

6: (k2,c2)$𝗄𝖾𝗆.𝖤𝗇𝖼(pk)(k^{*}_{2},c^{*}_{2})\xleftarrow{\$}\mathsf{kem.Enc}(p_{k})

7: c(c1,c2)c^{*}\leftarrow(c^{*}_{1},c^{*}_{2})

8: y1F1(k1,c2)y^{*}_{1}\leftarrow F_{1}(k^{*}_{1},c^{*}_{2})

% GD2-bGD4-b\mathrm{G}^{2\text{-}b}_{D^{\prime}}-\mathrm{G}^{4\text{-}b}_{D^{\prime}} : y1$𝒦y^{*}_{1}\xleftarrow{\$}\mathcal{K}

9: ky1F2(k2,c1)k^{*}\leftarrow y^{*}_{1}\oplus F_{2}(k^{*}_{2},c^{*}_{1})

10: k0k;k1$𝒦k^{\prime}_{0}\leftarrow k^{*};k^{\prime}_{1}\xleftarrow{\$}\mathcal{K}

11: b$D2O2(st1,c,kb)b^{\prime}\xleftarrow{\$}D^{O_{2}}_{2}(st_{1},c^{*},k^{\prime}_{b})

12: Return bb^{\prime}

Oracle 𝖢𝗈𝗆𝖻.𝖤𝗇𝖼(rA,pk)\mathsf{Comb.Enc}(r_{A},pk)   1: (k11,c11)$𝗂𝗄𝖾𝗆.𝖤𝗇𝖼(rA)(k_{11},c_{11})\xleftarrow{\$}\mathsf{ikem.Enc}(r_{A})

2: (k21,c21)$𝗄𝖾𝗆.𝖤𝗇𝖼(pk)(k_{21},c_{21})\xleftarrow{\$}\mathsf{kem.Enc}(p_{k})

3: kF1(k11,c21)F2(k21,c11)k\leftarrow F_{1}(k_{11},c_{21})\oplus F_{2}(k_{21},c_{11})

4: Return (k,c11,c21)(k,c_{11},c_{21})

Oracle 𝖢𝗈𝗆𝖻.𝖣𝖾𝖼(rB,sk,c)\mathsf{Comb.Dec}(r_{B},sk,c)   1: If c=cc=c^{*}: Abort

2: If Ret[c]:Ret[c]\neq\perp: Return Ret[c]Ret[c]

3: c1,c2cc_{1},c_{2}\leftarrow c

4: If c1=c1c_{1}=c^{*}_{1}:

5:        k1k1k_{1}\leftarrow k^{*}_{1}

6:        y1F1(k1,c2)y_{1}\leftarrow F_{1}(k_{1},c_{2})

%        GD2-b:\mathrm{G}^{2\text{-}b}_{D^{\prime}}: y1$𝒦y_{1}\xleftarrow{\$}\mathcal{K}

%        GD3-b:\mathrm{G}^{3\text{-}b}_{D^{\prime}}: y1$F1(k1,c2)y_{1}\xleftarrow{\$}F_{1}(k_{1},c_{2})

7: else

8:        k1$𝗂𝗄𝖾𝗆.𝖣𝖾𝖼(rB,c1)k_{1}\xleftarrow{\$}\mathsf{ikem.Dec}(r_{B},c_{1})

9:        If k1=k_{1}=\perp: Return ϵ\epsilon

10:        y1F1(k1,c2)y_{1}\leftarrow F_{1}(k_{1},c_{2})

11: k2𝗄𝖾𝗆.𝖣𝖾𝖼(sk,c2)k_{2}\leftarrow\mathsf{kem.Dec}(s_{k},c_{2})

12: If k2=k_{2}=\perp: Return ϵ\epsilon

13: Ret[c]y1F2(k2,c1)Ret[c]\leftarrow y_{1}\oplus F_{2}(k_{2},c_{1})

14: Return Ret[c]Ret[c]

Figure 8: Games GComb,D0-b\mathrm{G}^{0\text{-}b}_{Comb,D^{\prime}} to GComb,D4-b\mathrm{G}^{4\text{-}b}_{Comb,D^{\prime}} to prove security of the PRF-then-XOR combiner

The proof uses a sequence of five games. We define five games GComb,D0-b\mathrm{G}^{0\text{-}b}_{Comb,D^{\prime}} to GComb,D4-b\mathrm{G}^{4\text{-}b}_{Comb,D^{\prime}} for a uniform bb over {0,1}, played by the adversary D=(D1,D2)D^{\prime}=(D_{1},D_{2}). Figure 8 depicts these games. In each game, DD^{\prime} outputs b{0,1}b^{\prime}\in\{0,1\}. Note that, if the adversary has already queried the oracle for the same input, the oracle returns the same output.

Adversary D=(D1,D2)D^{\prime}=(D_{1},D_{2}) can call two oracles, 𝖢𝗈𝗆𝖻.𝖤𝗇𝖼(rA,pk)\mathsf{Comb.Enc}(r_{A},pk) and 𝖢𝗈𝗆𝖻.𝖣𝖾𝖼(rB,sk,)\mathsf{Comb.Dec}(r_{B},sk,\cdot) that correspond to the encapsulation and decapsulation algorithms of the combiner, and have access to the associated keys of the component KEMs. We use O1O_{1} and O2O_{2} to refer to oracle calls of DD^{\prime} before and after seeing the challenge ciphertext.

GComb,D0-b\mathrm{G}^{0\text{-}b}_{Comb,D^{\prime}} is the CCA distinguishing game of the combiner Comb𝗂𝗄𝖾𝗆,𝗄𝖾𝗆PtXComb^{PtX}_{\mathsf{ikem},\mathsf{kem}} with the distinguisher DD^{\prime} making at most qeq_{e} encapsulation and qdq_{d} decapsulation queries. That is, pKINDComb,D(qe;qd)-cca-b=GComb,D0-b\mathrm{pKIND}^{(q_{e};q_{d})\text{-}cca\text{-}b}_{Comb,D^{\prime}}=\mathrm{G}^{0\text{-}b}_{Comb,D^{\prime}}. Note that according to the PRF-then-XOR construction of the combiner (figure 8), the decapsulation oracle outputs “\perp” when the ciphertext of at least one of the components decapsulates to “\perp”.

Pr[pKINDComb,D(qe;qd)-cca-0(λ)=1]=Pr[GComb,D0-0(λ)=1]\mathrm{Pr}[\mathrm{pKIND}^{(q_{e};q_{d})\text{-}cca\text{-}0}_{Comb,D^{\prime}}(\lambda)=1]=\mathrm{Pr}[\mathrm{G}^{0\text{-}0}_{Comb,D^{\prime}}(\lambda)=1] (41)

In GComb,D1-b\mathrm{G}^{1\text{-}b}_{Comb,D^{\prime}}, the iKEM key k1k^{*}_{1} is replaced by a uniform random key (this replacement is also reflected in the decapsulation oracle Line 5 using k1k1k_{1}\leftarrow k^{*}_{1}).

Claim 1.

There exists a computationally unbounded adversary U1U_{1} whose advantage in the CCA distinguishing game of iKEM 𝗂𝗄𝖾𝗆\mathsf{ikem} with at most qeq_{e} encapsulation and qdq_{d} decapsulation queries is Adv𝗂𝗄𝖾𝗆,U1pkind-(qe;qd)-ccaAdv^{pkind\text{-}(q_{e};q_{d})\text{-}cca}_{\mathsf{ikem},U_{1}} such that

|Pr[GComb,D0-0(λ)=1]Pr[GComb,D1-0(λ)=1]|Adv𝗂𝗄𝖾𝗆,U1pkind-(qe;qd)-cca\displaystyle|\mathrm{Pr}[\mathrm{G}^{0\text{-}0}_{Comb,D^{\prime}}(\lambda)=1]-\mathrm{Pr}[\mathrm{G}^{1\text{-}0}_{Comb,D^{\prime}}(\lambda)=1]|\leq Adv^{pkind\text{-}(q_{e};q_{d})\text{-}cca}_{\mathsf{ikem},U_{1}} (42)
Proof.

(claim 1) We construct the adversary U1=(U11,U12)U_{1}=(U_{11},U_{12}) for the CCA distinguishing game of iKEM as given in figure 9.

Adversary U11U_{11} takes rEr_{E} as input. The adversary U12U_{12} runs on the challenge (c1,k1)(c^{*}_{1},k^{*}_{1}). At the end, U12U_{12} relays whatever D2D_{2} outputs.

Adversary U11O1(rE)U^{O_{1}}_{11}(r_{E})   1: (sk,pk)$𝗄𝖾𝗆.𝖦𝖾𝗇()(s_{k},p_{k})\xleftarrow{\$}\mathsf{kem.Gen}()

2: st1$D1O1(rE,pk)st_{1}\xleftarrow{\$}D^{O_{1}}_{1}(r_{E},p_{k})

3: Return st1st_{1}

Adversary U12O2(st1,c1,k1)U^{O_{2}}_{12}(st_{1},c^{*}_{1},k^{*}_{1})   1. (k2,c2)$𝗄𝖾𝗆.𝖤𝗇𝖼(pk)(k^{*}_{2},c^{*}_{2})\xleftarrow{\$}\mathsf{kem.Enc}(p_{k})

2: c(c1,c2)c^{*}\leftarrow(c^{*}_{1},c^{*}_{2})

3. y1F1(k1,c2)y^{*}_{1}\leftarrow F_{1}(k^{*}_{1},c^{*}_{2})

4: ky1F2(k2,c1)k^{*}\leftarrow y^{*}_{1}\oplus F_{2}(k^{*}_{2},c^{*}_{1})

5: b$D2O2(st1,c,k)b^{\prime}\xleftarrow{\$}D^{O_{2}}_{2}(st_{1},c^{*},k^{*})

6: Return bb^{\prime}

Oracle 𝖢𝗈𝗆𝖻.𝖤𝗇𝖼(rA,pk)\mathsf{Comb.Enc}(r_{A},pk)   1: (k11,c11)$𝗂𝗄𝖾𝗆.𝖤𝗇𝖼(rA)(k_{11},c_{11})\xleftarrow{\$}\mathsf{ikem.Enc}(r_{A})

2: (k21,c21)$𝗄𝖾𝗆.𝖤𝗇𝖼(pk)(k_{21},c_{21})\xleftarrow{\$}\mathsf{kem.Enc}(p_{k})

3: kF1(k11,c21)F2(k21,c11)k\leftarrow F_{1}(k_{11},c_{21})\oplus F_{2}(k_{21},c_{11})

4: Return (k,c11,c21)(k,c_{11},c_{21})

Oracle 𝖢𝗈𝗆𝖻.𝖣𝖾𝖼(rB,sk,c)\mathsf{Comb.Dec}(r_{B},sk,c)   1: If c=cc=c^{*}: Abort

2: c1,c2cc_{1},c_{2}\leftarrow c

3: If c1=c1c_{1}=c^{*}_{1}:

4:        k1k1k_{1}\leftarrow k^{*}_{1}

5: else

6:        k1$𝗂𝗄𝖾𝗆.𝖣𝖾𝖼(rB,c1)k_{1}\xleftarrow{\$}\mathsf{ikem.Dec}(r_{B},c_{1})

7:        If k1=k_{1}=\perp: Return ϵ\epsilon

8: y1F1(k1,c2)y_{1}\leftarrow F_{1}(k_{1},c_{2})

9: k2𝗄𝖾𝗆.𝖣𝖾𝖼(sk,c2)k_{2}\leftarrow\mathsf{kem.Dec}(s_{k},c_{2})

10: If k2=k_{2}=\perp: Return ϵ\epsilon

11: ky1F2(k2,c1)k\leftarrow y_{1}\oplus F_{2}(k_{2},c_{1})

12: Return kk

Figure 9: Adversary U1=(U11,U12)U_{1}=(U_{11},U_{12}) is in CCA key indistinguishing game of iKEM 𝗂𝗄𝖾𝗆\mathsf{ikem}, and D=(D1,D2)D^{\prime}=(D_{1},D_{2}) is the adversary in CCA key indistinguishing game of the combiner

.

In this construction, U1U_{1} issues at most as many queries as DD^{\prime}. Now if U1U_{1} is run by the game pKIND𝗂𝗄𝖾𝗆,U1(qe;qd)-cca-0\mathrm{pKIND}^{(q_{e};q_{d})\text{-}cca\text{-}0}_{\mathsf{ikem},U_{1}}, and thus, k1k^{*}_{1} is the actual key output of 𝗂𝗄𝖾𝗆.𝖤𝗇𝖼()\mathsf{ikem.Enc}(), then U1U_{1} simulates the game GComb,D0-0\mathrm{G}^{0\text{-}0}_{Comb,D^{\prime}}. On the other hand, if U1U_{1} is run by the game pKIND𝗂𝗄𝖾𝗆,U1(qe;qd)-cca-1\mathrm{pKIND}^{(q_{e};q_{d})\text{-}cca\text{-}1}_{\mathsf{ikem},U_{1}}, that is, k1k^{*}_{1} is uniformly sampled, then U1U_{1} perfectly simulates the game GComb,D1-0\mathrm{G}^{1\text{-}0}_{Comb,D^{\prime}}. Therefore, Pr[GComb,D0-0(λ)=1]=Pr[pKIND𝗂𝗄𝖾𝗆,U1(qe;qd)-cca-0(λ)=1]\mathrm{Pr}[\mathrm{G}^{0\text{-}0}_{Comb,D^{\prime}}(\lambda)=1]=\mathrm{Pr}[\mathrm{pKIND}^{(q_{e};q_{d})\text{-}cca\text{-}0}_{\mathsf{ikem},U_{1}}(\lambda)=1] and Pr[GComb,D1-0(λ)=1]=Pr[pKIND𝗂𝗄𝖾𝗆,U1(qe;qd)-cca-1(λ)=1]\mathrm{Pr}[\mathrm{G}^{1\text{-}0}_{Comb,D^{\prime}}(\lambda)=1]=\mathrm{Pr}[\mathrm{pKIND}^{(q_{e};q_{d})\text{-}cca\text{-}1}_{\mathsf{ikem},U_{1}}(\lambda)=1].

Hence,

|Pr[GComb,D0-0(λ)=1]Pr[GComb,D1-0(λ)=1]|\displaystyle|\mathrm{Pr}[\mathrm{G}^{0\text{-}0}_{Comb,D^{\prime}}(\lambda)=1]-\mathrm{Pr}[\mathrm{G}^{1\text{-}0}_{Comb,D^{\prime}}(\lambda)=1]|
=|Pr[pKIND𝗂𝗄𝖾𝗆,U1(qe;qd)-cca-0(λ)=1]Pr[pKIND𝗂𝗄𝖾𝗆,U1(qe;qd)-cca-1(λ)=1]|\displaystyle=|\mathrm{Pr}[\mathrm{pKIND}^{(q_{e};q_{d})\text{-}cca\text{-}0}_{\mathsf{ikem},U_{1}}(\lambda)=1]-\mathrm{Pr}[\mathrm{pKIND}^{(q_{e};q_{d})\text{-}cca\text{-}1}_{\mathsf{ikem},U_{1}}(\lambda)=1]|
Adv𝗂𝗄𝖾𝗆,U1pkind-(qe;qd)-cca.\displaystyle\leq Adv^{pkind\text{-}(q_{e};q_{d})\text{-}cca}_{\mathsf{ikem},U_{1}}.

In GComb,D2-b\mathrm{G}^{2\text{-}b}_{Comb,D^{\prime}}, the output of PRF F1F_{1} is replaced by a uniform sample from the output set of the PRF (line 8). This change is also applied to the decapsulation oracle (line 6).

Claim 2.

There exists a computationally unbounded adversary U2U_{2} whose advantage, after making at most qd+1q_{d}+1 EvalEval queries, in distinguishing the output of PRF F1F_{1} from a uniform sample is AdvF1,U2(qd+1)-PRFAdv^{(q_{d}+1)\text{-}PRF}_{F_{1},U_{2}} such that

|Pr[GComb,D1-0(λ)=1]Pr[GComb,D2-0(λ)=1]|AdvF1,U2(qd+1)-PRF.|\mathrm{Pr}[\mathrm{G}^{1\text{-}0}_{Comb,D^{\prime}}(\lambda)=1]-\mathrm{Pr}[\mathrm{G}^{2\text{-}0}_{Comb,D^{\prime}}(\lambda)=1]|\leq Adv^{(q_{d}+1)\text{-}PRF}_{F_{1},U_{2}}. (43)
Proof.

(claim 2) We construct the adversary U2U_{2} as given in figure 10. From line 1 and 2 of the decapsulation oracle, we ensure that the input to EvalEval is always different.

Adversary U2EvalU_{2}^{Eval}   1: Ret[.]Ret[.]\leftarrow\perp

2: (rA,rB,rE)$𝗂𝗄𝖾𝗆.𝖦𝖾𝗇(P𝐗𝐘𝐙)(r_{A},r_{B},r_{E})\xleftarrow{\$}\mathsf{ikem.Gen}(P_{\mathbf{X}\mathbf{Y}\mathbf{Z}})

3: (sk,pk)$𝗄𝖾𝗆.𝖦𝖾𝗇()(s_{k},p_{k})\xleftarrow{\$}\mathsf{kem.Gen}()

4: st1$D1O1(rE,pk)st_{1}\xleftarrow{\$}D^{O_{1}}_{1}(r_{E},p_{k})

5: (k1,c1)$𝗂𝗄𝖾𝗆.𝖤𝗇𝖼(rA)(k^{*}_{1},c^{*}_{1})\xleftarrow{\$}\mathsf{ikem.Enc}(r_{A})

6: (k2,c2)$𝗄𝖾𝗆.𝖤𝗇𝖼(pk)(k^{*}_{2},c^{*}_{2})\xleftarrow{\$}\mathsf{kem.Enc}(p_{k})

7: c(c1,c2)c^{*}\leftarrow(c^{*}_{1},c^{*}_{2})

8: y1Eval(c2)y^{*}_{1}\leftarrow Eval(c^{*}_{2})

9: ky1F2(k2,c1)k^{*}\leftarrow y^{*}_{1}\oplus F_{2}(k^{*}_{2},c^{*}_{1})

11: b$D2O2(st1,c,k)b^{\prime}\xleftarrow{\$}D^{O_{2}}_{2}(st_{1},c^{*},k^{*})

12: Return bb^{\prime}

Oracle 𝖢𝗈𝗆𝖻.𝖤𝗇𝖼(rA,pk)\mathsf{Comb.Enc}(r_{A},pk)   1: (k11,c11)$𝗂𝗄𝖾𝗆.𝖤𝗇𝖼(rA)(k_{11},c_{11})\xleftarrow{\$}\mathsf{ikem.Enc}(r_{A})

2: (k21,c21)$𝗄𝖾𝗆.𝖤𝗇𝖼(pk)(k_{21},c_{21})\xleftarrow{\$}\mathsf{kem.Enc}(p_{k})

3: kF1(k11,c21)F2(k21,c11)k\leftarrow F_{1}(k_{11},c_{21})\oplus F_{2}(k_{21},c_{11})

4: Return (k,c11,c21)(k,c_{11},c_{21})

Oracle 𝖢𝗈𝗆𝖻.𝖣𝖾𝖼(rB,sk,c)\mathsf{Comb.Dec}(r_{B},sk,c)   1: If c=cc=c^{*}: Abort

2: If Ret[c]:Ret[c]\neq\perp: Return Ret[c]Ret[c]

3: c1,c2cc_{1},c_{2}\leftarrow c

4: If c1=c1c_{1}=c^{*}_{1}:

5:        y1Eval(c2)y_{1}\leftarrow Eval(c_{2})

:: else

6:        k1$𝗂𝗄𝖾𝗆.𝖣𝖾𝖼(rB,c1)k_{1}\xleftarrow{\$}\mathsf{ikem.Dec}(r_{B},c_{1})

7:        If k1=k_{1}=\perp: Return ϵ\epsilon

8:        y1F1(k1,c2)y_{1}\leftarrow F_{1}(k_{1},c_{2})

9: k2𝗄𝖾𝗆.𝖣𝖾𝖼(sk,c2)k_{2}\leftarrow\mathsf{kem.Dec}(s_{k},c_{2})

10: If k2=k_{2}=\perp: Return ϵ\epsilon

11: Ret[c]y1F2(k2,c1)Ret[c]\leftarrow y_{1}\oplus F_{2}(k_{2},c_{1})

12: Return Ret[c]Ret[c]

Figure 10: Adversary U2U_{2} against distinguishing output of the PRF F1F_{1} from a uniform sample. Adversary D=(D1,D2)D^{\prime}=(D_{1},D_{2}) is the adversary in CCA key indistinguishing game of the combiner.

From the construction of the adversary U2U_{2}, we observe that EvalEval is called only once by U2U_{2} during generation of the challenge. In addition, for each query to the decapsulation oracle by DD^{\prime}, EvalEval is called at most once by U2U_{2}. Hence, U2U_{2} queries EvalEval at most (qd+1)(q_{d}+1) times. Now when U2U_{2} is run by the game PRIF1,U2(qd+1)-IND-0\mathrm{PRI}^{(q_{d}+1)\text{-}IND\text{-}0}_{F_{1},U_{2}}, k1k^{*}_{1} is the key generated by the game PRIF1,U2(qd+1)-IND-0\mathrm{PRI}^{(q_{d}+1)\text{-}IND\text{-}0}_{F_{1},U_{2}}. Thus, U2U_{2} emulates the game GComb,D1-0\mathrm{G}^{1\text{-}0}_{Comb,D^{\prime}}. On the other hand, when U2U_{2} is run by the game PRIF1,U2(qd+1)-IND-1\mathrm{PRI}^{(q_{d}+1)\text{-}IND\text{-}1}_{F_{1},U_{2}}, EvalEval outputs uniformly sampled value, that is, y1y^{*}_{1} in line 8 of U2EvalU_{2}^{Eval} algorithm (and line 5 of decapsulation Oracle queries) is uniformly generated. Hence U2U_{2} perfectly simulates the game GComb,D2-0\mathrm{G}^{2\text{-}0}_{Comb,D^{\prime}}. Therefore,

Pr[GComb,D1-0(λ)=1]=Pr[PRIF1,U2(qd+1)-IND-0(λ)=1]\mathrm{Pr}[\mathrm{G}^{1\text{-}0}_{Comb,D^{\prime}}(\lambda)=1]=\mathrm{Pr}[\mathrm{PRI}^{(q_{d}+1)\text{-}IND\text{-}0}_{F_{1},U_{2}}(\lambda)=1]

and

Pr[GComb,D2-0(λ)=1]=Pr[PRIF1,U2(qd+1)-IND-1(λ)=1].\mathrm{Pr}[\mathrm{G}^{2\text{-}0}_{Comb,D^{\prime}}(\lambda)=1]=\mathrm{Pr}[\mathrm{PRI}^{(q_{d}+1)\text{-}IND\text{-}1}_{F_{1},U_{2}}(\lambda)=1].

Thus,

|Pr[GComb,D1-0(λ)=1]Pr[GComb,D2-0(λ)=1]|\displaystyle|\mathrm{Pr}[\mathrm{G}^{1\text{-}0}_{Comb,D^{\prime}}(\lambda)=1]-\mathrm{Pr}[\mathrm{G}^{2\text{-}0}_{Comb,D^{\prime}}(\lambda)=1]|
=|Pr[PRIF1,U2(qd+1)-IND-0(λ)=1]Pr[PRIF1,U2(qd+1)-IND-1(λ)=1]|\displaystyle=|\mathrm{Pr}[\mathrm{PRI}^{(q_{d}+1)\text{-}IND\text{-}0}_{F_{1},U_{2}}(\lambda)=1]-\mathrm{Pr}[\mathrm{PRI}^{(q_{d}+1)\text{-}IND\text{-}1}_{F_{1},U_{2}}(\lambda)=1]|
AdvF1,U2(qd+1)-PRF.\displaystyle\leq Adv^{(q_{d}+1)\text{-}PRF}_{F_{1},U_{2}}.

In GComb,D3-b\mathrm{G}^{3\text{-}b}_{Comb,D^{\prime}}, we reverse the modifications of the decapsulation oracle that we introduced in game GComb,D2-0\mathrm{G}^{2\text{-}0}_{Comb,D^{\prime}}. Consequently, if an adversary queries its decapsulation oracle on a ciphertext cc whose first component is c1c_{1}, the oracle computes y1y_{1} by invoking the function F1F_{1} instead of returning a uniformly random value. Then, there exists an adversary U2U^{\prime}_{2} whose advantage in distinguishing the output of PRF F1F_{1} from a uniform sample is AdvF1,U2qd-PRFAdv^{q_{d}\text{-}PRF}_{F_{1},U^{\prime}_{2}} such that,

|Pr[GComb,D2-0(λ)=1]Pr[GComb,D3-0(λ)=1]|AdvF1,U2qd-PRF,\displaystyle|\mathrm{Pr}[\mathrm{G}^{2\text{-}0}_{Comb,D^{\prime}}(\lambda)=1]-\mathrm{Pr}[\mathrm{G}^{3\text{-}0}_{Comb,D^{\prime}}(\lambda)=1]|\leq Adv^{q_{d}\text{-}PRF}_{F_{1},U^{\prime}_{2}}, (44)

and U2U^{\prime}_{2} issues at most qdq_{d} EvalEval queries. We can construct such adversary U2U^{\prime}_{2} by replacing line 8 of the adversary U2U_{2} in figure 10 with uniform value (y1𝒦y^{*}_{1}\leftarrow\mathcal{K}). The proof is same as claim 2. In this case, as y1y^{*}_{1} is uniform, U2U^{\prime}_{2} calls EvalEval at most qdq_{d} times.

In GComb,D4-b\mathrm{G}^{4\text{-}b}_{Comb,D^{\prime}}, we reverse the modifications added in the game GComb,D1-b\mathrm{G}^{1\text{-}b}_{Comb,D^{\prime}} by replacing the uniform key k1k^{*}_{1} in line 5 of the game in figure 8 with an actual key output of 𝗂𝗄𝖾𝗆.𝖤𝗇𝖼()\mathsf{ikem.Enc}(). Then, there exists a computationally unbounded adversary U1U^{\prime}_{1} whose advantage in the CCA distinguishing game of iKEM 𝗂𝗄𝖾𝗆\mathsf{ikem} with qeq_{e} encapsulation and qdq_{d} decapsulation queries is Adv𝗂𝗄𝖾𝗆,U1pkind-(qe;qd)-ccaAdv^{pkind\text{-}(q_{e};q_{d})\text{-}cca}_{\mathsf{ikem},U^{\prime}_{1}} such that

|Pr[GComb,D3-0(λ)=1]Pr[GComb,D4-0(λ)=1]|Adv𝗂𝗄𝖾𝗆,U1pkind-(qe;qd)-cca\displaystyle|\mathrm{Pr}[\mathrm{G}^{3\text{-}0}_{Comb,D^{\prime}}(\lambda)=1]-\mathrm{Pr}[\mathrm{G}^{4\text{-}0}_{Comb,D^{\prime}}(\lambda)=1]|\leq Adv^{pkind\text{-}(q_{e};q_{d})\text{-}cca}_{\mathsf{ikem},U^{\prime}_{1}} (45)

To construct such adversary U1U^{\prime}_{1}, we replace line 3 of U12O2(st1,c1,k1)U^{O_{2}}_{12}(st_{1},c^{*}_{1},k^{*}_{1}) algorithm of the adversary U1U_{1} in figure 9 with (y1$𝒦)(y^{*}_{1}\xleftarrow{\$}\mathcal{K}). The proof is similar to claim 1.

Finally, we note that since in GComb,D4-b\mathrm{G}^{4\text{-}b}_{Comb,D^{\prime}}, y1y^{*}_{1} is sampled from uniform distribution, then kk^{*} is uniformly distributed and

Pr[pKINDComb,D(qe;qd)-cca-1(λ)=1]=Pr[GComb,D4-0(λ)=1]\mathrm{Pr}[\mathrm{pKIND}^{(q_{e};q_{d})\text{-}cca\text{-}1}_{Comb,D^{\prime}}(\lambda)=1]=\mathrm{Pr}[\mathrm{G}^{4\text{-}0}_{Comb,D^{\prime}}(\lambda)=1] (46)

Now using triangular inequality on inequalities 41 to 46, we have

AdvComb𝗂𝗄𝖾𝗆,𝗄𝖾𝗆PtX,Dpkind-(qe;qd)-cca(λ)\displaystyle Adv^{pkind\text{-}(q_{e};q_{d})\text{-}cca}_{Comb^{PtX}_{\mathsf{ikem},\mathsf{kem}},D^{\prime}}(\lambda) =|Pr[pKINDComb,D(qe;qd)-cca-0(λ)=1]Pr[pKINDComb,D(qe;qd)-cca-1(λ)=1]|\displaystyle=|\mathrm{Pr}[\mathrm{pKIND}^{(q_{e};q_{d})\text{-}cca\text{-}0}_{Comb,D^{\prime}}(\lambda)=1]-\mathrm{Pr}[\mathrm{pKIND}^{(q_{e};q_{d})\text{-}cca\text{-}1}_{Comb,D^{\prime}}(\lambda)=1]|
2(Adv𝗂𝗄𝖾𝗆,U1pkind-(qe;qd)-cca(λ)+AdvF1,U2(qd+1)-PRF(λ)).\displaystyle\leq 2(Adv^{pkind\text{-}(q_{e};q_{d})\text{-}cca}_{\mathsf{ikem},U_{1}}(\lambda)+Adv^{(q_{d}+1)\text{-}PRF}_{F_{1},U_{2}}(\lambda)).

Appendix E Proof of Theorem 3

We need to prove that the construction 1 satisfies definition 5 for chosen encapsulation attack (CEA) security. In response to an encapsulation query, the oracle returns a key kk and a ciphertext cc to the adversary. Let, after qeq_{e} queries, the adversary’s received responses be the vector 𝐰qe-cea=(w1cea,,wqecea){\mathbf{w}}^{q_{e}\text{-}cea}=(w_{1}^{cea},\cdots,w_{q_{e}}^{cea}), where wicea=(ki,ci),i{1,,qe}w_{i}^{cea}=(k_{i},c_{i}),\forall i\in\{1,\cdots,q_{e}\}. The remaining entropy about 𝐗\mathbf{X} that can be used to extract the secret key is H~(𝐗|𝐙,𝐖qe-cea=𝐰qe-cea)\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z},{\mathbf{W}}^{q_{e}\text{-}cea}={\mathbf{w}}^{q_{e}\text{-}cea}), where 𝐙\mathbf{Z} corresponds to 𝐳\mathbf{z}, the attacker’s initial information. Now the ii-th query’s response to the adversary is wicea=(ki,ci)w_{i}^{cea}=(k_{i},c_{i}), where ci=(h(𝐱,s),si)c_{i}=\big{(}h(\mathbf{x},s),s^{\prime}_{i}\big{)} and ki=h(𝐱,si)k_{i}=h^{\prime}(\mathbf{x},s^{\prime}_{i}). For the ii-th response, the RVs KiK_{i} and CiC_{i} are distributed over {0,1}\{0,1\}^{\ell} and {0,1}t\{0,1\}^{t} respectively. Now using [21, Lemma 2.2(b)], for RVs KiK_{i} and CiC_{i}, we have H~(𝐗|𝐙,𝐖icea)=H~(𝐗|𝐙,Ki,Ci)H~(𝐗|𝐙)t\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z},\mathbf{W}^{cea}_{i})=\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z},K_{i},C_{i})\geq\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z})-\ell-t. Since h(𝐱,s)h(\mathbf{x},s) remains the same in all qeq_{e} responses and the challenge, after qeq_{e} encapsulation queries, from [21, Lemma 2.2(b)], we have

H~(𝐗|𝐙,𝐖qe-cea)\displaystyle\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z},\mathbf{W}^{q_{e}\text{-}cea}) =H~(𝐗|𝐙,(𝐖1cea,,𝐖qecea))\displaystyle=\tilde{H}_{\infty}\left(\mathbf{X}|\mathbf{Z},(\mathbf{W}^{cea}_{1},\cdots,\mathbf{W}^{cea}_{q_{e}})\right)
H~(𝐗|𝐙)tqe\displaystyle\geq\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z})-t-q_{e}\cdot\ell (47)

Now since H~(𝐗|Z,h(𝐗,(S,S)))H~(𝐗|Z)t\tilde{H}_{\infty}(\mathbf{X}|Z^{*},h\left(\mathbf{X},(S^{\prime},S)\right))\geq\tilde{H}_{\infty}(\mathbf{X}|Z^{*})-t, from Lemma 1, we have

Δ(h(𝐗,S),h(𝐗,(S,S)),S,S,Z;U,h(𝐗,(S,S)),S,S,Z)\displaystyle\Delta\Big{(}h^{\prime}(\mathbf{X},S^{\prime}),h\left(\mathbf{X},(S^{\prime},S)\right),S^{\prime},S,Z^{*};U_{\ell},h\left(\mathbf{X},(S^{\prime},S)\right),S^{\prime},S,Z^{*}\Big{)}
122H~(𝐗|Z,h(𝐗,(S,S)))2122H~(𝐗|Z)2+t.\displaystyle\leq\frac{1}{2}\sqrt{2^{-\tilde{H}_{\infty}(\mathbf{X}|Z^{*},h\left(\mathbf{X},(S^{\prime},S)\right))}\cdot 2^{\ell}}\leq\frac{1}{2}\sqrt{2^{-\tilde{H}_{\infty}(\mathbf{X}|Z^{*})}\cdot 2^{\ell+t}}. (48)

Therefore, from equation E and noting that h(𝐱,s)h(\mathbf{x},s) remains the same in all qeq_{e} responses and the challenge, putting Z=(𝐙,𝐖qe-cea)Z^{*}=(\mathbf{Z},\mathbf{W}^{q_{e}\text{-}cea}) in inequality 48, we have

Δ(h(𝐗,S),h(𝐗,S),S,S,𝐙,𝐖qe-cea;U,h(𝐗,S),S,S,𝐙,𝐖qe-cea)\displaystyle\Delta\Big{(}h^{\prime}(\mathbf{X},S^{\prime}),h(\mathbf{X},S),S^{\prime},S,\mathbf{Z},\mathbf{W}^{q_{e}\text{-}cea};U_{\ell},h(\mathbf{X},S),S^{\prime},S,\mathbf{Z},\mathbf{W}^{q_{e}\text{-}cea}\Big{)}
122(qe+1)+tH~(𝐗|𝐙)\displaystyle\leq\frac{1}{2}\sqrt{2^{(q_{e}+1)\ell+t-\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z})}}
=122(qe+1)+tnH~(X|Z)\displaystyle=\frac{1}{2}\sqrt{2^{(q_{e}+1)\ell+t-n\tilde{H}_{\infty}(X|Z)}} (49)
σ\displaystyle\leq\sigma (50)

In above, step 49 uses H~(𝐗|𝐙)=nH~(X|Z)\tilde{H}_{\infty}({\mathbf{X}}|{\mathbf{Z}})=n\tilde{H}_{\infty}(X|Z) in Lemma 2, and the last step 50 holds if nH~(X|Z)+2log(σ)+2tqe+1\ell\leq\frac{n\tilde{H}_{\infty}(X|Z)+2\log(\sigma)+2-t}{q_{e}+1}. To complete the proof, we use [32, Lemma 1] and  [68, Proposition 5.9] , that relates the statistical distance to Adv𝗉𝗄𝖾𝗆,𝖣pkind-cea(λ)Adv^{pkind\text{-}cea}_{\mathsf{pkem},\mathsf{D}}(\lambda), concluding that the extracted key is 2σ2\sigma-indistinguishable from random, and we have 2σ2\sigma-IND-qeq_{e}-CEA security.

Appendix F Proof of Theorem 4

Correctness (reliability). We first determine the value of ν\nu and tt, and then compute the extracted secret key length \ell. In the decapsulation algorithm 𝗂𝗄𝖾𝗆.𝖣𝖾𝖼()\mathsf{ikem.Dec}(\cdot), Bob searches the set \mathcal{R} for 𝐱^\hat{\mathbf{x}} whose hash value matches with the received hash value vv and checks whether a unique such 𝐱^\hat{\mathbf{x}} is found. It declares success if a unique 𝐱^\hat{\mathbf{x}} is found in the set \mathcal{R} with such required property. Therefore, the algorithm fails if one of these two events occurs: (i)(i) there is no element 𝐱\mathbf{x} in the set \mathcal{R} such that its hash value matches with the received hash value i.e. 𝐱\mathbf{x} is not in the set RR, (ii)(ii) there are more than one element in the set RR, whose hash values are equal to the received hash value vv. Hence, the probability that Bob fails to recover the correct key is upper bounded by the sum of the probabilities of these two events. These two cases corresponds to the events:

1={𝐱:𝐱}={𝐱:log(P𝐗|𝐘(𝐱|𝐲))>ν} and\displaystyle\mathcal{E}_{1}=\{\mathbf{x}:\mathbf{x}\notin\mathcal{R}\}=\{\mathbf{x}:-\log(P_{\mathbf{X}|\mathbf{Y}}(\mathbf{x}|\mathbf{y}))>\nu\}\text{ and }
2={𝐱: 𝐱^ s.t. h(𝐱,(s,s))=h(𝐱^,(s,s)}.\displaystyle\mathcal{E}_{2}=\{\mathbf{x}\in\mathcal{R}:\exists\text{ }\hat{\mathbf{x}}\in\mathcal{R}\text{ s.t. }h(\mathbf{x},(s^{\prime},s))=h(\hat{\mathbf{x}},(s^{\prime},s)\}.

For any ϵ>0\epsilon>0, choose ϵ1>0\epsilon_{1}>0 and ϵ2>0\epsilon_{2}>0 such that ϵ1+ϵ2ϵ\epsilon_{1}+\epsilon_{2}\leq\epsilon. Let ϵ1=2nδ122log2(|𝒳|+3)\epsilon_{1}=2^{\frac{-n{\delta_{1}}^{2}}{2\log^{2}(|\mathcal{X}|+3)}} and ν=H(𝐗|𝐘)+nδ1\nu=H(\mathbf{X}|\mathbf{Y})+n\delta_{1}. Now, 𝖯𝗋(1)=𝖯𝗋(log(P𝐗|𝐘(𝐱|𝐲))>H(𝐗|𝐘)+nδ1)ϵ1\mathsf{Pr}(\mathcal{E}_{1})={\mathsf{Pr}}\Big{(}-\log(P_{\mathbf{X}|\mathbf{Y}}(\mathbf{x}|\mathbf{y}))>H(\mathbf{X}|\mathbf{Y})+n\delta_{1}\Big{)}\leq\epsilon_{1} (from [62], Theorem 2). To bound 𝖯𝗋(2)\mathsf{Pr}(\mathcal{E}_{2}), note that since hh is a universal hash family with input space 𝒳n\mathcal{X}^{n} and seed space (𝒮×𝒮)(\mathcal{S^{\prime}}\times\mathcal{S}), for any 𝐱,𝐱^\mathbf{x},\hat{\mathbf{x}}\in\mathcal{R}, 𝐱𝐱^\mathbf{x}\neq\hat{\mathbf{x}}, s𝒮s^{\prime}\in\mathcal{S^{\prime}} and randomly chosen s𝒮s\in\mathcal{S}, we have 𝖯𝗋(h(𝐱,(s,s))=h(𝐱^,(s,s)))2t\mathsf{Pr}\left(h(\mathbf{x},(s^{\prime},s))=h(\hat{\mathbf{x}},(s^{\prime},s))\right)\leq 2^{-t}, where probability is over the random choices (s,s)(s^{\prime},s) from (𝒮×𝒮)(\mathcal{S^{\prime}}\times\mathcal{S}). Thus, 𝖯𝗋(2)||2t\mathsf{Pr}(\mathcal{E}_{2})\leq|\mathcal{R}|\cdot 2^{-t}. Equation 4 implies that the probability of each element of \mathcal{R} is lower bounded by 2ν2^{-\nu}. Therefore, using equation  4 and noting that the sum of probability of elements of \mathcal{R} is less than or equal to 1, we have ||2ν𝖯𝗋()1||2ν\frac{|\mathcal{R}|}{2^{\nu}}\leq\mathsf{Pr}(\mathcal{R})\leq 1\Rightarrow|\mathcal{R}|\leq 2^{\nu}. Thus, 𝖯𝗋(2)||2t2νt.\mathsf{Pr}(\mathcal{E}_{2})\leq|\mathcal{R}|\cdot 2^{-t}\leq 2^{\nu-t}. Let t=νlog(ϵ2)t=\nu-\log(\epsilon_{2}), then we have 𝖯𝗋(2)ϵ2\mathsf{Pr}(\mathcal{E}_{2})\leq\epsilon_{2}. Therefore, for t=H(𝐗|𝐘)+nδ1log(ϵ2)t=H(\mathbf{X}|\mathbf{Y})+n\delta_{1}-\log(\epsilon_{2}), the probability that Bob fails to recover the correct key is less than or equal to 𝖯𝗋(1)+𝖯𝗋(2)ϵ1+ϵ2=ϵ\mathsf{Pr}(\mathcal{E}_{1})+\mathsf{Pr}(\mathcal{E}_{2})\leq\epsilon_{1}+\epsilon_{2}=\epsilon. Moreover, since 𝐗,𝐘\mathbf{X},\mathbf{Y} are generated due to nn independent and identical experiments PXiYiZi=PXYZP_{X_{i}Y_{i}Z_{i}}=P_{XYZ} for all i{1,,n}i\in\{1,\cdots,n\}, we have H(𝐗|𝐘)=nH(X|Y)H(\mathbf{X}|\mathbf{Y})=nH(X|Y). Finally, by choosing ϵ1=(n1)ϵ/n\epsilon_{1}=(\sqrt{n}-1)\epsilon/\sqrt{n} and ϵ2=ϵ/n\epsilon_{2}=\epsilon/\sqrt{n}, we conclude that if ν=nH(X|Y)+nlog(|𝒳|+3)log(n(n1)ϵ)\nu=nH(X|Y)+\sqrt{n}\log(|\mathcal{X}|+3)\sqrt{\log(\frac{\sqrt{n}}{(\sqrt{n}-1)\epsilon})} and
tnH(X|Y)+nlog(|𝒳|+3)log(n(n1)ϵ)+log(nϵ)t\geq nH(X|Y)+\sqrt{n}\log(|\mathcal{X}|+3)\sqrt{\log(\frac{\sqrt{n}}{(\sqrt{n}-1)\epsilon})}+\log(\frac{\sqrt{n}}{\epsilon}), then 𝖯𝗋(1)+𝖯𝗋(2)ϵ\mathsf{Pr}(\mathcal{E}_{1})+\mathsf{Pr}(\mathcal{E}_{2})\leq\epsilon. Thus, the construction 2 is ϵ\epsilon-correct, and the reliability condition is satisfied.

Security. To prove chosen encapsulation attack (CEA) security, we need to prove that the construction 2 satisfies definition 5. In response to an encapsulation query, the encapsulation oracle returns a pair of key and ciphertext (k,c)(k,c) to the adversary. Let the adversary’s received responses to its qeq_{e} encapsulation queries be the vector 𝐰qe-cea=(w1cea,,wqecea){\mathbf{w}}^{q_{e}\text{-}cea}=(w_{1}^{cea},\cdots,w_{q_{e}}^{cea}), where wicea=(ki,ci),i{1,,qe}w_{i}^{cea}=(k_{i},c_{i}),\forall i\in\{1,\cdots,q_{e}\}. The remaining entropy about 𝐗\mathbf{X} is H~(𝐗|𝐙,𝐖qe-cea=𝐰qe-cea)\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z},{\mathbf{W}}^{q_{e}\text{-}cea}={\mathbf{w}}^{q_{e}\text{-}cea}), where 𝐙\mathbf{Z} corresponds to 𝐳\mathbf{z}, the attacker’s initial information. This remaining entropy about 𝐗\mathbf{X} is used to extract the key. Now consider the ii-th query’s response wicea=(ki,ci)w_{i}^{cea}=(k_{i},c_{i}), where ci=(h(𝐱,(si,si)),si,si)c_{i}=\Big{(}h\big{(}\mathbf{x},(s^{\prime}_{i},s_{i})\big{)},s^{\prime}_{i},s_{i}\Big{)} and ki=h(𝐱,si)k_{i}=h^{\prime}(\mathbf{x},s^{\prime}_{i}). For the ii-th response, the RVs KiK_{i} and CiC_{i} are distributed over {0,1}\{0,1\}^{\ell} and {0,1}t\{0,1\}^{t} respectively. Using [21, Lemma 2.2(b)], for RVs KiK_{i} and CiC_{i} and noting that si,sis^{\prime}_{i},s_{i} are randomly chosen and independent of RV 𝐗\mathbf{X}, we have H~(𝐗|𝐙,𝐖icea)=H~(𝐗|𝐙,Ki,Ci)=H~(𝐗|𝐙,Ki,h(𝐗,(Si,Si)))H~(𝐗|𝐙)t\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z},\mathbf{W}^{cea}_{i})=\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z},K_{i},C_{i})=\tilde{H}_{\infty}\big{(}\mathbf{X}|\mathbf{Z},K_{i},h\big{(}\mathbf{X},(S^{\prime}_{i},S_{i})\big{)}\big{)}\geq\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z})-\ell-t. Therefore, after qeq_{e} encapsulation queries, from [21, Lemma 2.2(b)], we have

H~(𝐗|𝐙,𝐖qe-cea)\displaystyle\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z},\mathbf{W}^{q_{e}\text{-}cea}) =H~(𝐗|𝐙,(𝐖1cea,,𝐖qecea))\displaystyle=\tilde{H}_{\infty}\left(\mathbf{X}|\mathbf{Z},(\mathbf{W}^{cea}_{1},\cdots,\mathbf{W}^{cea}_{q_{e}})\right)
H~(𝐗|𝐙)qe(t+)\displaystyle\geq\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z})-q_{e}(t+\ell) (51)

Now since H~(𝐗|Z,h(𝐗,(S,S)))H~(𝐗|Z)t\tilde{H}_{\infty}(\mathbf{X}|Z^{*},h\left(\mathbf{X},(S^{\prime},S)\right))\geq\tilde{H}_{\infty}(\mathbf{X}|Z^{*})-t, from Lemma 1, we have

Δ(h(𝐗,S),h(𝐗,(S,S)),S,S,Z;U,h(𝐗,(S,S)),S,S,Z)\displaystyle\Delta\Big{(}h^{\prime}(\mathbf{X},S^{\prime}),h\left(\mathbf{X},(S^{\prime},S)\right),S^{\prime},S,Z^{*};U_{\ell},h\left(\mathbf{X},(S^{\prime},S)\right),S^{\prime},S,Z^{*}\Big{)}
122H~(𝐗|Z,h(𝐗,(S,S)))2122H~(𝐗|Z)2+t.\displaystyle\leq\frac{1}{2}\sqrt{2^{-\tilde{H}_{\infty}(\mathbf{X}|Z^{*},h\left(\mathbf{X},(S^{\prime},S)\right))}\cdot 2^{\ell}}\leq\frac{1}{2}\sqrt{2^{-\tilde{H}_{\infty}(\mathbf{X}|Z^{*})}\cdot 2^{\ell+t}}. (52)

Therefore, from inequality F and putting Z=(𝐙,𝐖qe-cea)Z^{*}=(\mathbf{Z},\mathbf{W}^{q_{e}\text{-}cea}) in inequality 52, we have

Δ(h(𝐗,S),h(𝐗,(S,S)),S,S,𝐙,𝐖qe-cea;U,h(𝐗,(S,S)),S,S,𝐙,𝐖qe-cea)\displaystyle\Delta\Big{(}h^{\prime}(\mathbf{X},S^{\prime}),h\left(\mathbf{X},(S^{\prime},S)\right),S^{\prime},S,\mathbf{Z},\mathbf{W}^{q_{e}\text{-}cea};U_{\ell},h\left(\mathbf{X},(S^{\prime},S)\right),S^{\prime},S,\mathbf{Z},\mathbf{W}^{q_{e}\text{-}cea}\Big{)}
122(H~(𝐗|𝐙)qe(t+))2+t\displaystyle\leq\frac{1}{2}\sqrt{2^{-\left(\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z})-q_{e}(t+\ell)\right)}\cdot 2^{\ell+t}}
=122(qe+1)(t+)H~(𝐗|𝐙)\displaystyle=\frac{1}{2}\sqrt{2^{(q_{e}+1)(t+\ell)-\tilde{H}_{\infty}(\mathbf{X}|\mathbf{Z})}}
=122(qe+1)(t+)nH~(X|Z)\displaystyle=\frac{1}{2}\sqrt{2^{(q_{e}+1)(t+\ell)-n\tilde{H}_{\infty}(X|Z)}} (53)
σ\displaystyle\leq\sigma (54)

The equality 53 follows from Lemma 2 that proves H~(𝐗|𝐙)=nH~(X|Z)\tilde{H}_{\infty}({\mathbf{X}}|{\mathbf{Z}})=n\tilde{H}_{\infty}(X|Z). The inequality 54 holds if
nH~(X|Z)+2log(σ)+2qe+1t\ell\leq\frac{n\tilde{H}_{\infty}(X|Z)+2\log(\sigma)+2}{q_{e}+1}-t. To complete the proof, we use [32, Lemma 1] and  [68, Proposition 5.9] , that relates the statistical distance to Adv𝗉𝗄𝖾𝗆,𝖣pkind-cea(λ)Adv^{pkind\text{-}cea}_{\mathsf{pkem},\mathsf{D}}(\lambda), concluding that the extracted key is 2σ2\sigma-indistinguishable from random, and we have 2σ2\sigma-IND-qeq_{e}-CEA security.

Appendix G Proof of Lemma 3.

Proof.

We show that hh satisfies Definition 1. Let 𝐱\mathbf{x} and 𝐲\mathbf{y} be such that 𝐱𝐲\mathbf{x}\neq\mathbf{y}. We need to show that
Pr[h(𝐱,(S,S))=h(𝐲,(S,S))]12t\Pr[h(\mathbf{x},(S^{\prime},S))=h(\mathbf{y},(S^{\prime},S))]\leq\frac{1}{2^{t}}, where the probability is over the uniformly random choices of (𝒮×𝒮)(\mathcal{S^{\prime}}\times\mathcal{S}), 𝒮=GF(2w)\mathcal{S^{\prime}}=GF(2^{w}) and 𝒮=GF(2nt)×GF(2t)\mathcal{S}=GF(2^{n-t})\times GF(2^{t}). Note that s=(s2,s1)s=(s_{2},s_{1}) with s2GF(2nt)s_{2}\in GF(2^{n-t}) and s1GF(2t)s_{1}\in GF(2^{t}).

Since 𝐱𝐲\mathbf{x}\neq\mathbf{y}, we have (𝐱2𝐱1)(𝐲2𝐲1)(\mathbf{x}_{2}\parallel\mathbf{x}_{1})\neq(\mathbf{y}_{2}\parallel\mathbf{y}_{1}).

Case 1. Let 𝐱1𝐲1\mathbf{x}_{1}\neq\mathbf{y}_{1}. For fixed values of s=(s1,,sr)(GF(2nt))rs^{\prime}=(s^{\prime}_{1},\cdots,s^{\prime}_{r})\in(GF(2^{n-t}))^{r} and s2GF(2nt)s_{2}\in GF(2^{n-t}), there is a unique value of s1s_{1} for which we have,

[(𝐱2)r+3+i=1rsi(𝐱2)i+1+s2𝐱2]1t+(𝐱1)3+s1𝐱1=[(𝐲2)r+3+i=1rsi(𝐲2)i+1+s2𝐲2]1t+(𝐲1)3+s1𝐲1\displaystyle\big{[}(\mathbf{x}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{i}(\mathbf{x}_{2})^{i+1}+s_{2}\mathbf{x}_{2}\big{]}_{1\cdots t}+(\mathbf{x}_{1})^{3}+s_{1}\mathbf{x}_{1}=\big{[}(\mathbf{y}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{i}(\mathbf{y}_{2})^{i+1}+s_{2}\mathbf{y}_{2}\big{]}_{1\cdots t}+(\mathbf{y}_{1})^{3}+s_{1}\mathbf{y}_{1}
s1(𝐱1𝐲1)=[(𝐲2)r+3+i=1rsi(𝐲2)i+1+s2𝐲2]1t+(𝐲1)3[(𝐱2)r+3+i=1rsi(𝐱2)i+1+s2𝐱2]1t(𝐱1)3\displaystyle\Leftrightarrow s_{1}(\mathbf{x}_{1}-\mathbf{y}_{1})=\big{[}(\mathbf{y}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{i}(\mathbf{y}_{2})^{i+1}+s_{2}\mathbf{y}_{2}\big{]}_{1\cdots t}+(\mathbf{y}_{1})^{3}-\big{[}(\mathbf{x}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{i}(\mathbf{x}_{2})^{i+1}+s_{2}\mathbf{x}_{2}\big{]}_{1\cdots t}-(\mathbf{x}_{1})^{3} (55)

Therefore, for a random choice of (s,s)(s^{\prime},s), we have that Pr[h(𝐱,(S,S))=h(𝐲,(S,S))]\Pr[h(\mathbf{x},(S^{\prime},S))=h(\mathbf{y},(S^{\prime},S))] is given by 12t\frac{1}{2^{t}}.

Case 2. Let 𝐱2𝐲2\mathbf{x}_{2}\neq\mathbf{y}_{2}.

For fixed values of s=(s1,,sr)(GF(2nt))rs^{\prime}=(s^{\prime}_{1},\cdots,s^{\prime}_{r})\in(GF(2^{n-t}))^{r} and s1GF(2t)s_{1}\in GF(2^{t}), there is a unique value of [s2(𝐱2𝐲2)]1t\big{[}s_{2}(\mathbf{x}_{2}-\mathbf{y}_{2})\big{]}_{1\cdots t} for which we have,

[(𝐱2)r+3+i=1rsi(𝐱2)i+1+s2𝐱2]1t+(𝐱1)3+s1𝐱1=[(𝐲2)r+3+i=1rsi(𝐲2)i+1+s2𝐲2]1t+(𝐲1)3+s1𝐲1\displaystyle\big{[}(\mathbf{x}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{i}(\mathbf{x}_{2})^{i+1}+s_{2}\mathbf{x}_{2}\big{]}_{1\cdots t}+(\mathbf{x}_{1})^{3}+s_{1}\mathbf{x}_{1}=\big{[}(\mathbf{y}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{i}(\mathbf{y}_{2})^{i+1}+s_{2}\mathbf{y}_{2}\big{]}_{1\cdots t}+(\mathbf{y}_{1})^{3}+s_{1}\mathbf{y}_{1}
[s2(𝐱2𝐲2)]1t=[(𝐲2)r+3+i=1rsi(𝐲2)i+1]1t+(𝐲1)3+s1𝐲1\displaystyle\Leftrightarrow\big{[}s_{2}(\mathbf{x}_{2}-\mathbf{y}_{2})\big{]}_{1\cdots t}=\big{[}(\mathbf{y}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{i}(\mathbf{y}_{2})^{i+1}\big{]}_{1\cdots t}+(\mathbf{y}_{1})^{3}+s_{1}\mathbf{y}_{1}-
[(𝐱2)r+3+i=1rsi(𝐱2)i+1]1t(𝐱1)3s1𝐱1\displaystyle\qquad\qquad\qquad\qquad\qquad\big{[}(\mathbf{x}_{2})^{r+3}+{\sum}_{i=1}^{r}s^{\prime}_{i}(\mathbf{x}_{2})^{i+1}\big{]}_{1\cdots t}-(\mathbf{x}_{1})^{3}-s_{1}\mathbf{x}_{1} (56)

For every [s2(𝐱2𝐲2)]1t\big{[}s_{2}(\mathbf{x}_{2}-\mathbf{y}_{2})\big{]}_{1\cdots t}, there are 2n2t2^{n-2t} values of s2(𝐱2𝐲2)s_{2}(\mathbf{x}_{2}-\mathbf{y}_{2}), where each, for fixed (𝐱2𝐲2)(\mathbf{x}_{2}-\mathbf{y}_{2}), determines a single value for s2s_{2}. Thus there are exactly 2n2t2^{n-2t} values of s2s_{2} for which the above equation 56 holds true.

Thus, for a random choice of (s,s)(s^{\prime},s) the probability of collision in this case is, exactly 2n2t2nt=12t\frac{2^{n-2t}}{2^{n-t}}=\frac{1}{2^{t}}.

Therefore, hh is a universal hash family. ∎

Appendix H Bézout’s theorem [65, 66]

Bézout’s Theorem [65, 66]. In general, two algebraic curves of degree mm and nn can intersect in mnm\cdot n points and cannot meet in more than mnm\cdot n points unless they have a common factor (i.e. the two equations have a common factor).

Moreover, NN polynomial equations of degrees n1,n2,,nNn_{1},n_{2},\cdots,n_{N} in NN variables have in general n1n2nNn_{1}n_{2}\cdots n_{N} common solutions.

Appendix I CEA secure iKEM protocol of Sharifian et al. [32]

Definition 9 (strongly universal hash family).

A family of hash functions h:𝒳×𝒮𝒴h:\mathcal{X}\times\mathcal{S}\rightarrow\mathcal{Y} is called a strongly universal hash family if for all xyx\neq y, and any a,b𝒴a,b\in\mathcal{Y}, Pr[h(x,S)=ah(y,S)=b]=1|𝒴|2\mathrm{Pr}[h(x,S)=a\wedge h(y,S)=b]=\frac{1}{|\mathcal{Y}|^{2}}, where the probability is over the uniform choices over 𝒮\mathcal{S}.

We briefly recall the construction of CEA secure iKEM protocol due to Sharifian et al. [32]. .

Construction 5.

The iKEM iKOWSWAiK_{OWSWA}’s three algorithms (Gen,Encap,Decap)(Gen,Encap,Decap) are as follows: The protocol is designed for preprocessing model in which Alice, Bob and Eve have nn components of the source (𝐗,𝐘,𝐙)(\mathbf{X},\mathbf{Y},\mathbf{Z}) respectively according to a distribution P𝐗𝐘𝐙P_{\mathbf{X}\mathbf{Y}\mathbf{Z}}. The protocol uses two strongly universal hash families: h:𝒳n×𝒮{0,1}th:\mathcal{X}^{n}\times\mathcal{S}\to\{0,1\}^{t} and h:𝒳n×𝒮{0,1}h^{\prime}:\mathcal{X}^{n}\times\mathcal{S^{\prime}}\to\{0,1\}^{\ell}. 𝒞={0,1}t×𝒮×S\mathcal{C}=\{0,1\}^{t}\times\mathcal{S^{\prime}}\times{S} and 𝒦={0,1}\mathcal{K}=\{0,1\}^{\ell} denote the ciphertext space and key space respectively.

  1. 1.

    Gen(P𝐗𝐘𝐙)Gen(P_{\mathbf{X}\mathbf{Y}\mathbf{Z}}). A trusted sample samples the distribution P𝐗𝐘𝐙P_{\mathbf{X}\mathbf{Y}\mathbf{Z}} independently nn times and gives 𝐱\mathbf{x}, 𝐲\mathbf{y} and 𝐳\mathbf{z} privately to Alice, Bob and Eve respectively.

  2. 2.

    Encap(𝐱)Encap(\mathbf{x}). The encapsulation algorithm takes Alice’s private input 𝐱\mathbf{x}, randomly sample the seeds s$𝒮s^{\prime}\xleftarrow{\$}\mathcal{S^{\prime}} and s$𝒮s\xleftarrow{\$}\mathcal{S} for two strongly universal hash families hh^{\prime} and hh respectively. It generates the key k=h(𝐱,s)k=h^{\prime}(\mathbf{x},s^{\prime}) and the ciphertext c=(h(𝐱,s),s,s)c=(h(\mathbf{x},s),s^{\prime},s).

  3. 3.

    Decap(𝐲,c)Decap(\mathbf{y},c). The decapsulation algorithm takes Bob’s private key 𝐲\mathbf{y} and the ciphertext cc. It parses cc as (g,s,s)(g,s^{\prime},s), where gg is a tt-bit string. It defines a set 𝒯(𝐗|𝐲)={𝐱:log(P𝐗|𝐘(𝐱|𝐲))ν}\mathcal{T(\mathbf{X}|\mathbf{y})}=\{\mathbf{x}:-\log(P_{\mathbf{X}|\mathbf{Y}}(\mathbf{x}|\mathbf{y}))\leq\nu\}, and for each vector 𝐱^𝒯(𝐗|𝐲)\hat{\mathbf{x}}\in\mathcal{T(\mathbf{X}|\mathbf{y})} checks whether g=h(𝐱^,s)g=h(\hat{\mathbf{x}},s). The decapsulation algorithm outputs the key h(𝐱^,s)h^{\prime}(\hat{\mathbf{x}},s^{\prime}) if there is a unique 𝐱^\hat{\mathbf{x}} that satisfies g=h(𝐱^,s)g=h(\hat{\mathbf{x}},s); otherwise, it outputs \perp.