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

11institutetext: Department of Mathematics and Physics, University of Information Technology,
Vietnam National University, Ho Chi Minh city, Vietnam
11email: vannna@uit.edu.vn
22institutetext: Institute of Cybersecurity and Cryptology
School of Computing and Information Technology, University of Wollongong
Northfields Avenue, Wollongong NSW 2522, Australia
22email: pm.thuytruc@gmail.com

Anonymous communication system provides a secure environment without leaking metadata, which has many application scenarios in IoT

Ngoc Ai Van Nguyen 11    Minh Thuy Truc Pham 22
Abstract

Anonymous Identity Based Encryption (AIBET) scheme allows a tracer to use the tracing key to reveal the recipient’s identity from the ciphertext while keeping other data anonymous. This special feature makes AIBET a promising solution to distributed IoT data security. In this paper, we construct an efficient quantum-safe Hierarchical Identity-Based cryptosystem with Traceable Identities (AHIBET) with fully anonymous ciphertexts. We prove the security of the AHIBET scheme under the Learning with Errors (LWE) problem in the standard model.

1 Introduction

Internet of Things (IoT) has emerged as a set of interconnected technologies like Wireless Sensors Networks (WSN) and Radio Frequency Identification (RFID), that provide identification, computation, and mutual information exchange among the connected devices all over the world. The key idea of the IoT is to obtain information about our environment to understand and control and act on it [DMR16].

Identity-Based Encryption (IBE) is a type of public-key encryption where the public key is an arbitrary string that uniquely defined the user (for example an email address or a telephone number). The Private-key Generator (PKG) who has knowledge of a master secret key generates the private key for the corresponding identities. This concept was first introduced by Shamir [Sha84] and then in 2001, Boneh and Franklin [BF01] proposed the first practical IBE scheme based on bilinear map. The idea of Hierarchical Identity-Based Encryption (HIBE), which is an extension of IBE where each level can issue private keys for identites of the next level, was first proposed in the work of Gentry and Silverberg [GS02]. Since then, there have been many efficient constructions of HIBE, ranging from classical setting [BB04, BBG05, Wat05] to post-quantum setting [ABB10a, CHKP10, SRB14] just to name a few.

The concept of “Anonymous” IBE offers an additional privacy guarantee to standard IBE schemes where the ciphertexts do not leak the identity of the recipients. AIBE is a promising solution to anonymous communications and it can be applied to many realistic scenarios that provide privacy-preserving and security under cloud environment. It can also bring a secure environment without leaking metadata which has many application scenarios in the aforementioned distributed IoT system [JLL+18]. However, the first AIBE construction of Boneh and Frankl in [BF01] is just anonymous in the random oracle model and it was a challenging problem to achieve anonymous IBE in the standard model until [BW06b]. In [BW06a], Boyen and Waters proposed the first secure anonymous HIBE scheme without random oracles. More recently, the HIBE constructions in the post-quantum setting [ABB10a, SRB14] are proven to be anonymous secure in the standard model in the mean of a ciphertext encrypted for a target identity is indistinguishable from a random element in the ciphertext space which helps hide this identity from any malicious attacker.

Although this strong unconditional privacy seems very attractive from the user’s point of view, it can potentially be a dangerous tool against public safety if there is no way to revoke such privacy when illegal behavior is detected. For example, in the case where the email filtering system has to filter out all encrypted email from members are suspected of illegal activity, standard anonymous IBE and HIBE prevent the system reveal the recipients of those ciphertexts. Traceability can provide a solution to this problem in which an additional traceability function can detect specific identities in ciphertexts and all the others remain anonymous.

In 2019, Blazy et al. [BBP19] first considered the traceability for identity-based encryption and constructed an Anonymous Identity Based Encryption (AIBET) scheme in the standard model but under the matrix Diffie Hellman (MDDH) assumption. Two security notions are formally defined in [4] are anonymity and ciphertext indistinguishability. Anonymity requires that someone without an associated user secret key or tracing key should not be able to guess the targeted identity. The notion of indistinguishability requires that no one can distinguish between a valid ciphertext and a random string from the ciphertext space even having access to the tracing key of the target identity. Recent, in [LTT+21], Liu et al. proposed a lattice-based construction for AIBET which is based on the anonymous IBE by Katsumata and Yamada [KY16]. However, they do not address the notion of indistinguishability which is the main difference between an AIBET and a standard anonymous IBE. Note that the role of the tracer and the Private-key Generator PKG are distinguishable where the tracer has less power than the PKG. For example, it could be a gateway that checks whether an email for a suspected illegal user is passed. Even if the tracers are corrupted, the privacy and the confidentiality of the system will still remain intact.

Our contribution: We propose a concrete construction of an Anonymous Lattice Hierarchical Identity-Based Encryption with Traceable Identities (AHIBET) scheme which is secure in the standard model based on the hardness assumption of lattices. In particular, our AHIBET construction is anonymous across all the levels of hierarchy, i.e., ciphertexts conceal recipients’ identities from everyone which does not know the corresponding keys for decryption or tracing. Traceability cannot be extended down the hierarchy, i.e., knowing the tracing key for identity 𝗂𝖽\mathsf{id} doesn’t imply knowing tracing key for any of its descendants. Besides, our construction is ciphertext indistinguishable, i.e., even having the tracing key for identity 𝗂𝖽\mathsf{id}, one cannot distinguish the ciphertexts of message 𝐦\mathbf{m} from the one of random messages for identity 𝗂𝖽\mathsf{id}.

An instance of our AHIBET yields a lattice-based construction of AIBET that can be easily converted to a construction over ideal lattices using the techniques in [BFRS18], which outperforms the AIBET by Liu et al. [LTT+21]111In fact, the public parameter in Liu et al. [LTT+21] will be a factor of dldl greater than ours where dd is some fixed constant (e.g., d=2 or 3) and l=n1/dl=\lceil n^{1/d}\rceil for nn the security parameter..

Technical Overview:
The first main idea is that an AHIBET system must be controlled by three levels of trapdoors:

  • The master secret key 𝖬𝖯𝖪\mathsf{MPK} can be used to generate secret key 𝖲𝖪𝗂𝖽\mathsf{SK}_{\mathsf{id}} and tracing key 𝖳𝗌𝗄𝗂𝖽\mathsf{Tsk}_{\mathsf{id}} for each identity 𝗂𝖽\mathsf{id} of any level.

  • The secret keys 𝖲𝖪𝗂𝖽\mathsf{SK}_{\mathsf{id}} enable recipients to decrypt the corresponding ciphertexts. Each secret key 𝖲𝖪𝗂𝖽\mathsf{SK}_{\mathsf{id}} can be used to generate the secret keys for identities of the next level and thus control all descendants of 𝗂𝖽\mathsf{id}.

  • The tracing keys 𝖳𝗌𝗄𝗂𝖽\mathsf{Tsk}_{\mathsf{id}} enable tracers to detect only the ciphertexts sent to identities 𝗂𝖽\mathsf{id} without leaking information of the messages.

To achieve the identity traceability property, we attach each ciphertext a random tag and its encapsulation whereas tracing keys are the trapdoors for decapsulation.

We exploit the power of lattice trapdoors in [MP12, CHKP10] combining with the HIBE construction by Agrawal et al. [ABB10a] to achieve our AHIBET.

In [ABB10a], each identity 𝗂𝖽\mathsf{id} is assigned a matrix 𝐅𝗂𝖽\mathbf{F}_{\mathsf{id}} and message 𝐦\mathbf{m} is encrypted following the dual-Regev scheme:

𝐜T=𝐬T𝐅𝗂𝖽+𝐞T,𝐜T=𝐬T𝐔+𝐞T+𝐦Tq2.\mathbf{c}^{T}=\mathbf{s}^{T}\mathbf{F}_{\mathsf{id}}+\mathbf{e}^{T},\ \ \ \mathbf{c}^{\prime T}=\mathbf{s}^{T}\mathbf{U}+\mathbf{e}^{\prime T}+\mathbf{m}^{T}\left\lfloor\displaystyle{\frac{q}{2}}\right\rfloor.

In our scheme, we use one dual-Regev part to encrypt the message and another one to encapsulate the random tag to allow the ciphertext to reveal the recipients’ identity from the tracing key holder.

In [MP12], the authors introduced a so-called 𝐆\mathbf{G}-trapdoor where 𝐆\mathbf{G} is a gadget matrix in qn×ω\mathbb{Z}_{q}^{n\times\omega}. A 𝐆\mathbf{G}-trapdoor for matrix 𝐅\mathbf{F} is a matrix 𝐑(mω)×ω\mathbf{R}\in\mathbb{Z}^{(m-\omega)\times\omega} such that 𝐅=[𝐀|𝐀𝐑+𝐇𝐆]\mathbf{F}=[\mathbf{A}|\mathbf{A}\mathbf{R}+\mathbf{H}\mathbf{G}] for some invertible matrix 𝐇qn×n\mathbf{H}\in\mathbb{Z}^{n\times n}_{q} where 𝐀qn×(mω)\mathbf{A}\in\mathbb{Z}^{n\times(m-\omega)}_{q}. The authors called it “strong trapdoor” since a good basis 𝐓𝐅m×m\mathbf{T}_{\mathbf{F}}\in\mathbb{Z}^{m\times m} for Λq(𝐅)\Lambda_{q}^{\perp}(\mathbf{F}) can be obtained from the knowledge of the matrix 𝐑\mathbf{R} but the reverse is hard. Moreover, with either 𝐑\mathbf{R} or 𝐓𝐅\mathbf{T}_{\mathbf{F}}, one can easily generate a low norm matrix 𝐃𝐅qn×t\mathbf{D}_{\mathbf{F}}\in\mathbb{Z}^{n\times t}_{q} satisfying 𝐅.𝐃𝐅=𝐔\mathbf{F}.\mathbf{D}_{\mathbf{F}}=\mathbf{U} with respect to a given random matrix 𝐔qn×t\mathbf{U}\in\mathbb{Z}_{q}^{n\times t} using the sampling algorithms from [ABB10a] and [MP12]. Since 𝐃𝐅\mathbf{D}_{\mathbf{F}} is a kind of weaker trapdoor than 𝐓𝐅\mathbf{T}_{\mathbf{F}}, we can use such matrices 𝐑\mathbf{R}, 𝐓𝐅\mathbf{T}_{\mathbf{F}} and 𝐃𝐅\mathbf{D}_{\mathbf{F}} as the three levels of trapdoors 𝖬𝖲𝖪\mathsf{MSK}, 𝖲𝖪𝗂𝖽\mathsf{SK}_{\mathsf{id}}, 𝖳𝗌𝗄𝗂𝖽\mathsf{Tsk}_{\mathsf{id}} respectively for a traceable identity-based encryption where the matrix 𝐅\mathbf{F} is associated to an identity 𝗂𝖽=(𝗂𝖽1,,𝗂𝖽)\mathsf{id}=(\mathsf{id}_{1},\ldots,\mathsf{id}_{\ell}), namely, 𝐅=𝐅𝗂𝖽=[𝐀|𝐀1+𝖥𝖱𝖣(𝗂𝖽1)𝐆||𝐀+𝖥𝖱𝖣(𝗂𝖽)𝐆]\mathbf{F}=\mathbf{F}_{\mathsf{id}}=[\mathbf{A}|\mathbf{A}_{1}+\mathsf{FRD}(\mathsf{id}_{1})\mathbf{G}|\ldots|\mathbf{A}_{\ell}+\mathsf{FRD}(\mathsf{id}_{\ell})\mathbf{G}] for the public matrices 𝐀,𝐀1,,𝐀\mathbf{A},\mathbf{A}_{1},\ldots,\mathbf{A}_{\ell} and the full-rank difference encoding function 𝖥𝖱𝖣\mathsf{FRD}. However, such trapdoors do not guarantee the anonymity and even the secrecy of messages across the hierarchy of identities. For example, knowing 𝐃𝐅𝗂𝖽1\mathbf{D}_{\mathbf{F}_{\mathsf{id}_{1}}} and 𝐃𝐅[𝗂𝖽1|𝗂𝖽2]\mathbf{D}_{\mathbf{F}_{[\mathsf{id}_{1}|\mathsf{id}_{2}]}}, one can easily find a low norm matrix 𝐓\mathbf{T} of the same size as 𝐃𝐅𝗂𝖽1|𝗂𝖽2\mathbf{D}_{\mathbf{F}_{\mathsf{id}_{1}|\mathsf{id}_{2}}} such that 𝐅[𝗂𝖽1|𝗂𝖽2]𝐓=𝟎\mathbf{F}_{[\mathsf{id}_{1}|\mathsf{id}_{2}]}\mathbf{T}=\mathbf{0}, which reveals information of the messages. Therefore, we use a collision resistance hash function 𝖧\mathsf{H} to construct a matrix 𝐅𝗂𝖽=[𝐀|𝐀0+𝖥𝖱𝖣(𝖧(𝗂𝖽))𝐆]\mathbf{F}^{\prime}_{\mathsf{id}}=[\mathbf{A}|\mathbf{A}_{0}+\mathsf{FRD}(\mathsf{H}(\mathsf{id}))\mathbf{G}] and use the sampling algorithms to generate the tracing key 𝐃𝐅𝗂𝖽\mathbf{D}_{\mathbf{F}^{\prime}_{\mathsf{id}}} of the identity 𝗂𝖽\mathsf{id} such that 𝐅𝗂𝖽𝐃𝐅𝗂𝖽=𝐔\mathbf{F}^{\prime}_{\mathsf{id}}\mathbf{D}_{\mathbf{F}^{\prime}_{\mathsf{id}}}=\mathbf{U}. Such tracing keys are determined uniquely by the identities and independent of the secret keys, which ensures the anonymity and secrecy of the messages.

2 Preliminaries

2.1 Anonymous Lattice Hierarchical Identity-Based Encryption with Traceable Identities (AHIBET)

In this section, we describe the model of Anonymous Lattice Hierarchical Identity-Based Encryption with Traceable Identities (AHIBET) based on the Anonymous Lattice Identity-Based Encryption with Traceable Identities (AIBET) from [BBP19] and its security model.

Definition 1 (AHIBET).

An AHIBET scheme consists of the following seven algorithms:

  • 𝖲𝖾𝗍𝗎𝗉(λ,d)\mathsf{Setup}(\lambda,d) takes as input the security parameter λ\lambda and the maximal hierarchy depth dd of the scheme and outputs the master public key 𝖬𝖯𝖪\mathsf{MPK} and the master secret key 𝖬𝖲𝖪\mathsf{MSK}.

  • 𝖤𝗑𝗍𝗋𝖺𝖼𝗍(𝖬𝖯𝖪,𝖬𝖲𝖪,𝗂𝖽)\mathsf{Extract}(\mathsf{MPK},\mathsf{MSK},\mathsf{id}) uses the master public key 𝖬𝖯𝖪\mathsf{MPK} and the master secret key 𝖬𝖲𝖪\mathsf{MSK} to generate the secret key 𝖲𝖪𝗂𝖽\mathsf{SK}_{\mathsf{id}} for an identity 𝗂𝖽\mathsf{id} at depth 11.

  • 𝖣𝖾𝗋𝗂𝗏𝖾(𝖬𝖯𝖪,𝖲𝖪𝗂𝖽),(𝗂𝖽|𝗂𝖽)\mathsf{Derive}(\mathsf{MPK},\mathsf{SK}_{\mathsf{id}}),(\mathsf{id}|\mathsf{id}_{\ell}) takes as input the master public key 𝖬𝖯𝖪\mathsf{MPK} and a secret key 𝖲𝖪𝗂𝖽\mathsf{SK}_{\mathsf{id}} corresponding to an identity 𝗂𝖽\mathsf{id} at depth 1\ell-1, outputs the secret key 𝖲𝖪𝗂𝖽|𝗂𝖽\mathsf{SK}_{\mathsf{id}|\mathsf{id}_{\ell}} for the identity (𝗂𝖽|𝗂𝖽)(\mathsf{id}|\mathsf{id}_{\ell}) at depth \ell.

  • 𝖳𝗌𝗄𝖦𝖾𝗇(𝖬𝖯𝖪,𝖬𝖲𝖪,𝗂𝖽)\mathsf{TskGen}(\mathsf{MPK},\mathsf{MSK},\mathsf{id}) uses the master public key 𝖬𝖯𝖪\mathsf{MPK} and the master secret key 𝖬𝖲𝖪\mathsf{MSK} to generate the tracing key 𝖳𝗌𝗄𝗂𝖽\mathsf{Tsk}_{\mathsf{id}} for a given identity 𝗂𝖽\mathsf{id}.

  • 𝖤𝗇𝖼𝗋𝗒𝗉𝗍(𝖬𝖯𝖪,𝗂𝖽,𝐦)\mathsf{Encrypt}(\mathsf{MPK},\mathsf{id},\mathbf{m}) takes as input the master public key 𝖬𝖯𝖪\mathsf{MPK}, a given identity 𝗂𝖽\mathsf{id} and a message 𝐦\mathbf{m}, outputs the ciphertext 𝖢𝖳\mathsf{CT}.

  • 𝖣𝖾𝖼𝗋𝗒𝗉𝗍(𝖬𝖯𝖪,𝖢𝖳,𝖲𝖪𝗂𝖽)\mathsf{Decrypt}(\mathsf{MPK},\mathsf{CT},\mathsf{SK}_{\mathsf{id}}) takes as input the master public key 𝖬𝖯𝖪\mathsf{MPK}, a ciphertext 𝖢𝖳\mathsf{CT} and a secret key 𝖲𝖪𝗂𝖽\mathsf{SK}_{\mathsf{id}}. The algorithm outputs the message 𝐦\mathbf{m} if 𝖢𝖳\mathsf{CT} is encrypted for 𝗂𝖽\mathsf{id}; otherwise, it outputs the rejection symbol \perp.

  • 𝖳𝗄𝖵𝖾𝗋(𝖬𝖯𝖪,𝗂𝖽,𝖳𝗌𝗄𝗂𝖽,𝖢𝖳)\mathsf{TkVer}(\mathsf{MPK},\mathsf{id},\mathsf{Tsk}_{\mathsf{id}},\mathsf{CT}) takes as input the master public key 𝖬𝖯𝖪\mathsf{MPK}, an identity 𝗂𝖽\mathsf{id} and a ciphertext 𝖢𝖳\mathsf{CT}, uses the tracing key 𝖳𝗌𝗄𝗂𝖽\mathsf{Tsk}_{\mathsf{id}} to check whether a ciphertext 𝖢𝖳\mathsf{CT} is encrypted for 𝗂𝖽\mathsf{id}. 𝖳𝗄𝖵𝖾𝗋\mathsf{TkVer} outputs 11 if 𝖢𝖳\mathsf{CT} is for the user with identity 𝗂𝖽\mathsf{id}; otherwise, it outputs 0.

Correctness and soundness.
The correctness of AHIBET scheme requires that if for all key pairs (𝖬𝖯𝖪,𝖬𝖲𝖪)(\mathsf{MPK},\mathsf{MSK}) output by 𝖲𝖾𝗍𝗎𝗉\mathsf{Setup}, all 1d1\leq\ell\leq d, all identities 𝗂𝖽=(𝗂𝖽1,,𝗂𝖽)\mathsf{id}=(\mathsf{id}_{1},\dots,\mathsf{id}_{\ell}) where 𝗂𝖽iqn{𝟎}\mathsf{id}_{i}\in\mathbb{Z}^{n}_{q}\setminus\{\mathbf{0}\} and all messages 𝐦{0,1}λ\mathbf{m}\in\{0,1\}^{\lambda}, it holds that

Pr[𝖣𝖾𝖼𝗋𝗒𝗉𝗍(𝖬𝖯𝖪,𝖲𝖪𝗂𝖽,𝖢𝖳)=𝐦|(𝖬𝖯𝖪,𝖬𝖲𝖪)𝖲𝖾𝗍𝗎𝗉(λ,d)𝖲𝖪𝗂𝖽𝖣𝖾𝗋𝗂𝗏𝖾(𝖬𝖯𝖪,𝖬𝖲𝖪,𝗂𝖽)𝖢𝖳𝖤𝗇𝖼𝗋𝗒𝗉𝗍(𝖬𝖯𝖪,𝗂𝖽,𝐦)1𝖳𝗄𝖵𝖾𝗋(𝖬𝖯𝖪,𝗂𝖽,𝖳𝗌𝗄𝗂𝖽,𝖢𝖳)]=1\Pr\left[{\begin{gathered}\mathsf{Decrypt}(\mathsf{MPK},\mathsf{SK}_{\mathsf{id}},\mathsf{CT})=\mathbf{m}\end{gathered}\left|\begin{gathered}(\mathsf{MPK},\mathsf{MSK})\leftarrow\mathsf{Setup}(\lambda,d)\\ \mathsf{SK}_{\mathsf{id}}\leftarrow\mathsf{Derive}(\mathsf{MPK},\mathsf{MSK},\mathsf{id})\\ \mathsf{CT}\leftarrow\mathsf{Encrypt}(\mathsf{MPK},\mathsf{id},\mathbf{m})\\ 1\leftarrow\mathsf{TkVer}(\mathsf{MPK},\mathsf{id},\mathsf{Tsk}_{\mathsf{id}},\mathsf{CT})\end{gathered}\right.}\right]=1

and the soundness of AHIBET requires

Pr[𝖣𝖾𝖼𝗋𝗒𝗉𝗍(𝖬𝖯𝖪,𝖲𝖪𝗂𝖽,𝖢𝖳)=|(𝖬𝖯𝖪,𝖬𝖲𝖪)𝖲𝖾𝗍𝗎𝗉(λ,d)𝖲𝖪𝗂𝖽𝖣𝖾𝗋𝗂𝗏𝖾(𝖬𝖯𝖪,𝖬𝖲𝖪,𝗂𝖽)𝖢𝖳𝖤𝗇𝖼𝗋𝗒𝗉𝗍(𝖬𝖯𝖪,𝗂𝖽,𝐦)0𝖳𝗄𝖵𝖾𝗋(𝖬𝖯𝖪,𝗂𝖽,𝖳𝗌𝗄𝗂𝖽,𝖢𝖳)]=1\Pr\left[{\begin{gathered}\mathsf{Decrypt}(\mathsf{MPK},\mathsf{SK}_{\mathsf{id}},\mathsf{CT})=\perp\end{gathered}\left|\begin{gathered}(\mathsf{MPK},\mathsf{MSK})\leftarrow\mathsf{Setup}(\lambda,d)\\ \mathsf{SK}_{\mathsf{id}}\leftarrow\mathsf{Derive}(\mathsf{MPK},\mathsf{MSK},\mathsf{id})\\ \mathsf{CT}\leftarrow\mathsf{Encrypt}(\mathsf{MPK},\mathsf{id},\mathbf{m})\\ 0\leftarrow\mathsf{TkVer}(\mathsf{MPK},\mathsf{id},\mathsf{Tsk}_{\mathsf{id}},\mathsf{CT})\end{gathered}\right.}\right]=1

