Identity-based encryption
An identity-based encryption (IBE) scheme allows a sender to encrypt to an arbitrary string identity (such as an email address) without requiring the recipient to distribute a public key in advance. A trusted key generation center (KGC) holds a master secret key and issues per-identity decryption keys on demand. IBE eliminates the need for a public-key infrastructure by replacing public keys with identities.
Syntax
An IBE scheme is a tuple of efficient algorithms with respect to identity space , message space , and ciphertext space :
- is a randomized algorithm that outputs public parameters and a master secret key ,
- is a (possibly randomized) algorithm that takes the master secret key and an identity , outputting a per-identity secret key ,
- is a randomized algorithm that takes , an identity , and a message , outputting a ciphertext ,
- is a deterministic algorithm that takes a secret key and ciphertext , outputting a message or to indicate failure.
Properties
Correctness
An IBE scheme is -correct if for all , , and ,
over and the randomness of and . When , we say is perfectly correct.
IND-ID-CPA Security
In the adaptive IND-ID-CPA game, the adversary may query the key extraction oracle for any identity of its choice throughout both phases. The only constraint is admissibility: it may not extract a key for the challenge identity .
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\mathrm{id\text{-}cpa}}_{\IBE,\calA}(\secpar)$}
\begin{algorithmic}
\State $(\pp, \msk) \gets \Setup(1^\secpar)$; $b \getsr \bits$
\State $\calO_{\mathrm{ext}}(\mathit{id}) := \Extract(\msk, \mathit{id})$
\State $(\mathit{id}^*, m_0, m_1, \stA) \gets \calA^{\calO_{\mathrm{ext}}}(1^\secpar, \pp)$
\Comment{$\calA$ may not query $\calO_{\mathrm{ext}}(\mathit{id}^*)$}
\State $c^* \gets \Enc(\pp, \mathit{id}^*, m_b)$
\State $b' \gets \calA^{\calO_{\mathrm{ext}}}(c^*, \stA)$
\Comment{$\calA$ may not query $\calO_{\mathrm{ext}}(\mathit{id}^*)$}
\Return $[b' = b]$
\end{algorithmic}
\end{algorithm}
An IBE scheme is IND-ID-CPA-secure if for all efficient admissible ,
is negligible. The admissibility constraint is necessary: without it, trivially wins by extracting and decrypting.
IND-sID-CPA Security (Selective)
In the selective variant, the adversary must commit to the challenge identity before the public parameters are generated. This is a strictly weaker notion than adaptive IND-ID-CPA.
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\mathrm{sid\text{-}cpa}}_{\IBE,\calA}(\secpar)$}
\begin{algorithmic}
\State $\mathit{id}^* \gets \calA(1^\secpar)$
\Comment{$\calA$ commits to challenge identity before seeing $\pp$}
\State $(\pp, \msk) \gets \Setup(1^\secpar)$; $b \getsr \bits$
\State $\calO_{\mathrm{ext}}(\mathit{id}) := \Extract(\msk, \mathit{id})$
\State $(m_0, m_1, \stA) \gets \calA^{\calO_{\mathrm{ext}}}(\pp)$
\Comment{$\calA$ may not query $\calO_{\mathrm{ext}}(\mathit{id}^*)$}
\State $c^* \gets \Enc(\pp, \mathit{id}^*, m_b)$
\State $b' \gets \calA^{\calO_{\mathrm{ext}}}(c^*, \stA)$
\Comment{$\calA$ may not query $\calO_{\mathrm{ext}}(\mathit{id}^*)$}
\Return $[b' = b]$
\end{algorithmic}
\end{algorithm}
An IBE scheme is IND-sID-CPA-secure if for all efficient admissible ,
is negligible. Any IND-ID-CPA-secure scheme is also IND-sID-CPA-secure; the converse requires a complexity-leveraging argument that incurs a polynomial security loss in .
Variations
IND-ID-CCA Security
Analogously to PKE, the CCA variant additionally provides the adversary with a decryption oracle in both phases. The admissibility condition extends to: the adversary may not query , and may not query after the challenge is issued.
Other results
- IBE implies PKE: set the public key to and the per-user public key to ; the KGC plays the role of a CA but without issuing certificates
- IBE is generalized by HIBE, which adds a delegation algorithm allowing any identity to issue keys for its sub-identities
- IBE is generalized by Fuzzy IBE, which allows partial identity matching via a threshold overlap condition
- IBE is a special case of both KP-ABE and CP-ABE with singleton policies
- The first practical IBE construction uses Weil pairings and is CCA-secure in the random oracle model under CBDH — BF01
- The first adaptive IBE in the standard model under simple assumptions uses the dual system encryption technique — Wat09