1 Introduction
1.1 Motivation
1.2 Related Work
1.3 Techniques and Contributions
1.4 Paper Structure
2 Preliminaries
2.1 Bilinear Pairing Group Set
2.2 GBPG Model
2.3 Security Assumptions
-
– Discrete logarithm (DL) security assumption: For an unknown $a\in {Z_{p}^{\ast }}$, and given $a\cdot Q\in G$ or $\hat{e}{(Q,Q)^{a}}\in {G_{e}}$, to compute a is hard.
-
– Secure hash function (SHF) security assumption: For a secure hash function $SH:{\{0,1\}^{\ast }}\to {\{0,1\}^{l}}$ with a fixed length l, it must satisfy one-way, weak-collision resistance and strong-collision resistance.
2.4 Leakage Security of Secret Keys
Lemma 1.
Lemma 2.
3 Syntax (Framework) and Adversary Model of the LRSC-AMRS Scheme
Table 1
| Symbols | Denotations |
| PKC | Public-key cryptography |
| PKI-PKC | Public-key infrastructure PKC |
| CL-PKC | Certificateless PKC |
| CA | The certificate authority (CA) in the PKI-PKC |
| $({\textit{SSK}_{CA}},{\textit{SPK}_{CA}})$ | The system secret/public key pair of the CA |
| KGA | The key generating authority (KGA) in the CL-PKC |
| $({\textit{SSK}_{KGA}},{\textit{SPK}_{KGA}})$ | The system secret/public key pair of the KGA |
| BMC | The broadcast management centre (BMC) in the PKI-PKC |
| ${\textit{PKID}_{BMC}}$ | The identity of the BMC |
| $(S{K_{BMC}},P{K_{BMC}})$ | The secret/public key pair of the BMC |
| ${\textit{CRTF}_{BMC}}$ | The certificate of the BMC |
| ${\textit{PKID}_{r}}$ | The identity of a recipient in the PKI-PKC |
| $(S{K_{r}},P{K_{r}})$ | The secret/public key pair of the recipient ${\textit{PKID}_{r}}$ |
| ${\textit{CRTF}_{r}}$ | The certificate of ${\textit{PKID}_{r}}$ |
| ${\textit{CLID}_{r}}$ | The identity of a recipient in the CL-PKC |
| $({\textit{ISK}_{r}},{\textit{IPK}_{r}})$ | The individual secret/public key pair of the recipient ${\textit{CLID}_{r}}$ |
| $({\textit{MSK}_{r}},{\textit{MPK}_{r}})$ | The member secret/public key pair of the recipient ${\textit{CLID}_{r}}$ |
| $PD$ | A plaintext data |
| $ED$ | An encrypted data |
| $\textit{SEF}/\textit{SDF}$ | The symmetric encrypting/decrypting functions |
| $edk$ | ${\textit{SEF}_{edk}}()/{\textit{SDF}_{edk}}()$, where $edk$ is an encrypting/decrypting key |
| $\textit{SDHR}$ | A set of designated heterogeneous recipients, $\textit{SDHR}=\{[({\textit{PKID}_{r}},P{K_{r}})\| ({\textit{CLID}_{r}},{\textit{IPK}_{r}},{\textit{MPK}_{r}})]$, $r=1,2,\dots ,n\}$ |
| $\textit{BCS}$ | A broadcast ciphertext set generated by the BMC |
3.1 Syntax (Framework)
-
• The BMC: The BMC with identity ${\textit{PKID}_{BMC}}$ decides the secret/public key pair $(S{K_{BMC}},P{K_{BMC}})$ while conveying $({\textit{PKID}_{BMC}},P{K_{BMC}})$ to the CA. The CA creates and sends back the certificate ${\textit{CRTF}_{BMC}}$.
-
• Initial recipients: An initial recipient with identity ${\textit{PKID}_{r}}$ decides the secret/public key pair $(S{K_{r}},P{K_{r}})$ while conveying $({\textit{PKID}_{r}},P{K_{r}})$ to the CA. The CA creates and sends back the certificate ${\textit{CRTF}_{r}}$.
-
• New recipients: A new recipient with identity ${\textit{CLID}_{r}}$ decides the individual secret/public key pair $({\textit{ISK}_{r}},{\textit{IPK}_{r}})$ while conveying $({\textit{CLID}_{r}},{\textit{IPK}_{r}})$ to the KGA. The KGA creates and sends back the member secret/public key pair $({\textit{MSK}_{r}},{\textit{MPK}_{r}})$.
-
• Upgraded recipients: If an initial recipient with identity ${\textit{PKID}_{r}}$ would like to upgrade to the CL-PKC, she/he renames ${\textit{PKID}_{r}}$ to ${\textit{CLID}_{r}}$ and $({\textit{PKID}_{r}},P{K_{r}})$ to $({\textit{ISK}_{r}},{\textit{IPK}_{r}})$. Also, the upgraded recipient conveys $({\textit{CLID}_{r}},{\textit{IPK}_{r}})$ to the KGA. The KGA creates and sends back the member secret/public key pair $({\textit{MSK}_{r}},{\textit{MPK}_{r}})$.
Definition 1 (Syntax).
-
– Initialization phase: Firstly, the heterogeneously public system parameters ($\textit{HPSP}$) of both the PKI-PKC and the CL-PKC are decided. Also, the CA in the PKI-PKC and the KGA in the CL-PKC decide their own secret/public pairs as follows.
-
• PKI-PKC: By $\textit{HPSP}$, the CA decides the system secret/public key pair $({\textit{SSK}_{CA}},{\textit{SPK}_{CA}})$. Also, the CA separates ${\textit{SSK}_{CA}}$ into two fragments $({\textit{SSK}_{CA,0,a}},{\textit{SSK}_{CA,0,b}})$ by the key refreshing procedure.
-
• CL-PKC: By $\textit{HPSP}$, the KGA decides the system secret/public key pair $({\textit{SSK}_{KGA}},{\textit{SPK}_{KGA}})$. Also, the KGA separates ${\textit{SSK}_{KGA}}$ into two fragments $({\textit{SSK}_{KGA,0,a}},{\textit{SSK}_{KGA,0,b}})$ by the key refreshing procedure.
-
-
– At the end of this phase, $\textit{HPSP}$, ${\textit{SPK}_{CA}}$ and ${\textit{SPK}_{KGA}}$ are publicly announced.
-
– Key generating phase: In the PKI-PKC, the CA is responsible for managing the BMC and initial recipients. Also, in the CL-PKC, the KGA is responsible to managing the upgraded and new recipients. The associated key generating procedures are presented as follows.
-
• PKI-PKC:
-
(1) In the PKI-PKC, the BMC or an initial recipient with identity ${\textit{PKID}_{r}}$ first decides their own secret/public key pair $(S{K_{BMC}},P{K_{BMC}})$ or $(S{K_{r}},P{K_{r}})$ while separating $S{K_{BMC}}$ or $S{K_{r}}$ into $(S{K_{BMC,0,a}},S{K_{BMC,0,b}})$ or $(S{K_{r,0,a}},S{K_{r,0,b}})$, respectively. Also, they convey $({\textit{PKID}_{BMC}},P{K_{BMC}})$ or $({\textit{PKID}_{r}},P{K_{r}})$ to the CA, respectively.
-
(2) Upon receiving $({\textit{PKID}_{BMC}},P{K_{BMC}})$ or $({\textit{PKID}_{r}},P{K_{r}})$, in the i-th round of this procedure, the CA first refreshes $({\textit{SSK}_{CA,i-1,a}},{\textit{SSK}_{CA,i-1,b}})$ to get $({\textit{SSK}_{CA,i,a}},{\textit{SSK}_{CA,i,b}})$ such that ${\textit{SSK}_{CA}}={\textit{SSK}_{CA,0,a}}\cdot {\textit{SSK}_{CA,0,b}}={\textit{SSK}_{CA,1,a}}\cdot {\textit{SSK}_{CA,1,b}}=\cdots ={\textit{SSK}_{CA,i-1,a}}\cdot {\textit{SSK}_{CA,i-1,b}}={\textit{SSK}_{CA,i,a}}\cdot {\textit{SSK}_{CA,i,b}}$. The CA then uses $({\textit{SSK}_{CA,i,a}},{\textit{SSK}_{CA,i,b}})$ to create and send back the certificate ${\textit{CRTF}_{BMC}}$ or ${\textit{CRTF}_{r}}$ to the BMC or the recipient ${\textit{PKID}_{r}}$, respectively.
-
-
• CL-PKC:
-
(1) In the CL-PKC, a new recipient with identity ${\textit{CLID}_{r}}$ first decides the individual secret/public key pair $({\textit{ISK}_{r}},{\textit{IPK}_{r}})$ while separating ${\textit{ISK}_{r}}$ into $({\textit{ISK}_{r,0,a}},{\textit{ISK}_{r,0,b}})$. Also, the recipient ${\textit{CLID}_{r}}$ conveys $({\textit{CLID}_{r}},{\textit{IPK}_{r}})$ to the KGA.
-
(2) Upon receiving $({\textit{CLID}_{r}},{\textit{IPK}_{r}})$, in the i-th round of this procedure, the KGA refreshes $({\textit{SSK}_{KGA,i-1,a}},{\textit{SSK}_{KGA,i-1,b}})$ to get $({\textit{SSK}_{KGA,i,a}},{\textit{SSK}_{KGA,i,b}})$ such that ${\textit{SSK}_{KGA}}={\textit{SSK}_{KGA,0,a}}\cdot {\textit{SSK}_{KGA,0,b}}={\textit{SSK}_{KGA,1,a}}\cdot {\textit{SSK}_{KGA,1,b}}=\cdots ={\textit{SSK}_{KGA,i-1,a}}\cdot {\textit{SSK}_{KGA,i-1,b}}={\textit{SSK}_{KGA,i,a}}\cdot {\textit{SSK}_{KGA,i,b}}$. The KGA then uses $({\textit{SSK}_{KGA,i,a}},{\textit{SSK}_{KGA,i,b}})$ to create and send back the member secret/public key pair $({\textit{MSK}_{r}},{\textit{MPK}_{r}})$ to the recipient ${\textit{CLID}_{r}}$.
-
(3) Upon receiving $({\textit{MSK}_{r}},{\textit{MPK}_{r}})$, the recipient ${\textit{CLID}_{r}}$ separates ${\textit{MSK}_{r}}$ into $({\textit{MSK}_{r,0,a}},{\textit{MSK}_{r,0,b}})$. Finally, the recipient ${\textit{CLID}_{r}}$ has the private key pair $({\textit{ISK}_{r}},{\textit{MSK}_{r}})$ and pubic key pair $({\textit{IPK}_{r}},{\textit{MPK}_{r}})$.
-
-
When an initial recipient with identity ${\textit{PKID}_{r}}$ in the PKI-PKC would like to upgrade to the CL-PKC, she/he renames ${\textit{PKID}_{r}}$ to ${\textit{CLID}_{r}}$ and $(S{K_{r}},P{K_{r}})$ to $({\textit{ISK}_{r}},{\textit{IPK}_{r}})$, respectively. The upgraded recipient ${\textit{CLID}_{r}}$ then runs the steps (2) and (3) above to get the private key pair $({\textit{ISK}_{r}},{\textit{MSK}_{r}})$ and pubic key pair $({\textit{IPK}_{r}},{\textit{MPK}_{r}})$.
-
-
– Compatible multi-signcryption (CMS) phase: When the BMC would like to convey a plaintext data ($PD$) to a set of designated heterogeneous recipients, namely, $\textit{SDHR}=\{[({\textit{PKID}_{r}},P{K_{r}})\| ({\textit{CLID}_{r}},{\textit{IPK}_{r}},{\textit{MPK}_{r}})],\hspace{2.5pt}r=1,2,\dots ,n\}$ in the j-th round of this procedure, the BMC carries out the CMS algorithm to generate a broadcast ciphertext set $\textit{BCS}$ by running the following steps.
-
(1) The BMC refreshes $(S{K_{BMC,j-1,a}},S{K_{BMC,j-1,b}})$ to get $(S{K_{BMC,j,a}},S{K_{BMC,j,b}})$ such that $S{K_{BMC}}=S{K_{BMC,0,a}}\cdot S{K_{BMC,0,b}}=S{K_{BMC,1,a}}\cdot S{K_{BMC,1,b}}=\cdots =S{K_{BMC,j-1,a}}\cdot S{K_{BMC,j-1,b}}=S{K_{BMC,j,a}}\cdot S{K_{BMC,j,b}}$.
-
(2) By taking $PD$ and $\textit{SDHR}$ as input , the BMC generates $\textit{BCS}=\textit{CMS}(PD,\textit{SDHR},(S{K_{BMC,j,a}},S{K_{BMC,j,b}}))$.
-
-
– Compatible unsigncryption (CUS) phase: Upon receiving $\textit{BCS}$, if the recipients ${\textit{PKID}_{r}}$ in the PKI-PKC or the recipients ${\textit{CLID}_{r}}$ in the CL-PKC lie in the set $\textit{SDHR}$, they carry out the following procedures, respectively.
-
• PKI-PKC: For the k-th round of this procedure, the recipient ${\textit{PKID}_{r}}$ first refreshes $(S{K_{r,k-1,a}},S{K_{r,k-1,b}})$ to get $(S{K_{r,k,a}},S{K_{r,k,b}})$ such that $S{K_{r}}=S{K_{r,0,a}}\cdot S{K_{r,0,b}}=S{K_{r,1,a}}\cdot S{K_{r,1,b}}=\cdots =S{K_{r,k-1,a}}\cdot S{K_{r,k-1,b}}=S{K_{r,k,a}}\cdot S{K_{r,k,b}}$. The recipient ${\textit{PKID}_{r}}$ carries out the $\textit{CUS}$ algorithm to get and validate $PD=\textit{CUS}(\textit{BCS},{\textit{PKID}_{BMC}},(S{K_{r,k,a}},S{K_{r,k,b}}))$.
-
• CL-PKC: For the k-th round of this procedure, the recipient ${\textit{CLID}_{r}}$, respectively, refreshes $({\textit{ISK}_{r,k-1,a}},{\textit{ISK}_{r,k-1,b}})$ and $({\textit{MSK}_{r,k-1,a}},{\textit{MSK}_{r,k-1,b}})$ to get $({\textit{ISK}_{r,k,a}},{\textit{ISK}_{r,k,b}})$ and $({\textit{MSK}_{r,k,a}},{\textit{MSK}_{r,k,b}})$ such that ${\textit{ISK}_{r}}={\textit{ISK}_{r,0,a}}\cdot {\textit{ISK}_{r,0,b}}={\textit{ISK}_{r,1,a}}\cdot {\textit{ISK}_{r,1,b}}=\cdots ={\textit{ISK}_{r,k-1,a}}\cdot {\textit{ISK}_{r,k-1,b}}={\textit{ISK}_{r,k,a}}\cdot {\textit{ISK}_{r,k,b}}$ and ${\textit{MSK}_{r}}={\textit{MSK}_{r,0,a}}\cdot {\textit{MSK}_{r,0,b}}={\textit{MSK}_{r,1,a}}\cdot {\textit{MSK}_{r,1,b}}=\cdots ={\textit{MSK}_{r,k-1,a}}\cdot {\textit{MSK}_{r,k-1,b}}={\textit{MSK}_{r,k,a}}\cdot {\textit{MSK}_{r,k,b}}$. The recipient ${\textit{CLID}_{r}}$ carries out the $\textit{CUS}$ algorithm to get and validate $PD=\textit{CUS}(\textit{BCS},{\textit{PKID}_{BMC}},({\textit{ISK}_{r,k,a}},{\textit{ISK}_{r,k,b}}),({\textit{MSK}_{r,k,a}},{\textit{MSK}_{r,k,b}}))$.
-
3.2 Adversary Model
-
– $\Delta {f_{CA,i}}={f_{CA,i}}({\textit{SSK}_{CA,i,a}})$ and $\Delta {h_{CA,i}}={h_{CA,i}}({\textit{SSK}_{CA,i,b}})$ for the CA’s system secret key.
-
– $\Delta {f_{KGA,i}}={f_{KGA,i}}({\textit{SSK}_{KGA,i,a}})$ and $\Delta {h_{KGA,i}}={h_{KGA,i}}({\textit{SSK}_{KGA,i,b}})$ for the KGA’s system secret key.
-
– $\Delta {f_{BMC,j}}={f_{BMC,j}}(S{K_{BMC,j,a}})$ and $\Delta {h_{BMC,j}}={h_{BMC,j}}(S{K_{BMC,j,b}})$ for the BMC’s secret key.
-
– $\Delta {f_{\textit{PKID}r,k}}={f_{PKIDr,k}}(S{K_{r,k,a}})$ and $\Delta {h_{PKIDr,k}}={h_{\textit{PKID}r,k}}(S{K_{r,k,b}})$ for the recipient ${\textit{PKID}_{r}}$’s secret key.
-
– $\Delta {f_{\textit{CLID}r,k}}={f_{\textit{CLID}r,k}}({\textit{ISK}_{r,k,a}}$, ${\textit{MSK}_{r,0,a}})$ and $\Delta {h_{\textit{CLID}r,k}}={h_{\textit{CLID}r,k}}({\textit{ISK}_{r,k,b}}$, ${\textit{MSK}_{r,0,b}})$ for the recipient ${\textit{CLID}_{r}}$’s individual and member secret keys.
-
– Illegal recipient $({A_{I}})$:
-
• ${A_{I}}$ may acquire $S{K_{r}}$ of any recipient ${\textit{PKID}_{r}}$, as well as both ${\textit{ISK}_{r}}$ and ${\textit{MSK}_{r}}$ of any recipient ${\textit{CLID}_{r}}$.
-
• ${A_{I}}$ is disallowed to acquire $S{K_{r}^{\ast }}$ of the target recipient ${\textit{PKID}_{r}^{\ast }}$, but it may acquire partial information of $S{K_{r}^{\ast }}$ by two leakage functions ${f_{\textit{PKID}r,k}}$ and ${h_{\textit{PKID}r,k}}$.
-
• ${A_{I}}$ is disallowed to acquire ${\textit{MSK}_{r}^{\ast }}$ of the target recipient ${\textit{CLID}_{r}^{\ast }}$, but it may acquire partial information of ${\textit{MSK}_{r}^{\ast }}$ by two leakage functions ${f_{\textit{CLID}r,k}}$ and ${h_{\textit{CLID}r,k}}$ defined above.
-
• ${A_{I}}$ may acquire partial information of ${\textit{SSK}_{CA}}$ by two leakage functions ${f_{CA,i}}$ and ${h_{CA,i}}$.
-
• ${A_{I}}$ may acquire partial information of ${\textit{SSK}_{KGA}}$ by two leakage functions ${f_{KGA,i}}$ and ${h_{KGA,i}}$.
-
-
– Malicious KGA $({A_{\textit{II}}})$: It is assumed that ${A_{\textit{II}}}$ possesses the system secret key ${\textit{SSK}_{KGA}}$ of the KGA.
-
• ${A_{\textit{II}}}$ may acquire $S{K_{r}}$ of any recipient ${\textit{PKID}_{r}}$, and both ${\textit{ISK}_{r}}$ and ${\textit{MSK}_{r}}$ of any recipient ${\textit{CLID}_{r}}$.
-
• ${A_{\textit{II}}}$ is disallowed to acquire $S{K_{r}^{\ast }}$ of the target recipient ${\textit{PKID}_{r}^{\ast }}$, but it may acquire partial information of $S{K_{r}^{\ast }}$ by ${f_{\textit{PKID}r,k}}$ and ${h_{\textit{PKID}r,k}}$.
-
• ${A_{\textit{II}}}$ is disallowed to acquire ${\textit{ISK}_{r}^{\ast }}$ of the target recipient ${\textit{CLID}_{r}^{\ast }}$, but it may acquire partial information of ${\textit{ISK}_{r}^{\ast }}$ by ${f_{\textit{CLID}r,k}}$ and ${h_{\textit{CLID}r,k}}$.
-
Definition 2 (LRSC-EIND-CCA game).
-
– Setup: By running the Initialization phase of the LRSC-AMRS scheme, the challenger C sets $\textit{HPSP}$, (${\textit{SSK}_{CA}}$, ${\textit{SPK}_{CA}}$), and (${\textit{SSK}_{KGA}}$, ${\textit{SPK}_{KGA}}$). If A is type of ${A_{\textit{II}}}$, ${\textit{SSK}_{KGA}}$ is conveyed to A. Finally, $\textit{HPSP}$, ${\textit{SPK}_{CA}}$ and ${\textit{SPK}_{KGA}}$ are publicly announced.
-
– Query: A may adaptively request to C the following queries.
-
• Secret key query $({\textit{PKID}_{BMC}}/{\textit{PKID}_{r}})$: By ${\textit{PKID}_{BMC}}$ or ${\textit{PKID}_{r}}$, C returns ($S{K_{BMC}}$, $P{K_{BMC}}$) or ($S{K_{r}}$, $P{K_{r}}$).
-
• Certificate query ((${\textit{PKID}_{BMC}}$, $P{K_{BMC}}$)/(${\textit{PKID}_{r}}$, $P{K_{r}}$)): For the i-th request of this query, C refreshes ($S{S_{KCA,i-1,a}}$, $S{S_{KCA,i-1,b}}$) to get ($S{S_{KCA,i,a}}$, $S{S_{KCA,i,b}}$). By (${\textit{PKID}_{BMC}}$, $P{K_{BMC}}$) or (${\textit{PKID}_{r}}$, $P{K_{r}}$), C uses ($S{S_{KCA,i,a}}$, ${\textit{SSK}_{CA,i,b}}$) to create and send back ${\textit{CRTF}_{BMC}}$ or ${\textit{CRTF}_{r}}$ to the BMC or the recipient ${\textit{PKID}_{r}}$, respectively.
-
• Certificate leakage query (i, ${f_{CA,i}}$, ${h_{CA,i}}$): For the i-th Certificate query, A may request this leakage query only once. C returns $\Delta {f_{CA,i}}={f_{CA,i}}({\textit{SSK}_{CA,i,a}})$ and $\Delta {h_{CA,i}}={h_{CA,i}}({\textit{SSK}_{CA,i,b}})$.
-
• Individual secret key query (${\textit{CLID}_{r}}$): By ${\textit{CLID}_{r}}$, C returns (${\textit{ISK}_{r}}$, ${\textit{IPK}_{r}}$) if the Public key replacement query (${\textit{CLID}_{r}}$, ($IP{K^{\prime }_{r}}$, $MP{K^{\prime }_{r}}$)) is never requested. Otherwise, C returns “failure”.
-
• Member secret key query (${\textit{CLID}_{r}}$, ${\textit{IPK}_{r}}$): For the i-th request of this query, C refreshes (${\textit{SSK}_{KGA,i-1,a}}$, ${\textit{SSK}_{KGA,i-1,b}}$) to get (${\textit{SSK}_{KGA,i,a}}$, ${\textit{SSK}_{KGA,i,b}}$). By (${\textit{CLID}_{r}}$, ${\textit{IPK}_{r}}$), C uses (${\textit{SSK}_{KGA,i,a}}$, ${\textit{SSK}_{KGA,i,b}}$) to create and send back (${\textit{MSK}_{r}}$, ${\textit{MPK}_{r}}$).
-
• Member secret key leakage query (i, ${f_{KGA,i}}$, ${h_{KGA,i}}$): For the i-th Member secret key query, A may request this leakage query only once. C returns $\Delta {f_{KGA,i}}={f_{KGA,i}}({\textit{SSK}_{KGA,i,a}})$ and $\Delta {h_{KGA,i}}={h_{KGA,i}}({\textit{SSK}_{KGA,i,b}})$.
-
• Public key replacement query (${\textit{CLID}_{r}}$, ($IP{K^{\prime }_{r}}$, $MP{K^{\prime }_{r}}$)): C records this replacement.
-
• Compatible multi-signcryption (CMS) query ($PD$, $\textit{SDHR}$, ${\textit{PKID}_{BMC}}$): For the j-th request of this query, C refreshes ($S{K_{BMC,j-1,a}}$, $S{K_{BMC,j-1,b}}$) to get ($S{K_{BMC,j,a}}$, $S{K_{BMC,j,b}}$). By ($PD$, $\textit{SDHR}$), C uses ($S{K_{BMC,j,a}}$, $S{K_{BMC,j,b}}$) to create and send back $\textit{BCS}=\textit{CMS}(PD$, $\textit{SDHR}$, ($S{K_{BMC,j,a}}$, $S{K_{BMC,j,b}}$)).
-
• Compatible multi-signcryption (CMS) leakage query (j, ${f_{BMC,j}}$, ${h_{BMC,j}}$): For the j-th Compatible multi-signcryption (CMS) query, A may request this leakage query only once. C returns $\Delta {f_{BMC,j}}={f_{BMC,j}}(S{K_{BMC,j,a}})$ and $\Delta {h_{BMC,j}}={h_{BMC,j}}(S{K_{BMC,j,b}})$.
-
• Compatible unsigncryption (CUS) query (${\textit{PKID}_{r}}/{\textit{CLID}_{r}}$, $\textit{BCS}$): For the k-th request of this query with ${\textit{PKID}_{r}}$ or ${\textit{CLID}_{r}}$, C runs the following associated procedures.
-
(1) For ${\textit{PKID}_{r}}$, C refreshes $(S{K_{r,k-1,a}},S{K_{r,k-1,b}})$ to get $(S{K_{r,k,a}},S{K_{r,k,b}})$. C returns $PD=\textit{CUS}(\textit{BCS},{\textit{PKID}_{BMC}},(S{K_{r,k,a}},S{K_{r,k,b}}))$.
-
(2) For ${\textit{CLID}_{r}}$, C refreshes $({\textit{ISK}_{r,k-1,a}},{\textit{ISK}_{r,k-1,b}})$ and $({\textit{MSK}_{r,k-1,a}},{\textit{MSK}_{r,k-1,b}})$, respectively, to get $({\textit{ISK}_{r,k,a}},{\textit{ISK}_{r,k,b}})$ and (${\textit{MSK}_{r,k,a}}$, ${\textit{MSK}_{r,k,b}}$). C returns $PD=\textit{CUS}(\textit{BCS}$, ${\textit{PKID}_{BMC}}$, (${\textit{ISK}_{r,k,a}}$, ${\textit{ISK}_{r,k,b}}$), (${\textit{MSK}_{r,k,a}}$, ${\textit{MSK}_{r,k,b}}))$.
-
-
• Compatible unsigncryption (CUS) leakage query $(k,({f_{\textit{PKID}r,k}},{h_{\textit{PKID}r,k}})/({f_{\textit{CLID}r,k}},{h_{\textit{CLID}r,k}}))$: For the k-th Compatible unsigncryption (CUS) query with ${\textit{PKID}_{r}}$ or ${\textit{CLID}_{r}}$. For ${\textit{PKID}_{r}}$, C sends back $\Delta {f_{\textit{PKID}r,k}}={f_{\textit{PKID}r,k}}(S{K_{r,k,a}})$ and $\Delta {h_{\textit{PKID}r,k}}={h_{\textit{PKID}r,k}}(S{K_{r,k,b}})$. For ${\textit{CLID}_{r}}$, C sends back $\Delta {f_{\textit{CLID}r,k}}={f_{\textit{CLID}r,k}}({\textit{ISK}_{r,k,a}}$, ${\textit{MSK}_{r,0,a}})$ and $\Delta {h_{\textit{CLID}r,k}}={h_{\textit{CLID}r,k}}({\textit{ISK}_{r,k,b}}$, ${\textit{MSK}_{r,0,b}})$.
-
-
– Challenge: A conveys a plaintext data pair ($P{D_{1}}$, $P{D_{2}}$) and $\textit{SDHR}=\{[({\textit{PKID}_{r}},P{K_{r}})\| ({\textit{CLID}_{r}},{\textit{IPK}_{r}},{\textit{MPK}_{r}})],\hspace{0.1667em}r=1,2,\dots ,n\}$ to C. C selects a random value $\lambda \in \{1,2\}$ and refreshes ($S{K_{BMC,j-1,a}}$, $S{K_{BMC,j-1,b}}$) to get ($S{K_{BMC,j,a}}$, $S{K_{BMC,j,b}}$). Finally, C generates and sends back $\textit{BCS}=\textit{CMS}(P{D_{\lambda }}$, $\textit{SDHR}$, ($S{K_{BMC,j,a}}$, $S{K_{BMC,j,b}}$)). In addition, the following two conditions must be satisfied.
-
1. For ${A_{I}}$, it cannot request the Secret key query (${\textit{PKID}_{r}}$) or Member secret key query $({\textit{CLID}_{r}},{\textit{IPK}_{r}})$, for $r=1,2,\dots ,n$.
-
2. For ${A_{\textit{II}}}$, it cannot request the Secret key query (${\textit{PKID}_{r}}$), Individual secret key query (${\textit{CLID}_{r}}$) or Public key replacement query (${\textit{CLID}_{r}}$, ($IP{K^{\prime }_{r}}$, $MP{K^{\prime }_{r}}$)), for $r=1,2,\dots ,n$.
-
-
– Guess: If A outputs ${\lambda ^{\prime }}\in \{1,2\}$ and ${\lambda ^{\prime }}=\lambda $, it means that A wins the LRSC-EIND-CCA game and the associated advantage is $Adv(A)=|\text{Pb}[{\lambda ^{\prime }}=\lambda ]-1/2|$.
Definition 3 (LRSC-RIND-CCA game).
-
– Setup and Query are the same as those of Definition 2.
-
– Challenge: A conveys a plaintext data $PD$ and $\textit{SDHR}=\{[({\textit{PKID}_{r}},P{K_{r}})\| ({\textit{CLID}_{r}},{\textit{IPK}_{r}},{\textit{MPK}_{r}})],\hspace{0.1667em}r=1,2,\dots ,n+1\}$ to C. C selects a random value $\lambda \in \{1,2\}$ and sets ${\textit{SDHR}^{\prime }}=\{[({\textit{PKID}_{\lambda }},P{K_{\lambda }})\| ({\textit{CLID}_{\lambda }},{\textit{IPK}_{\lambda }},{\textit{MPK}_{\lambda }})],[({\textit{PKID}_{r}},P{K_{r}})\| ({\textit{CLID}_{r}},{\textit{IPK}_{r}},{\textit{MPK}_{r}})],\hspace{0.1667em}r=3,\dots ,n+1\}$. Finally, C refreshes ($S{K_{BMC,j-1,a}}$, $S{K_{BMC,j-1,b}}$) to get ($S{K_{BMC,j,a}}$, $S{K_{BMC,j,b}}$), and generates and sends back $\textit{BCS}=\textit{CMS}(PD,{\textit{SDHR}^{\prime }},(S{K_{BMC,j,a}},S{K_{BMC,j,b}}))$. In addition, the following two conditions must be satisfied.
-
1. For ${A_{I}}$, it cannot request the Secret key query (${\textit{PKID}_{\lambda }}$) or Member secret key query (${\textit{CLID}_{\lambda }}$, ${\textit{IPK}_{\lambda }}$), for $\lambda =1$ and 2.
-
2. For ${A_{\textit{II}}}$, it cannot request the Secret key query $({\textit{PKID}_{\lambda }})$, Individual secret key query $({\textit{CLID}_{\lambda }})$ or Public key replacement query $({\textit{CLID}_{\lambda }},(IP{K^{\prime }_{\lambda }},MP{K^{\prime }_{\lambda }}))$, for $\lambda =1$ and 2.
-
-
– Guess: If A outputs ${\lambda ^{\prime }}\in \{1,2\}$ and ${\lambda ^{\prime }}=\lambda $, it means that A wins the LRSC-RIND-CCA game and the associated advantage is $Adv(A)=|\text{Pb}[{\lambda ^{\prime }}=\lambda ]-1/2|$.
Definition 4 (LRSC-EU-ACMA game).
-
– Setup and Query are the same as those of Definition 2.
-
– Forgery: A forges and sends C a broadcast ciphertext set ${\textit{BCS}^{\prime }}$ for a plaintext data $PD$ and $\textit{SDHR}=\{[({\textit{PKID}_{r}},P{K_{r}})\| ({\textit{CLID}_{r}},{\textit{IPK}_{r}},{\textit{MPK}_{r}})],\hspace{0.1667em}r=1,2,\dots ,n\}$. For any recipients ${\textit{PKID}_{r}}$ and ${\textit{CLID}_{r}}$ in $\textit{SDHR}$, if they may, respectively, carry out the $\textit{CUS}$ algorithm to get and validate $PD=\textit{CUS}({\textit{BCS}^{\prime }}$, ${\textit{PKID}_{BMC}}$, $(S{K_{r,k,a}}$, $S{K_{r,k,b}}))$ or $PD=\textit{CUS}({\textit{BCS}^{\prime }}$, ${\textit{PKID}_{BMC}}$, $({\textit{ISK}_{r,k,a}}$, ${\textit{ISK}_{r,k,b}})$, $({\textit{MSK}_{r,k,a}}$, ${\textit{MSK}_{r,k,b}}))$, then A wins the LRSC-EU-ACMA game. Note that A cannot request the Secret key query $({\textit{PKID}_{BMC}})$.
4 The Proposed LRSC-AMRS Scheme
-
– Initialization phase: By the bilinear pairing group set $\textit{BPGS}=\{G,{G_{e}},\hat{e},p,Q,{Q_{e}}\}$ defined in previous section, the heterogeneously public system parameters ($\textit{HPSP}$) about the PKI-PKC and the CL-PKC are decided as $\textit{HPSP}=\{G,{G_{e}},\hat{e},p,Q,{Q_{e}},A,B,SEF/SDF,S{H_{0}},S{H_{1}},S{H_{2}},S{H_{3}},S{H_{4}},S{H_{5}}\}$, where A, $B\in G$, $SEF/SDF$ are symmetric encrypting/decrypting functions, and $S{H_{0}}:{\{0,1\}^{\ast }}\times G\times G\to {\{0,1\}^{l}}$, $S{H_{1}}:G\to {\{0,1\}^{l}}$, $S{H_{2}}:G\times G\to {\{0,1\}^{l}}$, $S{H_{3}}$, $S{H_{4}}:{\{0,1\}^{l}}\to {\{0,1\}^{l}}$ and $S{H_{5}}:G\times {\{0,1\}^{\ast }}\to {\{0,1\}^{l}}$ are six secure hash functions. Also, the CA in the PKI-PKC and the KGA in the CL-PKC decide their own secret/public pairs as follows.
-
• PKI-PKC: By $\textit{HPSP}$, the CA selects two random values s, ${t_{0}}\in {Z_{p}^{\ast }}$, and decides the system secret/public key pair (${\textit{SSK}_{CA}}$, ${\textit{SPK}_{CA}}$), where ${\textit{SSK}_{CA}}=s\cdot Q$ and ${\textit{SPK}_{CA}}=\hat{e}(Q,s\cdot Q)$. Also, the CA uses the key refreshing procedure to separate ${\textit{SSK}_{CA}}$ into a pair of two fragments $({\textit{SSK}_{CA,0,a}},{\textit{SSK}_{CA,0,b}})$, where ${\textit{SSK}_{CA,0,a}}={t_{0}}\cdot Q$ and ${\textit{SSK}_{CA,0,b}}={\textit{SSK}_{CA}}-{t_{0}}\cdot Q$.
-
• CL-PKC: By $\textit{HPSP}$, the KGA selects two random values $u,{v_{0}}\in {Z_{p}^{\ast }}$, and decides the system secret/public key pair (${\textit{SSK}_{KGA}}$, ${\textit{SPK}_{KGA}}$), where ${\textit{SSK}_{KGA}}=u\cdot Q$ and ${\textit{SPK}_{KGA}}=\hat{e}(Q$, $u\cdot Q)$. Also, the KGA uses the key refreshing procedure to separate ${\textit{SSK}_{KGA}}$ into a pair of two fragments $({\textit{SSK}_{KGA,0,a}},{\textit{SSK}_{KGA,0,b}})$ , where ${\textit{SSK}_{KGA,0,a}}={v_{0}}\cdot Q$ and ${\textit{SSK}_{KGA,0,b}}={\textit{SSK}_{KGA}}-{v_{0}}\cdot Q$.
-
-
– At the end of this phase, $\textit{HPSP}$, ${\textit{SPK}_{CA}}$ and ${\textit{SPK}_{KGA}}$ are publicly announced.
-
– Key generating phase: In the PKI-PKC, the CA is responsible for managing the BMC and initial recipients. Also, in the CL-PKC, the KGA is responsible for managing upgraded and new recipients. The associated key generating procedures are presented as follows.
-
• PKI-PKC:
-
(1) In the PKI-PKC, the BMC selects two random values w, ${x_{0}}\in {Z_{p}^{\ast }}$, and decides her/his own secret/public key pair ($S{K_{BMC}}$, $P{K_{BMC}}$) while separating $S{K_{BMC}}$ into ($S{K_{BMC,0,a}}$, $S{K_{BMC,0,b}}$), where $S{K_{BMC}}=w\cdot Q$, $P{K_{BMC}}=\hat{e}(Q$, $w\cdot Q)$, $S{K_{BMC,0,a}}={x_{0}}\cdot Q$ and $S{K_{BMC,0,b}}=S{K_{BMC}}-{x_{0}}\cdot Q$. Also, for an initial recipient with identity ${\textit{PKID}_{r}}$, she/he selects two random values y, ${z_{0}}\in {Z_{p}^{\ast }}$, and decides her/his own secret/public key pair ($S{K_{r}}$, $P{K_{r}}$) while separating $S{K_{r}}$ into ($S{K_{r,0,a}}$, $S{K_{r,0,b}}$), where $S{K_{r}}=y\cdot Q$, $P{K_{r}}=\hat{e}(Q$, $y\cdot Q)$, $S{K_{r,0,a}}={z_{0}}\cdot Q$ and $S{K_{r,0,b}}=S{K_{r}}-{z_{0}}\cdot Q$. Also, they convey (${\textit{PKID}_{BMC}}$, $P{K_{BMC}}$) or (${\textit{PKID}_{r}}$, $P{K_{r}}$) to the CA, respectively.
-
(2) Upon receiving (${\textit{PKID}_{BMC}}$, $P{K_{BMC}}$) or (${\textit{PKID}_{r}}$, $P{K_{r}}$), the CA selects a random value ${t_{i}}\in {Z_{p}^{\ast }}$, and refreshes (${\textit{SSK}_{CA,i-1,a}}$, ${\textit{SSK}_{CA,i-1,b}}$) to get (${\textit{SSK}_{CA,i,a}}$, ${\textit{SSK}_{CA,i,b}}$), where ${\textit{SSK}_{CA,i,a}}={\textit{SSK}_{CA,i-1,a}}+{t_{i}}\cdot Q$ and ${\textit{SSK}_{CA,i,b}}={\textit{SSK}_{CA,i-1,b}}-{t_{i}}\cdot Q$. By a leakage-resilient signature scheme (Tsai et al., 2022), the CA then uses (${\textit{SSK}_{CA,i,a}}$, ${\textit{SSK}_{CA,i,b}}$) to create and send back the certificate ${\textit{CRTF}_{BMC}}$ or ${\textit{CRTF}_{r}}$ to the BMC or the recipient ${\textit{PKID}_{r}}$, respectively.
-
-
• CL-PKC:
-
(1) In the CL-PKC, a new recipient with identity ${\textit{CLID}_{r}}$ selects two random values α, ${\beta _{0}}\in {Z_{p}^{\ast }}$, and decides the individual secret/public key pair $({\textit{ISK}_{r}},{\textit{IPK}_{r}})$ while separating ${\textit{ISK}_{r}}$ into (${\textit{ISK}_{r,0,a}}$, ${\textit{ISK}_{r,0,b}}$), where ${\textit{ISK}_{r}}=\alpha \cdot Q$, ${\textit{IPK}_{r}}=\hat{e}(Q$, $\alpha \cdot Q)$, ${\textit{ISK}_{r,0,a}}={\beta _{0}}\cdot Q$ and ${\textit{ISK}_{r,0,b}}={\textit{ISK}_{r}}-{\beta _{0}}\cdot Q$. Also, the recipient ${\textit{CLID}_{r}}$ conveys (${\textit{CLID}_{r}}$, ${\textit{IPK}_{r}}$) to the KGA.
-
(2) Upon receiving $({\textit{CLID}_{r}},{\textit{IPK}_{r}})$, the KGA selects a random value ${v_{i}}\in {Z_{p}^{\ast }}$, and refreshes (${\textit{SSK}_{KGA,i-1,a}}$, ${\textit{SSK}_{KGA,i-1,b}}$) to get $({\textit{SSK}_{KGA,i,a}},{\textit{SSK}_{KGA,i,b}})$, where ${\textit{SSK}_{KGA,i,a}}={\textit{SSK}_{KGA,i-1,a}}+{v_{i}}\cdot Q$ and ${\textit{SSK}_{KGA,i,b}}={\textit{SSK}_{KGA,i-1,b}}-{v_{i}}\cdot Q$. The KGA uses (${\textit{SSK}_{KGA,i,a}}$, ${\textit{SSK}_{KGA,i,b}}$) to create and send back the member secret/public key pair (${\textit{MSK}_{r}}$, ${\textit{MPK}_{r}}$) to the recipient ${\textit{CLID}_{r}}$ by running the following steps.
-
(a) Select a random value $\delta \in {Z_{p}^{\ast }}$.
-
(b) Compute ${\textit{MPK}_{r}}=\delta \cdot Q$ and $CLTem{p_{i}}={\textit{SSK}_{KGA,i,a}}+\delta \cdot (A+\theta \cdot B)$, where $\theta =S{H_{0}}({\textit{CLID}_{r}},{\textit{IPK}_{r}},{\textit{MPK}_{r}})$.
-
(c) Compute ${\textit{MSK}_{r}}=CLTem{p_{i}}+{\textit{SSK}_{KGA,i,b}}$.
-
-
(3) Upon receiving (${\textit{MSK}_{r}}$, ${\textit{MPK}_{r}}$), the recipient ${\textit{CLID}_{r}}$ selects a random value ${\gamma _{0}}\in {Z_{p}^{\ast }}$, and separates ${\textit{MSK}_{r}}$ into $({\textit{MSK}_{r,0,a}},{\textit{MSK}_{r,0,b}})$, where ${\textit{MSK}_{r,0,a}}={\gamma _{0}}\cdot Q$ and ${\textit{MSK}_{r,0,b}}={\textit{MSK}_{r}}-{\gamma _{0}}\cdot Q$. Finally, the recipient ${\textit{CLID}_{r}}$ has the private key pair (${\textit{ISK}_{r}}$, ${\textit{MSK}_{r}}$) and pubic key pair (${\textit{IPK}_{r}}$, ${\textit{MPK}_{r}}$).
-
-
When an initial recipient with identity ${\textit{PKID}_{r}}$ in the PKI-PKC would like to upgrade to the CL-PKC, she/he renames ${\textit{PKID}_{r}}$ to ${\textit{CLID}_{r}}$ and ($S{K_{r}}$, $P{K_{r}}$) to (${\textit{ISK}_{r}}$, ${\textit{IPK}_{r}}$), respectively. The upgraded recipient ${\textit{CLID}_{r}}$ then runs the steps (2) and (3) above to get the private key pair (${\textit{ISK}_{r}}$, ${\textit{MSK}_{r}}$) and pubic key pair (${\textit{IPK}_{r}}$, ${\textit{MPK}_{r}}$).
-
-
– Compatible multi-signcryption (CMS) phase: When the BMC would like to convey a plaintext data $PD$ to a set of designated heterogeneous recipients, namely, $\textit{SDHR}=\{[({\textit{PKID}_{r}},P{K_{r}})\| ({\textit{CLID}_{r}},{\textit{IPK}_{r}},{\textit{MPK}_{r}})],\hspace{0.1667em}r=1,2,\dots ,n\}$, the BMC carries out the $\textit{CMS}$ algorithm to generate a broadcast ciphertext set $\textit{BCS}$ by running the following steps.
-
(1) The BMC selects a random value ${x_{j}}\in {Z_{p}^{\ast }}$, and refreshes ($S{K_{BMC,j-1,a}}$, $S{K_{BMC,j-1,b}}$) to get ($S{K_{BMC,j,a}}$, $S{K_{BMC,j,b}}$), where $S{K_{BMC,j,a}}=S{K_{BMC,j-1,a}}+{x_{j}}\cdot Q$ and $S{K_{BMC,j,b}}=S{K_{BMC,j-1,b}}-{x_{j}}\cdot Q$.
-
(2) By taking $PD$ and $\textit{SDHR}$ as input, the BMC generates $\textit{BCS}=\textit{CMS}(PD$, $\textit{SDHR}$, $(S{K_{BMC,j,a}}$, $S{K_{BMC,j,b}}))$ by running the following steps.
-
(a) Select an encrypting/decrypting key $edk\in \{0$,$1{\}^{l}}$ and generate an encrypted data $ED={\textit{SEF}_{edk}}(PD)$.
-
(b) Select a random value $m\in {Z_{p}^{\ast }}$ and compute $M=m\cdot Q$.
-
(c) For (${\textit{PKID}_{r}}$, $P{K_{r}}$) in $\textit{SDHR}$, compute $PC{K_{r}}={(P{K_{r}})^{m}}$ and a common key $C{K_{r}}=S{H_{1}}(PC{K_{r}})$.
-
(d) For (${\textit{CLID}_{r}}$, ${\textit{IPK}_{r}}$, ${\textit{MPK}_{r}}$) in $\textit{SDHR}$, compute ${\textit{CCK}_{r,0}}={({\textit{IPK}_{r}})^{m}}$, ${\textit{CCK}_{r,1}}=({\textit{SPK}_{KGA}}\cdot \hat{e}({\textit{MPK}_{r}}$, $A+\theta \cdot B){)^{m}}$ and $C{K_{r}}=S{H_{2}}({\textit{CCK}_{r,0}}$, ${\textit{CCK}_{r,1}})$, where $\theta =S{H_{0}}({\textit{CLID}_{r}}$, ${\textit{IPK}_{r}}$, ${\textit{MPK}_{r}})$.
-
(e) According to Steps (c) and (d) above, generate ${C_{r}}=S{H_{3}}(C{K_{r}})\| (S{H_{4}}(C{K_{r}})\oplus edk)$, for $r=1,2,\dots ,n$.
-
(f) Compute $\textit{STemp}=S{K_{BMC,j,a}}+m\cdot (A+\rho \cdot B)$, where $\rho =S{H_{5}}(M,{C_{1}},{C_{2}},\dots ,{C_{n}},PD,ED)$.
-
(g) Generate a signature $\sigma =\textit{STemp}+S{K_{BMC,j,b}}$.
-
(h) Set the broadcast ciphertext set $\textit{BCS}=\langle ({C_{1}},{C_{2}},\dots ,{C_{n}}),M,ED,\sigma \rangle $.
-
-
-
– Compatible unsigncryption (CUS) phase: Upon receiving $\textit{BCS}=\langle ({C_{1}},{C_{2}},\dots ,{C_{n}}),M,ED,\sigma \rangle $, if the recipient ${\textit{PKID}_{r}}$ in the PKI-PKC or the recipient ${\textit{CLID}_{r}}$ in the CL-PKC lie in the set $\textit{SDHR}$, they carry out the following procedures.
-
(1) The recipients ${\textit{PKID}_{r}}$ and ${\textit{CLID}_{r}}$ run the associated computations, respectively.
-
• PKI-PKC: The recipient ${\textit{PKID}_{r}}$ selects a random value ${z_{k}}\in {Z_{p}^{\ast }}$, and refreshes ($S{K_{r,k-1,a}}$, $S{K_{r,k-1,b}}$) to get ($S{K_{r,k,a}}$, $S{K_{r,k,b}}$), where $S{K_{r,k,a}}=S{K_{r,k-1,a}}+{z_{k}}\cdot Q$ and $S{K_{r,k,b}}=S{K_{r,k-1,b}}-{z_{k}}\cdot Q$. The recipient ${\textit{PKID}_{r}}$ computes $P{T_{1}}=\hat{e}(M$, $S{K_{r,k,a}})$, $PC{K_{r}}=P{T_{1}}\cdot \hat{e}(M$, $S{K_{r,k,b}})$ and $C{K_{r}}=S{H_{1}}(PC{K_{r}})$.
-
• CL-PKC: The recipient ${\textit{CLID}_{r}}$ selects two random values ${\beta _{k}}$, ${\gamma _{k}}\in {Z_{p}^{\ast }}$, and respectively refreshes (${\textit{ISK}_{r,k-1,a}}$, ${\textit{ISK}_{r,k-1,b}}$) and (${\textit{MSK}_{r,k-1,a}}$, ${\textit{MSK}_{r,k-1,b}}$) to get (${\textit{ISK}_{r,k,a}}$, ${\textit{ISK}_{r,k,b}}$) and (${\textit{MSK}_{r,k,a}}$, ${\textit{MSK}_{r,k,b}}$), where ${\textit{ISK}_{r,k,a}}={\textit{ISK}_{r,k-1,a}}+{\beta _{k}}\cdot Q$, ${\textit{ISK}_{r,k,b}}={\textit{ISK}_{r,k-1,b}}-{\beta _{k}}\cdot Q$, ${\textit{MSK}_{r,k,a}}={\textit{MSK}_{r,k-1,a}}+{\gamma _{k}}\cdot Q$ and ${\textit{MSK}_{r,k,b}}={\textit{MSK}_{r,k-1,b}}-{\gamma _{k}}\cdot Q$. Also, the recipient ${\textit{CLID}_{r}}$ computes $C{T_{0}}=\hat{e}(M$, ${\textit{ISK}_{r,k,a}})$, ${\textit{CCK}_{r,0}}=C{T_{0}}\cdot \hat{e}(M$, ${\textit{ISK}_{r,k,b}})$, $C{T_{1}}=\hat{e}(M$, ${\textit{MSK}_{r,k,a}})$, ${\textit{CCK}_{r,1}}=C{T_{1}}\cdot \hat{e}(M$, ${\textit{MSK}_{r,k,b}})$ and $C{K_{r}}=S{H_{2}}({\textit{CCK}_{r,0}}$, ${\textit{CCK}_{r,1}})$.
-
-
(2) According to Step (1) above, the recipient ${\textit{PKID}_{r}}$ or ${\textit{CLID}_{r}}$ obtains $C{K_{r}}$, and computes $S{H_{3}}(C{K_{r}})$ and $S{H_{4}}(C{K_{r}})$.
-
(3) Use $S{H_{3}}(C{K_{r}})$ in (2) to find ${C_{r}}$ while truncating $S{H_{3}}(C{K_{r}})$ from ${C_{r}}$.
-
(4) Get $edk$ by computing $S{H_{4}}(C{K_{r}})\oplus (S{H_{4}}(C{K_{r}})\oplus edk)$.
-
(5) Get the plaintext data $PD={\textit{SDF}_{edk}}(ED)$ and compute $\rho =S{H_{5}}(M,{C_{1}},{C_{2}},\dots ,{C_{n}},PD,ED)$.
-
(6) If $\hat{e}(Q$, $\sigma )=P{K_{BMC}}\cdot \hat{e}(M$, $A+\rho \cdot B)$ holds, output $PD$ and “True”; otherwise, output “invalid”.
-
5 Security Analysis
Theorem 1.
Proof.
-
– Setup: By running the Initialization phase of the LRSC-AMRS scheme, the challenger C sets $\textit{HPSP}=\{G,{G_{e}},\hat{e},p,Q,{Q_{e}},A,B,SEF/SDF,S{H_{0}},S{H_{1}},S{H_{2}},S{H_{3}},S{H_{4}},S{H_{5}}\}$. Also, C decides (${\textit{SSK}_{CA}}$, ${\textit{SPK}_{CA}}$) of the CA and (${\textit{SSK}_{KGA}}$, ${\textit{SPK}_{KGA}}$) of the KGA. If A is type of ${A_{\textit{II}}}$, ${\textit{SSK}_{KGA}}$ is conveyed to A. Finally, $\textit{HPSP}$, ${\textit{SPK}_{CA}}$ and ${\textit{SPK}_{KGA}}$ are publicly announced. Meanwhile, C sets five lists $L{T_{0}}$, $L{T_{e}}$, $L{T_{PKI}}$, $L{T_{CL}}$ and $L{T_{\textit{CMS}}}$ as follows.
-
• $L{T_{0}}$ is set to log the i-th element of G by the pair ($\Psi {G_{i}}$, $\Omega {G_{i}}$), where $\Psi {G_{i}}$ and $\Omega {G_{i}}$ denote a multi-variate polynomial and the corresponding bit string. Initially, C adds ($\Psi Q$, $\Omega {G_{1}}$), ($\Psi A$, $\Omega {G_{2}}$), ($\Psi B$, $\Omega {G_{3}}$), ($\Psi {\textit{SSK}_{CA}}$, $\Omega {G_{4}}$) and ($\Psi {\textit{SSK}_{KGA}}$, $\Omega {G_{5}}$) to $L{T_{0}}$. Here, there is an auto-converting procedure between $\Psi {G_{i}}$ and $\Omega {G_{i}}$ for any queries in the Query.
-
• $L{T_{e}}$ is set to log the i-th element of ${G_{e}}$ by the pair ($\Psi G{E_{i}}$, $\Omega G{E_{i}}$), where $\Psi G{E_{i}}$ and $\Omega G{E_{i}}$ denote a multi-variate polynomial and the corresponding bit string. Initially, C adds ($\Psi {Q_{e}}$, $\Omega G{E_{1}}$), ($\Psi {\textit{SPK}_{CA}}$, $\Omega G{E_{2}}$) and ($\Psi {\textit{SPK}_{KGA}}$, $\Omega G{E_{3}}$) to $L{T_{e}}$. Here, there is an auto-converting procedure between $\Psi G{E_{i}}$ and $\Omega G{E_{i}}$ for any queries in the Query.
-
• $L{T_{PKI}}$ is set to log the secret/public key pairs of the BMC and a recipient with identity ${\textit{PKID}_{r}}$ in the PKI-PKC by the tuples (${\textit{PKID}_{BMC}}$, $\Psi S{K_{BMC}}$, $\Psi P{K_{BMC}}$) and (${\textit{PKID}_{r}}$, $\Psi S{K_{r}}$, $\Psi P{K_{r}}$), respectively.
-
• $L{T_{CL}}$ is set to log the individual secret/public and member secret/public key pairs of a recipient with identity ${\textit{CLID}_{r}}$ in the CL-PKC by the tuple (${\textit{CLID}_{r}}$, $\Psi {\textit{ISK}_{r}}$, $\Psi {\textit{IPK}_{r}}$, $\Psi {\textit{MSK}_{r}}$, $\Psi {\textit{MPK}_{r}}$).
-
• $L{T_{\textit{CMS}}}$ is set to log the details of Compatible multi-signcryption (CMS) algorithm by the tuple ($\Psi M$, $\Psi PC{K_{r}}$/($\Psi {\textit{CCK}_{r,0}}$, $\Psi {\textit{CCK}_{r,1}}$), $edk$) for each recipient ${\textit{PKID}_{r}}/{\textit{CLID}_{r}}$ in the set $\textit{SDHR}$.
-
-
– Query: A may adaptively request to C the following queries at most q times.
-
• $O{P_{0}}$ query ($\Omega {G_{i}}$, $\Omega {G_{j}}$, $\textit{Operator}$): By converting $\Omega {G_{i}}$ and $\Omega {G_{j}}$ in $L{T_{0}}$, C first gets the corresponding $\Psi {G_{i}}$ and $\Psi {G_{j}}$. If $\textit{Operator}=“+\text{''}$, C computes $\Psi {G_{k}}=\Psi {G_{i}}+\Psi {G_{j}}$. If $\textit{Operator}=“-\text{''}$, C computes $\Psi {G_{k}}=\Psi {G_{i}}-\Psi {G_{j}}$. Finally, C adds ($\Psi {G_{k}}$, $\Omega {G_{k}}$) in $L{T_{0}}$.
-
• $O{P_{e}}$ query ($\Omega G{E_{i}}$, $\Omega G{E_{j}}$, $\textit{Operator}$): By converting $\Omega G{E_{i}}$ and $\Omega G{E_{j}}$ in $L{T_{e}}$, C first gets the corresponding $\Psi G{E_{i}}$ and $\Psi G{E_{j}}$. If $\textit{Operator}=“\times \text{''}$, C computes $\Psi G{E_{k}}=\Psi G{E_{i}}+\Psi G{E_{j}}$. If $\textit{Operator}=“/\text{''}$, C computes $\Psi G{E_{k}}=\Psi G{E_{i}}-\Psi G{E_{j}}$. Finally, C adds ($\Psi G{E_{k}}$, $\Omega G{E_{k}}$) in $L{T_{e}}$.
-
• $O{P_{bp}}$ query ($\Omega {G_{i}}$, $\Omega {G_{j}}$): By converting $\Omega {G_{i}}$ and $\Omega {G_{j}}$ in $L{T_{0}}$, C first gets the corresponding $\Psi {G_{i}}$ and $\Psi {G_{j}}$. Also, C computes $\Psi G{E_{k}}=\Psi {G_{i}}\cdot \Psi {G_{j}}$ and adds ($\Psi {G_{k}}$, $\Omega {G_{k}}$) in $L{T_{e}}$.
-
• Secret key query $({\textit{PKID}_{BMC}}/{\textit{PKID}_{r}})$: By ${\textit{PKID}_{BMC}}/{\textit{PKID}_{r}}$, C searches $({\textit{PKID}_{BMC}}/{\textit{PKID}_{r}},\Psi S{K_{BMC}}/\Psi S{K_{r}},\Psi P{K_{BMC}}/\Psi P{K_{r}})$ in $L{T_{PKI}}$. If found, C returns ($\Omega S{K_{BMC}}/\Omega S{K_{r}}$, $\Omega P{K_{BMC}}/\Omega P{K_{r}}$) by converting $\Psi S{K_{BMC}}/\Psi S{K_{r}}$ in $L{T_{0}}$ and $\Psi P{K_{BMC}}/\Psi P{K_{r}}$ in $L{T_{e}}$. If not found, C picks a new variate $\Psi S{K_{BMC}}$ or $\Psi S{K_{r}}$ in G, and computes $\Psi P{K_{BMC}}=\Psi Q\cdot \Psi S{K_{BMC}}$ or $\Psi P{K_{r}}=\Psi Q\cdot \Psi S{K_{r}}$. Also, C adds (${\textit{PKID}_{BMC}}/{\textit{PKID}_{r}}$, $\Psi S{K_{BMC}}/\Psi S{K_{r}}$, $\Psi P{K_{BMC}}/\Psi P{K_{r}}$) in $L{T_{PKI}}$. Meanwhile, C adds ($\Psi S{K_{BMC}}/\Psi S{K_{r}}$, $\Omega S{K_{BMC}}/\Omega S{K_{r}}$) in $L{T_{0}}$ and ($\Psi P{K_{BMC}}/\Psi P{K_{r}}$, $\Omega P{K_{BMC}}/\Omega P{K_{r}}$) in $L{T_{e}}$, and returns ($\Omega S{K_{BMC}}/\Omega S{K_{r}}$, $\Omega P{K_{BMC}}/\Omega P{K_{r}}$).
-
• Certificate query $(({\textit{PKID}_{BMC}},\Omega P{K_{BMC}})/({\textit{PKID}_{r}},\Omega P{K_{r}}))$: For the i-th request of this query, C refreshes ($\Psi {\textit{SSK}_{CA,i-1,a}}$, $\Psi {\textit{SSK}_{CA,i-1,b}}$) to get ($\Psi {\textit{SSK}_{CA,i,a}}$, $\Psi {\textit{SSK}_{CA,i,b}}$). By (${\textit{PKID}_{BMC}}$, $\Omega P{K_{BMC}}$) or (${\textit{PKID}_{r}}$, $\Omega P{K_{r}}$), C uses ($\Psi {\textit{SSK}_{CA,i,a}}$, $\Psi {\textit{SSK}_{CA,i,b}}$) to create and send back ${\textit{CRTF}_{BMC}}$ or ${\textit{CRTF}_{r}}$ to the BMC or the recipient ${\textit{PKID}_{r}}$, respectively.
-
• Certificate leakage query (i, ${f_{CA,i}}$, ${h_{CA,i}}$): For the i-th Certificate query, A may request this leakage query only once. C returns $\Delta {f_{CA,i}}={f_{CA,i}}(\Psi {\textit{SSK}_{CA,i,a}})$ and $\Delta {h_{CA,i}}={h_{CA,i}}(\Psi {\textit{SSK}_{CA,i,b}})$.
-
• Individual secret key query (${\textit{CLID}_{r}}$): By ${\textit{CLID}_{r}}$, C searches (${\textit{CLID}_{r}}$, $\Psi {\textit{ISK}_{r}}$, $\Psi {\textit{IPK}_{r}}$, $\Psi {\textit{MSK}_{r}}$, $\Psi {\textit{MPK}_{r}}$) in $L{T_{CL}}$. If found, C returns ($\Omega {\textit{ISK}_{r}}$, $\Omega {\textit{IPK}_{r}}$) by converting $\Psi {\textit{ISK}_{r}}$ in $L{T_{0}}$ and $\Psi {\textit{IPK}_{r}}$ in $L{T_{e}}$. If not found, C picks a new variate $\Psi {\textit{ISK}_{r}}$ in G, and computes $\Psi {\textit{IPK}_{r}}=\Psi Q\cdot \Psi {\textit{ISK}_{r}}$. Also, C adds $({\textit{CLID}_{r}},\Psi {\textit{ISK}_{r}},\Psi {\textit{IPK}_{r}},-,-)$ in $L{T_{CL}}$. Meanwhile, C adds ($\Psi {\textit{ISK}_{r}}$, $\Omega {\textit{ISK}_{r}}$) in $L{T_{0}}$ and ($\Psi {\textit{IPK}_{r}}$, $\Omega {\textit{IPK}_{r}}$) in $L{T_{e}}$, and returns ($\Omega {\textit{ISK}_{r}}$, $\Omega {\textit{IPK}_{r}}$).
-
• Member secret key query (${\textit{CLID}_{r}}$, ${\textit{IPK}_{r}}$): By ${\textit{CLID}_{r}}$, C searches (${\textit{CLID}_{r}}$, $\Psi {\textit{ISK}_{r}}$, $\Psi {\textit{IPK}_{r}}$, $\Psi {\textit{MSK}_{r}}$, $\Psi {\textit{MPK}_{r}}$) in $L{T_{CL}}$. If found, C returns ($\Omega {\textit{MSK}_{r}}$, $\Omega {\textit{MPK}_{r}}$) by converting $\Psi {\textit{MSK}_{r}}$ in $L{T_{0}}$ and $\Psi {\textit{MPK}_{r}}$ in $L{T_{e}}$. If not found and for the i-th request of this query, C first refreshes ($\Psi {\textit{SSK}_{KGA,i-1,a}}$, $\Psi {\textit{SSK}_{KGA,i-1,b}}$) to get ($\Psi {\textit{SSK}_{KGA,i,a}}$, $\Psi {\textit{SSK}_{KGA,i,b}}$). C then picks two new variates $\Psi {\textit{MPK}_{r}}$ and $\Psi \theta $ in G, and computes $\Psi {\textit{MSK}_{r}}=\Psi {\textit{SSK}_{KGA}}+\Psi {\textit{MPK}_{r}}\cdot (\Psi A+\Psi \theta \cdot \Psi B$). Also, C adds (${\textit{CLID}_{r}}$, $\Psi {\textit{ISK}_{r}}$, $\Psi {\textit{IPK}_{r}}$, $\Psi {\textit{MSK}_{r}}$, $\Psi {\textit{MPK}_{r}}$) in $L{T_{CL}}$. Meanwhile, C adds ($\Psi {\textit{MPK}_{r}}$, $\Omega {\textit{MPK}_{r}}$), ($\Psi \theta $, $\Omega \theta $) and ($\Psi {\textit{MSK}_{r}}$, $\Omega {\textit{MSK}_{r}}$) in $L{T_{0}}$, and returns ($\Omega {\textit{MSK}_{r}}$, $\Omega {\textit{MPK}_{r}}$).
-
• Member secret key leakage query (i, ${f_{KGA,i}}$, ${h_{KGA,i}}$): For the i-th Member secret key query, A may request this leakage query only once. C returns $\Delta {f_{KGA,i}}={f_{KGA,i}}(\Psi {\textit{SSK}_{KGA,i,a}})$ and $\Delta {h_{KGA,i}}={h_{KGA,i}}(\Psi {\textit{SSK}_{KGA,i,b}})$.
-
• Public key replacement query (${\textit{CLID}_{r}}$, ($\Omega IP{K^{\prime }_{r}}$, $\Omega MP{K^{\prime }_{r}}$)): By converting $\Omega IP{K^{\prime }_{r}}$ and $\Omega MP{K^{\prime }_{r}}$ in $L{T_{0}}$, C first gets the corresponding $\Psi IP{K^{\prime }_{r}}$ and $\Psi MP{K^{\prime }_{r}}$. C modifies (${\textit{CLID}_{r}}$, −, $\Psi IP{K^{\prime }_{r}}$, −, $\Psi MP{K^{\prime }_{r}}$) in $L{T_{CL}}$.
-
• Compatible multi-signcryption (CMS) query ($PD$, $\textit{SDHR}$, ${\textit{PKID}_{BMC}}$): For the j-th request of this query, C refreshes ($\Psi S{K_{BMC,j-1,a}}$, $\Psi S{K_{BMC,j-1,b}}$) to get ($\Psi S{K_{BMC,j,a}}$, $\Psi S{K_{BMC,j,b}}$). By ($PD$, $\textit{SDHR}$), C uses ($\Psi S{K_{BMC,j,a}}$, $\Psi S{K_{BMC,j,b}}$) to create and send back $\textit{BCS}=\textit{CMS}(PD$, $\textit{SDHR}$, $(\Psi S{K_{BMC,j,a}}$, $\Psi S{K_{BMC,j,b}}))$ as follows.
-
(a) Select an encrypting/decrypting key $edk\in {\{0,1\}^{l}}$ and generate an encrypted data $ED={\textit{SEF}_{edk}}(PD)$.
-
(b) Pick two new variates $\Psi M$ and $\Psi \theta $ in G.
-
(c) For (${\textit{PKID}_{r}}$, $P{K_{r}}$) in $\textit{SDHR}$, compute $\Psi PC{K_{r}}=\Psi M\cdot \Psi P{K_{r}}$ and $C{K_{r}}=S{H_{1}}(\Omega PC{K_{r}})$, where $\Omega PC{K_{r}}$ is the associated bit string of $\Psi PC{K_{r}}$.
-
(d) For (${\textit{CLID}_{r}}$, ${\textit{IPK}_{r}}$, ${\textit{MPK}_{r}}$) in $\textit{SDHR}$, compute $\Psi {\textit{CCK}_{r,0}}=\Psi M\cdot \Psi {\textit{IPK}_{r}}$, $\Psi {\textit{CCK}_{r,1}}=\Psi M\cdot (\Psi {\textit{SPK}_{KGA}}+\Psi {\textit{MPK}_{r}}\cdot (\Psi A+\Psi \theta \cdot \Psi B))$ and $C{K_{r}}=S{H_{2}}(\Omega {\textit{CCK}_{r,0}}$, $\Omega {\textit{CCK}_{r,1}})$, where $\Omega {\textit{CCK}_{r,0}}$ and $\Omega {\textit{CCK}_{r,1}}$ are the associated bit strings of $\Psi {\textit{CCK}_{r,0}}$ and $\Psi {\textit{CCK}_{r,1}}$.
-
(e) According to Steps (c) and (d) above, generate ${C_{r}}=S{H_{3}}(C{K_{r}})\| (S{H_{4}}(C{K_{r}})\oplus edk)$, for $r=1,2,\dots ,n$.
-
(f) Pick a new variate $\Psi \rho $ in G, and compute $\Psi \sigma =\Psi S{K_{BMC}}+\Psi M\cdot (\Psi A+\Psi \rho \cdot \Psi B)$.
-
(g) Set $\textit{BCS}=\langle ({C_{1}},{C_{2}},\dots ,{C_{n}})$, $\Omega M$, $ED$, $\Omega \sigma \rangle $, where $\Omega M$ and $\Omega \sigma $ are the associated bit strings of $\Psi M$ and $\Psi \sigma $.
-
-
• Compatible multi-signcryption (CMS) leakage query (j, ${f_{BMC,j}}$, ${h_{BMC,j}}$): For the j-th Compatible multi-signcryption (CMS) query, A may request this leakage query only once. C returns $\Delta {f_{BMC,j}}={f_{BMC,j}}(\Psi S{K_{BMC,j,a}})$ and $\Delta {h_{BMC,j}}={h_{BMC,j}}(\Psi S{K_{BMC,j,b}})$.
-
• Compatible unsigncryption (CUS) query (${\textit{PKID}_{r}}/{\textit{CLID}_{r}}$, $\textit{BCS}$): For the k-th request of this query with ${\textit{PKID}_{r}}$ or ${\textit{CLID}_{r}}$, C runs the following associated procedures.
-
(1) For ${\textit{PKID}_{r}}$, C refreshes ($\Psi S{K_{r,k-1,a}}$, $\Psi S{K_{r,k-1,b}}$) to get ($\Psi S{K_{r,k,a}}$, $\Psi S{K_{r,k,b}}$). C then computes $\Psi PC{K_{r}}=\Psi M\cdot (\Psi Q\cdot \Psi S{K_{r}})$ and uses ($\Psi M$, $\Psi PC{K_{r}}$) to find ($\Psi M$, $\Psi PC{K_{r}}$, $edk$) in $L{T_{\textit{CMS}}}$ to get $PD={\textit{SDF}_{edk}}(ED)$. If $\Psi Q\cdot \Psi \sigma =\Psi P{K_{BMC}}+\Psi Q\cdot (\Psi M\cdot (\Psi A+\Psi \rho \cdot \Psi B))$ holds, output $PD$ and “True”; otherwise, output “invalid”.
-
(2) For ${\textit{CLID}_{r}}$, C respectively refreshes ($\Psi {\textit{ISK}_{r,k-1,a}}$, $\Psi {\textit{ISK}_{r,k-1,b}}$) and ($\Psi {\textit{MSK}_{r,k-1,a}}$, $\Psi {\textit{MSK}_{r,k-1,b}}$) to get ($\Psi {\textit{ISK}_{r,k,a}}$, $\Psi {\textit{ISK}_{r,k,b}}$) and ($\Psi {\textit{MSK}_{r,k,a}}$, $\Psi {\textit{MSK}_{r,k,b}}$). C then computes $\Psi {\textit{CCK}_{r,0}}=\Psi M\cdot (\Psi Q\cdot \Psi {\textit{ISK}_{r}})$, $\Psi {\textit{CCK}_{r,1}}=\Psi M\cdot (\Psi Q\cdot \Psi {\textit{SSK}_{KGA}}+\Psi Q\cdot \Psi {\textit{MSK}_{r}}\cdot (\Psi A+\Psi \theta +\Psi B))$ and uses ($\Psi M$, $\Psi {\textit{CCK}_{r,0}}$, $\Psi {\textit{CCK}_{r,1}}$) to find ($\Psi M$, ($\Psi {\textit{CCK}_{r,0}}$, $\Psi {\textit{CCK}_{r,1}}$), $edk$) in $L{T_{\textit{CMS}}}$ to get $PD={\textit{SDF}_{edk}}(ED)$. If $\Psi Q\cdot \Psi \sigma =\Psi P{K_{BMC}}+\Psi Q\cdot (\Psi M\cdot (\Psi A+\Psi \rho \cdot \Psi B))$ holds, output $PD$ and “True”; otherwise, output “invalid”.
-
-
• Compatible unsigncryption (CUS) leakage query $(k,({f_{\textit{PKID}r,k}},{h_{\textit{PKID}r,k}})/({f_{\textit{CLID}r,k}},{h_{\textit{CLID}r,k}}))$: For the k-th Compatible unsigncryption (CUS) query with ${\textit{PKID}_{r}}$ or ${\textit{CLID}_{r}}$, C runs the associated procedures, respectively. For ${\textit{PKID}_{r}}$, C sends back $\Delta {f_{\textit{PKID}r,k}}={f_{\textit{PKID}r,k}}(\Psi S{K_{r,k,a}})$ and $\Delta {h_{\textit{PKID}r,k}}={h_{\textit{PKID}r,k}}(\Psi S{K_{r,k,b}})$. For ${\textit{CLID}_{r}}$, C sends back $\Delta {f_{\textit{CLID}r,k}}={f_{\textit{CLID}r,k}}(\Psi {\textit{ISK}_{r,k,a}}$, $\Psi {\textit{MSK}_{r,0,a}})$ and $\Delta {h_{\textit{CLID}r,k}}={h_{\textit{CLID}r,k}}(\Psi {\textit{ISK}_{r,k,b}}$, $\Psi {\textit{MSK}_{r,0,b}})$.
-
-
– Challenge: A conveys a plaintext data pair ($P{D_{1}}$, $P{D_{2}}$) and $\textit{SDHR}=\{[({\textit{PKID}_{r}}$, $P{K_{r}})\| ({\textit{CLID}_{r}},{\textit{IPK}_{r}},{\textit{MPK}_{r}})],\hspace{0.1667em}r=1,2,\dots ,n\}$ to C. C selects a random value $\lambda \in \{1$, $2\}$ and refreshes ($\Psi S{K_{BMC,j-1,a}}$, $\Psi S{K_{BMC,j-1,b}}$) to get ($\Psi S{K_{BMC,j,a}}$, $\Psi S{K_{BMC,j,b}}$). Finally, C generates and sends back $\textit{BCS}=\textit{CMS}(P{D_{\lambda }}$, $\textit{SDHR}$, ${\textit{PKID}_{BMC}})$. In addition, the two conditions presented in Definition 2 must be satisfied.
-
– Guess: If A outputs ${\lambda ^{\prime }}\in \{1$, $2\}$ and ${\lambda ^{\prime }}=\lambda $, it means that A wins the LRSC-EIND-CCA game and the associated advantage is $Adv(A)=|\text{Pb}[{\lambda ^{\prime }}=\lambda ]-1/2|$.
-
■ $\mathrm{Pb}[{A_{I-wo}}]$: It represents the probability of finding collisions on $L{T_{0}}$ or $L{T_{e}}$ (i.e. G or ${G_{e}}$). For $L{T_{0}}$, assume that all elements ($\Psi {G_{i}}$, $\Omega {G_{i}}$) consist of c kinds of variates. Thus, c random values ${v_{t}}\in {Z_{p}^{\ast }}$ (for $t=1,2,\dots ,c$) are randomly chosen. For any two polynomials $\Psi {G_{i}}$ and $\Psi {G_{j}}$ in $L{T_{0}}$, we compute $\Psi {G_{k}}=\Psi {G_{i}}-\Psi {G_{j}}$. If $\Psi {G_{k}}({v_{1}},{v_{2}},\dots ,{v_{c}})=0$, we say that a collision in $L{T_{0}}$ is found. By Lemma 2, since the maximal degree of $L{T_{0}}$ is 4 and no partial information ($\gamma =0$) is leaked to adversaries, the probability of $\Psi {G_{k}}({v_{1}},{v_{2}},\dots ,{v_{c}})=0$ is at most $4/p$. Also, for $L{T_{0}}$, there are $\left(\genfrac{}{}{0pt}{}{|L{T_{0}}|}{2}\right)$ pairs of ($\Psi {G_{i}}$, $\Psi {G_{j}}$). Therefore, the collision probability on $L{T_{0}}$ is $\left(\genfrac{}{}{0pt}{}{|L{T_{0}}|}{2}\right)(4/p)$. By similar computation, the collision probability on $L{T_{e}}$ is $\left(\genfrac{}{}{0pt}{}{|L{T_{e}}|}{2}\right)(8/p)$. Hence, we have
-
■ $\mathrm{Pb}[{\lambda ^{\prime }}=\lambda ]$: It represents the probability of ${\lambda ^{\prime }}=\lambda $ in the Guess. Since no partial information ($\gamma =0$) is leaked to adversaries, we have $\mathrm{Pb}[{\lambda ^{\prime }}=\lambda ]\leqq 1/2$.
Theorem 2.
Proof.
-
– Setup and Query are the same as those in the proof of Theorem 1.
-
– Challenge: A conveys a plaintext data $PD$ and $\textit{SDHR}=\{[({\textit{PKID}_{r}},P{K_{r}})\| ({\textit{CLID}_{r}},{\textit{IPK}_{r}},{\textit{MPK}_{r}})],\hspace{0.1667em}r=1,2,\dots ,n+1\}$ to C. C selects a random value $\lambda \in \{1,2\}$ and sets ${\textit{SDHR}^{\prime }}=\{[({\textit{PKID}_{\gamma }},P{K_{\gamma }})\| ({\textit{CLID}_{\gamma }},{\textit{IPK}_{\gamma }},{\textit{MPK}_{\gamma }})],[({\textit{PKID}_{r}},P{K_{r}})\| ({\textit{CLID}_{r}},{\textit{IPK}_{r}},{\textit{MPK}_{r}})],\hspace{0.1667em}r=3,\dots ,n+1\}$. Finally, C refreshes ($\Psi S{K_{BMC,j-1,a}}$, $\Psi S{K_{BMC,j-1,b}}$) to get ($\Psi S{K_{BMC,j,a}}$, $\Psi S{K_{BMC,j,b}}$), and generates and sends back $\textit{BCS}=\textit{CMS}(PD$, ${\textit{SDHR}^{\prime }}$, ${\textit{PKID}_{BMC}})$. In addition, the two conditions presented in Definition 3 must be satisfied.
-
– Guess: If A outputs ${\lambda ^{\prime }}\in \{1$, $2\}$ and ${\lambda ^{\prime }}=\lambda $, it means that A wins the LRSC-RIND-CCA game and the associated advantage is $Adv(A)=|\mathrm{Pb}[{\lambda ^{\prime }}=\lambda ]-1/2|$.
Theorem 3.
Proof.
-
– Setup: It is identical with the Setup phase in the proof of Theorem 1.
-
– Query: A may adaptively request to C all queries at most q times, except for the Secret key query (${\textit{PKID}_{BMC}}$) because A would like to impersonate the SMC to generate a valid broadcast ciphertext set ${\textit{BCS}^{\prime }}$.
-
– Forgery: A forges and sends C a broadcast ciphertext set ${\textit{BCS}^{\prime }}$ for a plaintext data $PD$ and $\textit{SDHR}=\{[({\textit{PKID}_{r}},P{K_{r}})\| ({\textit{CLID}_{r}},{\textit{IPK}_{r}},{\textit{MPK}_{r}})],\hspace{0.1667em}r=1,2,\dots ,n\}$. For any recipients ${\textit{PKID}_{r}}$ and ${\textit{CLID}_{r}}$ in $\textit{SDHR}$, if they may, respectively, carry out the $\textit{CUS}$ algorithm to get and validate $PD=\textit{CUS}({\textit{BCS}^{\prime }}$, ${\textit{PKID}_{BMC}}$, $(S{K_{r,k,a}}$, $S{K_{r,k,b}}))$ and $PD=\textit{CUS}({\textit{BCS}^{\prime }}$, ${\textit{PKID}_{BMC}}$, $({\textit{ISK}_{r,k,a}}$, ${\textit{ISK}_{r,k,b}})$, $({\textit{MSK}_{r,k,a}}$, ${\textit{MSK}_{r,k,b}}))$, it means that A wins the LRSC-EU-ACMA game.
-
■ $\mathrm{Pb}[{A_{wo}}]$: It represents the probability of finding collisions on $L{T_{0}}$ or $L{T_{e}}$ (i.e. G or ${G_{e}}$). By the same arguments of $\mathrm{Pb}[{A_{I-wo}}]$ in the proof of Theorem 1, we have $\mathrm{Pb}[{A_{wo}}]\leqq 128{q^{2}}/p$.
-
■ $\mathrm{Pb}[\text{Valid-forging}]$: It represents the probability of forging a valid tuple ${\textit{BCS}^{\prime }}=\langle ({C_{1}},{C_{2}},\dots ,{C_{n}}),\Omega {M^{\prime }},ED,\Omega {\sigma ^{\prime }}\rangle $ in the Forgery. C gets $\Psi {M^{\prime }}$ and $\Psi {\sigma ^{\prime }}$ by converting $\Omega {M^{\prime }}$ and $\Omega {\sigma ^{\prime }}$ in $L{T_{0}}$. Since ${\textit{BCS}^{\prime }}$ is valid, the equality $\Psi Q\cdot \Psi {\sigma ^{\prime }}=\Psi P{K_{BMC}}+\Psi Q\cdot \Psi {M^{\prime }}\cdot (\Psi A+\Psi \rho \cdot \Psi B)$ must hold. Thus, we have a multiple-variable polynomial $\Psi MP=\Psi Q\cdot \Psi {\sigma ^{\prime }}-(\Psi P{K_{BMC}}+\Psi Q\cdot \Psi {M^{\prime }}\cdot (\Psi A+\Psi \rho \cdot \Psi B))=0$. By Lemma 2, since $\Psi MP$ is an element of $L{T_{e}}$ with the maximal degree 8, we have $\mathrm{Pb}[\text{Valid-forging}]=8/p$.
6 Comparisons and Performance Analysis
Table 2
| Schemes | PKC | Group | Time complexity of multi-signcryption | Time complexity of unsigncryption | Leakage resilience | Heterogeneous recipients |
| Wang et al.’s | ||||||
| scheme (2016) | PKI-PKC | BP | $O({n^{2}})$ | $O(n)$ | No | No |
| Tsai et al.’s | ||||||
| scheme (2022) | PKI-PKC | BP | $\boldsymbol{O}\boldsymbol{(}\boldsymbol{n}\boldsymbol{)}$ | $\boldsymbol{O}\boldsymbol{(}\mathbf{1}\boldsymbol{)}$ | Yes | No |
| Wang et al.’s | ||||||
| scheme (2012) | ID-PKC | BP | $O({n^{2}})$ | $O(n)$ | No | No |
| Pang et al.’s | ||||||
| scheme (2015) | ID-PKC | BP | $O({n^{2}})$ | $O(n)$ | No | No |
| Pang et al.’s | ||||||
| scheme (2018) | CL-PKC | EC | $O({n^{2}})$ | $O(n)$ | No | No |
| Li et al.’s | ||||||
| scheme (2022) | CL-PKC | EC | $O({n^{2}})$ | $O(n)$ | No | No |
| Our scheme | PKI-PKC CL-PKC | BP | $\boldsymbol{O}\boldsymbol{(}\boldsymbol{n}\boldsymbol{)}$ | $\boldsymbol{O}\boldsymbol{(}\mathbf{1}\boldsymbol{)}$ | Yes | Yes |
Table 3
| Notation | Meaning | Computation time on a PC | Computation time on a mobile device |
| ${T_{bp}}$ | Bilinear pairing mapping | $\approx 20.1$ | $\approx 96.2$ |
| ${T_{me}}$ | Multiplication in G or exponentiation in ${G_{e}}$ | $\approx 6.4$ | $\approx 30.7$ |
Table 4
| Phase | Computational costs | $n=10$ | $n=50$ | $n=100$ |
| The CMS phase performed on a PC | $n{T_{bp}}+(3n+4){T_{me}}$ | $\approx 418.6$ | $\approx 1990.6$ | $\approx 3955.6$ |
| The CUS phase performed on a mobile device | $6{T_{bp}}+3{T_{me}}$ | $\approx 669.3$ | $\approx 669.3$ | $\approx 669.3$ |
7 Conclusions and Future Work
-
(1) It is the first LRSC-AMRS scheme suitable for heterogeneous PKCs.
-
(2) Multiple recipients in the LRSC-AMRS scheme can be initial recipients in the PKI-PKC, or new and upgraded recipients in the CL-PKC.
-
(3) Since adversaries are allowed to continuously acquire partial information of secret keys for multiple rounds, the LRSC-AMRS scheme possesses unbounded leakage resilience.
-
(4) The computational cost of the unsigncryption algorithm is constant $O(1)$.