Security models of AHIBET. For the security models, we give the definition of anonymity and ciphertext indistinguishability for the AHIBET scheme.

  • Anonymity is the property that the adversary can not distinguish the encryption of a chosen message for a first chosen identity from the encryption on the same message for a second chosen identity. Similarly, the adversary can not decide whether a ciphertext it received from the challenger was encrypted for a chosen challenge identity, or for a random identity in the identity space. The anonymity game, denoted ANON-sID-CPA, is played between an adversary 𝒜\mathcal{A} and a challenger 𝒞\mathcal{C}, provided that the adversary 𝒜\mathcal{A} does not have the corresponding tracing key of the challenge identity, is defined through the following game:

    • Init: The adversary 𝒜\mathcal{A} is given the maximum depth of the hierarchy dd and then 𝒜\mathcal{A} decides a target pattern 𝗂𝖽=(𝗂𝖽1,,𝗂𝖽)\mathsf{id}^{*}=(\mathsf{id}_{1}^{*},\dots,\mathsf{id}_{\ell}^{*}), d\ell\leq d.

    • Setup: At the beginning of the game, the challenger 𝒞\mathcal{C} runs 𝖲𝖾𝗍𝗎𝗉(λ,d)\mathsf{Setup}(\lambda,d) to obtain (𝖬𝖯𝖪,𝖬𝖲𝖪)(\mathsf{MPK},\mathsf{MSK}) and gives the resulting master public key 𝖬𝖯𝖪\mathsf{MPK} to the adversary 𝒜\mathcal{A}.

    • Phase 1: 𝒜\mathcal{A} may adaptively make queries polynomial many times to the key derivation oracle 𝒪𝖣𝖾𝗋𝗂𝗏𝖾\mathcal{O}_{\mathsf{Derive}} and the tracing key oracle 𝒪𝖳𝗌𝗄𝖦𝖾𝗇\mathcal{O}_{\mathsf{TskGen}} where:

      • *

        Oracle 𝒪𝖣𝖾𝗋𝗂𝗏𝖾(𝗂𝖽)\mathcal{O}_{\mathsf{Derive}}(\mathsf{id}) takes input an identity 𝗂𝖽\mathsf{id} different from 𝗂𝖽\mathsf{id}^{\ast} and its prefixes, returns the output of 𝖣𝖾𝗋𝗂𝗏𝖾(𝖬𝖯𝖪,𝖬𝖲𝖪,𝗂𝖽)\mathsf{Derive}(\mathsf{MPK},\mathsf{MSK},\mathsf{id}).

      • *

        Oracle 𝒪𝖳𝗌𝗄𝖦𝖾𝗇(𝗂𝖽)\mathcal{O}_{\mathsf{TskGen}}(\mathsf{id}) takes input an identity 𝗂𝖽\mathsf{id} different from 𝗂𝖽\mathsf{id}^{\ast}, returns the output of 𝖳𝗌𝗄𝖦𝖾𝗇(𝖬𝖯𝖪,𝖬𝖲𝖪,𝗂𝖽)\mathsf{TskGen}(\mathsf{MPK},\mathsf{MSK},\mathsf{id}).

    • Challenge: The adversary 𝒜\mathcal{A} chooses a message 𝐦{0,1}λ\mathbf{m}\in\{0,1\}^{\lambda} and gives it to the challenger 𝒞\mathcal{C}. 𝒞\mathcal{C} then selects a random bit b{0,1}b\in\{0,1\} and a random identity 𝗂𝖽\mathsf{id}^{\prime} in the identity space which has the same depth with the challenge identity 𝗂𝖽\mathsf{id}^{\ast}. If b=0b=0, 𝒞\mathcal{C} runs 𝖢𝖳0𝖤𝗇𝖼𝗋𝗒𝗉𝗍(𝖬𝖯𝖪,𝗂𝖽,𝐦)\mathsf{CT}_{0}^{\ast}\leftarrow\mathsf{Encrypt}(\mathsf{MPK},\mathsf{id}^{\ast},\mathbf{m}); otherwise, it runs 𝖢𝖳1𝖤𝗇𝖼𝗋𝗒𝗉𝗍(𝖬𝖯𝖪,𝗂𝖽,𝐦)\mathsf{CT}_{1}^{\ast}\leftarrow\mathsf{Encrypt}(\mathsf{MPK},\mathsf{id}^{\prime},\mathbf{m}). Finally, 𝒞\mathcal{C} passes (𝖬𝖯𝖪,𝖢𝖳b)(\mathsf{MPK},\mathsf{CT}_{b}^{*}) through to the adversary 𝒜\mathcal{A}.

    • Phase 2: 𝒜\mathcal{A} continues to issue additional key derivation and tracing key queries and 𝒞\mathcal{C} responds as in Phase 1.

    • Guess: 𝒜\mathcal{A} outputs its guess b{0,1}b^{\prime}\in\{0,1\} and wins if b=bb^{\prime}=b.

    The advantage of 𝒜\mathcal{A} is defined as

    𝖠𝖽𝗏𝒜,AHIBETANON-sID-CPA:=|Pr[b=b]12|.\mathsf{Adv}_{\mathcal{A},\text{AHIBET}}^{\textsf{ANON-sID-CPA}}:=\left|\mathrm{Pr}[b=b^{\prime}]-\frac{1}{2}\right|.
  • In the ciphertext indistinguishability game, we use a privacy property called indistinguishable from random which means that the challenge ciphertext encrypted for a given message 𝐦\mathbf{m}^{\ast} is computationally indistinguishable from a the challenge ciphertext encrypted for a random message 𝐦\mathbf{m} on the same challenge identity 𝗂𝖽\mathsf{id}^{\ast}, even the adversary 𝒜\mathcal{A} has the corresponding tracing key 𝖳𝗌𝗄𝗂𝖽\mathsf{Tsk}_{\mathsf{id}^{\ast}} of 𝗂𝖽\mathsf{id}^{\ast}. The IND-sID-CPA security model is defined through the following game, played between an adversary 𝒜\mathcal{A} and a challenger 𝒞\mathcal{C}:

    • Init: The adversary 𝒜\mathcal{A} is given the maximum depth of the hierarchy dd and then 𝒜\mathcal{A} decides a target pattern 𝗂𝖽=(𝗂𝖽1,,𝗂𝖽l)\mathsf{id}^{*}=(\mathsf{id}_{1}^{*},\dots,\mathsf{id}_{l}^{*}), d\ell\leq d.

    • Setup: At the beginning of the game, the challenger 𝒞\mathcal{C} runs 𝖲𝖾𝗍𝗎𝗉(λ,d)\mathsf{Setup}(\lambda,d) to obtain (𝖬𝖯𝖪,𝖬𝖲𝖪)(\mathsf{MPK},\mathsf{MSK}) and gives the resulting master public key 𝖬𝖯𝖪\mathsf{MPK} to the adversary 𝒜\mathcal{A}.

    • Phase 1: 𝒜\mathcal{A} may adaptively make queries polynomial many times to the key derivation oracle 𝒪𝖣𝖾𝗋𝗂𝗏𝖾\mathcal{O}_{\mathsf{Derive}} and the tracing key oracle 𝒪𝖳𝗌𝗄𝖦𝖾𝗇\mathcal{O}_{\mathsf{TskGen}} where:

      • *

        Oracle 𝒪𝖣𝖾𝗋𝗂𝗏𝖾(𝗂𝖽)\mathcal{O}_{\mathsf{Derive}}(\mathsf{id}) takes input an identity 𝗂𝖽\mathsf{id} different from 𝗂𝖽\mathsf{id}^{\ast} and its prefixes, returns the output of 𝖣𝖾𝗋𝗂𝗏𝖾(𝖬𝖯𝖪,𝖬𝖲𝖪,𝗂𝖽)\mathsf{Derive}(\mathsf{MPK},\mathsf{MSK},\mathsf{id}).

      • *

        Oracle 𝒪𝖳𝗌𝗄𝖦𝖾𝗇(𝗂𝖽)\mathcal{O}_{\mathsf{TskGen}}(\mathsf{id}) takes input an identity 𝗂𝖽\mathsf{id} different from 𝗂𝖽\mathsf{id}^{\ast}, returns the output of 𝖳𝗌𝗄𝖦𝖾𝗇(𝖬𝖯𝖪,𝖬𝖲𝖪,𝗂𝖽)\mathsf{TskGen}(\mathsf{MPK},\mathsf{MSK},\mathsf{id}).

    • Challenge: The adversary 𝒜\mathcal{A} chooses a message 𝐦{0,1}λ\mathbf{m}^{\ast}\in\{0,1\}^{\lambda} and gives it to the challenger 𝒞\mathcal{C}. 𝒞\mathcal{C} sets 𝐦0=𝐦\mathbf{m}_{0}=\mathbf{m}^{\ast} and chooses a random message 𝐦1\mathbf{m}_{1} in the message space. 𝒞\mathcal{C} then selects a random bit b{0,1}b\in\{0,1\}. If b=0b=0, 𝒞\mathcal{C} runs 𝖢𝖳0𝖤𝗇𝖼𝗋𝗒𝗉𝗍(𝖬𝖯𝖪,𝗂𝖽,𝐦0)\mathsf{CT}_{0}^{\ast}\leftarrow\mathsf{Encrypt}(\mathsf{MPK},\mathsf{id}^{\ast},\mathbf{m}_{0}); otherwise, it runs 𝖢𝖳1𝖤𝗇𝖼𝗋𝗒𝗉𝗍(𝖬𝖯𝖪,𝗂𝖽,𝐦1)\mathsf{CT}_{1}^{\ast}\leftarrow\mathsf{Encrypt}(\mathsf{MPK},\mathsf{id}^{\ast},\mathbf{m}_{1}). Finally, 𝒞\mathcal{C} passes (𝖬𝖯𝖪,𝖢𝖳b)(\mathsf{MPK},\mathsf{CT}_{b}^{*}) through to the adversary 𝒜\mathcal{A}.

    • Phase 2: 𝒜\mathcal{A} continues to issue additional key derivation and tracing key queries and 𝒞\mathcal{C} responds as in Phase 1.

    • Guess: 𝒜\mathcal{A} outputs its guess b{0,1}b^{\prime}\in\{0,1\} and wins if b=bb^{\prime}=b.

    The advantage of 𝒜\mathcal{A} is defined as

    𝖠𝖽𝗏𝒜,AHIBETIND-sID-CPA:=|Pr[b=b]12|.\mathsf{Adv}_{\mathcal{A},\text{AHIBET}}^{\textsf{IND-sID-CPA}}:=\left|\mathrm{Pr}[b=b^{\prime}]-\frac{1}{2}\right|.

2.2 Lattices

A lattice Λ\Lambda in m\mathbb{Z}^{m} is a set of all integer linear combinations of (linearly independent) basis vectors 𝐁={𝐛1,,𝐛n}m\mathbf{B}=\{\mathbf{b}_{1},\cdots,\mathbf{b}_{n}\}\in\mathbb{Z}^{m}, i.e.,

Λ:={i=1n𝐛ixi|xii=1,,n}m.\Lambda:=\left\{\sum_{i=1}^{n}\mathbf{b}_{i}x_{i}|x_{i}\in\mathbb{Z}\leavevmode\nobreak\ \forall i=1,\cdots,n\right\}\subseteq\mathbb{Z}^{m}.

We call nn the rank of Λ\Lambda and if n=mn=m we say that Λ\Lambda is a full rank lattice. In this paper, we mainly consider full rank lattices containing qmq\mathbb{Z}^{m}, called qq-ary lattices,

Λq(𝐀)\displaystyle\Lambda_{q}(\mathbf{A}) :={𝐞ms.t.𝐬qnwhere𝐀T𝐬=𝐞modq}\displaystyle:=\left\{\mathbf{e}\in\mathbb{Z}^{m}\leavevmode\nobreak\ \rm{s.t.}\leavevmode\nobreak\ \exists\mathbf{s}\in\mathbb{Z}_{q}^{n}\leavevmode\nobreak\ \rm{where}\leavevmode\nobreak\ \mathbf{A}^{T}\mathbf{s}=\mathbf{e}\mod q\right\}
Λq(𝐀)\displaystyle\Lambda^{\perp}_{q}(\mathbf{A}) :={𝐞ms.t.A𝐞=𝟎modq}\displaystyle:=\left\{\mathbf{e}\in\mathbb{Z}^{m}\leavevmode\nobreak\ \rm{s.t.}\leavevmode\nobreak\ A\mathbf{e}=\mathbf{0}\mod q\right\}

and translations of lattice Λq(𝐀)\Lambda^{\perp}_{q}(\mathbf{A}) defined as follows

Λq𝐮(𝐀):={𝐞ms.t.A𝐞=𝐮modq}\Lambda_{q}^{\mathbf{u}}(\mathbf{A}):=\left\{\mathbf{e}\in\mathbb{Z}^{m}\leavevmode\nobreak\ \rm{s.t.}\leavevmode\nobreak\ A\mathbf{e}=\mathbf{u}\mod q\right\}

for given matrices 𝐀n×m\mathbf{A}\in\mathbb{Z}^{n\times m} and 𝐮qn\mathbf{u}\in\mathbb{Z}_{q}^{n}.

Let 𝐒={𝐬1,,𝐬k}\mathbf{S}=\{\mathbf{s}_{1},\cdots,\mathbf{s}_{k}\} be a set of vectors in m\mathbb{R}^{m}. We denote by 𝐒:=max1ik𝐬i\|\mathbf{S}\|:=\max_{1\leq i\leq k}\|\mathbf{s}_{i}\| the maximum 2\ell_{2} length of the vectors in 𝐒\mathbf{S}. We also denote 𝐒~:={𝐬~1,,𝐬~k}\tilde{\mathbf{S}}:=\{\tilde{\mathbf{s}}_{1},\cdots,\tilde{\mathbf{s}}_{k}\} the Gram-Schmidt orthogonalization of the vectors 𝐬1,,𝐬k\mathbf{s}_{1},\cdots,\mathbf{s}_{k} in that order. We refer to 𝐒~\|\tilde{\mathbf{S}}\| the Gram-Schmidt norm of 𝐒\mathbf{S}.

Note that for any matrix 𝐁n×m\mathbf{B}\in\mathbb{Z}^{n\times m}, there exists a singular value decomposition 𝐁=𝐐𝐃𝐏T\mathbf{B}=\mathbf{Q}\mathbf{D}\mathbf{P}^{T}, where 𝐐n×n\mathbf{Q}\in\mathbb{R}^{n\times n}, 𝐏m×m\mathbf{P}\in\mathbb{R}^{m\times m} are orthogonal matrices, and 𝐃n×m\mathbf{D}\in\mathbb{R}^{n\times m} is a diagonal matrix with nonnegative entries si0s_{i}\geq 0 on the diagonal, in non-increasing order. The sis_{i} are called the singular values of 𝐁\mathbf{B}. Under this convention, 𝐃\mathbf{D} is uniquely determined and s1(𝐁)=max𝐮𝐁𝐮=max𝐮𝐁T𝐮𝐁,𝐁Ts_{1}(\mathbf{B})=\max_{\mathbf{u}}\|\mathbf{B}\mathbf{u}\|=\max_{\mathbf{u}}\|\mathbf{B}^{T}\mathbf{u}\|\geq\|\mathbf{B}\|,\|\mathbf{B}^{T}\| where the maxima are taken over all unit vectors 𝐮m\mathbf{u}\in\mathbb{R}^{m}. Note that the singular values of 𝐁\mathbf{B} and 𝐁T\mathbf{B}^{T} are the same.

Gaussian distribution. We will use the following definitions of the discrete Gaussian distributions.

Definition 2.

Let Λm\Lambda\subseteq\mathbb{Z}^{m} be a lattice. For a vector 𝐜m\mathbf{c}\in\mathbb{R}^{m} and a positive parameter σ\sigma\in\mathbb{R}, define:

ρσ,𝐜(𝐱)=exp(π𝐱𝐜2σ2)andρσ,𝐜(Λ)=𝐱Λρσ,𝐜(𝐱).\rho_{\sigma,\mathbf{c}}(\mathbf{x})=\exp\left(-\pi\frac{\|\mathbf{x}-\mathbf{c}\|^{2}}{\sigma^{2}}\right)\quad\text{and}\quad\rho_{\sigma,\mathbf{c}}(\Lambda)=\sum_{\mathbf{x}\in\Lambda}\rho_{\sigma,\mathbf{c}}(\mathbf{x}).

The discrete Gaussian distribution over Λ\Lambda with center 𝐜\mathbf{c} and parameter σ\sigma is

𝐲Λ,𝒟Λ,σ,𝐜(𝐲)=ρσ,𝐜(𝐲)ρσ,𝐜(Λ).\forall\mathbf{y}\in\Lambda\quad,\quad\mathcal{D}_{\Lambda,\sigma,\mathbf{c}}(\mathbf{y})=\frac{\rho_{\sigma,\mathbf{c}}(\mathbf{y})}{\rho_{\sigma,\mathbf{c}}(\Lambda)}.

For convenience, we will denote by ρσ\rho_{\sigma} and 𝒟Λ,σ\mathcal{D}_{\Lambda,\sigma} for ρσ,𝟎\rho_{\sigma,\mathbf{0}} and 𝒟Λ,σ,𝟎\mathcal{D}_{\Lambda,\sigma,\mathbf{0}} respectively. When σ=1\sigma=1 we will write ρ\rho instead of ρ1\rho_{1}.

It is well-known that for a vector 𝐱\mathbf{x} sampled from 𝒟,σm\mathcal{D}^{m}_{\mathbb{Z},\sigma}, one has that 𝐱σm\|\mathbf{x}\|\leq\sigma\sqrt{m} with overwhelming probability.

Lemma 3.

For 𝐱𝒟Λq𝐮(𝐀),σ\mathbf{x}\leftarrow\mathcal{D}_{\Lambda_{q}^{\mathbf{u}}(\mathbf{A}),\sigma}, Pr[𝐱>σm]negl(n)\Pr[\|\mathbf{x}\|>\sigma\sqrt{m}]\leq\rm{negl}(n).

Lemma 4.

For a prime qq and a positive integer nn, let mnlogqm\geq n\lceil\log q\rceil. For 𝐀qn×m\mathbf{A}\leftarrow\mathbb{Z}^{n\times m}_{q}, 𝐫𝒟,σm\mathbf{r}\leftarrow\mathcal{D}^{m}_{\mathbb{Z},\sigma} with σω(logn)\sigma\geq\omega(\sqrt{\log n}), the distribution of 𝐮=𝐀𝐫qn\mathbf{u}=\mathbf{A}\mathbf{r}\in\mathbb{Z}^{n}_{q} is statistically close to the uniform distribution over qn\mathbb{Z}^{n}_{q}.
Furthermore, fix 𝐮qn\mathbf{u}\in\mathbb{Z}^{n}_{q}, the distribution of 𝐫\mathbf{r} conditioned on 𝐀𝐫=𝐮\mathbf{A}\mathbf{r}=\mathbf{u} is 𝒟Λq𝐮(A),σ\mathcal{D}_{\Lambda_{q}^{\mathbf{u}}(A),\sigma}.

The security of our construction reduces to the LWE (Learning With Errors) problem introduced by Regev [Reg09].

Definition 5 (Learning With Errors - LWE problem).

Consider a prime qq, a positive integer nn, and a distribution χ\chi over q\mathbb{Z}_{q}. An LWEn,m,q,χ\textsf{LWE}_{n,m,q,\chi} problem instance consists of access to an unspecified challenge oracle 𝒪\mathcal{O}, being either a noisy pseudorandom sampler 𝒪𝐬\mathcal{O}_{\mathbf{s}} associated with a secret 𝐬qn\mathbf{s}\in\mathbb{Z}_{q}^{n}, or a truly random sampler 𝒪$\mathcal{O}_{\$} who behaviors are as follows:

𝒪𝐬\mathcal{O}_{\mathbf{s}}:

samples of the form (𝐚i,bi)=(𝐚i,𝐬T𝐚i+ei)qn×q(\mathbf{a}_{i},b_{i})=(\mathbf{a}_{i},\mathbf{s}^{T}\mathbf{a}_{i}+e_{i})\in\mathbb{Z}_{q}^{n}\times\mathbb{Z}_{q} where 𝐬qn\mathbf{s}\in\mathbb{Z}_{q}^{n} is a uniform secret key, 𝐚iqn\mathbf{a}_{i}\in\mathbb{Z}_{q}^{n} is uniform and eiqe_{i}\in\mathbb{Z}_{q} is a noise withdrawn from χ\chi.

𝒪$\mathcal{O}_{\$}:

samples are uniform pairs in qn×q\mathbb{Z}_{q}^{n}\times\mathbb{Z}_{q}.

The LWEn,m,q,χ\textsf{LWE}_{n,m,q,\chi} problem allows respond queries to the challenge oracle 𝒪\mathcal{O}. We say that an algorithm 𝒜\mathcal{A} decides the LWEn,m,q,χ\textsf{LWE}_{n,m,q,\chi} problem if

𝖠𝖽𝗏𝒜LWEn,m,q,χ:=|Pr[𝒜𝒪𝐬=1]Pr[𝒜𝒪$=1]|\mathsf{Adv}_{\mathcal{A}}^{\textsf{LWE}_{n,m,q,\chi}}:=\left|\Pr[\mathcal{A}^{\mathcal{O}_{\mathbf{s}}}=1]-\Pr[\mathcal{A}^{\mathcal{O}_{\$}}=1]\right|

is non-negligible for a random 𝐬qn\mathbf{s}\in\mathbb{Z}_{q}^{n}.

Regev [Reg09] showed that (see Theorem 6 below) when χ\chi is a distribution Ψ¯α\overline{\Psi}_{\alpha} with α(0,1)\alpha\in(0,1), the LWE problem is hard.

Theorem 6.

If there exists an efficient, possibly quantum, algorithm for deciding the LWEn,m,q,Ψ¯α\textsf{LWE}_{n,m,q,\overline{\Psi}_{\alpha}} problem for q>2n/αq>2\sqrt{n}/\alpha then there is an efficient quantum algorithm for approximating the SIVP and GapSVP problems, to within 𝒪~(n/α)\tilde{\mathcal{O}}(n/\alpha) factors in the 2\ell_{2} norm, in the worst case.

The theorem implies, for n/αn/\alpha is a polynomial in nn, the LWE problem is as hard as approximating the SIVP and GapSVP problems in lattices of dimension nn to within polynomial (in nn) factors.

In this paper, we will use the discrete Gaussian distribution 𝒟,σm\mathcal{D}^{m}_{\mathbb{Z},\sigma} and denote LWEn,m,q,σ\textsf{LWE}_{n,m,q,\sigma} instead of LWEn,m,q,𝒟,σm\textsf{LWE}_{n,m,q,\mathcal{D}^{m}_{\mathbb{Z},\sigma}} for convenience.

We use the following lemma which was introduced by Katsumata and Yamada in [KY16] to rerandomize LWE instances:

Lemma 7.

Let ,q,m\ell,q,m be positive integers and let rr be a positive real number satisfying rmax{ω(logm),ω(log)}r\geq\max\{\omega(\sqrt{\log m}),\omega(\sqrt{\log\ell})\}. Let 𝐛qm\mathbf{b}\in\mathbb{Z}^{m}_{q} be arbitrary and 𝐳𝒟,rm\mathbf{z}\leftarrow\mathcal{D}^{m}_{\mathbb{Z},r}. Then there exists an efficient algorithm 𝖱𝖾𝖱𝖺𝗇𝖽\mathsf{ReRand} such that for any 𝐃m×\mathbf{D}\in\mathbb{Z}^{m\times\ell} and positive real σs1(𝐃)\sigma\geq s_{1}(\mathbf{D}), the output of 𝖱𝖾𝖱𝖺𝗇𝖽(𝐃,𝐛T+𝐳T,r,σ)\mathsf{ReRand}(\mathbf{D},\mathbf{b}^{T}+\mathbf{z}^{T},r,\sigma) is distributed as 𝐛T=𝐛T𝐃+𝐳Tq\mathbf{b}^{\prime T}=\mathbf{b}^{T}\mathbf{D}+\mathbf{z}^{\prime T}\in\mathbb{Z}^{\ell}_{q} where the distribution of 𝐳\mathbf{z}^{\prime} is close to 𝒟,2rσ\mathcal{D}^{\ell}_{\mathbb{Z},2r\sigma}.

Lattice trapdoors

Our work heavily bases on the notion 𝐆\mathbf{G}-trapdoor introduced in [MP12]. In the following, we recap this notion as well as some usefull algorithms.

As in [MP12], let n1n\geq 1, q2q\geq 2 and let ω=nlogq=nk\omega=n\lceil\log q\rceil=nk, we will use the vector 𝐠T=(1,2,4,,2k1)\mathbf{g}^{T}=(1,2,4,\dots,2^{k-1}) and extend it to get the gadget matrix 𝐆=𝐈n𝐠Tqn×ω\mathbf{G}=\mathbf{I}_{n}\otimes\mathbf{g}^{T}\in\mathbb{Z}^{n\times\omega}_{q} such that the lattice Λq(𝐆)\Lambda^{\perp}_{q}(\mathbf{G}) has a public known matrix 𝐓𝐆ω×ω\mathbf{T}_{\mathbf{G}}\in\mathbb{Z}^{\omega\times\omega} with 𝐓𝐆~5\|\widetilde{\mathbf{T}_{\mathbf{G}}}\|\leq\sqrt{5} and 𝐓𝐆max(5,k)\|\mathbf{T}_{\mathbf{G}}\|\leq\max(\sqrt{5},\sqrt{k}).

Definition 8.

(𝐆\mathbf{G}-trapdoor) Let n1n\geq 1, q2q\geq 2 and ω=nlogq\omega=n\lceil\log q\rceil, mωm\geq\omega. Let 𝐀qn×m\mathbf{A}\in\mathbb{Z}^{n\times m}_{q}, 𝐆qn×ω\mathbf{G}\in\mathbb{Z}^{n\times\omega}_{q}. Let 𝐇qn×n\mathbf{H}\in\mathbb{Z}^{n\times n}_{q} be some invertible matrix. A matrix 𝐑(mω)×ω\mathbf{R}\in\mathbb{Z}^{(m-\omega)\times\omega} is called a 𝐆\mathbf{G}-trapdoor for 𝐀\mathbf{A} with tag 𝐇\mathbf{H} if it holds that 𝐀[𝐑𝐈ω]=𝐇𝐆modq\mathbf{A}\begin{bmatrix}-\mathbf{R}\\ \mathbf{I}_{\omega}\end{bmatrix}=\mathbf{H}\mathbf{G}\mod q. The quality of the trapdoor is measured by its largest singular value s1(𝐑)s_{1}(\mathbf{R}).

[MP12] also presented an algorithm to generate a pseudorandom matrix 𝐅qn×(m+ω)\mathbf{F}\in\mathbb{Z}^{n\times(m+\omega)}_{q} together with a “strong” 𝐆\mathbf{G}-trapdoor for the lattice Λq(𝐅)\Lambda^{\perp}_{q}(\mathbf{F}):

  1. 1.

    Sample 𝐀qn×m\mathbf{A}\leftarrow\mathbb{Z}^{n\times m}_{q}, 𝐑𝒟,ω(logn)m×ω\mathbf{R}\leftarrow\mathcal{D}^{m\times\omega}_{\mathbb{Z},\omega(\sqrt{\log n})} and an invertible matrix 𝐇qn×n\mathbf{H}\leftarrow\mathbb{Z}^{n\times n}_{q}

  2. 2.

    Return 𝐅=[𝐀|𝐀𝐑+𝐇𝐆]\mathbf{F}=[\mathbf{A}|\mathbf{A}\mathbf{R}+\mathbf{H}\mathbf{G}] and the 𝐆\mathbf{G}-trapdoor 𝐑\mathbf{R}.

The matrix 𝐑𝒟,ω(logn)m×ω\mathbf{R}\leftarrow\mathcal{D}^{m\times\omega}_{\mathbb{Z},\omega(\sqrt{\log n})} can do everything that a low-norm basis of Λq(𝐅)\Lambda^{\perp}_{q}(\mathbf{F}) does. Moreover, 𝐑\mathbf{R} can be used to efficiently generate low-norm basis 𝐓𝐅(m+ω)×(m+ω)\mathbf{T}_{\mathbf{F}}\in\mathbb{Z}^{(m+\omega)\times(m+\omega)} for Λq(𝐅)\Lambda^{\perp}_{q}(\mathbf{F}).

Next, we recall the following lemma from [GPV08]:

Lemma 9.

Let q,k,n,mq,k,n,m be integers with q>2,k>1q>2,k>1, m>nm>n and let 𝐀qn×m\mathbf{A}\in\mathbb{Z}_{q}^{n\times m}, 𝐔qn×k\mathbf{U}\in\mathbb{Z}^{n\times k}_{q}. Let 𝐓𝐀\mathbf{T}_{\mathbf{A}} be a basis for Λq(𝐀)\Lambda^{\perp}_{q}(\mathbf{A}). For σ𝐓𝐀~ω(logm)\sigma\geq\|\widetilde{\mathbf{T}_{\mathbf{A}}}\|\cdot\omega(\sqrt{\log m}), there is a PPT algorithm 𝖲𝖺𝗆𝗉𝗅𝖾𝖯𝗋𝖾(𝐀,𝐓𝐀,𝐔,σ)\mathsf{SamplePre}(\mathbf{A},\mathbf{T}_{\mathbf{A}},\mathbf{U},\sigma) that returns a matrix 𝐃qn×k\mathbf{D}\in\mathbb{Z}^{n\times k}_{q} sampled from a distribution statistically close to 𝒟Λq𝐔(𝐀),σ\mathcal{D}_{\Lambda_{q}^{\mathbf{U}}(\mathbf{A}),\sigma}, whenever Λq𝐔(𝐀)\Lambda_{q}^{\mathbf{U}}(\mathbf{A}) is not empty such that 𝐀𝐃=𝐔\mathbf{A}\mathbf{D}=\mathbf{U}.

The following lemma consists of algorithms for generating bases for lattices collected from the sampling technique in the work of Agrawal et al. [ABB10a] and the 𝖲𝖺𝗆𝗉𝗅𝖾𝖯𝗋𝖾\mathsf{SamplePre} algorithm from the work of Micciancio et al. [MP12, Theorem 5.1] which will be used in our construction. Note that the 𝖲𝖺𝗆𝗉𝗅𝖾𝖯𝗋𝖾\mathsf{SamplePre} algorithm in [MP12] is different from the 𝖲𝖺𝗆𝗉𝗅𝖾𝖯𝗋𝖾\mathsf{SamplePre} algorithm from [ABB10a] in Lemma 9 above.

Lemma 10.

Let n1n\geq 1, q2q\geq 2, ω=nlogq\omega=n\lceil\log q\rceil, mωm\geq\omega. Let 𝐀qn×m\mathbf{A}\leftarrow\mathbb{Z}^{n\times m}_{q}.

  • Let 𝐓𝐀\mathbf{T}_{\mathbf{A}} be a basis for Λq(𝐀)\Lambda^{\perp}_{q}(\mathbf{A}), 𝐌qn×m1\mathbf{M}\leftarrow\mathbb{Z}_{q}^{n\times m_{1}} and σ𝐓𝐀~ω(log(m+m1))\sigma\geq\|\widetilde{\mathbf{T}_{\mathbf{A}}}\|\cdot\omega(\sqrt{\log(m+m_{1})}). Then there exists a PPT algorithm 𝖲𝖺𝗆𝗉𝗅𝖾𝖡𝖺𝗌𝗂𝗌𝖫𝖾𝖿𝗍(𝐀,𝐌,𝐓𝐀,σ)\mathsf{SampleBasisLeft}(\mathbf{A},\mathbf{M},\mathbf{T}_{\mathbf{A}},\sigma) that outputs a basis of Λq([𝐀|𝐌])\Lambda_{q}^{\perp}([\mathbf{A}|\mathbf{M}]).

  • Let 𝐑𝒟,ω(logn)m×ω\mathbf{R}\leftarrow\mathcal{D}^{m\times\omega}_{\mathbb{Z},\omega(\sqrt{\log n})}, 𝐔qn×ω\mathbf{U}\leftarrow\mathbb{Z}^{n\times\omega}_{q}, and let 𝐇qn×n\mathbf{H}\leftarrow\mathbb{Z}^{n\times n}_{q} be an invertible matrix. Let 𝐅=[𝐀|𝐀𝐑+𝐇𝐆]\mathbf{F}=[\mathbf{A}|\mathbf{A}\mathbf{R}+\mathbf{H}\mathbf{G}]. Then for σ5s1(𝐑)ω(logn)\sigma\geq 5\cdot s_{1}(\mathbf{R})\cdot\omega(\sqrt{\log n}), there exists a PPT algorithm 𝖲𝖺𝗆𝗉𝗅𝖾𝖱𝗂𝗀𝗁𝗍(𝐑,𝐅,𝐇,𝐔,σ)\mathsf{SampleRight}(\mathbf{R},\mathbf{F},\mathbf{H},\mathbf{U},\sigma) that outputs a matrix 𝐃(m+ω)×ω\mathbf{D}\in\mathbb{Z}^{(m+\omega)\times\omega} distributed statistically close to 𝒟Λq𝐔(𝐅),σ\mathcal{D}_{\Lambda_{q}^{\mathbf{U}}(\mathbf{F}),\sigma} s.t. 𝐅𝐃=𝐔\mathbf{F}\mathbf{D}=\mathbf{U}.
    In particular, there exits a PPT algorithm 𝖲𝖺𝗆𝗉𝗅𝖾𝖡𝖺𝗌𝗂𝗌𝖱𝗂𝗀𝗁𝗍(𝐑,𝐅,𝐇,𝐔,σ)\mathsf{SampleBasisRight}(\mathbf{R},\mathbf{F},\mathbf{H},\mathbf{U},\sigma) that outputs a basis 𝐓(m+ω)×(m+ω)\mathbf{T}\in\mathbb{Z}^{(m+\omega)\times(m+\omega)} of Λq(𝐅)\Lambda_{q}^{\perp}(\mathbf{F}) which distributes statistically close to 𝒟Λq(𝐅),σ\mathcal{D}_{\Lambda_{q}^{\perp}(\mathbf{F}),\sigma}, i.e., 𝐅𝐓=𝟎\mathbf{F}\mathbf{T}=\mathbf{0}.

Here, we note that the algorithm 𝖲𝖺𝗆𝗉𝗅𝖾𝖡𝖺𝗌𝗂𝗌𝖱𝗂𝗀𝗁𝗍\mathsf{SampleBasisRight} basically runs 𝖲𝖺𝗆𝗉𝗅𝖾𝖱𝗂𝗀𝗁𝗍(𝐑,𝐅,𝐇,𝟎,σ)\mathsf{SampleRight}(\mathbf{R},\mathbf{F},\mathbf{H},\mathbf{0},\sigma) many times until there are enough linearly independent output vectors to form a basis of Λq(𝐅)\Lambda_{q}^{\perp}(\mathbf{F}). According to [ABB10b], 2(m+ω)2(m+\omega) samples are needed in expectation to get the basis 𝐓\mathbf{T} for Λq(𝐅)\Lambda_{q}^{\perp}(\mathbf{F}).

Peikert [Pei09] shows how to construct a basis for Λq(𝐀1|𝐀2|𝐀3)\Lambda^{\perp}_{q}(\mathbf{A}_{1}|\mathbf{A}_{2}|\mathbf{A}_{3}) from a basis for Λq(𝐀2)\Lambda^{\perp}_{q}(\mathbf{A}_{2}).

Theorem 11.

For i=1,2,3i=1,2,3, let 𝐀i\mathbf{A}_{i} be a matrix in n×mi\mathbb{Z}^{n\times m_{i}} and let 𝐀=(𝐀1|𝐀2|𝐀3)\mathbf{A}=(\mathbf{A}_{1}|\mathbf{A}_{2}|\mathbf{A}_{3}). Let 𝐓2\mathbf{T}_{2} be a basis of Λq(𝐀2)\Lambda^{\perp}_{q}(\mathbf{A}_{2}). There is a deterministic polynomial time algorithm 𝖤𝗑𝗍𝖾𝗇𝖽𝖡𝖺𝗌𝗂𝗌\mathsf{ExtendBasis} that outputs a basis 𝐓\mathbf{T} for Λq(𝐀)\Lambda^{\perp}_{q}(\mathbf{A}) such that 𝐓~=𝐓2~\|\widetilde{\mathbf{T}}\|=\|\widetilde{\mathbf{T}_{2}}\|.

We will also use the following lemma in the decryption algorithm to recover the message.

Lemma 12.

Let 𝐀\mathbf{A} be a uniformly random matrix in qn×m\mathbb{Z}^{n\times m}_{q} where m>2nm>2n. Let 𝐓m×m\mathbf{T}\in\mathbb{Z}^{m\times m} be a basis of Λq(𝐀)\Lambda^{\perp}_{q}(\mathbf{A}). Given 𝐲=𝐬T𝐀+𝐞T\mathbf{y}=\mathbf{s}^{T}\mathbf{A}+\mathbf{e}^{T} where 𝐬qn\mathbf{s}\in\mathbb{Z}^{n}_{q}, 𝐞m\mathbf{e}\in\mathbb{Z}^{m} with 𝐞T𝐓<q/4\|\mathbf{e}^{T}\mathbf{T}\|_{\infty}<q/4, there exists an algorithm 𝖨𝗇𝗏𝖾𝗋𝗍(𝐀,𝐓,𝐲)\mathsf{Invert}(\mathbf{A},\mathbf{T},\mathbf{y}) that outputs 𝐬\mathbf{s} and 𝐞\mathbf{e} with overwhelming probability.

It can be easily seen that the lemma is true since the algorithm works by computing 𝐲T𝐓modq=𝐞T𝐓modq\mathbf{y}^{T}\mathbf{T}\mod q=\mathbf{e}^{T}\mathbf{T}\mod q. We have 𝐞T𝐓<q/4\|\mathbf{e}^{T}\mathbf{T}\|_{\infty}<q/4, so 𝐞T𝐓modq=𝐞𝐓m\mathbf{e}^{T}\mathbf{T}\mod q=\mathbf{e}^{\mathbf{T}}\in\mathbb{Z}^{m}. Since 𝐓m×m\mathbf{T}\in\mathbb{Z}^{m\times m} is a basis of lattice Λq(𝐀)\Lambda^{\perp}_{q}(\mathbf{A}), 𝐓\mathbf{T} has linearly independent columns, one can simply use the Gaussian elimination to recover 𝐞\mathbf{e} and then get 𝐬T𝐀\mathbf{s}^{T}\mathbf{A}. Finally, 𝐬\mathbf{s} can be recovered by Gaussian elimination because 𝐀n×m\mathbf{A}\in\mathbb{Z}^{n\times m} has at least nn linearly independent column vectors.

3 AHIBET Construction over Integer Lattices

  • Let λ\lambda be the security parameter, dd be the hierarchy depth and identities are vector 𝗂𝖽=(𝗂𝖽1,,𝗂𝖽)\mathsf{id}=(\mathsf{id}_{1},\dots,\mathsf{id}_{\ell}) (1d1\leq\ell\leq d) where all components 𝗂𝖽i\mathsf{id}_{i} are in n{𝟎}\mathbb{Z}^{n}\setminus{\{\mathbf{0}\}}.

  • Let 𝖥𝖱𝖣:qnqn×n\mathsf{FRD}:\mathbb{Z}^{n}_{q}\longrightarrow\mathbb{Z}^{n\times n}_{q} be a full-rank difference encoding (FRD) from [ABB10a] s.t. for all distinct 𝐮,𝐯qn\mathbf{u},\mathbf{v}\in\mathbb{Z}^{n}_{q}, 𝖥𝖱𝖣(𝐮)𝖥𝖱𝖣(𝐯)qn×n\mathsf{FRD}(\mathbf{u})-\mathsf{FRD}(\mathbf{v})\in\mathbb{Z}^{n\times n}_{q} is an invertible matrix.

  • Let 𝖧:(qn)qn\mathsf{H}:(\mathbb{Z}^{n}_{q})^{*}\longrightarrow\mathbb{Z}^{n}_{q} be a collision resistant hash function.

  • For an integer q>2q>2, xqx\in\mathbb{Z}_{q}, the algorithm 𝖱𝗈𝗎𝗇𝖽(x)\mathsf{Round}(x) returns 0 if xx is closer to 0 than to q2\left\lfloor\displaystyle{\frac{q}{2}}\right\rfloor modulo qq; otherwise, it returns 11.

In the construction of the AHIBET scheme, we assume each identity 𝗂𝖽\mathsf{id} can only be given exactly one tracing key 𝖳𝗌𝗄𝗂𝖽\mathsf{Tsk}_{\mathsf{id}}.

Setup(λ,d\lambda,d)

On input security parameter λ\lambda and a maximum hierarchy depth dd, set the parameters (n,m,q,ω,σ¯,τ,α,r)(n,m,q,\omega,\bar{\sigma},\tau,\alpha,r) as in section 3.1, the algorithm does:

  1. 1.

    Sample uniformly random matrices 𝐀qn×m\mathbf{A}\leftarrow\mathbb{Z}_{q}^{n\times m}, 𝐀2,,𝐀dqn×ω\mathbf{A}_{2},\dots,\mathbf{A}_{d}\leftarrow\mathbb{Z}_{q}^{n\times\omega} and 𝐑0,𝐑1𝒟,ω(logn)m×ω\mathbf{R}_{0},\mathbf{R}_{1}\leftarrow\mathcal{D}^{m\times\omega}_{\mathbb{Z},\omega(\sqrt{\log n})}.

  2. 2.

    Set 𝐀0𝐀𝐑0qn×ω\mathbf{A}_{0}\leftarrow\mathbf{A}\mathbf{R}_{0}\in\mathbb{Z}^{n\times\omega}_{q}, 𝐀1𝐀𝐑1qn×ω\mathbf{A}_{1}\leftarrow\mathbf{A}\mathbf{R}_{1}\in\mathbb{Z}^{n\times\omega}_{q} and choose 𝐔1,𝐔2qn×λ\mathbf{U}_{1},\mathbf{U}_{2}\leftarrow\mathbb{Z}^{n\times\lambda}_{q} uniformly at random.

  3. 3.

    Output the master public key and the master secret key

    𝖬𝖯𝖪=(𝐀,𝐀0,𝐀1,,𝐀d,𝐔1,𝐔2),𝖬𝖲𝖪=(𝐑0,𝐑1).\mathsf{MPK}=(\mathbf{A},\mathbf{A}_{0},\mathbf{A}_{1},\dots,\mathbf{A}_{d},\mathbf{U}_{1},\mathbf{U}_{2})\leavevmode\nobreak\ ,\leavevmode\nobreak\ \mathsf{MSK}=(\mathbf{R}_{0},\mathbf{R}_{1}).
Extract(𝖬𝖯𝖪,𝖬𝖲𝖪,𝗂𝖽\mathsf{MPK},\mathsf{MSK},\mathsf{id})

On input the master pubic key 𝖬𝖯𝖪\mathsf{MPK}, the master secret key 𝖬𝖲𝖪\mathsf{MSK} and an identity 𝗂𝖽\mathsf{id} of level 11, the algorithm generates secret key for 𝗂𝖽\mathsf{id} as follows:

  1. 1.

    Compute 𝐅𝗂𝖽=[𝐀|𝐀1+𝖥𝖱𝖣(𝗂𝖽)𝐆]qn×(m+ω)\mathbf{F}_{\mathsf{id}}=[\mathbf{A}|\mathbf{A}_{1}+\mathsf{FRD}(\mathsf{id})\mathbf{G}]\in\mathbb{Z}^{n\times(m+\omega)}_{q}.

  2. 2.

    Sample 𝐓𝗂𝖽𝖲𝖺𝗆𝗉𝗅𝖾𝖡𝖺𝗌𝗂𝗌𝖱𝗂𝗀𝗁𝗍(𝐅𝗂𝖽,𝐑1,𝖥𝖱𝖣(𝗂𝖽),σ1)q(m+ω)×(m+ω)\mathbf{T}_{\mathsf{id}}\leftarrow\mathsf{SampleBasisRight}(\mathbf{F}_{\mathsf{id}},\mathbf{R}_{1},\mathsf{FRD}(\mathsf{id}),\sigma_{1})\in\mathbb{Z}^{(m+\omega)\times(m+\omega)}_{q} s.t. 𝐅𝗂𝖽𝐓𝗂𝖽=0\mathbf{F}_{\mathsf{id}}\mathbf{T}_{\mathsf{id}}=0.

  3. 3.

    Output 𝖲𝖪𝗂𝖽𝐓𝗂𝖽\mathsf{SK}_{\mathsf{id}}\leftarrow\mathbf{T}_{\mathsf{id}}.

Derive(𝖬𝖯𝖪,𝖲𝖪𝗂𝖽,(𝗂𝖽|𝗂𝖽)\mathsf{MPK},\mathsf{SK}_{\mathsf{id}},(\mathsf{id}|\mathsf{id}_{\ell}))

On input the master pubic key 𝖬𝖯𝖪\mathsf{MPK}, a secret key 𝖲𝖪𝗂𝖽\mathsf{SK}_{\mathsf{id}} corresponding to an identity 𝗂𝖽=(𝗂𝖽1,,𝗂𝖽1)\mathsf{id}=(\mathsf{id}_{1},\dots,\mathsf{id}_{\ell-1}) at depth 1\ell-1 and an identity 𝗂𝖽|𝗂𝖽=(𝗂𝖽1,,𝗂𝖽1,𝗂𝖽)\mathsf{id}|\mathsf{id}_{\ell}=(\mathsf{id}_{1},\dots,\mathsf{id}_{\ell-1},\mathsf{id}_{\ell}) of level >1\ell>1, the algorithm generates secret key for 𝗂𝖽\mathsf{id} as follows:

  1. 1.

    Set 𝐅𝗂𝖽|𝗂𝖽=[𝐅𝗂𝖽|𝐀+𝖥𝖱𝖣(𝗂𝖽)𝐆]qn×(m+ω)\mathbf{F}_{\mathsf{id}|\mathsf{id}_{\ell}}=[\mathbf{F}_{\mathsf{id}}|\mathbf{A}_{\ell}+\mathsf{FRD}(\mathsf{id}_{\ell})\mathbf{G}]\in\mathbb{Z}^{n\times(m+\ell\omega)}_{q} with 𝐅𝗂𝖽=[𝐀|𝐀1+𝖥𝖱𝖣(𝗂𝖽1)𝐆||𝐀1+𝖥𝖱𝖣(𝗂𝖽1)𝐆]\mathbf{F}_{\mathsf{id}}=[\mathbf{A}|\mathbf{A}_{1}+\mathsf{FRD}(\mathsf{id}_{1})\mathbf{G}|\dots|\mathbf{A}_{\ell-1}+\mathsf{FRD}(\mathsf{id}_{\ell-1})\mathbf{G}].

  2. 2.

    Sample 𝐓𝗂𝖽|𝗂𝖽𝖲𝖺𝗆𝗉𝗅𝖾𝖡𝖺𝗌𝗂𝗌𝖫𝖾𝖿𝗍(𝐅𝗂𝖽,𝐀+𝖥𝖱𝖣(𝗂𝖽)𝐆,𝖲𝖪𝗂𝖽,σ)\mathbf{T}_{\mathsf{id}|\mathsf{id}_{\ell}}\leftarrow\mathsf{SampleBasisLeft}(\mathbf{F}_{\mathsf{id}},\mathbf{A}_{\ell}+\mathsf{FRD}(\mathsf{id}_{\ell})\mathbf{G},\mathsf{SK}_{\mathsf{id}},\sigma_{\ell}) s.t. 𝐅𝗂𝖽|𝗂𝖽𝐓𝗂𝖽|𝗂𝖽=0\mathbf{F}_{\mathsf{id}|\mathsf{id}_{\ell}}\mathbf{T}_{\mathsf{id}|\mathsf{id}_{\ell}}=0.

  3. 3.

    Output 𝖲𝖪𝗂𝖽|𝗂𝖽𝐓𝗂𝖽|𝗂𝖽\mathsf{SK}_{\mathsf{id}|\mathsf{id}_{\ell}}\leftarrow\mathbf{T}_{\mathsf{id}|\mathsf{id}_{\ell}}.

TskGen(𝖬𝖯𝖪,𝖬𝖲𝖪,𝗂𝖽\mathsf{MPK},\mathsf{MSK},\mathsf{id})

On input the master pubic key 𝖬𝖯𝖪\mathsf{MPK}, the master secret key 𝖬𝖲𝖪\mathsf{MSK} and an identity 𝗂𝖽=(𝗂𝖽1,,𝗂𝖽)\mathsf{id}=(\mathsf{id}_{1},\dots,\mathsf{id}_{\ell}), the algorithm generates the tracing key for 𝗂𝖽\mathsf{id} as follows:

  1. 1.

    Compute 𝐅𝗂𝖽=[𝐀|𝐀0+𝖥𝖱𝖣(𝖧(𝗂𝖽))𝐆]qn×(m+ω)\mathbf{F}^{\prime}_{\mathsf{id}}=[\mathbf{A}|\mathbf{A}_{0}+\mathsf{FRD}(\mathsf{H(\mathsf{id})})\mathbf{G}]\in\mathbb{Z}^{n\times(m+\omega)}_{q}.

  2. 2.

    Sample 𝐃𝗂𝖽𝖲𝖺𝗆𝗉𝗅𝖾𝖡𝖺𝗌𝗂𝗌𝖱𝗂𝗀𝗁𝗍(𝐅𝗂𝖽,𝐑0,𝖥𝖱𝖣(𝖧(𝗂𝖽)),σ1)q(m+ω)×(m+ω)\mathbf{D}^{\prime}_{\mathsf{id}}\leftarrow\mathsf{SampleBasisRight}(\mathbf{F}^{\prime}_{\mathsf{id}},\mathbf{R}_{0},\mathsf{FRD}(\mathsf{H}(\mathsf{id})),\sigma_{1})\in\mathbb{Z}^{(m+\omega)\times(m+\omega)}_{q} s.t. 𝐅𝗂𝖽𝐃𝗂𝖽=0\mathbf{F}^{\prime}_{\mathsf{id}}\mathbf{D}^{\prime}_{\mathsf{id}}=0.

  3. 3.

    Sample 𝐃𝗂𝖽𝖲𝖺𝗆𝗉𝗅𝖾𝖯𝗋𝖾(𝐅𝗂𝖽,𝐃𝗂𝖽,𝐔2,σ1)q(m+ω)×λ\mathbf{D}_{\mathsf{id}}\leftarrow\mathsf{SamplePre}(\mathbf{F}^{\prime}_{\mathsf{id}},\mathbf{D}^{\prime}_{\mathsf{id}},\mathbf{U}_{2},\sigma_{1})\in\mathbb{Z}^{(m+\omega)\times\lambda}_{q}.

  4. 4.

    Output 𝖳𝗌𝗄𝗂𝖽𝐃𝗂𝖽\mathsf{Tsk}_{\mathsf{id}}\leftarrow\mathbf{D}_{\mathsf{id}}.

Encrypt(𝖬𝖯𝖪,𝗂𝖽,𝐦\mathsf{MPK},\mathsf{id},\mathbf{m})

On input the master pubic key 𝖬𝖯𝖪\mathsf{MPK}, the algorithm encrypts the message 𝐦{0,1}λ\mathbf{m}\in\{0,1\}^{\lambda} for identity 𝗂𝖽=(𝗂𝖽1,,𝗂𝖽)\mathsf{id}=(\mathsf{id}_{1},\dots,\mathsf{id}_{\ell}) at depth \ell as follows:

  1. 1.

    Compute 𝐅𝗂𝖽=[𝐀|𝐁𝗂𝖽]=[𝐀|𝐀1+𝖥𝖱𝖣(𝗂𝖽1)𝐆||𝐀+𝖥𝖱𝖣(𝗂𝖽)𝐆]qn×(m+ω)\mathbf{F}_{\mathsf{id}}=[\mathbf{A}|\mathbf{B}_{\mathsf{id}}]=[\mathbf{A}|\mathbf{A}_{1}+\mathsf{FRD}(\mathsf{id}_{1})\mathbf{G}|\dots|\mathbf{A}_{\ell}+\mathsf{FRD}(\mathsf{id}_{\ell})\mathbf{G}]\in\mathbb{Z}^{n\times(m+\ell\omega)}_{q}.

  2. 2.

    Sample 𝐤{0,1}λ\mathbf{k}\leftarrow\{0,1\}^{\lambda}.

  3. 3.

    Sample a uniformly random vector 𝐬qn\mathbf{s}\leftarrow\mathbb{Z}^{n}_{q}.

  4. 4.

    Choose noise vectors 𝐞0𝒟,rm\mathbf{e}_{0}\leftarrow\mathcal{D}^{m}_{\mathbb{Z},r}, 𝐞1𝒟,2rτω\mathbf{e}_{1}\leftarrow\mathcal{D}^{\ell\omega}_{\mathbb{Z},2r\tau} 𝐞2𝒟,rλ,𝐞3𝒟,2rτλ,𝐞4𝒟,2rτω\mathbf{e}_{2}\leftarrow\mathcal{D}^{\lambda}_{\mathbb{Z},r},\ \mathbf{e}_{3}\leftarrow\mathcal{D}^{\lambda}_{\mathbb{Z},2r\tau},\ \mathbf{e}_{4}\leftarrow\mathcal{D}^{\omega}_{\mathbb{Z},2r\tau}.

  5. 5.

    Set

    𝐜0T=𝐬T𝐀+𝐞0T,𝐜1T=𝐬T𝐁𝗂𝖽+𝐞1T,𝐜2T=𝐬T𝐔1+𝐞2T+𝐦Tq2,\mathbf{c}_{0}^{T}=\mathbf{s}^{T}\mathbf{A}+\mathbf{e}_{0}^{T},\ \ \ \ \ \mathbf{c}_{1}^{T}=\mathbf{s}^{T}\mathbf{B}_{\mathsf{id}}+\mathbf{e}_{1}^{T},\ \ \ \ \ \mathbf{c}_{2}^{T}=\mathbf{s}^{T}\mathbf{U}_{1}+\mathbf{e}_{2}^{T}+\mathbf{m}^{T}\left\lfloor\frac{q}{2}\right\rfloor,

    and

    𝐜3T=𝐬T𝐔2+𝐞3T+𝐤Tq2,𝐜4T=𝐬T(𝐀0+𝖥𝖱𝖣(𝖧(𝗂𝖽))𝐆)+𝐞4T.\mathbf{c}_{3}^{T}=\mathbf{s}^{T}\mathbf{U}_{2}+\mathbf{e}_{3}^{T}+\mathbf{k}^{T}\left\lfloor\frac{q}{2}\right\rfloor,\ \ \ \ \ \mathbf{c}_{4}^{T}=\mathbf{s}^{T}(\mathbf{A}_{0}+\mathsf{FRD}(\mathsf{H}(\mathsf{id}))\mathbf{G})+\mathbf{e}_{4}^{T}.
  6. 6.

    Output 𝖢𝖳=(𝐜0,𝐜1,𝐜2,𝐜3,𝐜4,𝐤)\mathsf{CT}=(\mathbf{c}_{0},\mathbf{c}_{1},\mathbf{c}_{2},\mathbf{c}_{3},\mathbf{c}_{4},\mathbf{k}).

Decrypt(𝖬𝖯𝖪,𝖢𝖳,𝖲𝖪𝗂𝖽\mathsf{MPK},\mathsf{CT},\mathsf{SK}_{\mathsf{id}})

On input the master pubic key 𝖬𝖯𝖪\mathsf{MPK}, a ciphertext 𝖢𝖳\mathsf{CT} and a secret key 𝖲𝖪𝗂𝖽\mathsf{SK}_{\mathsf{id}} where 𝗂𝖽=(𝗂𝖽1,,𝗂𝖽)\mathsf{id}=(\mathsf{id}_{1},\dots,\mathsf{id}_{\ell}) is an identity at depth \ell, the algorithm does:

  1. 1.

    Parse 𝖢𝖳=(𝐜0,𝐜1,𝐜2,𝐜3,𝐜4,𝐤)\mathsf{CT}=(\mathbf{c}_{0},\mathbf{c}_{1},\mathbf{c}_{2},\mathbf{c}_{3},\mathbf{c}_{4},\mathbf{k}); Output \perp if 𝖢𝖳\mathsf{CT} doesn’t parse.

  2. 2.

    Set 𝐅𝗂𝖽=[𝐀|𝐀1+𝖥𝖱𝖣(𝗂𝖽1)𝐆||𝐀+𝖥𝖱𝖣(𝗂𝖽)𝐆]\mathbf{F}_{\mathsf{id}}=[\mathbf{A}|\mathbf{A}_{1}+\mathsf{FRD}(\mathsf{id}_{1})\mathbf{G}|\dots|\mathbf{A}_{\ell}+\mathsf{FRD}(\mathsf{id}_{\ell})\mathbf{G}] and recover 𝐬\mathbf{s} via 𝖨𝗇𝗏𝖾𝗋𝗍(𝖲𝖪𝗂𝖽,𝐅𝗂𝖽,[𝐜0T|𝐜1T])\mathsf{Invert}(\mathsf{SK}_{\mathsf{id}},\mathbf{F}_{\mathsf{id}},[\mathbf{c}_{0}^{T}|\mathbf{c}_{1}^{T}]).

  3. 3.

    Recover 𝐤~𝖱𝗈𝗎𝗇𝖽(𝐜3T𝐬T𝐔2)\tilde{\mathbf{k}}\leftarrow\mathsf{Round}(\mathbf{c}_{3}^{T}-\mathbf{s}^{T}\mathbf{U}_{2}); Return \perp if 𝐤~𝐤\tilde{\mathbf{k}}\neq\mathbf{k}.

  4. 4.

    Compute 𝐦𝖱𝗈𝗎𝗇𝖽(𝐜2T𝐬T𝐔1)\mathbf{m}\leftarrow\mathsf{Round}(\mathbf{c}_{2}^{T}-\mathbf{s}^{T}\mathbf{U}_{1}).

  5. 5.

    Output 𝐦\mathbf{m}.

TkVer(𝖬𝖯𝖪,𝗂𝖽,𝖳𝗌𝗄𝗂𝖽,𝖢𝖳\mathsf{MPK},\mathsf{id},\mathsf{Tsk}_{\mathsf{id}},\mathsf{CT})

On input the master pubic key 𝖬𝖯𝖪\mathsf{MPK}, the algorithm uses the tracing key 𝖳𝗌𝗄𝗂𝖽=𝐃𝗂𝖽\mathsf{Tsk}_{\mathsf{id}}=\mathbf{D}_{\mathsf{id}} corresponding to the identity 𝗂𝖽\mathsf{id} to check whether a ciphertext 𝖢𝖳\mathsf{CT} is encrypted for the given identity 𝗂𝖽\mathsf{id}:

  1. 1.

    Parse 𝖢𝖳=(𝐜0,𝐜1,𝐜2,𝐜3,𝐜4,𝐤)\mathsf{CT}=(\mathbf{c}_{0},\mathbf{c}_{1},\mathbf{c}_{2},\mathbf{c}_{3},\mathbf{c}_{4},\mathbf{k}); Output \perp if 𝖢𝖳\mathsf{CT} doesn’t parse.

  2. 2.

    Compute 𝐤~𝖱𝗈𝗎𝗇𝖽(𝐜3T[𝐜0T|𝐜4T]𝐃𝗂𝖽)\tilde{\mathbf{k}}\leftarrow\mathsf{Round}(\mathbf{c}_{3}^{T}-[\mathbf{c}_{0}^{T}|\mathbf{c}_{4}^{T}]\mathbf{D}_{\mathsf{id}}).

  3. 3.

    If 𝐤~=𝐤\tilde{\mathbf{k}}=\mathbf{k} then output 11; else output 0.

3.1 Parameters

Let λ\lambda be the security parameter, dd is the maximum hierarchical depth of the scheme, 1d1\leq\ell\leq d. We assume that all parameters are functions of λ\lambda. Now for the system to work correctly, we need to ensure:

  • σ\sigma_{\ell} is large enough for 𝖲𝖺𝗆𝗉𝗅𝖾𝖡𝖺𝗌𝗂𝗌𝖫𝖾𝖿𝗍\mathsf{SampleBasisLeft} and 𝖲𝖺𝗆𝗉𝗅𝖾𝖡𝖺𝗌𝗂𝗌𝖱𝗂𝗀𝗁𝗍\mathsf{SampleBasisRight}, i.e., σ>O(m)ω(logn)ω(log(+1)m)\sigma_{\ell}>O(m)\cdot\omega(\log n)\cdot\omega(\sqrt{\log(\ell+1)m}),

  • τ\tau is large enough for 𝖱𝖾𝖱𝖺𝗇𝖽\mathsf{ReRand}, i.e. τO(m3/2)ω(log3/2n),\tau\geq O(m^{3/2})\cdot\omega(\log^{3/2}n),

  • the error term in decryption is less than q/4{q}/{4} with high probability, i.e. α<(8στ(m+ω))1\alpha<(8\sigma_{\ell}\tau(m+\ell\omega))^{-1},

Hence the following choice of parameters (n,m,q,ω,σ¯,τ,α,r)(n,m,q,\omega,\bar{\sigma},\tau,\alpha,r) satisfies all of the above conditions, taking λ\lambda to be the security parameter:

n2,q2,ω=nlogq,1d\displaystyle n\geq 2\quad,\quad q\geq 2\quad,\quad\omega=n\lceil\log q\rceil\quad,\quad 1\leq\ell\leq d (1)
mnlogq+ω(logn),r=αq,σ1=O(m)ω(logn)\displaystyle m\geq n\log q+\omega(\log n)\quad,\quad r=\alpha q\quad,\quad\sigma_{1}=O(\sqrt{m})\cdot\omega(\log n)
σ=O(m)ω(logn)ω(log(+1)m),\displaystyle\sigma_{\ell}=O(m)\cdot\omega(\log n)\cdot\omega(\sqrt{\log(\ell+1)m}),
τ=O(m3/2)ω(log3/2n),\displaystyle\tau=O(m^{3/2})\cdot\omega(\log^{3/2}n),
α=[(+1)O(m7/2)ω(log5/2n)ω(log(+1)m)]1.\displaystyle\alpha=[(\ell+1)\cdot O(m^{7/2})\cdot\omega(\log^{5/2}n)\cdot\omega(\sqrt{\log(\ell+1)m})]^{-1}.

3.2 Correctness and soundness

When the cryptosystem is operated as specified, during decryption of a correctly generated ciphertext encrypted a message 𝐦\mathbf{m} to an identity 𝗂𝖽=(𝗂𝖽1,,𝗂𝖽)\mathsf{id}=(\mathsf{id}_{1},\dots,\mathsf{id}_{\ell}) at depth d\ell\leq d, with the parameters as specified in 3.1, we have:

  • Since 𝐞0𝒟,rm\mathbf{e}_{0}\leftarrow\mathcal{D}^{m}_{\mathbb{Z},r}, 𝐞1𝒟,2rτω\mathbf{e}_{1}\leftarrow\mathcal{D}^{\ell\omega}_{\mathbb{Z},2r\tau}, by applying Lemma 3 and the parameters set up, we get [𝐞0T|𝐞1T]2rτm+ω\|[\mathbf{e}_{0}^{T}|\mathbf{e}_{1}^{T}]\|\leq 2r\tau\cdot\sqrt{m+\ell\omega}, which means [𝐞0T|𝐞1T]𝐓𝗂𝖽[𝐞0T|𝐞1T]𝐓𝗂𝖽(2rτ(m+ω))(σm+ω)2rτσ(m+ω)q/4.\|[\mathbf{e}_{0}^{T}|\mathbf{e}_{1}^{T}]\mathbf{T}_{\mathsf{id}}\|_{\infty}\leq\|[\mathbf{e}_{0}^{T}|\mathbf{e}_{1}^{T}]\|\cdot\|\mathbf{T}_{\mathsf{id}}\|\leq(2r\tau\cdot\sqrt{(m+\ell\omega)})\cdot(\sigma_{\ell}\cdot\sqrt{m+\ell\omega})\leq 2r\tau\sigma_{\ell}\cdot(m+\ell\omega)\leq q/4.
    Using Lemma 12, it is sufficient to show that the algorithm 𝖨𝗇𝗏𝖾𝗋𝗍(𝐓𝗂𝖽,𝐅𝗂𝖽,[𝐜0T|𝐜1T])\mathsf{Invert}(\mathbf{T}_{\mathsf{id}},\mathbf{F}_{\mathsf{id}},[\mathbf{c}_{0}^{T}|\mathbf{c}_{1}^{T}]) will output 𝐬\mathbf{s} with overwhelming probability.

  • Since 𝐞2𝒟,rλ\mathbf{e}_{2}\leftarrow\mathcal{D}^{\lambda}_{\mathbb{Z},r}, 𝐞3𝒟,2rτλ\mathbf{e}_{3}\leftarrow\mathcal{D}^{\lambda}_{\mathbb{Z},2r\tau}, by applying Lemma 3 and the parameters set up we get 𝐞2𝐞32rτλ<q/4\|\mathbf{e}_{2}\|\leq\|\mathbf{e}_{3}\|\leq 2r\tau\sqrt{\lambda}<q/4.
    Hence 𝖱𝗈𝗎𝗇𝖽(𝐜3T𝐬T𝐔2)=𝖱𝗈𝗎𝗇𝖽(𝐤q2T+𝐞3T)\mathsf{Round}(\mathbf{c}_{3}^{T}-\mathbf{s}^{T}\mathbf{U}_{2})=\mathsf{Round}\left(\mathbf{k}\left\lfloor\displaystyle{\frac{q}{2}}\right\rfloor^{T}+\mathbf{e}_{3}^{T}\right) and 𝖱𝗈𝗎𝗇𝖽(𝐜2𝐬T𝐔1)=𝖱𝗈𝗎𝗇𝖽(𝐦q2T+𝐞2T)\mathsf{Round}(\mathbf{c}_{2}-\mathbf{s}^{T}\mathbf{U}_{1})=\mathsf{Round}\left(\mathbf{m}\left\lfloor\displaystyle{\frac{q}{2}}\right\rfloor^{T}+\mathbf{e}_{2}^{T}\right) will correctly recover 𝐤\mathbf{k} and 𝐦\mathbf{m}.

In the algorithm 𝖳𝗄𝖵𝖾𝗋\mathsf{TkVer}, 𝖱𝗈𝗎𝗇𝖽(𝐜3T[𝐜0T|𝐜4T]𝐃𝗂𝖽)=𝖱𝗈𝗎𝗇𝖽(𝐤q2T+𝐞3T+[𝐞0T|𝐞4T]𝐃𝗂𝖽)\mathsf{Round}(\mathbf{c}_{3}^{T}-[\mathbf{c}_{0}^{T}|\mathbf{c}_{4}^{T}]\mathbf{D}_{\mathsf{id}})=\mathsf{Round}\left(\mathbf{k}\left\lfloor\displaystyle{\frac{q}{2}}\right\rfloor^{T}+\mathbf{e}_{3}^{T}+[\mathbf{e}_{0}^{T}|\mathbf{e}_{4}^{T}]\mathbf{D}_{\mathsf{id}}\right) where 𝐃𝗂𝖽σ1m+ω\|\mathbf{D}_{\mathsf{id}}\|\leq\sigma_{1}\sqrt{m+\omega}. Hence by the parameters set up, 𝖳𝗄𝖵𝖾𝗋\mathsf{TkVer} will correctly recover the key 𝐤\mathbf{k}.

4 Security analysis

4.1 Proof of Anonymity

In this part, we will prove that our proposed AHIBET scheme is ANON-sID-CPA secure in the standard model.

Theorem 4.1.

The AHIBET scheme Π:=(𝖲𝖾𝗍𝗎𝗉,𝖤𝗑𝗍𝗋𝖺𝖼𝗍,𝖣𝖾𝗋𝗂𝗏𝖾,𝖤𝗇𝖼𝗋𝗒𝗉𝗍,𝖣𝖾𝖼𝗋𝗒𝗉𝗍,𝖳𝗌𝗄𝖦𝖾𝗇,𝖳𝗄𝖵𝖾𝗋)\Pi:=(\mathsf{Setup},\mathsf{Extract},\mathsf{Derive},\mathsf{Encrypt},\mathsf{Decrypt},\mathsf{TskGen},\mathsf{TkVer}) with parameters (λ,n,m,q,ω,σ¯,τ,α,r)(\lambda,n,m,q,\omega,\bar{\sigma},\tau,\alpha,r) as in (1) is ANON-sID-CPA secure for the maximal hierarchy depth dd provided that the hardness of the LWEn,m+λ,q,r\textsf{LWE}_{n,m+\lambda,q,r} problem holds.

Proof.

We will proceed the proof via a sequence of games where the Game 0 is identical to the original ANON-sID-CPA game and the adversary in the last game has advantage at most the advantage of an efficient LWE adversary.

Let 𝒜\mathcal{A} be a PPT adversary that attacks the AHIBET scheme Π\Pi and has advantage 𝖠𝖽𝗏𝒜,ΠANON-sID-CPA=ϵ\mathsf{Adv}_{\mathcal{A},\Pi}^{\textsf{ANON-sID-CPA}}=\epsilon. We will then construct a simulator \mathcal{B} that solves the LWE problem using 𝒜\mathcal{A}.
Let GiG_{i} denote the event that the adversary 𝒜\mathcal{A} wins Game ii. The adversary’s advantage in Game ii is |Pr[Gi]12|\left|\Pr[G_{i}]-\displaystyle{\frac{1}{2}}\right|.

Game 0.

This is the original ANON-sID-CPA game between the adversary 𝒜\mathcal{A} against our scheme and an ANON-sID-CPA challenger.

𝖠𝖽𝗏𝒜,ΠANON-sID-CPA=|Pr[G0]12|=|Pr[b=b]12|.\mathsf{Adv}_{\mathcal{A},\Pi}^{\textsf{ANON-sID-CPA}}=\left|\Pr[G_{0}]-\frac{1}{2}\right|=\left|\Pr[b^{\prime}=b]-\frac{1}{2}\right|.
Game 1.

Game 1 is analogous to Game 0 except that we slightly modify the way that the challenger 𝒞\mathcal{C} generates the master public key 𝖬𝖯𝖪\mathsf{MPK} and responds to the key derivation oracles 𝒪𝖣𝖾𝗋𝗂𝗏𝖾\mathcal{O}_{\mathsf{Derive}} as well as the tracing key oracles 𝒪𝖳𝗌𝗄𝖦𝖾𝗇\mathcal{O}_{\mathsf{TskGen}}. Let 𝗂𝖽=(𝗂𝖽1,,𝗂𝖽)\mathsf{id}^{\ast}=(\mathsf{id}^{\ast}_{1},\dots,\mathsf{id}^{\ast}_{\ell}) (d)(\ell\leq d) be the target identity that 𝒜\mathcal{A} intends to attack. After receiving 𝗂𝖽\mathsf{id}^{\ast}, 𝒞\mathcal{C} does:

  1. 1.

    Sample 𝐀qn×m\mathbf{A}\leftarrow\mathbb{Z}_{q}^{n\times m}, 𝐑0,𝐑1,,𝐑d𝒟,ω(logn)m×ω\mathbf{R}_{0},\mathbf{R}_{1},\dots,\mathbf{R}_{d}\leftarrow\mathcal{D}^{m\times\omega}_{\mathbb{Z},\omega(\sqrt{\log n})} and 𝐑¯𝒟,ω(logn)m×λ\overline{\mathbf{R}}\leftarrow\mathcal{D}^{m\times\lambda}_{\mathbb{Z},\omega(\sqrt{\log n})}.

  2. 2.

    Set 𝐀0𝐀𝐑0𝖥𝖱𝖣(𝖧(𝗂𝖽))𝐆\mathbf{A}_{0}\leftarrow\mathbf{A}\mathbf{R}_{0}-\mathsf{FRD}(\mathsf{H}(\mathsf{id}^{\ast}))\mathbf{G}.

  3. 3.

    Set 𝐀i𝐀𝐑i𝖥𝖱𝖣(𝗂𝖽i)𝐆\mathbf{A}_{i}\leftarrow\mathbf{A}\mathbf{R}_{i}-\mathsf{FRD}(\mathsf{id}^{\ast}_{i})\mathbf{G} for i=1,,i=1,\dots,\ell and 𝐀i𝐀𝐑i\mathbf{A}_{i}\leftarrow\mathbf{A}\mathbf{R}_{i} for <id\ell<i\leq d.

  4. 4.

    Set 𝐔2𝐀𝐑¯\mathbf{U}_{2}\leftarrow\mathbf{A}\overline{\mathbf{R}} and sample 𝐔1qn×λ\mathbf{U}_{1}\leftarrow\mathbb{Z}^{n\times\lambda}_{q}.

  5. 5.

    Send master public key

    𝖬𝖯𝖪=(𝐀,𝐀0,𝐀1,,𝐀d,𝐔1,𝐔2)\mathsf{MPK}=(\mathbf{A},\mathbf{A}_{0},\mathbf{A}_{1},\dots,\mathbf{A}_{d},\mathbf{U}_{1},\mathbf{U}_{2})

    to 𝒜\mathcal{A} and keep 𝐑0,𝐑1,,𝐑d,𝐑¯\mathbf{R}_{0},\mathbf{R}_{1},\dots,\mathbf{R}_{d},\overline{\mathbf{R}} secret.

  • Recall that the adversary 𝒜\mathcal{A} is not allowed to use the challenge identity 𝗂𝖽\mathsf{id}^{\ast} or its prefixes for its key derivation queries. To respond to the key derivation queries 𝒪𝖣𝖾𝗋𝗂𝗏𝖾\mathcal{O}_{\mathsf{Derive}} for 𝗂𝖽=(𝗂𝖽1,,𝗂𝖽k)𝗂𝖽=(𝗂𝖽1,,𝗂𝖽)\mathsf{id}=(\mathsf{id}_{1},\dots,\mathsf{id}_{k})\neq\mathsf{id}^{\ast}=(\mathsf{id}^{\ast}_{1},\dots,\mathsf{id}^{\ast}_{\ell}) (1kd1\leq k\leq d), 𝒞\mathcal{C} sets

    𝐅𝗂𝖽\displaystyle\mathbf{F}_{\mathsf{id}} =[𝐀|𝐀1+𝖥𝖱𝖣(𝗂𝖽1)𝐆||𝐀k+𝖥𝖱𝖣(𝗂𝖽k)𝐆]qn×(m+kω).\displaystyle=[\mathbf{A}|\mathbf{A}_{1}+\mathsf{FRD}(\mathsf{id}_{1})\mathbf{G}|\dots|\mathbf{A}_{k}+\mathsf{FRD}(\mathsf{id}_{k})\mathbf{G}]\in\mathbb{Z}^{n\times(m+k\omega)}_{q}.
    • If kk\leq\ell, then

      𝐅𝗂𝖽=[𝐀|𝐀𝐑1+(𝖥𝖱𝖣(𝗂𝖽1)𝖥𝖱𝖣(𝗂𝖽1))𝐆||𝐀𝐑k+(𝖥𝖱𝖣(𝗂𝖽k)𝖥𝖱𝖣(𝗂𝖽k))𝐆].\mathbf{F}_{\mathsf{id}}=[\mathbf{A}|\mathbf{A}\mathbf{R}_{1}+(\mathsf{FRD}(\mathsf{id}_{1})-\mathsf{FRD}(\mathsf{id}^{\ast}_{1}))\mathbf{G}|\ldots|\mathbf{A}\mathbf{R}_{k}+(\mathsf{FRD}(\mathsf{id}_{k})-\mathsf{FRD}(\mathsf{id}^{\ast}_{k}))\mathbf{G}].

      Let hh be the sallowest level where 𝗂𝖽h𝗂𝖽h\mathsf{id}_{h}\neq\mathsf{id}_{h}^{\ast} (hkh\leq k). By the property of the full-rank difference encoding 𝖥𝖱𝖣\mathsf{FRD}, 𝖥𝖱𝖣(𝗂𝖽h)𝖥𝖱𝖣(𝗂𝖽h)qn×n\mathsf{FRD}(\mathsf{id}_{h})-\mathsf{FRD}(\mathsf{id}_{h}^{\ast})\in\mathbb{Z}^{n\times n}_{q} is an invertible matrix, 𝒞\mathcal{C} then samples

      𝐓𝗂𝖽h𝖲𝖺𝗆𝗉𝗅𝖾𝖡𝖺𝗌𝗂𝗌𝖱𝗂𝗀𝗁𝗍([𝐀|𝐀𝐑h+(𝖥𝖱𝖣(𝗂𝖽h)𝖥𝖱𝖣(𝗂𝖽h))𝐆],𝐑h,𝖥𝖱𝖣(𝗂𝖽h)𝖥𝖱𝖣(𝗂𝖽h),σ1).\mathbf{T}_{\mathsf{id}_{h}}\leftarrow\mathsf{SampleBasisRight}([\mathbf{A}|\mathbf{A}\mathbf{R}_{h}+(\mathsf{FRD}(\mathsf{id}_{h})-\mathsf{FRD}(\mathsf{id}_{h}^{\ast}))\mathbf{G}],\mathbf{R}_{h},\mathsf{FRD}(\mathsf{id}_{h})-\mathsf{FRD}(\mathsf{id}_{h}^{\ast}),\sigma_{1}).

      If h=k=1h=k=1, 𝒞\mathcal{C} returns 𝖲𝖪𝗂𝖽=𝐓𝗂𝖽1\mathsf{SK}_{\mathsf{id}}=\mathbf{T}_{\mathsf{id}_{1}}.
      If k>1k>1, 𝒞\mathcal{C} uses algorithm 𝖤𝗑𝗍𝖾𝗇𝖽𝖡𝖺𝗌𝗂𝗌\mathsf{ExtendBasis} to extend the basis 𝐓𝗂𝖽h\mathbf{T}_{\mathsf{id}_{h}} of Λq([𝐀|𝐀𝐑h+(𝖥𝖱𝖣(𝗂𝖽h)𝖥𝖱𝖣(𝗂𝖽h))𝐆])\Lambda^{\perp}_{q}([\mathbf{A}|\mathbf{A}\mathbf{R}_{h}+(\mathsf{FRD}(\mathsf{id}_{h})-\mathsf{FRD}(\mathsf{id}_{h}^{\ast}))\mathbf{G}]) to a basis 𝐓𝗂𝖽\mathbf{T}_{\mathsf{id}} of Λq(𝐅𝗂𝖽)\Lambda^{\perp}_{q}(\mathbf{F}_{\mathsf{id}}) then returns 𝖲𝖪𝗂𝖽=𝐓𝗂𝖽\mathsf{SK}_{\mathsf{id}}=\mathbf{T}_{\mathsf{id}}.

    • If k>k>\ell, then

      𝐅𝗂𝖽=[𝐀|𝐀𝐑1||𝐀𝐑|𝐀𝐑+1+𝖥𝖱𝖣(𝗂𝖽+1)𝐆||𝐀𝐑k+𝖥𝖱𝖣(𝗂𝖽k)𝐆]\mathbf{F}_{\mathsf{id}}=[\mathbf{A}|\mathbf{A}\mathbf{R}_{1}|\ldots|\mathbf{A}\mathbf{R}_{\ell}|\mathbf{A}\mathbf{R}_{\ell+1}+\mathsf{FRD}(\mathsf{id}_{\ell+1})\mathbf{G}|\ldots|\mathbf{A}\mathbf{R}_{k}+\mathsf{FRD}(\mathsf{id}_{k})\mathbf{G}]

      and 𝖥𝖱𝖣(𝗂𝖽+1)qn×n\mathsf{FRD}(\mathsf{id}_{\ell+1})\in\mathbb{Z}^{n\times n}_{q} is an invertible matrix. The challenger 𝒞\mathcal{C} samples

      𝐓𝗂𝖽+1𝖲𝖺𝗆𝗉𝗅𝖾𝖡𝖺𝗌𝗂𝗌𝖱𝗂𝗀𝗁𝗍([𝐀|𝐀𝐑+1+𝖥𝖱𝖣(𝗂𝖽+1)𝐆],𝐑+1,𝖥𝖱𝖣(𝗂𝖽+1),σ1)\mathbf{T}_{\mathsf{id}_{\ell+1}}\leftarrow\mathsf{SampleBasisRight}([\mathbf{A}|\mathbf{A}\mathbf{R}_{\ell+1}+\mathsf{FRD}(\mathsf{id}_{\ell+1})\mathbf{G}],\mathbf{R}_{\ell+1},\mathsf{FRD}(\mathsf{id}_{\ell+1}),\sigma_{1})

      and uses algorithm 𝖤𝗑𝗍𝖾𝗇𝖽𝖡𝖺𝗌𝗂𝗌\mathsf{ExtendBasis} to extend the basis 𝐓𝗂𝖽+1\mathbf{T}_{\mathsf{id}_{\ell+1}} of Λq([𝐀|𝐀𝐑+1+𝖥𝖱𝖣(𝗂𝖽+1)𝐆])\Lambda^{\perp}_{q}([\mathbf{A}|\mathbf{A}\mathbf{R}_{\ell+1}+\mathsf{FRD}(\mathsf{id}_{\ell+1})\mathbf{G}]) to a basis 𝐓𝗂𝖽\mathbf{T}_{\mathsf{id}} of Λq(𝐅𝗂𝖽)\Lambda^{\perp}_{q}(\mathbf{F}_{\mathsf{id}}). Finally, 𝒞\mathcal{C} returns 𝖲𝖪𝗂𝖽=𝐓𝗂𝖽\mathsf{SK}_{\mathsf{id}}=\mathbf{T}_{\mathsf{id}}.

  • To respond to the tracing key query 𝒪𝖳𝗌𝗄𝖦𝖾𝗇\mathcal{O}_{\mathsf{TskGen}} for 𝗂𝖽=(𝗂𝖽1,,𝗂𝖽k)𝗂𝖽=(𝗂𝖽1,,𝗂𝖽)\mathsf{id}=(\mathsf{id}_{1},\dots,\mathsf{id}_{k})\neq\mathsf{id}^{\ast}=(\mathsf{id}^{\ast}_{1},\dots,\mathsf{id}^{\ast}_{\ell}), 𝒞\mathcal{C} sets

    𝐅𝗂𝖽=[𝐀|𝐀0+𝖥𝖱𝖣(𝖧𝗂𝖽)𝐆]=[𝐀|𝐀𝐑0+(𝖥𝖱𝖣(𝖧(𝗂𝖽))𝖥𝖱𝖣(𝖧(𝗂𝖽)))𝐆].\mathbf{F}^{\prime}_{\mathsf{id}}=[\mathbf{A}|\mathbf{A}_{0}+\mathsf{FRD}(\mathsf{H}_{\mathsf{id}})\mathbf{G}]=[\mathbf{A}|\mathbf{A}\mathbf{R}_{0}+(\mathsf{FRD}(\mathsf{H}(\mathsf{id}))-\mathsf{FRD}(\mathsf{H}(\mathsf{id}^{\ast})))\mathbf{G}].

    Since 𝖧\mathsf{H} is a collision resistant hash function, 𝖧(𝗂𝖽)𝖧(𝗂𝖽)\mathsf{H}(\mathsf{id})\neq\mathsf{H}(\mathsf{id}^{\ast}) even if 𝗂𝖽\mathsf{id} is a prefix of 𝗂𝖽\mathsf{id}^{\ast} and thus 𝖥𝖱𝖣(𝖧(𝗂𝖽))𝖥𝖱𝖣(𝖧(𝗂𝖽))\mathsf{FRD}(\mathsf{H}(\mathsf{id}))-\mathsf{FRD}(\mathsf{H}(\mathsf{id}^{\ast})) is an invertible matrix in qn×n\mathbb{Z}^{n\times n}_{q}. Challenger 𝒞\mathcal{C} samples

    𝐃𝗂𝖽𝖲𝖺𝗆𝗉𝗅𝖾𝖡𝖺𝗌𝗂𝗌𝖱𝗂𝗀𝗁𝗍(𝐅𝗂𝖽,𝐑0,𝖥𝖱𝖣(𝖧(𝗂𝖽))𝖥𝖱𝖣(𝖧(𝗂𝖽))𝐆,σ1)\mathbf{D}^{\prime}_{\mathsf{id}}\leftarrow\mathsf{SampleBasisRight}(\mathbf{F}^{\prime}_{\mathsf{id}},\mathbf{R}_{0},\mathsf{FRD}(\mathsf{H}(\mathsf{id}))-\mathsf{FRD}(\mathsf{H}(\mathsf{id}^{\ast}))\mathbf{G},\sigma_{1})

    then invokes the algorithm 𝖲𝖺𝗆𝗉𝗅𝖾𝖯𝗋𝖾\mathsf{SamplePre}

    𝐃𝗂𝖽𝖲𝖺𝗆𝗉𝗅𝖾𝖯𝗋𝖾(𝐅𝗂𝖽,𝐃𝗂𝖽,𝐔2,σ1)q(m+ω)×λ\mathbf{D}_{\mathsf{id}}\leftarrow\mathsf{SamplePre}(\mathbf{F}^{\prime}_{\mathsf{id}},\mathbf{D}^{\prime}_{\mathsf{id}},\mathbf{U}_{2},\sigma_{1})\in\mathbb{Z}^{(m+\omega)\times\lambda}_{q}

    and returns 𝖳𝗌𝗄𝗂𝖽=𝐃𝗂𝖽\mathsf{Tsk}_{\mathsf{id}}=\mathbf{D}_{\mathsf{id}}.

Using Lemma 4, we can easily prove that the matrices 𝐀i\mathbf{A}_{i} (0id0\leq i\leq d) are statistically close to uniform. Hence, in the adversary’s point of view, 𝐀0,𝐀1,,𝐀d\mathbf{A}_{0},\mathbf{A}_{1},\dots,\mathbf{A}_{d} in Game 0 and Game 1 are computationally indistinguishable.

Next, we consider the responses to the secret key derivation queries 𝒪𝖣𝖾𝗋𝗂𝗏𝖾\mathcal{O}_{\mathsf{Derive}} and the tracing key queries 𝒪𝖳𝗌𝗄𝖦𝖾𝗇\mathcal{O}_{\mathsf{TskGen}}. For secret key derivation queries 𝒪𝖣𝖾𝗋𝗂𝗏𝖾\mathcal{O}_{\mathsf{Derive}}, Theorem 10 shows that when σ15s1(𝐑)ω(logn)\sigma_{1}\geq 5\cdot s_{1}(\mathbf{R})\cdot\omega(\sqrt{\log n}), σ𝐓𝗂𝖽h~ω(log(m+ω))\sigma_{\ell}\geq\|\widetilde{\mathbf{T}_{\mathsf{id}_{h}}}\|\cdot\omega(\sqrt{\log(m+{\ell}\omega)}), the algorithms 𝖲𝖺𝗆𝗉𝗅𝖾𝖡𝖺𝗌𝗂𝗌𝖱𝗂𝗀𝗁𝗍\mathsf{SampleBasisRight} and 𝖤𝗑𝗍𝖾𝗇𝖽𝖡𝖺𝗌𝗂𝗌\mathsf{ExtendBasis} generate a basis 𝐓𝗂𝖽\mathbf{T}_{\mathsf{id}} for Λq(𝐅𝗂𝖽)\Lambda^{\perp}_{q}(\mathbf{F}_{\mathsf{id}}) which is statistically close to the one generated in the original game. Similarly, the tracing keys generate by 𝖲𝖺𝗆𝗉𝗅𝖾𝖡𝖺𝗌𝗂𝗌𝖱𝗂𝗀𝗁𝗍\mathsf{SampleBasisRight} and 𝖲𝖺𝗆𝗉𝗅𝖾𝖯𝗋𝖾\mathsf{SamplePre} in Game 1 have distribution statistically close to ones in Game 0.

Since the master public key 𝖬𝖯𝖪\mathsf{MPK} and responses to key derivation queries and tracing key queries in Game 1 are statistically close to those in Game 0, these games are statistically indistinguishable in the view of the adversary. Thus we have

|Pr[G1]Pr[G0]|𝗇𝖾𝗀𝗅(λ).|\Pr[G_{1}]-\Pr[G_{0}]|\leq\mathsf{negl}(\lambda).
Game 2.

In this game, we change the way the challenge ciphertext 𝖢𝖳\mathsf{CT}^{*} for the challenge identity 𝗂𝖽\mathsf{id}^{\ast} is created. Recall that, after receiving a message 𝐦{0,1}λ\mathbf{m}\in\{0,1\}^{\lambda} from the adversary 𝒜\mathcal{A}, the challenger 𝒞\mathcal{C} then selects a random bit b{0,1}b\in\{0,1\}.

If b=1b=1, 𝒞\mathcal{C} chooses a random identity 𝗂𝖽\mathsf{id}^{\prime} in the identity space which is not identical to any query identities in Phase 1. 𝒞\mathcal{C} then runs 𝖤𝗇𝖼𝗋𝗒𝗉𝗍(𝖬𝖯𝖪,𝗂𝖽,𝐦\mathsf{Encrypt}(\mathsf{MPK},\mathsf{id},\mathbf{m}) and sends the resulting ciphertext 𝖢𝖳1\mathsf{CT}_{1}^{*} to 𝒜\mathcal{A}.
If b=0b=0, the challenger 𝒞\mathcal{C} does the following steps to generate 𝖢𝖳0\mathsf{CT}_{0}^{\ast} and sends it to 𝒜\mathcal{A}.

  1. 1.

    Sample 𝐤{0,1}λ\mathbf{k}\leftarrow\{0,1\}^{\lambda}.

  2. 2.

    Sample 𝐬qn\mathbf{s}\leftarrow\mathbb{Z}^{n}_{q}.

  3. 3.

    Choose noise vectors 𝐞0𝒟,rm\mathbf{e}_{0}\leftarrow\mathcal{D}^{m}_{\mathbb{Z},r}, 𝐞2𝒟,rλ\mathbf{e}_{2}\leftarrow\mathcal{D}^{\lambda}_{\mathbb{Z},r}.

  4. 4.

    Set 𝐜0T=𝐬T𝐀+𝐞0T\mathbf{c}_{0}^{T}=\mathbf{s}^{T}\mathbf{A}+\mathbf{e}_{0}^{T}, 𝐜2T=𝐬T𝐔1+𝐞2T+𝐦Tq2\mathbf{c}_{2}^{T}=\mathbf{s}^{T}\mathbf{U}_{1}+\mathbf{e}_{2}^{T}+\mathbf{m}^{T}\left\lfloor\frac{q}{2}\right\rfloor and

    𝐜1T\displaystyle\mathbf{c}_{1}^{T} 𝖱𝖾𝖱𝖺𝗇𝖽(𝐑,𝐜0T,r,τ)\displaystyle\leftarrow\mathsf{ReRand}(\mathbf{R},\mathbf{c}_{0}^{T},r,\tau)
    𝐜3T\displaystyle\mathbf{c}_{3}^{T} 𝖱𝖾𝖱𝖺𝗇𝖽(𝐑¯,𝐜0T,r,τ)+(𝐤q2)T\displaystyle\leftarrow\mathsf{ReRand}(\overline{\mathbf{R}},\mathbf{c}_{0}^{T},r,\tau)+\left(\mathbf{k}\left\lfloor\frac{q}{2}\right\rfloor\right)^{T}
    𝐜4T\displaystyle\mathbf{c}_{4}^{T} 𝖱𝖾𝖱𝖺𝗇𝖽(𝐑0,𝐜0T,r,τ)\displaystyle\leftarrow\mathsf{ReRand}(\mathbf{R}_{0},\mathbf{c}_{0}^{T},r,\tau)

    where 𝐑=[𝐑1||𝐑]\mathbf{R}=[\mathbf{R}_{1}|\dots|\mathbf{R}_{\ell}].

  5. 5.

    Output 𝖢𝖳0=(𝐜0,𝐜1,𝐜2,𝐜3,𝐜4,𝐤)\mathsf{CT}_{0}^{\ast}=(\mathbf{c}_{0},\mathbf{c}_{1},\mathbf{c}_{2},\mathbf{c}_{3},\mathbf{c}_{4},\mathbf{k}).

Observe that 𝐜0\mathbf{c}_{0} and 𝐜3\mathbf{c}_{3} are distributed exactly as they as in the previous game. Since

𝐅𝗂𝖽\displaystyle\mathbf{F}_{\mathsf{id}^{\ast}} =[𝐀|𝐀1+𝖥𝖱𝖣(𝗂𝖽1)𝐆||𝐀+𝖥𝖱𝖣(𝗂𝖽)𝐆]qn×(m+ω)\displaystyle=[\mathbf{A}|\mathbf{A}_{1}+\mathsf{FRD}(\mathsf{id}^{\ast}_{1})\mathbf{G}|\dots|\mathbf{A}_{\ell}+\mathsf{FRD}(\mathsf{id}^{\ast}_{\ell})\mathbf{G}]\in\mathbb{Z}^{n\times(m+\ell\omega)}_{q}
=[𝐀|𝐀𝐑1||𝐀𝐑]=[𝐀|𝐀𝐑]\displaystyle=[\mathbf{A}|\mathbf{A}\mathbf{R}_{1}|\dots|\mathbf{A}\mathbf{R}_{\ell}]=[\mathbf{A}|\mathbf{A}\mathbf{R}]

by Lemma 7, we get

𝐜1T\displaystyle\mathbf{c}_{1}^{T} =𝖱𝖾𝖱𝖺𝗇𝖽(𝐑=[𝐑1||𝐑],𝐜0T=𝐬T𝐀+𝐞0T,r,τ)=𝐬T𝐀𝐑+𝐞1T,\displaystyle=\mathsf{ReRand}(\mathbf{R}=[\mathbf{R}_{1}|\dots|\mathbf{R}_{\ell}],\mathbf{c}_{0}^{T}=\mathbf{s}^{T}\mathbf{A}+\mathbf{e}_{0}^{T},r,\tau)=\mathbf{s}^{T}\mathbf{A}\mathbf{R}+\mathbf{e}^{T}_{1},
𝐜3T\displaystyle\mathbf{c}_{3}^{T} =𝖱𝖾𝖱𝖺𝗇𝖽(𝐑¯,𝐜0T=𝐬T𝐀+𝐞0T,r,τ)+(𝐤q2)T\displaystyle=\mathsf{ReRand}(\overline{\mathbf{R}},\mathbf{c}_{0}^{T}=\mathbf{s}^{T}\mathbf{A}+\mathbf{e}_{0}^{T},r,\tau)+\left(\mathbf{k}\left\lfloor\frac{q}{2}\right\rfloor\right)^{T}
=𝐬T𝐀𝐑¯+𝐞3T=𝐬T𝐔2+𝐞3T+𝐤Tq2,\displaystyle=\mathbf{s}^{T}\mathbf{A}\overline{\mathbf{R}}+\mathbf{e}^{T}_{3}=\mathbf{s}^{T}\mathbf{U}_{2}+\mathbf{e}^{T}_{3}+\mathbf{k}^{T}\left\lfloor\frac{q}{2}\right\rfloor,
𝐜4T\displaystyle\mathbf{c}_{4}^{T} =𝖱𝖾𝖱𝖺𝗇𝖽(𝐑0,𝐜0T=𝐬T𝐀+𝐞0T,r,τ)\displaystyle=\mathsf{ReRand}(\mathbf{R}_{0},\mathbf{c}_{0}^{T}=\mathbf{s}^{T}\mathbf{A}+\mathbf{e}_{0}^{T},r,\tau)
=𝐬T𝐀𝐑0+𝐞4T=𝐬T(𝐀0+𝖥𝖱𝖣(𝖧(𝗂𝖽))𝐆)+𝐞4T\displaystyle=\mathbf{s}^{T}\mathbf{A}\mathbf{R}_{0}+\mathbf{e}^{T}_{4}=\mathbf{s}^{T}(\mathbf{A}_{0}+\mathsf{FRD}(\mathsf{H}(\mathsf{id}^{\ast}))\mathbf{G})+\mathbf{e}_{4}^{T}

where the distribution of 𝐞1,𝐞3\mathbf{e}_{1},\mathbf{e}_{3} and 𝐞4\mathbf{e}_{4} are statistically close to 𝒟,2rτω\mathcal{D}^{\ell\omega}_{\mathbb{Z},2r\tau}, 𝒟,2rτλ\mathcal{D}^{\lambda}_{\mathbb{Z},2r\tau} and 𝒟,2rτω\mathcal{D}^{\omega}_{\mathbb{Z},2r\tau}, respectively. So we yields that Game 1 and Game 2 are statistically close in the adversary’s point of view, the adversary’s advantage against Game 2 will be the same as Game 1.

|Pr[G2]Pr[G1]|𝗇𝖾𝗀𝗅(λ).|\Pr[G_{2}]-\Pr[G_{1}]|\leq\mathsf{negl}(\lambda).

Theorem 4.1 then follows from the reduction from the LWE problem by the following lemma.

Lemma 13.

If there exists an adversary 𝒜\mathcal{A} that wins the Game 2 with non-negligible advantage then there is an adversary \mathcal{B} that solves the LWE problem, i.e., 𝖠𝖽𝗏𝒜Game2𝖠𝖽𝗏LWEn,m+λ,q,r(λ)\mathsf{Adv}_{\mathcal{A}}^{Game2}\leq\mathsf{Adv}_{\mathcal{B}}^{\textsf{LWE}_{n,m+\lambda,q,r}}(\lambda) for some LWE adversary \mathcal{B}.

Proof of Lemma 13. Recall that an LWE problem instance is provided as a sampling oracle 𝒪\mathcal{O}. \mathcal{B} requests from oracle 𝒪\mathcal{O} and receives a decisional LWEn,m+λ,q,r\textsf{LWE}_{n,m+\lambda,q,r} problem sample (𝐂,𝐜T=𝐮T+𝐞T)(\mathbf{C},\mathbf{c}^{T}=\mathbf{u}^{T}+\mathbf{e}^{T}) where 𝐂\mathbf{C} is a random matrix in qn×(m+λ)\mathbb{Z}^{n\times(m+\lambda)}_{q}, 𝐜m+λ\mathbf{c}\in\mathbb{Z}^{m+\lambda} and 𝐞\mathbf{e} is sampled from the distribution 𝒟,rm+λ\mathcal{D}^{m+\lambda}_{\mathbb{Z},r}. \mathcal{B} needs to decide whether 𝐮\mathbf{u} is truly random 𝒪$\mathcal{O}_{\$} or a noisy pseudo-random 𝒪s\mathcal{O}_{s} for some secret random 𝐬qn\mathbf{s}\in\mathbb{Z}^{n}_{q} such that 𝐮T=𝐬T𝐂\mathbf{u}^{T}=\mathbf{s}^{T}\mathbf{C}. \mathcal{B} simulates Game 2 with adversary 𝒜\mathcal{A} and uses the guess from 𝒜\mathcal{A} to respond LWE challenges.

After receiving the challenge identity 𝗂𝖽=(𝗂𝖽1,,𝗂𝖽)\mathsf{id}^{\ast}=(\mathsf{id}^{\ast}_{1},\dots,\mathsf{id}^{\ast}_{\ell}) (d\ell\leq d) from 𝒜\mathcal{A}, \mathcal{B} constructs the simulator as follows:

  • Split 𝐂=[𝐀|𝐔1]\mathbf{C}=[\mathbf{A}|\mathbf{U}_{1}] where 𝐀qn×m\mathbf{A}\in\mathbb{Z}^{n\times m}_{q} and 𝐔1qn×λ\mathbf{U}_{1}\in\mathbb{Z}^{n\times\lambda}_{q}.

  • Sample 𝐑0,𝐑1,,𝐑d𝒟,ω(logn)m×ω\mathbf{R}_{0},\mathbf{R}_{1},\dots,\mathbf{R}_{d}\leftarrow\mathcal{D}^{m\times\omega}_{\mathbb{Z},\omega(\sqrt{\log n})}, 𝐑¯𝒟,ω(logn)m×λ\overline{\mathbf{R}}\leftarrow\mathcal{D}^{m\times\lambda}_{\mathbb{Z},\omega(\sqrt{\log n})} and set 𝐑=[𝐑1||𝐑]\mathbf{R}=[\mathbf{R}_{1}|\dots|\mathbf{R}_{\ell}].

  • Set 𝐀0𝐀𝐑0𝖥𝖱𝖣(𝖧(𝗂𝖽))𝐆\mathbf{A}_{0}\leftarrow\mathbf{A}\mathbf{R}_{0}-\mathsf{FRD}(\mathsf{H}(\mathsf{id}^{\ast}))\mathbf{G}.

  • Set 𝐀i𝐀𝐑i𝖧(𝗂𝖽i)𝐆\mathbf{A}_{i}\leftarrow\mathbf{A}\mathbf{R}_{i}-\mathsf{H}(\mathsf{id}_{i}^{\ast})\mathbf{G} for i=1,,i=1,\dots,\ell and 𝐀i𝐀𝐑i\mathbf{A}_{i}\leftarrow\mathbf{A}\mathbf{R}_{i} for <id\ell<i\leq d.

  • Set 𝐔2𝐀𝐑¯\mathbf{U}_{2}\leftarrow\mathbf{A}\overline{\mathbf{R}} and sample 𝐔1qn×λ\mathbf{U}_{1}\leftarrow\mathbb{Z}^{n\times\lambda}_{q}.

  • Send the master public key

    𝖬𝖯𝖪=(𝐀,𝐀0,𝐀1,,𝐀d,𝐔1,𝐔2)\mathsf{MPK}=(\mathbf{A},\mathbf{A}_{0},\mathbf{A}_{1},\dots,\mathbf{A}_{d},\mathbf{U}_{1},\mathbf{U}_{2})

    to 𝒜\mathcal{A} and keep 𝐑0,𝐑1,,𝐑d,𝐑¯\mathbf{R}_{0},\mathbf{R}_{1},\dots,\mathbf{R}_{d},\overline{\mathbf{R}} secret.

  • Respond to the key derivation queries and tracing key queries as in Game 2.

  • Split 𝐜T=(𝐜¯T|𝐜~T)qm+λ\mathbf{c}^{T}=(\bar{\mathbf{c}}^{T}|\tilde{\mathbf{c}}^{T})\in\mathbb{Z}_{q}^{m+\lambda} where 𝐜¯T=𝐮¯T+𝐞¯Tqm\bar{\mathbf{c}}^{T}=\bar{\mathbf{u}}^{T}+\bar{\mathbf{e}}^{T}\in\mathbb{Z}_{q}^{m} and 𝐜~T=𝐮~T+𝐞~Tqλ\tilde{\mathbf{c}}^{T}=\tilde{\mathbf{u}}^{T}+\tilde{\mathbf{e}}^{T}\in\mathbb{Z}^{\lambda}_{q}.

  • Create the challenge ciphertext 𝖢𝖳\mathsf{CT}^{\ast}:

    1. 1.

      Sample 𝐤{0,1}λ\mathbf{k}\leftarrow\{0,1\}^{\lambda}.

    2. 2.

      Set 𝐜0T=𝐜¯T\mathbf{c}_{0}^{T}=\bar{\mathbf{c}}^{T}, 𝐜2T=𝐜~T+𝐦Tq2\mathbf{c}_{2}^{T}=\tilde{\mathbf{c}}^{T}+\mathbf{m}^{T}\left\lfloor\displaystyle{\frac{q}{2}}\right\rfloor.

    3. 3.

      Set

      𝐜1T\displaystyle\mathbf{c}_{1}^{T} 𝖱𝖾𝖱𝖺𝗇𝖽(𝐑,𝐜0T,r,τ)\displaystyle\leftarrow\mathsf{ReRand}(\mathbf{R},\mathbf{c}_{0}^{T},r,\tau)
      𝐜3T\displaystyle\mathbf{c}_{3}^{T} 𝖱𝖾𝖱𝖺𝗇𝖽(𝐑¯,𝐜0T,r,τ)+𝐤Tq2\displaystyle\leftarrow\mathsf{ReRand}(\overline{\mathbf{R}},\mathbf{c}_{0}^{T},r,\tau)+\mathbf{k}^{T}\left\lfloor\frac{q}{2}\right\rfloor
      𝐜4T\displaystyle\mathbf{c}_{4}^{T} 𝖱𝖾𝖱𝖺𝗇𝖽(𝐑0,𝐜0T,r,τ)\displaystyle\leftarrow\mathsf{ReRand}(\mathbf{R}_{0},\mathbf{c}_{0}^{T},r,\tau)
    4. 4.

      Send 𝖢𝖳=(𝐜0,𝐜1,𝐜2,𝐜3,𝐜4,𝐤)\mathsf{CT}^{\ast}=(\mathbf{c}_{0},\mathbf{c}_{1},\mathbf{c}_{2},\mathbf{c}_{3},\mathbf{c}_{4},\mathbf{k}) to 𝒜\mathcal{A}.

When LWE oracle is pseudorandom (i.e. 𝒪=𝒪s)\mathcal{O}=\mathcal{O}_{s}) then 𝐜0T=𝐬T𝐀+𝐞0T\mathbf{c}_{0}^{T}=\mathbf{s}^{T}\mathbf{A}+\mathbf{e}_{0}^{T}, 𝐜2T=𝐬T𝐔1+𝐞2T+𝐦Tq2\mathbf{c}_{2}^{T}=\mathbf{s}^{T}\mathbf{U}_{1}+\mathbf{e}^{T}_{2}+\mathbf{m}^{T}\left\lfloor\displaystyle{\frac{q}{2}}\right\rfloor, meaning that 𝖢𝖳\mathsf{CT}^{\ast} is a valid challenge ciphertext that encrypts challenge message 𝐦\mathbf{m} for the target identity 𝗂𝖽\mathsf{id}^{*}.
When LWE oracle is a random oracle (i.e. 𝒪=𝒪$\mathcal{O}=\mathcal{O}_{\$}), 𝐜T\mathbf{c}^{T} is uniformly random in qm+λ\mathbb{Z}^{m+\lambda}_{q} and thus 𝖢𝖳\mathsf{CT}^{\ast} distributes as a ciphertext encrypted for a random identity in the identity space. Indeed, we have

𝐜0T\displaystyle\mathbf{c}_{0}^{T} =𝐮¯T+𝐞0T\displaystyle=\bar{\mathbf{u}}^{T}+\mathbf{e}_{0}^{T}
𝐜1T\displaystyle\mathbf{c}_{1}^{T} =𝖱𝖾𝖱𝖺𝗇𝖽(𝐑,𝐜0T,r,τ)=𝐮¯T𝐑+𝐞1T\displaystyle=\mathsf{ReRand}(\mathbf{R},\mathbf{c}_{0}^{T},r,\tau)=\bar{\mathbf{u}}^{T}\mathbf{R}+\mathbf{e}_{1}^{T}
𝐜2T\displaystyle\mathbf{c}_{2}^{T} =𝐮~T+𝐞2T+𝐦Tq2\displaystyle=\tilde{\mathbf{u}}^{T}+\mathbf{e}_{2}^{T}+\mathbf{m}^{T}\left\lfloor\displaystyle{\frac{q}{2}}\right\rfloor
𝐜3T\displaystyle\mathbf{c}_{3}^{T} =𝖱𝖾𝖱𝖺𝗇𝖽(𝐑¯,𝐜0T,r,τ)+𝐦Tq2=𝐮¯T𝐑¯+𝐞3T+𝐤Tq2\displaystyle=\mathsf{ReRand}(\overline{\mathbf{R}},\mathbf{c}_{0}^{T},r,\tau)+\mathbf{m}^{T}\left\lfloor\frac{q}{2}\right\rfloor=\bar{\mathbf{u}}^{T}\overline{\mathbf{R}}+\mathbf{e}_{3}^{T}+\mathbf{k}^{T}\left\lfloor\frac{q}{2}\right\rfloor
𝐜4T\displaystyle\mathbf{c}_{4}^{T} =𝖱𝖾𝖱𝖺𝗇𝖽(𝐑0,𝐜0T,r,τ)=𝐮¯T𝐑0+𝐞4T\displaystyle=\mathsf{ReRand}(\mathbf{R}_{0},\mathbf{c}_{0}^{T},r,\tau)=\bar{\mathbf{u}}^{T}\mathbf{R}_{0}+\mathbf{e}_{4}^{T}

where 𝐞1\mathbf{e}_{1}, 𝐞3\mathbf{e}_{3} and 𝐞4\mathbf{e}_{4} are statistically close to 𝒟,2rτω\mathcal{D}^{\ell\omega}_{\mathbb{Z},2r\tau}, 𝒟,2rτλ\mathcal{D}^{\lambda}_{\mathbb{Z},2r\tau} and 𝒟,2rτω\mathcal{D}^{\omega}_{\mathbb{Z},2r\tau}, respectively. Since 𝐮=(𝐮¯|𝐮~){\mathbf{u}}=(\bar{\mathbf{u}}|\tilde{\mathbf{u}}) is a random vector, the following distributions are negligibly close by using Lemma 4:

(𝐀,𝐀𝐑,𝐀𝐑¯,𝐀𝐑0,𝐮¯T,𝐮¯T𝐑,𝐮¯T𝐑¯,𝐮¯T𝐑0)(𝐀,𝐁𝗂𝖽,𝐔2,𝐀0+𝖥𝖱𝖣(𝖧(𝗂𝖽))𝐆,𝐮¯T,𝐮1T,𝐮2T,𝐮3T)(\mathbf{A},\mathbf{A}\mathbf{R},\mathbf{A}\overline{\mathbf{R}},\mathbf{A}\mathbf{R}_{0},\bar{\mathbf{u}}^{T},\bar{\mathbf{u}}^{T}\mathbf{R},\bar{\mathbf{u}}^{T}\overline{\mathbf{R}},\bar{\mathbf{u}}^{T}\mathbf{R}_{0})\approx(\mathbf{A},\mathbf{B}_{\mathsf{id}^{\prime}},\mathbf{U}_{2},\mathbf{A}_{0}+\mathsf{FRD}(\mathsf{H}(\mathsf{id}^{\ast}))\mathbf{G},\bar{\mathbf{u}}^{T},\mathbf{u}_{1}^{T},\mathbf{u}_{2}^{T},\mathbf{u}_{3}^{T})

where 𝐀\mathbf{A} is a random matrix in qn×m\mathbb{Z}^{n\times m}_{q}, 𝐑0,𝐑1,,𝐑d𝒟,ω(logn)m×ω\mathbf{R}_{0},\mathbf{R}_{1},\dots,\mathbf{R}_{d}\leftarrow\mathcal{D}^{m\times\omega}_{\mathbb{Z},\omega(\sqrt{\log n})}, 𝐑¯𝒟,ω(logn)m×λ\overline{\mathbf{R}}\leftarrow\mathcal{D}^{m\times\lambda}_{\mathbb{Z},\omega(\sqrt{\log n})} , 𝐑=[𝐑1||𝐑]\mathbf{R}=[\mathbf{R}_{1}|\dots|\mathbf{R}_{\ell}] (d\ell\leq d), 𝐁𝗂𝖽=[𝐀1+𝖥𝖱𝖣(𝗂𝖽1)𝐆||𝐀+𝖥𝖱𝖣(𝗂𝖽)𝐆]\mathbf{B}_{\mathsf{id}^{\prime}}=[\mathbf{A}_{1}+\mathsf{FRD}(\mathsf{id}^{\prime}_{1})\mathbf{G}|\dots|\mathbf{A}_{\ell}+\mathsf{FRD}(\mathsf{id}^{\prime}_{\ell})\mathbf{G}] for a random identity 𝗂𝖽=(𝗂𝖽1,,𝗂𝖽)\mathsf{id}^{\prime}=(\mathsf{id}^{\prime}_{1},\ldots,\mathsf{id}^{\prime}_{\ell}) of level \ell, and 𝐮1qω\mathbf{u}_{1}\in\mathbb{Z}^{\ell\omega}_{q}, 𝐮2qλ\mathbf{u}_{2}\in\mathbb{Z}^{\lambda}_{q}, 𝐮3qω\mathbf{u}_{3}\in\mathbb{Z}^{\omega}_{q} are uniformly random vectors. Therefore, in the view of the adversary 𝒜\mathcal{A}, when the LWE oracle is random, 𝖢𝖳\mathsf{CT}^{\ast} distributes as a ciphertext encrypted message 𝐦\mathbf{m} for a random identity. This implies that

𝖠𝖽𝗏𝒜Game2𝖠𝖽𝗏LWEn,q,m+λ,r(λ).\mathsf{Adv}_{\mathcal{A}}^{Game2}\leq\mathsf{Adv}_{\mathcal{B}}^{\textsf{LWE}_{n,q,m+\lambda,r}}(\lambda).

4.2 Proof of Ciphertext Indistinguishability

Finally, we will prove that our proposed AHIBET scheme is IND-sID-CPA secure in the standard model. Recall that indistinguishable from random meaning that the challenge ciphertext encrypted for a given message 𝐦\mathbf{m}^{\ast} is computationally indistinguishable from a challenge ciphertext encrypted for a random message 𝐦\mathbf{m} in the message space on the same challenge identity 𝗂𝖽\mathsf{id}^{\ast}.

Theorem 4.2.

The AHIBET scheme Π:=(𝖲𝖾𝗍𝗎𝗉,𝖤𝗑𝗍𝗋𝖺𝖼𝗍,𝖣𝖾𝗋𝗂𝗏𝖾,𝖤𝗇𝖼𝗋𝗒𝗉𝗍,𝖣𝖾𝖼𝗋𝗒𝗉𝗍,𝖳𝗌𝗄𝖦𝖾𝗇,𝖳𝗄𝖵𝖾𝗋)\Pi:=(\mathsf{Setup},\mathsf{Extract},\mathsf{Derive},\mathsf{Encrypt},\mathsf{Decrypt},\mathsf{TskGen},\mathsf{TkVer}) with parameters (λ,n,m,q,ω,σ¯,τ,α,r)(\lambda,n,m,q,\omega,\bar{\sigma},\tau,\alpha,r) as in (1) is IND-sID-CPA secure for the maximal hierarchy depth dd provided that the hardness LWEn,q,m+λ,r\textsf{LWE}_{n,q,m+\lambda,r} assumption holds.

Proof.

We will proceed the proof via a sequence of games where the Game 0 is identical to the original IND-sID-CPA game and the adversary has no advantage in winning the last game. Let 𝒜\mathcal{A} be a PPT adversary that attacks the AHIBET scheme Π\Pi and has advantage 𝖠𝖽𝗏𝒜,ΠIND-sID-CPA=ϵ\mathsf{Adv}_{\mathcal{A},\Pi}^{\textsf{IND-sID-CPA}}=\epsilon. We will then construct a simulator \mathcal{B} that solves the LWE problem using 𝒜\mathcal{A}.
In Game ii, let GiG_{i} denote the event that the adversary 𝒜\mathcal{A} win the game. The adversary’s advantage in Game ii is |Pr[Gi]12||\Pr[G_{i}]-\frac{1}{2}|.

Game 0.

This is the original IND-sID-CPA game between the adversary 𝒜\mathcal{A} against our scheme and an IND-sID-CPA challenger.

𝖠𝖽𝗏𝒜,ΠIND-sID-CPA=|Pr[G0]12|=|Pr[b=b]12|.\mathsf{Adv}_{\mathcal{A},\Pi}^{\textsf{IND-sID-CPA}}=\left|\Pr[G_{0}]-\frac{1}{2}\right|=\left|\Pr[b^{\prime}=b]-\frac{1}{2}\right|.
Game 1.

Game 1 is similar to Game 0 except that we slightly modify the way that the challenger 𝒞\mathcal{C} generates the master public key 𝖬𝖯𝖪\mathsf{MPK} and responds to the key derivation oracles 𝒪𝖣𝖾𝗋𝗂𝗏𝖾\mathcal{O}_{\mathsf{Derive}} and tracing key oracles 𝒪𝖳𝗌𝗄𝖦𝖾𝗇\mathcal{O}_{\mathsf{TskGen}}. Let 𝗂𝖽=(𝗂𝖽1,,𝗂𝖽)\mathsf{id}^{\ast}=(\mathsf{id}^{\ast}_{1},\dots,\mathsf{id}^{\ast}_{\ell}) (d)(\ell\leq d) be the identity that 𝒜\mathcal{A} intends to attack. After receiving 𝗂𝖽\mathsf{id}^{\ast}, 𝒞\mathcal{C} does:

  1. 1.

    Sample 𝐀qn×m\mathbf{A}\leftarrow\mathbb{Z}_{q}^{n\times m}, 𝐑0,𝐑1,,𝐑d𝒟,ω(logn)m×ω\mathbf{R}_{0},\mathbf{R}_{1},\dots,\mathbf{R}_{d}\leftarrow\mathcal{D}^{m\times\omega}_{\mathbb{Z},\omega(\sqrt{\log n})} and 𝐃0𝒟,σ1m×λ\mathbf{D}_{0}\leftarrow\mathcal{D}^{m\times\lambda}_{\mathbb{Z},\sigma_{1}}, 𝐃1𝒟,σ1ω×λ\mathbf{D}_{1}\leftarrow\mathcal{D}^{\omega\times\lambda}_{\mathbb{Z},\sigma_{1}}.

  2. 2.

    Set 𝐀i𝐀𝐑i𝖥𝖱𝖣(𝗂𝖽)𝐆\mathbf{A}_{i}\leftarrow\mathbf{A}\mathbf{R}_{i}-\mathsf{FRD}(\mathsf{id}^{\ast})\mathbf{G} for i=1,,i=1,\dots,\ell and 𝐀i𝐀𝐑i\mathbf{A}_{i}\leftarrow\mathbf{A}\mathbf{R}_{i} for <id\ell<i\leq d.

  3. 3.

    Set 𝐑¯𝐃0+𝐑0𝐃1\overline{\mathbf{R}}\leftarrow\mathbf{D}_{0}+\mathbf{R}_{0}\mathbf{D}_{1}.

  4. 4.

    Set 𝐀0𝐀𝐑0𝖥𝖱𝖣(𝖧(𝗂𝖽))𝐆\mathbf{A}_{0}\leftarrow\mathbf{A}\mathbf{R}_{0}-\mathsf{FRD}(\mathsf{H}(\mathsf{id}^{\ast}))\mathbf{G}, 𝐔2𝐀𝐑¯\mathbf{U}_{2}\leftarrow\mathbf{A}\overline{\mathbf{R}} and sample 𝐔1qn×λ\mathbf{U}_{1}\leftarrow\mathbb{Z}^{n\times\lambda}_{q}.

  5. 5.

    Output the master public key

    𝖬𝖯𝖪=(𝐀,𝐀0,𝐀1,,𝐀d,𝐔1,𝐔2)\mathsf{MPK}=(\mathbf{A},\mathbf{A}_{0},\mathbf{A}_{1},\dots,\mathbf{A}_{d},\mathbf{U}_{1},\mathbf{U}_{2})

    and keep 𝐑0,𝐑1,,𝐑d,𝐑¯\mathbf{R}_{0},\mathbf{R}_{1},\dots,\mathbf{R}_{d},\overline{\mathbf{R}} secret.

  • The adversary 𝒜\mathcal{A} is not allowed to ask for the key derivation queries of the challenge identity 𝗂𝖽\mathsf{id}^{\ast} and its prefixes. To respond to a key derivation query 𝒪𝖣𝖾𝗋𝗂𝗏𝖾\mathcal{O}_{\mathsf{Derive}} for an identity 𝗂𝖽=(𝗂𝖽1,,𝗂𝖽k)\mathsf{id}=(\mathsf{id}_{1},\dots,\mathsf{id}_{k}), 𝒞\mathcal{C} sets:

    𝐅𝗂𝖽=[𝐀|𝐀1+𝖥𝖱𝖣(𝗂𝖽1)𝐆||𝐀k+𝖥𝖱𝖣(𝗂𝖽k)𝐆]qn×(m+kω).\displaystyle\mathbf{F}_{\mathsf{id}}=[\mathbf{A}|\mathbf{A}_{1}+\mathsf{FRD}(\mathsf{id}_{1})\mathbf{G}|\dots|\mathbf{A}_{k}+\mathsf{FRD}(\mathsf{id}_{k})\mathbf{G}]\in\mathbb{Z}^{n\times(m+k\omega)}_{q}.
    • If kk\leq\ell, then

      𝐅𝗂𝖽=[𝐀|𝐀𝐑1+(𝖥𝖱𝖣(𝗂𝖽1)𝖥𝖱𝖣(𝗂𝖽1))𝐆||𝐀𝐑k+(𝖥𝖱𝖣(𝗂𝖽k)𝖥𝖱𝖣(𝗂𝖽k))𝐆].\mathbf{F}_{\mathsf{id}}=[\mathbf{A}|\mathbf{A}\mathbf{R}_{1}+(\mathsf{FRD}(\mathsf{id}_{1})-\mathsf{FRD}(\mathsf{id}^{\ast}_{1}))\mathbf{G}|\ldots|\mathbf{A}\mathbf{R}_{k}+(\mathsf{FRD}(\mathsf{id}_{k})-\mathsf{FRD}(\mathsf{id}^{\ast}_{k}))\mathbf{G}].

      Let hh be the sallowest level where 𝗂𝖽h𝗂𝖽h\mathsf{id}_{h}\neq\mathsf{id}_{h}^{\ast} (hkh\leq k). By the property of the full-rank difference encoding 𝖥𝖱𝖣\mathsf{FRD}, 𝖥𝖱𝖣(𝗂𝖽h)𝖥𝖱𝖣(𝗂𝖽h)qn×n\mathsf{FRD}(\mathsf{id}_{h})-\mathsf{FRD}(\mathsf{id}_{h}^{\ast})\in\mathbb{Z}^{n\times n}_{q} is an invertible matrix, 𝒞\mathcal{C} then samples

      𝐓𝗂𝖽h𝖲𝖺𝗆𝗉𝗅𝖾𝖡𝖺𝗌𝗂𝗌𝖱𝗂𝗀𝗁𝗍([𝐀|𝐀𝐑h+(𝖥𝖱𝖣(𝗂𝖽h)𝖥𝖱𝖣(𝗂𝖽h))𝐆],𝐑h,𝖥𝖱𝖣(𝗂𝖽h)𝖥𝖱𝖣(𝗂𝖽h),σ1).\mathbf{T}_{\mathsf{id}_{h}}\leftarrow\mathsf{SampleBasisRight}([\mathbf{A}|\mathbf{A}\mathbf{R}_{h}+(\mathsf{FRD}(\mathsf{id}_{h})-\mathsf{FRD}(\mathsf{id}_{h}^{\ast}))\mathbf{G}],\mathbf{R}_{h},\mathsf{FRD}(\mathsf{id}_{h})-\mathsf{FRD}(\mathsf{id}_{h}^{\ast}),\sigma_{1}).

      If h=k=1h=k=1, 𝒞\mathcal{C} returns 𝖲𝖪𝗂𝖽=𝐓𝗂𝖽1\mathsf{SK}_{\mathsf{id}}=\mathbf{T}_{\mathsf{id}_{1}}.
      If k>1k>1, 𝒞\mathcal{C} uses algorithm 𝖤𝗑𝗍𝖾𝗇𝖽𝖡𝖺𝗌𝗂𝗌\mathsf{ExtendBasis} to extend the basis 𝐓𝗂𝖽h\mathbf{T}_{\mathsf{id}_{h}} of Λq([𝐀|𝐀𝐑h+(𝖥𝖱𝖣(𝗂𝖽h)𝖥𝖱𝖣(𝗂𝖽h))𝐆])\Lambda^{\perp}_{q}([\mathbf{A}|\mathbf{A}\mathbf{R}_{h}+(\mathsf{FRD}(\mathsf{id}_{h})-\mathsf{FRD}(\mathsf{id}_{h}^{\ast}))\mathbf{G}]) to a basis 𝐓𝗂𝖽\mathbf{T}_{\mathsf{id}} of Λq(𝐅𝗂𝖽)\Lambda^{\perp}_{q}(\mathbf{F}_{\mathsf{id}}) then returns 𝖲𝖪𝗂𝖽=𝐓𝗂𝖽\mathsf{SK}_{\mathsf{id}}=\mathbf{T}_{\mathsf{id}}.

    • If k>k>\ell, then

      𝐅𝗂𝖽=[𝐀|𝐀𝐑1||𝐀𝐑|𝐀𝐑+1+𝖥𝖱𝖣(𝗂𝖽+1)𝐆||𝐀𝐑k+𝖥𝖱𝖣(𝗂𝖽k)𝐆]\mathbf{F}_{\mathsf{id}}=[\mathbf{A}|\mathbf{A}\mathbf{R}_{1}|\ldots|\mathbf{A}\mathbf{R}_{\ell}|\mathbf{A}\mathbf{R}_{\ell+1}+\mathsf{FRD}(\mathsf{id}_{\ell+1})\mathbf{G}|\ldots|\mathbf{A}\mathbf{R}_{k}+\mathsf{FRD}(\mathsf{id}_{k})\mathbf{G}]

      and 𝖥𝖱𝖣(𝗂𝖽+1)qn×n\mathsf{FRD}(\mathsf{id}_{\ell+1})\in\mathbb{Z}^{n\times n}_{q} is an invertible matrix. The challenger 𝒞\mathcal{C} samples

      𝐓𝗂𝖽+1𝖲𝖺𝗆𝗉𝗅𝖾𝖡𝖺𝗌𝗂𝗌𝖱𝗂𝗀𝗁𝗍([𝐀|𝐀𝐑+1+𝖥𝖱𝖣(𝗂𝖽+1)𝐆],𝐑+1,𝖥𝖱𝖣(𝗂𝖽+1),σ1)\mathbf{T}_{\mathsf{id}_{\ell+1}}\leftarrow\mathsf{SampleBasisRight}([\mathbf{A}|\mathbf{A}\mathbf{R}_{\ell+1}+\mathsf{FRD}(\mathsf{id}_{\ell+1})\mathbf{G}],\mathbf{R}_{\ell+1},\mathsf{FRD}(\mathsf{id}_{\ell+1}),\sigma_{1})

      and uses algorithm 𝖤𝗑𝗍𝖾𝗇𝖽𝖡𝖺𝗌𝗂𝗌\mathsf{ExtendBasis} to extend the basis 𝐓𝗂𝖽+1\mathbf{T}_{\mathsf{id}_{\ell+1}} of Λq([𝐀|𝐀𝐑+1+𝖥𝖱𝖣(𝗂𝖽+1)𝐆])\Lambda^{\perp}_{q}([\mathbf{A}|\mathbf{A}\mathbf{R}_{\ell+1}+\mathsf{FRD}(\mathsf{id}_{\ell+1})\mathbf{G}]) to a basis 𝐓𝗂𝖽\mathbf{T}_{\mathsf{id}} of Λq(𝐅𝗂𝖽)\Lambda^{\perp}_{q}(\mathbf{F}_{\mathsf{id}}). Finally, 𝒞\mathcal{C} returns 𝖲𝖪𝗂𝖽=𝐓𝗂𝖽\mathsf{SK}_{\mathsf{id}}=\mathbf{T}_{\mathsf{id}}.

  • To respond to the tracing key query 𝒪𝖳𝗌𝗄𝖦𝖾𝗇\mathcal{O}_{\mathsf{TskGen}} for 𝗂𝖽=(𝗂𝖽1,,𝗂𝖽k)𝗂𝖽=(𝗂𝖽1,,𝗂𝖽)\mathsf{id}=(\mathsf{id}_{1},\dots,\mathsf{id}_{k})\neq\mathsf{id}^{\ast}=(\mathsf{id}^{\ast}_{1},\dots,\mathsf{id}^{\ast}_{\ell}), 𝒞\mathcal{C} sets:

    𝐅𝗂𝖽=[𝐀|𝐀𝐑0+(𝖥𝖱𝖣(𝖧(𝗂𝖽))𝖥𝖱𝖣(𝖧(𝗂𝖽)))𝐆]\mathbf{F}^{\prime}_{\mathsf{id}}=[\mathbf{A}|\mathbf{A}\mathbf{R}_{0}+(\mathsf{FRD}(\mathsf{H}(\mathsf{id}))-\mathsf{FRD}(\mathsf{H}(\mathsf{id}^{\ast})))\mathbf{G}]

    Since 𝖧\mathsf{H} is a collision resistant hash function, 𝖧(𝗂𝖽)𝖧(𝗂𝖽)\mathsf{H}(\mathsf{id})\neq\mathsf{H}(\mathsf{id}^{\ast}) even if 𝗂𝖽\mathsf{id} is a prefix of 𝗂𝖽\mathsf{id}^{\ast} and thus 𝖥𝖱𝖣(𝖧(𝗂𝖽))𝖥𝖱𝖣(𝖧(𝗂𝖽))\mathsf{FRD}(\mathsf{H}(\mathsf{id}))-\mathsf{FRD}(\mathsf{H}(\mathsf{id}^{\ast})) is an invertible matrix in qn×n\mathbb{Z}^{n\times n}_{q}. The challenger 𝒞\mathcal{C} samples

    𝐃𝗂𝖽𝖲𝖺𝗆𝗉𝗅𝖾𝖡𝖺𝗌𝗂𝗌𝖱𝗂𝗀𝗁𝗍(𝐅𝗂𝖽,𝐑0,𝖥𝖱𝖣(𝖧(𝗂𝖽))𝖥𝖱𝖣(𝖧(𝗂𝖽))𝐆,σ1)\mathbf{D}^{\prime}_{\mathsf{id}}\leftarrow\mathsf{SampleBasisRight}(\mathbf{F}^{\prime}_{\mathsf{id}},\mathbf{R}_{0},\mathsf{FRD}(\mathsf{H}(\mathsf{id}))-\mathsf{FRD}(\mathsf{H}(\mathsf{id}^{\ast}))\mathbf{G},\sigma_{1})

    then invokes the algorithm 𝖲𝖺𝗆𝗉𝗅𝖾𝖯𝗋𝖾\mathsf{SamplePre}

    𝐃𝗂𝖽𝖲𝖺𝗆𝗉𝗅𝖾𝖯𝗋𝖾(𝐅𝗂𝖽,𝐃𝗂𝖽,𝐔2,σ1)q(m+ω)×λ\mathbf{D}_{\mathsf{id}}\leftarrow\mathsf{SamplePre}(\mathbf{F}^{\prime}_{\mathsf{id}},\mathbf{D}^{\prime}_{\mathsf{id}},\mathbf{U}_{2},\sigma_{1})\in\mathbb{Z}^{(m+\omega)\times\lambda}_{q}

    and returns 𝖳𝗌𝗄𝗂𝖽=𝐃𝗂𝖽\mathsf{Tsk}_{\mathsf{id}}=\mathbf{D}_{\mathsf{id}}.

    To respond to the tracing key query of 𝗂𝖽=(𝗂𝖽1,,𝗂𝖽)\mathsf{id}^{\ast}=(\mathsf{id}^{\ast}_{1},\dots,\mathsf{id}^{\ast}_{\ell}), the challenger 𝒞\mathcal{C} sets:

    𝖳𝗌𝗄𝗂𝖽=𝐃𝗂𝖽=[𝐃0𝐃1](m+ω)×λ\mathsf{Tsk}_{\mathsf{id}^{\ast}}=\mathbf{D}_{\mathsf{id}^{\ast}}=\begin{bmatrix}\mathbf{D}_{0}\\ \mathbf{D}_{1}\end{bmatrix}\in\mathbb{Z}^{(m+\omega)\times\lambda}

    so that

    [𝐀|𝐀0+𝖥𝖱𝖣(𝖧(𝗂𝖽))𝐆]𝐃𝗂𝖽=[𝐀|𝐀𝐑0][𝐃0𝐃1]=𝐀𝐃0+𝐀𝐑0𝐃1=𝐀𝐑¯=𝐔2.[\mathbf{A}|\mathbf{A}_{0}+\mathsf{FRD}(\mathsf{H}(\mathsf{id}^{\ast}))\mathbf{G}]\mathbf{D}_{\mathsf{id}^{\ast}}=[\mathbf{A}|\mathbf{A}\mathbf{R}_{0}]\begin{bmatrix}\mathbf{D}_{0}\\ \mathbf{D}_{1}\end{bmatrix}=\mathbf{A}\mathbf{D}_{0}+\mathbf{A}\mathbf{R}_{0}\mathbf{D}_{1}=\mathbf{A}\overline{\mathbf{R}}=\mathbf{U}_{2}.

    Using Lemma 4 with σ1O(m)ω(logn)\sigma_{1}\geq O(\sqrt{m})\cdot\omega(\log n) we have: the distribution of 𝐔2\mathbf{U}_{2} is statistically close to uniform over qλ\mathbb{Z}^{\lambda}_{q} and 𝐃𝗂𝖽\mathbf{D}_{\mathsf{id}^{\ast}} has the distribution 𝒟,σ1(m+ω)×λ\mathcal{D}^{(m+\omega)\times\lambda}_{\mathbb{Z},\sigma_{1}}. Since the master public key 𝖬𝖯𝖪\mathsf{MPK} and responses to key derivation queries and the tracing key queries are statistically close to those in Game 0, the adversary’s advantage in Game 1 is at most negligibly different form its advantage in Game 0.

    |Pr[𝐆1]Pr[𝐆0]|𝗇𝖾𝗀𝗅(λ).|\Pr[\mathbf{G}_{1}]-\Pr[\mathbf{G}_{0}]|\leq\mathsf{negl}(\lambda).
Game 2.

Game 2 is similar to Game 1 except that we modify the construction of the challenge ciphertext 𝖢𝖳\mathsf{CT}^{*}. The challenger 𝒞\mathcal{C} sets 𝐦0=𝐦\mathbf{m}_{0}=\mathbf{m}^{\ast}, chooses a random bit b{0,1}b\in\{0,1\}, a random message 𝐦1\mathbf{m}_{1} in the message space and generates the ciphertext 𝖢𝖳b\mathsf{CT}_{b}^{\ast} for a message 𝐦b{0,1}λ\mathbf{m}_{b}\in\{0,1\}^{\lambda} of the identity 𝗂𝖽\mathsf{id}^{\ast} as follows:

  1. 1.

    Sample 𝐤{0,1}λ\mathbf{k}\leftarrow\{0,1\}^{\lambda}.

  2. 2.

    Sample 𝐬qn\mathbf{s}\leftarrow\mathbb{Z}^{n}_{q}.

  3. 3.

    Choose noise vectors 𝐞0𝒟,rm\mathbf{e}_{0}\leftarrow\mathcal{D}^{m}_{\mathbb{Z},r}, 𝐞2𝒟,rλ\mathbf{e}_{2}\leftarrow\mathcal{D}^{\lambda}_{\mathbb{Z},r}.

  4. 4.

    Set 𝐜0T=𝐬T𝐀+𝐞0T\mathbf{c}_{0}^{T}=\mathbf{s}^{T}\mathbf{A}+\mathbf{e}_{0}^{T}, 𝐜2T=𝐬T𝐔1+𝐞2T+𝐦bTq2\mathbf{c}_{2}^{T}=\mathbf{s}^{T}\mathbf{U}_{1}+\mathbf{e}_{2}^{T}+\mathbf{m}^{T}_{b}\left\lfloor\displaystyle{\frac{q}{2}}\right\rfloor and

    𝐜1T\displaystyle\mathbf{c}_{1}^{T} 𝖱𝖾𝖱𝖺𝗇𝖽(𝐑,𝐜0T,r,τ)\displaystyle\leftarrow\mathsf{ReRand}(\mathbf{R},\mathbf{c}_{0}^{T},r,\tau)
    𝐜3T\displaystyle\mathbf{c}_{3}^{T} 𝖱𝖾𝖱𝖺𝗇𝖽(𝐑¯,𝐜0T,r,τ)+(𝐤q2)T\displaystyle\leftarrow\mathsf{ReRand}(\overline{\mathbf{R}},\mathbf{c}_{0}^{T},r,\tau)+\left(\mathbf{k}\left\lfloor\frac{q}{2}\right\rfloor\right)^{T}
    𝐜4T\displaystyle\mathbf{c}_{4}^{T} 𝖱𝖾𝖱𝖺𝗇𝖽(𝐑0,𝐜0T,r,τ)\displaystyle\leftarrow\mathsf{ReRand}(\mathbf{R}_{0},\mathbf{c}_{0}^{T},r,\tau)

    where 𝐑=[𝐑1||𝐑]\mathbf{R}=[\mathbf{R}_{1}|\dots|\mathbf{R}_{\ell}] and 𝐑¯=𝐃0+𝐑0𝐃1\overline{\mathbf{R}}=\mathbf{D}_{0}+\mathbf{R}_{0}\mathbf{D}_{1}. Note that 𝐑¯<τ\|\overline{\mathbf{R}}\|<\tau by the way that the game generates the matrices 𝐑0,𝐃0\mathbf{R}_{0},\mathbf{D}_{0} and 𝐃1\mathbf{D}_{1}.

  5. 5.

    Output 𝖢𝖳0=(𝐜0,𝐜1,𝐜2,𝐜3,𝐜4,𝐤)\mathsf{CT}_{0}^{\ast}=(\mathbf{c}_{0},\mathbf{c}_{1},\mathbf{c}_{2},\mathbf{c}_{3},\mathbf{c}_{4},\mathbf{k}).

We have that 𝐜0\mathbf{c}_{0}, 𝐜2\mathbf{c}_{2} are distributed exactly as in the previous game, besides

𝐜1T\displaystyle\mathbf{c}_{1}^{T} =𝖱𝖾𝖱𝖺𝗇𝖽(𝐑=[𝐑1||𝐑],𝐜0T=𝐬T𝐀+𝐞0T,r,τ)\displaystyle=\mathsf{ReRand}(\mathbf{R}=[\mathbf{R}_{1}|\dots|\mathbf{R}_{\ell}],\mathbf{c}_{0}^{T}=\mathbf{s}^{T}\mathbf{A}+\mathbf{e}_{0}^{T},r,\tau)
=𝐬T𝐀𝐑+𝐞1T\displaystyle=\mathbf{s}^{T}\mathbf{A}\mathbf{R}+\mathbf{e}^{T}_{1}
𝐜3T\displaystyle\mathbf{c}_{3}^{T} =𝖱𝖾𝖱𝖺𝗇𝖽(𝐑¯,𝐜0T=𝐬T𝐀+𝐞0T,r,τ)+𝐤Tq2=𝐬T𝐀𝐑¯+𝐞2T+𝐤Tq2\displaystyle=\mathsf{ReRand}(\overline{\mathbf{R}},\mathbf{c}_{0}^{T}=\mathbf{s}^{T}\mathbf{A}+\mathbf{e}_{0}^{T},r,\tau)+\mathbf{k}^{T}\left\lfloor\frac{q}{2}\right\rfloor=\mathbf{s}^{T}\mathbf{A}\overline{\mathbf{R}}+\mathbf{e}^{T}_{2}+\mathbf{k}^{T}\left\lfloor\frac{q}{2}\right\rfloor
=𝐬T𝐀(𝐃0+𝐑0𝐃1)+𝐞3T+𝐤Tq2=𝐬T𝐔2+𝐞3T+𝐤Tq2\displaystyle=\mathbf{s}^{T}\mathbf{A}(\mathbf{D}_{0}+\mathbf{R}_{0}\mathbf{D}_{1})+\mathbf{e}^{T}_{3}+\mathbf{k}^{T}\left\lfloor\frac{q}{2}\right\rfloor=\mathbf{s}^{T}\mathbf{U}_{2}+\mathbf{e}_{3}^{T}+\mathbf{k}^{T}\left\lfloor\frac{q}{2}\right\rfloor
𝐜4T\displaystyle\mathbf{c}_{4}^{T} =𝖱𝖾𝖱𝖺𝗇𝖽(𝐑0,𝐜0T=𝐬T𝐀+𝐞0T,r,τ)\displaystyle=\mathsf{ReRand}(\mathbf{R}_{0},\mathbf{c}_{0}^{T}=\mathbf{s}^{T}\mathbf{A}+\mathbf{e}_{0}^{T},r,\tau)
=𝐬T𝐀𝐑0+𝐞4T=𝐬T(𝐀0+𝖥𝖱𝖣(𝖧(𝗂𝖽)𝐆)+𝐞4T\displaystyle=\mathbf{s}^{T}\mathbf{A}\mathbf{R}_{0}+\mathbf{e}^{T}_{4}=\mathbf{s}^{T}(\mathbf{A}_{0}+\mathsf{FRD}(\mathsf{H}(\mathsf{id}^{\ast})\mathbf{G})+\mathbf{e}_{4}^{T}

where the distribution of 𝐞1\mathbf{e}_{1}, 𝐞3\mathbf{e}_{3} and 𝐞4\mathbf{e}_{4} are statistically close to 𝒟,2rτω\mathcal{D}^{\ell\omega}_{\mathbb{Z},2r\tau}, 𝒟,2rτλ\mathcal{D}^{\lambda}_{\mathbb{Z},2r\tau} and 𝒟,2rτω\mathcal{D}^{\omega}_{\mathbb{Z},2r\tau}, respectively. So we yields that Game 1 and Game 2 are statistically close in the adversary’s point of view, the adversary’s advantage against Game 2 will be the same as Game 1.

|Pr[G2]Pr[G1]|𝗇𝖾𝗀𝗅(λ).|\Pr[G_{2}]-\Pr[G_{1}]|\leq\mathsf{negl}(\lambda).
Game 3.

In this game, we keep changing how the challenge ciphertext is created. The challenger 𝒞\mathcal{C} does:

  1. 1.

    Sample 𝐤{0,1}λ\mathbf{k}\leftarrow\{0,1\}^{\lambda}.

  2. 2.

    Sample 𝐮¯qm\bar{\mathbf{u}}\leftarrow\mathbb{Z}^{m}_{q} and 𝐮~qλ\widetilde{\mathbf{u}}\leftarrow\mathbb{Z}^{\lambda}_{q}

  3. 3.

    Choose noise vectors 𝐞0𝒟,rm\mathbf{e}_{0}\leftarrow\mathcal{D}^{m}_{\mathbb{Z},r}, 𝐞2𝒟,rλ\mathbf{e}_{2}\leftarrow\mathcal{D}^{\lambda}_{\mathbb{Z},r}.

  4. 4.

    Set 𝐜0=𝐮¯+𝐞0\mathbf{c}_{0}=\bar{\mathbf{u}}+\mathbf{e}_{0}, 𝐜2=𝐮~+𝐞2+𝐦bq2\mathbf{c}_{2}=\widetilde{\mathbf{u}}+\mathbf{e}_{2}+\mathbf{m}_{b}\left\lfloor\frac{q}{2}\right\rfloor and

    𝐜1T\displaystyle\mathbf{c}_{1}^{T} 𝖱𝖾𝖱𝖺𝗇𝖽(𝐑,𝐜0T,r,τ)\displaystyle\leftarrow\mathsf{ReRand}(\mathbf{R},\mathbf{c}_{0}^{T},r,\tau)
    𝐜3T\displaystyle\mathbf{c}_{3}^{T} 𝖱𝖾𝖱𝖺𝗇𝖽(𝐑¯,𝐜0T,r,τ)+(𝐤q2)T\displaystyle\leftarrow\mathsf{ReRand}(\overline{\mathbf{R}},\mathbf{c}_{0}^{T},r,\tau)+\left(\mathbf{k}\left\lfloor\frac{q}{2}\right\rfloor\right)^{T}
    𝐜4T\displaystyle\mathbf{c}_{4}^{T} 𝖱𝖾𝖱𝖺𝗇𝖽(𝐑0,𝐜0T,r,τ)\displaystyle\leftarrow\mathsf{ReRand}(\mathbf{R}_{0},\mathbf{c}_{0}^{T},r,\tau)

    where 𝐑=[𝐑1||𝐑]\mathbf{R}=[\mathbf{R}_{1}|\dots|\mathbf{R}_{\ell}].

  5. 5.

    Output 𝖢𝖳0=(𝐜0,𝐜1,𝐜2,𝐜3,𝐜4,𝐤)\mathsf{CT}_{0}^{\ast}=(\mathbf{c}_{0},\mathbf{c}_{1},\mathbf{c}_{2},\mathbf{c}_{3},\mathbf{c}_{4},\mathbf{k}).

Observe that the ciphertext 𝐜2=𝐮~+𝐞2+𝐦bq2\mathbf{c}_{2}=\widetilde{\mathbf{u}}+\mathbf{e}_{2}+\mathbf{m}_{b}\left\lfloor\displaystyle{\frac{q}{2}}\right\rfloor in Game 3 is uniformly random over qλ\mathbb{Z}^{\lambda}_{q}. Therefore, the ciphertext is independent from 𝐦b\mathbf{m}_{b} in the adversary 𝒜\mathcal{A}’s view. Hence, both 𝖢𝖳0\mathsf{CT}_{0}^{\ast} and 𝖢𝖳1\mathsf{CT}_{1}^{\ast} is statistically close to the uniform distribution over the ciphertext space, and the adversary 𝒜\mathcal{A} has no advantage in winning the game. We have

|Pr[G3]12|𝗇𝖾𝗀𝗅(λ).\left|\Pr[G_{3}]-\displaystyle{\frac{1}{2}}\right|\leq\mathsf{negl}{(\lambda)}.

Moreover, using the same reduction technique as in the Anonymity Game in the previous subsection, we can construct a simulator \mathcal{B} that solves LWE problem if adversary 𝒜\mathcal{A} is able to distinguish between Game 2 and Game 3. Therefore we have

|Pr[G3]Pr[G2]|𝖠𝖽𝗏LWEn,q,m+λ,r(λ),|\Pr[G_{3}]-\Pr[G_{2}]|\leq\mathsf{Adv}^{\textsf{LWE}_{n,q,m+\lambda,r}}_{\mathcal{B}}(\lambda),

which completes the proof of Theorem 2.

5 Conclusion

In this paper, we propose a Lattice-based Anonymous Hierarchical Identity-Based Encryption scheme with Traceable Identities (AHIBET) and prove that our scheme is secure in the standard model based on the decisional LWE assumption.

References

  • [ABB10a] Shweta Agrawal, Dan Boneh, and Xavier Boyen. Efficient lattice (H)IBE in the standard model. In Henri Gilbert, editor, Advances in Cryptology - EUROCRYPT 2010, 29th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Monaco / French Riviera, May 30 - June 3, 2010. Proceedings, volume 6110 of Lecture Notes in Computer Science, pages 553–572. Springer, 2010.
  • [ABB10b] Shweta Agrawal, Dan Boneh, and Xavier Boyen. Lattice basis delegation in fixed dimension and shorter-ciphertext hierarchical ibe. In Tal Rabin, editor, Advances in Cryptology – CRYPTO 2010, pages 98–115, Berlin, Heidelberg, 2010. Springer Berlin Heidelberg.
  • [BB04] Dan Boneh and Xavier Boyen. Efficient selective-id secure identity-based encryption without random oracles. In Christian Cachin and Jan Camenisch, editors, Advances in Cryptology - EUROCRYPT 2004, International Conference on the Theory and Applications of Cryptographic Techniques, Interlaken, Switzerland, May 2-6, 2004, Proceedings, volume 3027 of Lecture Notes in Computer Science, pages 223–238. Springer, 2004.
  • [BBG05] Dan Boneh, Xavier Boyen, and Eu-Jin Goh. Hierarchical identity based encryption with constant size ciphertext. In Ronald Cramer, editor, Advances in Cryptology - EUROCRYPT 2005, 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Aarhus, Denmark, May 22-26, 2005, Proceedings, volume 3494 of Lecture Notes in Computer Science, pages 440–456. Springer, 2005.
  • [BBP19] Olivier Blazy, Laura Brouilhet, and Duong Hieu Phan. Anonymous identity based encryption with traceable identities. In Proceedings of the 14th International Conference on Availability, Reliability and Security, ARES ’19, New York, NY, USA, 2019. Association for Computing Machinery.
  • [BF01] Dan Boneh and Matthew K. Franklin. Identity-based encryption from the weil pairing. In Joe Kilian, editor, Advances in Cryptology - CRYPTO 2001, 21st Annual International Cryptology Conference, Santa Barbara, California, USA, August 19-23, 2001, Proceedings, volume 2139 of Lecture Notes in Computer Science, pages 213–229. Springer, 2001.
  • [BFRS18] Pauline Bert, Pierre-Alain Fouque, Adeline Roux-Langlois, and Mohamed Sabt. Practical implementation of ring-sis/lwe based signature and IBE. In Tanja Lange and Rainer Steinwandt, editors, Post-Quantum Cryptography - 9th International Conference, PQCrypto 2018, Fort Lauderdale, FL, USA, April 9-11, 2018, Proceedings, volume 10786 of Lecture Notes in Computer Science, pages 271–291. Springer, 2018.
  • [BW06a] Xavier Boyen and Brent Waters. Anonymous hierarchical identity-based encryption (without random oracles). In Cynthia Dwork, editor, Advances in Cryptology - CRYPTO 2006, pages 290–307, Berlin, Heidelberg, 2006. Springer Berlin Heidelberg.
  • [BW06b] Xavier Boyen and Brent Waters. Compact group signatures without random oracles. In Serge Vaudenay, editor, Advances in Cryptology - EUROCRYPT 2006, pages 427–444, Berlin, Heidelberg, 2006. Springer Berlin Heidelberg.
  • [CHKP10] David Cash, Dennis Hofheinz, Eike Kiltz, and Chris Peikert. Bonsai trees, or how to delegate a lattice basis. In Annual International Conference on the Theory and Applications of Cryptographic Techniques, pages 523–552. Springer, 2010.
  • [DMR16] Manuel Díaz, Cristian Martín, and Bartolomé Rubio. State-of-the-art, challenges, and open issues in the integration of internet of things and cloud computing. J. Netw. Comput. Appl., 67:99–117, 2016.
  • [GPV08] Craig Gentry, Chris Peikert, and Vinod Vaikuntanathan. Trapdoors for hard lattices and new cryptographic constructions. In Cynthia Dwork, editor, Proceedings of the 40th Annual ACM Symposium on Theory of Computing, Victoria, British Columbia, Canada, May 17-20, 2008, pages 197–206. ACM, 2008.
  • [GS02] Craig Gentry and Alice Silverberg. Hierarchical id-based cryptography. In Yuliang Zheng, editor, Advances in Cryptology - ASIACRYPT 2002, 8th International Conference on the Theory and Application of Cryptology and Information Security, Queenstown, New Zealand, December 1-5, 2002, Proceedings, volume 2501 of Lecture Notes in Computer Science, pages 548–566. Springer, 2002.
  • [JLL+18] Liaoliang Jiang, Tong Li, Xuan Li, Mohammed Atiquzzaman, Haseeb Ahmad, and Xianmin Wang. Anonymous communication via anonymous identity-based encryption and its application in iot. Wireless Communications and Mobile Computing, 2018:1–8, 11 2018.
  • [KY16] Shuichi Katsumata and Shota Yamada. Partitioning via non-linear polynomial functions: More compact ibes from ideal lattices and bilinear maps, 2016.
  • [LTT+21] Zi-Yuan Liu, Yi-Fan Tseng, Raylin Tso, Masahiro Mambo, and Yu-Chi Chen. Quantum-resistant anonymous IBE with traceable identities. IACR Cryptol. ePrint Arch., 2021:33, 2021.
  • [MP12] Daniele Micciancio and Chris Peikert. Trapdoors for lattices: Simpler, tighter, faster, smaller. In Annual International Conference on the Theory and Applications of Cryptographic Techniques, pages 700–718. Springer, 2012.
  • [Pei09] Chris Peikert. Bonsai trees (or, arboriculture in lattice-based cryptography). IACR Cryptology ePrint Archive, 2009:359, 01 2009.
  • [Reg09] Oded Regev. On lattices, learning with errors, random linear codes, and cryptography. Journal of the ACM (JACM), 56(6):34, 2009.
  • [Sha84] Adi Shamir. Identity-based cryptosystems and signature schemes. In G. R. Blakley and David Chaum, editors, Advances in Cryptology, Proceedings of CRYPTO ’84, Santa Barbara, California, USA, August 19-22, 1984, Proceedings, volume 196 of Lecture Notes in Computer Science, pages 47–53. Springer, 1984.
  • [SRB14] Kunwar Singh, C. Pandu Rangan, and A. K. Banerjee. Efficient lattice hibe in the standard model with shorter public parameters. In Linawati, Made Sudiana Mahendra, Erich J. Neuhold, A. Min Tjoa, and Ilsun You, editors, Information and Communication Technology, pages 542–553, Berlin, Heidelberg, 2014. Springer Berlin Heidelberg.
  • [Wat05] Brent Waters. Efficient identity-based encryption without random oracles. In Ronald Cramer, editor, Advances in Cryptology - EUROCRYPT 2005, 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Aarhus, Denmark, May 22-26, 2005, Proceedings, volume 3494 of Lecture Notes in Computer Science, pages 114–127. Springer, 2005.