<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xml:lang="en" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMES</journal-id>
<journal-id journal-id-type="nlm-ta">CMES</journal-id>
<journal-id journal-id-type="publisher-id">CMES</journal-id>
<journal-title-group>
<journal-title>Computer Modeling in Engineering &#x0026; Sciences</journal-title>
</journal-title-group>
<issn pub-type="epub">1526-1506</issn>
<issn pub-type="ppub">1526-1492</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">43589</article-id>
<article-id pub-id-type="doi">10.32604/cmes.2023.043589</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Blockchain-Based Certificateless Bidirectional Authenticated Searchable Encryption Scheme in Cloud Email System</article-title>
<alt-title alt-title-type="left-running-head">Blockchain-Based Certificateless Bidirectional Authenticated Searchable Encryption Scheme in Cloud Email System</alt-title>
<alt-title alt-title-type="right-running-head">Blockchain-Based Certificateless Bidirectional Authenticated Searchable Encryption Scheme in Cloud Email System</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author">
<name name-style="western"><surname>Sun</surname><given-names>Yanzhong</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-2" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Du</surname><given-names>Xiaoni</given-names></name><xref ref-type="aff" rid="aff-1">1</xref><email>ymldxn@126.com</email></contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western"><surname>Niu</surname><given-names>Shufen</given-names></name><xref ref-type="aff" rid="aff-2">2</xref></contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western"><surname>Yang</surname><given-names>Xiaodong</given-names></name><xref ref-type="aff" rid="aff-2">2</xref></contrib>
<aff id="aff-1"><label>1</label><institution>College of Mathematics and Statistics, Northwest Normal University</institution>, <addr-line>Lanzhou, 730070</addr-line>, <country>China</country></aff>
<aff id="aff-2"><label>2</label><institution>College of Computer Science and Engineering, Northwest Normal University</institution>, <addr-line>Lanzhou, 730070</addr-line>, <country>China</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Xiaoni Du. Email: <email>ymldxn@126.com</email></corresp>
</author-notes>
<pub-date date-type="collection" publication-format="electronic"><year>2024</year></pub-date>
<pub-date date-type="pub" publication-format="electronic"><day>11</day><month>3</month><year>2024</year></pub-date>
<volume>139</volume>
<issue>3</issue>
<fpage>3287</fpage>
<lpage>3310</lpage>
<history>
<date date-type="received"><day>06</day><month>7</month><year>2023</year>
</date>
<date date-type="accepted"><day>23</day><month>10</month><year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2024 Sun et al.</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Sun et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMES_43589.pdf"></self-uri>
<abstract>
<p>Traditional email systems can only achieve one-way communication, which means only the receiver is allowed to search for emails on the email server. In this paper, we propose a blockchain-based certificateless bidirectional authenticated searchable encryption model for a cloud email system named certificateless authenticated bidirectional searchable encryption (CL-BSE) by combining the storage function of cloud server with the communication function of email server. In the new model, not only can the data receiver search for the relevant content by generating its own trapdoor, but the data owner also can retrieve the content in the same way. Meanwhile, there are dual authentication functions in our model. First, during encryption, the data owner uses the private key to authenticate their identity, ensuring that only legal owner can generate the keyword ciphertext. Second, the blockchain verifies the data owner&#x2019;s identity by the received ciphertext, allowing only authorized members to store their data in the server and avoiding unnecessary storage space consumption. We obtain a formal definition of CL-BSE and formulate a specific scheme from the new system model. Then the security of the scheme is analyzed based on the formalized security model. The results demonstrate that the scheme achieves multi-keyword ciphertext indistinguishability and multi-keyword trapdoor privacy against any adversary simultaneously. In addition, performance evaluation shows that the new scheme has higher computational and communication efficiency by comparing it with some existing ones.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Cloud email system</kwd>
<kwd>authenticated searchable encryption</kwd>
<kwd>blockchain-based</kwd>
<kwd>designated server test</kwd>
<kwd>multi-trapdoor privacy</kwd>
<kwd>multi-ciphertext indistinguishability</kwd>
</kwd-group>
<funding-group>
<award-group id="awg1">
<funding-source>National Natural Science Foundation of China</funding-source>
<award-id>62172337</award-id>
<award-id>62241207</award-id>
</award-group>
<award-group id="awg2">
<funding-source>Key Project of Gansu Natural Science</funding-source>
<award-id>23JRRA685</award-id>
</award-group>
</funding-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>Email systems have become an essential component of modern communication tools and revolutionized the way we conduct business, education, and personal communication, facilitating effective and efficient communication. However, the widespread usage of email has raised significant concerns regarding email security. Searchable encryption [<xref ref-type="bibr" rid="ref-1">1</xref>], as a promising security solution, has been successfully applied in many fields, including email systems. It can not only provide users with convenient search and data management methods while preserving data privacy and security but also enrich the overall user experience while safeguarding email confidentiality. That is, searchable encryption technology has become an indispensable security protection measure within email systems.</p>
<p>Public key Encryption with Keyword Search (PEKS) is a form of searchable encryption within the asymmetric category proposed by Boneh et al. [<xref ref-type="bibr" rid="ref-2">2</xref>] which optimises the security and privacy of email and improves users&#x2019; experience and the system performance. Since then, several PEKS schemes with varying functionality have been proposed including secure channel-free PEKS [<xref ref-type="bibr" rid="ref-3">3</xref>] and certificateless PEKS [<xref ref-type="bibr" rid="ref-4">4</xref>,<xref ref-type="bibr" rid="ref-5">5</xref>]. Although these schemes offer numerous keyword search methods suitable for encrypted email systems, there are still some security issues to be concerned with, specifically the Keyword Guessing Attack (KGA) [<xref ref-type="bibr" rid="ref-6">6</xref>]. In fact, the limited keyword space and low entropy render most PEKS schemes vulnerable to both online and offline KGA.</p>
<p>To defend against KGA, Huang et al. [<xref ref-type="bibr" rid="ref-7">7</xref>] introduced the Public Key Authenticated Encryption with Keyword Search (PAEKS) as a new variant of PEKS in 2017 and proved that the proposed PAEKS scheme achieved Ciphertext Indistinguishability (CI)-secure and Trapdoor Privacy (TP)-secure. Considering against chosen multi-keyword attacks and multi-keyword guessing attacks, Qin et al. [<xref ref-type="bibr" rid="ref-8">8</xref>] presented a new security model as Multi-Ciphertext Indistinguishability (MCI) in 2020 and Pan et al. formalized Multi-Trapdoor Privacy (MTP) in [<xref ref-type="bibr" rid="ref-9">9</xref>], which are the enhancement of CI-secure and TP-secure, respectively.</p>
<p>It is obvious that all PEKS/PAEKS systems cannot avoid the inherent burden of certificate management and key escrow issues due to their reliance on public key infrastructure cryptosystem or identity-based cryptosystem. A common approach to overcome these problems is to incorporate the PEKS/PAEKS system in certificateless public key cryptography (CL-PKC) [<xref ref-type="bibr" rid="ref-10">10</xref>]. As a result, Peng et al. [<xref ref-type="bibr" rid="ref-5">5</xref>] proposed the first certificateless PEKS scheme and He et al. [<xref ref-type="bibr" rid="ref-11">11</xref>] developed the first certificateless PAEKS scheme. However, the CL-PKC scheme still suffers from two types of attackers. The distributed nature of blockchain makes it impossible to tamper the data stored on the chain, which solves the trust problem and guarantees data security. Therefore, in CL-PKC, in order to avoid forgery attacks launched by attackers using public parameters, part of the user&#x2019;s private key is created by a blockchain smart contract [<xref ref-type="bibr" rid="ref-12">12</xref>].</p>
<p>All of the above improvements to PEKS/PAEKS including the enhancement of security and the introduction of certificateless cryptosystem have significantly optimized their application for protecting the data security and privacy, enhancing user experience and improving system performance. Moreover, Zhang et al. [<xref ref-type="bibr" rid="ref-13">13</xref>] highlighted a crucial aspect of encrypted email systems: users must not only search for encrypted emails received from others but also retrieve encrypted emails sent to others, and they developed a new cryptographic approach named Public-key Encryption with Bidirectional Keyword Search (PEBKS). Inspired by the above ideas, it is imperative to develop a certificateless authenticated bidirectional searchable encryption scheme with a designated server test that can achieve both MCI and MTP security.</p>
<sec id="s1_1">
<label>1.1</label>
<title>Our Contributions</title>
<p>The following is a list of the main contributions of this paper:
<list list-type="bullet">
<list-item>
<p>Considering the actual application scenario of cloud email system that the data owner also needs to retrieve emails with target keywords. We apply the bidirectional searchable functionality to CL-PAEKS cryptosystem by introducing a trapdoor generation algorithm for the data owner, put forward a cryptographic concept named CL-BSE. This allows the data owner not only to encrypt and send an email to the cloud email server, but also to generate its own trapdoor for specified keyword and retrieve the corresponding email.</p></list-item>
<list-item>
<p>On the one side, the scheme in this paper achieves bidirectional searchable functionality, on the other side, it establishes dual authentication functions. In the process of generating the ciphertext with the keyword, the data owner not only uses the public key of the data receiver, but also uses his own private key. Similarly, the data receiver uses both his own private key and the public key of the data owner to generate the corresponding trapdoor, which authenticates the identity of the data owner. Meanwhile, the blockchain can also verify the legitimacy of the ciphertexts, which effectively saves the storage space. Furthermore, the scheme satisfies designated server test which makes secure channel free.</p></list-item>
<list-item>
<p>We formalize the definition of the new cryptographic concept CL-BSE, then give a concrete construction of the scheme under the bilinear pairing. Meanwhile, we formally define the security model of CL-BSE scheme and show that in the random oracle model, it is able to achieve both MCI and MTP security levels against inside KGA under the CBDH hardness assumption. Through the experimental comparison, our scheme has more advantages and higher efficiency in computation and communication costs.</p></list-item>
</list></p>
</sec>
<sec id="s1_2">
<label>1.2</label>
<title>Organization</title>
<p>The rest of this paper is arranged as follows. The next section presents some basic symbols and notations, including bilinear pairing and hardness assumption. <xref ref-type="sec" rid="s3">Section 3</xref> illustrates the framework of our scheme including the system model in <xref ref-type="sec" rid="s3_1">3.1</xref>, the formalized definition in <xref ref-type="sec" rid="s3_2">3.2</xref> and the formalized security model in <xref ref-type="sec" rid="s3_3">3.3</xref>. <xref ref-type="sec" rid="s4">Section 4</xref> is the concrete construction of our CL-BSE scheme and <xref ref-type="sec" rid="s5">Section 5</xref> guarantees the security of the new scheme. In <xref ref-type="sec" rid="s6">Section 6</xref>, we analyze the performance by comparing it with existing works. Eventually, we draw a conclusion of the paper in <xref ref-type="sec" rid="s7">Section 7</xref>.</p>
</sec>
<sec id="s1_3">
<label>1.3</label>
<title>Related Works</title>
<p>Boneh et al. [<xref ref-type="bibr" rid="ref-2">2</xref>] presented the first PEKS scheme in 2014, which effectively solved the distribution and management of the secret-key in the symmetric searchable encryption (SSE) cryptosystem [<xref ref-type="bibr" rid="ref-14">14</xref>&#x2013;<xref ref-type="bibr" rid="ref-16">16</xref>]. However, Baek et al. [<xref ref-type="bibr" rid="ref-3">3</xref>] pointed out that the trapdoor transmission channel must be secure in [<xref ref-type="bibr" rid="ref-2">2</xref>], and then proposed a secure channel free PEKS (SCF-PEKS) scheme by giving the server a public/private key pair so that only the designated server could execute the test algorithm. Rhee et al. in [<xref ref-type="bibr" rid="ref-17">17</xref>] improved the trapdoor security of [<xref ref-type="bibr" rid="ref-3">3</xref>] and then constructed a new SCF-PEKS scheme called dPEKS under the new security model. Nevertheless, Byun et al. [<xref ref-type="bibr" rid="ref-6">6</xref>] claimed that both PEKS and SCF-PEKS schemes were vulnerable to (offline) KGA and a variety of improved PEKS and SCF-PEKS schemes [<xref ref-type="bibr" rid="ref-18">18</xref>&#x2013;<xref ref-type="bibr" rid="ref-20">20</xref>] were proposed to overcome the series security threats in the years including [<xref ref-type="bibr" rid="ref-17">17</xref>]. Unfortunately, it turns out that none of them can really resist the offline KGA [<xref ref-type="bibr" rid="ref-21">21</xref>]. What&#x2019;s worse is that Yau et al. [<xref ref-type="bibr" rid="ref-22">22</xref>] pointed out that these existing PEKS schemes suffered from another generic attack called online KGA or inside KGA in 2013.</p>
<p>In order to defend against both online KGA and offline KGA, Huang et al. [<xref ref-type="bibr" rid="ref-7">7</xref>] introduced a new primitive of PAEKS and proposed the first PAEKS scheme in 2017. The essence of PAEKS is to insert the data owner&#x2019;s public/private key pair into PEKS so that it can authenticate the keyword while encrypting it. Meanwhile, they defined the security as TP and CI for trapdoor and ciphertext, respectively. After that, Noroozi et al. [<xref ref-type="bibr" rid="ref-23">23</xref>] pointed out some weaknesses of the previous security in terms of multi-user settings. In 2020, Qin et al. [<xref ref-type="bibr" rid="ref-8">8</xref>] found that the CI &#x0026; TP security in [<xref ref-type="bibr" rid="ref-7">7</xref>] does not protect the information whether two different files extract identical keywords or the same file contains how many identical keywords so they improved the security model as MCI, and they proposed a PAEKS scheme satisfying MCI instead of MTP. In 2021, Pan et al. claimed that their new scheme in [<xref ref-type="bibr" rid="ref-9">9</xref>] achieved both MCI and MTP secure until Cheng et al. [<xref ref-type="bibr" rid="ref-24">24</xref>] presented an effective attack method on MTP. In addition to the security efforts, contributions to the functionality of PEKS/PAEKS have also been made. Fuhr et al. [<xref ref-type="bibr" rid="ref-25">25</xref>] and Hofheinz et al. [<xref ref-type="bibr" rid="ref-26">26</xref>] inserted the ciphertext decryptable function on PEKS schemes in different types of models. Zhang et al. [<xref ref-type="bibr" rid="ref-13">13</xref>] observed that in practical application, a data owner also needed to retrieve encrypted files containing specified keywords, then proposed a cryptographic system Public-key Encryption with Bidirectional Keyword Search (PEBKS) and constructed a concrete scheme.</p>
<p>All of the above schemes, including PEKS, PAEKS and PEBKS are identity-based cryptosystem with key escrow and certificate management issues. Peng et al. [<xref ref-type="bibr" rid="ref-5">5</xref>] constructed the first PEKS under CL-PKC named CLPEKS. In 2018, Ma et al. [<xref ref-type="bibr" rid="ref-4">4</xref>] proposed an improved CLPEKS scheme and it was improved again in the literature [<xref ref-type="bibr" rid="ref-27">27</xref>], which was been pointed out cannot achieve both MCI and MTP secure and was subsequently improved by Yang et al. [<xref ref-type="bibr" rid="ref-28">28</xref>]. But, the cryptanalysis in [<xref ref-type="bibr" rid="ref-29">29</xref>] demonstrates that these CLPEKS frameworks also suffer from the security vulnerability caused by the keyword guessing attack and in order to remedy these security weakness and provide resistance against both inside and outside keyword guessing attacks, they propose a new CLEKS scheme by embedding the owner&#x2019;s private key into the calculation of keyword ciphertexts, which actually is CL-PAEKS. Later, combining [<xref ref-type="bibr" rid="ref-4">4</xref>], He et al. [<xref ref-type="bibr" rid="ref-11">11</xref>] proposed a CL-PAEKS scheme, and Shiraly et al. [<xref ref-type="bibr" rid="ref-30">30</xref>] constructed a pairing-free CL-PAEKS. However, their security and functionality still need to be improved and promoted.</p>
</sec>
</sec>
<sec id="s2">
<label>2</label>
<title>Preliminaries</title>
<sec id="s2_1">
<label>2.1</label>
<title>Notations</title>
<p>The symbols and notations used in this paper are presented in the <xref ref-type="table" rid="table-1">Table 1</xref>.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>The symbols and notations</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>Notation</th>
<th>Definition</th>
</tr>
</thead>
<tbody>
<tr>
<td><inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula></td>
<td>System security parameter</td>
</tr>
<tr>
<td><inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Two cyclic groups</td>
</tr>
<tr>
<td><inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mi>q</mml:mi></mml:math></inline-formula></td>
<td>A large prime number</td>
</tr>
<tr>
<td><inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>Q</mml:mi></mml:math></inline-formula></td>
<td>Three distinct generators of <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></td>
</tr>
<tr>
<td><inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mn>6</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></td>
<td>Cryptographic hash functions</td>
</tr>
<tr>
<td><inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></td>
<td>Public/private key pair of DO</td>
</tr>
<tr>
<td><inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></td>
<td>Public/private key pair of DR</td>
</tr>
<tr>
<td><inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></td>
<td>Public/private key pair of CS</td>
</tr>
<tr>
<td><inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:mi>s</mml:mi><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mi>S</mml:mi></mml:math></inline-formula></td>
<td>Sample <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:mi>s</mml:mi></mml:math></inline-formula> from <italic>S</italic> uniformly at random</td>
</tr>
<tr>
<td><inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>:</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>A bilinear pairing</td>
</tr>
<tr>
<td><inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:mrow><mml:mi mathvariant="normal">n</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">g</mml:mi><mml:mi mathvariant="normal">l</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></td>
<td>A negligible function</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>Bilinear Pairing</title>
<p>Bilinear pairing [<xref ref-type="bibr" rid="ref-31">31</xref>] is an important tool in the construction of many pairing based cryptographic schemes, including our CL-BSE scheme, and we usually construct it using the Weil pairing and the Tate pairing [<xref ref-type="bibr" rid="ref-31">31</xref>&#x2013;<xref ref-type="bibr" rid="ref-33">33</xref>].</p>
<p><bold>Definition 2.1</bold> (Bilinear Pairing). Let <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> be an additive cyclic group of large prime order <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:mi>q</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> a multiplicative cyclic group of the same order. A <italic>bilinear pairing</italic> <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>:</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is a mapping which satisfies the following properties:</p>
<p><bold>Bilinearity:</bold> For any <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>Q</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and any <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>a</mml:mi><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:mi>Q</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>Q</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>;</p>
<p><bold>Non-Degeneracy:</bold> There exists a <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:mi>P</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> such that <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2260;</mml:mo><mml:msub><mml:mn>1</mml:mn><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, (where <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:msub><mml:mn>1</mml:mn><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> denotes the identity in <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>). Observe that since <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> are groups of prime order, so for any generator <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:mi>P</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, this statement implies that <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is a generator of <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>;</p>
<p><bold>Computability:</bold> For any <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>Q</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, there is an efficient algorithm to compute <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>Q</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p>
</sec>
<sec id="s2_3">
<label>2.3</label>
<title>Hardness Assumption</title>
<p><bold>Definition 2.2</bold> (The CBDH Assumption [<xref ref-type="bibr" rid="ref-31">31</xref>]). The Computational Bilinear Diffie-Hellman (CBDH) problem states that given <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>a</mml:mi><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>c</mml:mi><mml:mi>P</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msubsup></mml:math></inline-formula>, a bilinear pairing <inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>:</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, to compute <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>. The CBDH assumption says that, for any PPT algorithm <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula>, it is hard to compute <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, given a random instance of the CBDH problem <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>a</mml:mi><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>c</mml:mi><mml:mi>P</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msubsup></mml:math></inline-formula>. That is,
<disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:msubsup><mml:mrow><mml:mtext>Adv</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>C</mml:mi><mml:mi>B</mml:mi><mml:mi>D</mml:mi><mml:mi>H</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>:=</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi>Z</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msup><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>Z</mml:mi><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>a</mml:mi><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>c</mml:mi><mml:mi>P</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">]</mml:mo><mml:mo>&#x2264;</mml:mo><mml:mrow><mml:mtext>negl</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo></mml:math></disp-formula></p>
<p>where the probability is taken over the random choices of <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:mi>P</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mi>c</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> and the random coins tossed by <inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula>.</p>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>The Framework</title>
<p>There are three principal works in this section. First, we illustrate the system model of our protocol in this paper based on [<xref ref-type="bibr" rid="ref-13">13</xref>], and then formalise the definition of our CL-BSE scheme. Finally, we define the security model based on [<xref ref-type="bibr" rid="ref-8">8</xref>,<xref ref-type="bibr" rid="ref-9">9</xref>].</p>
<sec id="s3_1">
<label>3.1</label>
<title>System Model</title>
<p>As shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>, the system model of our protocol includes the following five parties: cloud email server (CS), smart contract-based key generation center (SC-KGC), blockchain (BC), data owner (DO) and data receiver (DR). They are interacting as follows:</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>System model</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_43589-fig-1.tif"/>
</fig>
<p><list list-type="bullet">
<list-item>
<p><italic>SC-KGC:</italic> Deployed on the blockchain, the smart contract key generation center is a combination of a smart contract and a conventional key generation center. It is responsible for producing and storing the public parameters on the blockchain, generating and distributing partial private keys and the master key to the corresponding parties.</p></list-item>
<list-item>
<p><italic>Blockchain:</italic> To avoid the system public parameters being tampered with, blockchain stores and then transmits them to all clients. The blockchain is also responsible for verifying the validity of the ciphertext, and then transferring the verified ciphertext to the cloud server.</p></list-item>
<list-item>
<p><italic>Cloud Email Server:</italic> The cloud email server plays an &#x201C;honest but curious&#x201D; role in the system model, i.e., it stores the real data, retrieves keyword sets by rules and returns the corresponding results correctly. Meanwhile, it may launch keyword guessing attacks on a set of received search tokens. Furthermore, it also performs the test algorithm and then sends the search results to the data receiver.</p></list-item>
<list-item>
<p><italic>Data Owner:</italic> The data owner is a client who wants to store the encrypted data files with keyword indexes in the email server while sending it to the data receiver through the cloud email server, so that he/she can retrieve it by generating a trapdoor using his/her own private key.</p></list-item>
<list-item>
<p><italic>Data Receiver:</italic> The data receiver is one who receives emails from the cloud email server by sending a trapdoor for the keywords he/she interested in using his/her own private key.</p></list-item>
</list></p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>The Definition of CL-BSE</title>
<p>We have formalized the architecture of our certificateless bidirectional authenticated searchable encryption (CL-BSE) scheme for the cloud email system.</p>
<p><bold>Definition 3.1.</bold> The CL-BSE scheme consists essentially of nine PPT algorithms: Setup, Extract-PPK, Set-secret-value, Set-private-key, Set-public-key, CL-BSE, Trapdoor-DR, Trapdoor-DO and Test. They are described below:
<list list-type="bullet">
<list-item>
<p>Setup (<inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>): This algorithm is executed by SC-KGC. Given a security parameter <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, the algorithm generates the global public parameters <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi></mml:math></inline-formula> and the master key <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item>
<p>Extract-PPK (<inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi></mml:math></inline-formula>): This algorithm is also performed by SC-KGC. It takes as input the global public parameters <inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi></mml:math></inline-formula>, the master key <inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and the client identity <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>U</mml:mi><mml:mspace width="negativethinmathspace" /><mml:mo>&#x2208;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>C</mml:mi><mml:mi>S</mml:mi><mml:mo>,</mml:mo><mml:mi>D</mml:mi><mml:mi>O</mml:mi><mml:mo>,</mml:mo><mml:mi>D</mml:mi><mml:mi>R</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, generates and outputs each client&#x2019;s partial private key <inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:mi>P</mml:mi><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item>
<p>Set-secret-value (<inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>): This algorithm is run by each client. Input <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi></mml:math></inline-formula> and the client identity <inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>U</mml:mi><mml:mspace width="negativethinmathspace" /><mml:mo>&#x2208;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>C</mml:mi><mml:mi>S</mml:mi><mml:mo>,</mml:mo><mml:mi>D</mml:mi><mml:mi>O</mml:mi><mml:mo>,</mml:mo><mml:mi>D</mml:mi><mml:mi>R</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, it generates the secret value <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:mi>S</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> for each participant.</p></list-item>
<list-item>
<p>Set-private-key (<inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>): Each client runs this algorithm on its own. Entering <inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi></mml:math></inline-formula>, secret value <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:mi>S</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and partial private key <inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:mi>P</mml:mi><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, it outputs the private key <inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> for each client.</p></list-item>
<list-item>
<p>Set-public-key (<inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>): This algorithm is executed by each client. It takes as input <inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi></mml:math></inline-formula> and the secret value <inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:mi>S</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, and outputs the public key <inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> for itself.</p></list-item>
<list-item>
<p>CL-BSE (<inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>w</mml:mi></mml:math></inline-formula>): This is the keyword ciphertext generation algorithm and is performed by the data owner. It takes as input <inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and keyword <inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:mi>w</mml:mi></mml:math></inline-formula> with respect to the encrypted files, outputs a ciphertext <inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item>
<p>Trapdoor-DR (<inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:math></inline-formula>): This algorithm generates trapdoor for data receiver. When searching the encrypted files containing the keyword <inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:math></inline-formula> from the cloud email server, it takes as input <inline-formula id="ieqn-71"><mml:math id="mml-ieqn-71"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-72"><mml:math id="mml-ieqn-72"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-73"><mml:math id="mml-ieqn-73"><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and the keyword <inline-formula id="ieqn-74"><mml:math id="mml-ieqn-74"><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:math></inline-formula>, and outputs <inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item>
<p>Trapdoor-DO (<inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:math></inline-formula>): This algorithm generates trapdoor for data owner. When the client wants to retrieve the encrypted files containing the keyword <inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:math></inline-formula> from the cloud email server, it takes as input <inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and the keyword <inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:math></inline-formula>, outputs <inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item>
<p>Test (<inline-formula id="ieqn-83"><mml:math id="mml-ieqn-83"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>): The test algorithm is executed by the cloud email server. It takes <inline-formula id="ieqn-84"><mml:math id="mml-ieqn-84"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-85"><mml:math id="mml-ieqn-85"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:mrow></mml:msub></mml:math></inline-formula> as input and returns &#x201C;<inline-formula id="ieqn-86"><mml:math id="mml-ieqn-86"><mml:mn>1</mml:mn></mml:math></inline-formula>&#x201D; if <inline-formula id="ieqn-87"><mml:math id="mml-ieqn-87"><mml:mi>w</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:math></inline-formula> and &#x201C;<inline-formula id="ieqn-88"><mml:math id="mml-ieqn-88"><mml:mn>0</mml:mn></mml:math></inline-formula>&#x201D; otherwise.</p></list-item>
</list></p>
<p><italic>Correctness</italic>. The correctness of our CL-BSE scheme is defined as follows. For any legally registered clients <inline-formula id="ieqn-89"><mml:math id="mml-ieqn-89"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>U</mml:mi><mml:mspace width="negativethinmathspace" /><mml:mo>&#x2208;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>D</mml:mi><mml:mi>O</mml:mi><mml:mo>,</mml:mo><mml:mi>D</mml:mi><mml:mi>R</mml:mi><mml:mo>,</mml:mo><mml:mi>C</mml:mi><mml:mi>S</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> with public/private key pairs <inline-formula id="ieqn-90"><mml:math id="mml-ieqn-90"><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. Let <inline-formula id="ieqn-91"><mml:math id="mml-ieqn-91"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mrow><mml:mi>C</mml:mi><mml:mi>L</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>B</mml:mi><mml:mi>S</mml:mi><mml:mi>E</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>w</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> be the ciphertext of <inline-formula id="ieqn-92"><mml:math id="mml-ieqn-92"><mml:mi>w</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-93"><mml:math id="mml-ieqn-93"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mrow><mml:mi>T</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>p</mml:mi><mml:mi>d</mml:mi><mml:mi>o</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-94"><mml:math id="mml-ieqn-94"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mrow><mml:mi>T</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>p</mml:mi><mml:mi>d</mml:mi><mml:mi>o</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> be the trapdoors of <inline-formula id="ieqn-95"><mml:math id="mml-ieqn-95"><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:math></inline-formula> generated by <italic>DO</italic> and <italic>DR</italic>, respectively. Correctness implies
<disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mrow><mml:mi>T</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">]</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mrow><mml:mi>T</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">]</mml:mo><mml:mo>=</mml:mo><mml:mn>1.</mml:mn></mml:math></disp-formula></p>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Security Model</title>
<p>As with other certificateless cryptosystems [<xref ref-type="bibr" rid="ref-5">5</xref>,<xref ref-type="bibr" rid="ref-10">10</xref>,<xref ref-type="bibr" rid="ref-28">28</xref>,<xref ref-type="bibr" rid="ref-34">34</xref>,<xref ref-type="bibr" rid="ref-35">35</xref>], the CL-BSE scheme considers two types of adversary with different privileges: Type-I adversary <inline-formula id="ieqn-96"><mml:math id="mml-ieqn-96"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and Type-II adversary <inline-formula id="ieqn-97"><mml:math id="mml-ieqn-97"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. Specifically,
<list list-type="bullet">
<list-item>
<p><bold>Type-I adversary <inline-formula id="ieqn-98"><mml:math id="mml-ieqn-98"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></bold>. It plays the part of the malicious user who is available to perform queries including extract partial private key, request public key, extract secret value and replace public key, but does not have access to the master private key <inline-formula id="ieqn-99"><mml:math id="mml-ieqn-99"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item>
<p><bold>Type-II adversary <inline-formula id="ieqn-100"><mml:math id="mml-ieqn-100"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></bold>. It models an honest-but-curious SC-KGC that has access to the master private key <inline-formula id="ieqn-101"><mml:math id="mml-ieqn-101"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, but not allowed to replace public key query.</p></list-item>
</list></p>
<p>Now, the above queries are listed as follows, which are actually interactions between an adversary <inline-formula id="ieqn-102"><mml:math id="mml-ieqn-102"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and a challenger <inline-formula id="ieqn-103"><mml:math id="mml-ieqn-103"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula>.
<list list-type="simple">
<list-item><label>&#x2013;</label><p><italic>Extract-PPK query</italic>. When <inline-formula id="ieqn-104"><mml:math id="mml-ieqn-104"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> queries partial private key for identity <inline-formula id="ieqn-105"><mml:math id="mml-ieqn-105"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-106"><mml:math id="mml-ieqn-106"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula> executes Extract-PPK algorithm and returns partial private key <inline-formula id="ieqn-107"><mml:math id="mml-ieqn-107"><mml:mi>P</mml:mi><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2013;</label><p><italic>Extract-secret-value query</italic>. When <inline-formula id="ieqn-108"><mml:math id="mml-ieqn-108"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> queries secret value for identity <inline-formula id="ieqn-109"><mml:math id="mml-ieqn-109"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-110"><mml:math id="mml-ieqn-110"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula> executes Set-secret-value algorithm and returns a secret value <inline-formula id="ieqn-111"><mml:math id="mml-ieqn-111"><mml:mi>S</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2013;</label><p><italic>Request-public-key query</italic>. When <inline-formula id="ieqn-112"><mml:math id="mml-ieqn-112"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> queries public key for identity <inline-formula id="ieqn-113"><mml:math id="mml-ieqn-113"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-114"><mml:math id="mml-ieqn-114"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula> executes Set-public-key algorithm and returns public key <inline-formula id="ieqn-115"><mml:math id="mml-ieqn-115"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2013;</label><p><italic>Replace-public-key query</italic>. <inline-formula id="ieqn-116"><mml:math id="mml-ieqn-116"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is permitted to ask <inline-formula id="ieqn-117"><mml:math id="mml-ieqn-117"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula> to replace the public <inline-formula id="ieqn-118"><mml:math id="mml-ieqn-118"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> with a new one <inline-formula id="ieqn-119"><mml:math id="mml-ieqn-119"><mml:mi>P</mml:mi><mml:msubsup><mml:mi>K</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:math></inline-formula> for any user <inline-formula id="ieqn-120"><mml:math id="mml-ieqn-120"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2013;</label><p><italic>Ciphertext query</italic>. When <inline-formula id="ieqn-121"><mml:math id="mml-ieqn-121"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> queries the ciphertext of the keyword <inline-formula id="ieqn-122"><mml:math id="mml-ieqn-122"><mml:mi>w</mml:mi></mml:math></inline-formula>, the challenger <inline-formula id="ieqn-123"><mml:math id="mml-ieqn-123"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula> returns the matching ciphertext <inline-formula id="ieqn-124"><mml:math id="mml-ieqn-124"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2013;</label><p><italic>Data receiver trapdoor query</italic>. When <inline-formula id="ieqn-125"><mml:math id="mml-ieqn-125"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> queries the data receiver trapdoor of keyword <inline-formula id="ieqn-126"><mml:math id="mml-ieqn-126"><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:math></inline-formula>, <inline-formula id="ieqn-127"><mml:math id="mml-ieqn-127"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula> returns the matching trapdoor <inline-formula id="ieqn-128"><mml:math id="mml-ieqn-128"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2013;</label><p><italic>Data owner trapdoor query</italic>. When <inline-formula id="ieqn-129"><mml:math id="mml-ieqn-129"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> queries the data owner trapdoor of keyword <inline-formula id="ieqn-130"><mml:math id="mml-ieqn-130"><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:math></inline-formula>, <inline-formula id="ieqn-131"><mml:math id="mml-ieqn-131"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula> returns the matching trapdoor <inline-formula id="ieqn-132"><mml:math id="mml-ieqn-132"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
</list></p>
<p>In order to capture chosen multi-keyword attacks and multi-keyword guessing attacks, the security model of our CL-BSE scheme are defined as MCI [<xref ref-type="bibr" rid="ref-8">8</xref>] and MTP [<xref ref-type="bibr" rid="ref-9">9</xref>], which are the enhancement of CI-secure and TP-secure [<xref ref-type="bibr" rid="ref-7">7</xref>], respectively. Their formal definitions are described by the following games, which are interactions between an challenger <inline-formula id="ieqn-133"><mml:math id="mml-ieqn-133"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula> and an adversary <inline-formula id="ieqn-134"><mml:math id="mml-ieqn-134"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> or <inline-formula id="ieqn-135"><mml:math id="mml-ieqn-135"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
<p><bold><italic>Game 1: The MCI Security against Adversary</italic> <inline-formula id="ieqn-136"><mml:math id="mml-ieqn-136"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>.</bold></p>
<p><list list-type="bullet">
<list-item>
<p><italic>Setup</italic>. Given security parameter <inline-formula id="ieqn-137"><mml:math id="mml-ieqn-137"><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, <inline-formula id="ieqn-138"><mml:math id="mml-ieqn-138"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula> generates public parameter <inline-formula id="ieqn-139"><mml:math id="mml-ieqn-139"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi></mml:math></inline-formula> and system master key <inline-formula id="ieqn-140"><mml:math id="mml-ieqn-140"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> by running Setup algorithm. It then responds only to <inline-formula id="ieqn-141"><mml:math id="mml-ieqn-141"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> <inline-formula id="ieqn-142"><mml:math id="mml-ieqn-142"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi></mml:math></inline-formula> and keeps master key <inline-formula id="ieqn-143"><mml:math id="mml-ieqn-143"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> secret.</p></list-item>
<list-item>
<p><italic>Phase 1</italic>. <inline-formula id="ieqn-144"><mml:math id="mml-ieqn-144"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> can adaptively perform a series of polynomial times queries, including <italic>Extract-PPK</italic> query, <italic>Extract-secret-value</italic> query, <italic>Request-public-key</italic> query, <italic>Replace-public-key</italic> query, <italic>Ciphertext</italic> query, <italic>Data receiver trapdoor</italic> query and <italic>Data owner trapdoor</italic> query.</p></list-item>
<list-item>
<p><italic>Challenge</italic>. After <inline-formula id="ieqn-145"><mml:math id="mml-ieqn-145"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> finishes the queries in <italic>Phase 1</italic>, it selects two challenge keyword sets <inline-formula id="ieqn-146"><mml:math id="mml-ieqn-146"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>, <inline-formula id="ieqn-147"><mml:math id="mml-ieqn-147"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>,</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> which are not queried in <italic>Phase 1</italic> and sends them to <inline-formula id="ieqn-148"><mml:math id="mml-ieqn-148"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula>. After that, it first chooses a random bit <inline-formula id="ieqn-149"><mml:math id="mml-ieqn-149"><mml:mi>b</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>, then computes the searchable ciphertext <inline-formula id="ieqn-150"><mml:math id="mml-ieqn-150"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:math></inline-formula> with respect to <inline-formula id="ieqn-151"><mml:math id="mml-ieqn-151"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>. Finally, it returns <inline-formula id="ieqn-152"><mml:math id="mml-ieqn-152"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:math></inline-formula> as a challenge ciphertext.</p></list-item>
<list-item>
<p><italic>Phase 2</italic>. As in <italic>Phase 1</italic>, <inline-formula id="ieqn-153"><mml:math id="mml-ieqn-153"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> can continue to make series queries for polynomial times and the restriction here is that cannot make ciphertext query and two trapdoor queries on <inline-formula id="ieqn-154"><mml:math id="mml-ieqn-154"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula id="ieqn-155"><mml:math id="mml-ieqn-155"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>.</p></list-item>
<list-item>
<p><italic>Guess</italic>. Finally, <inline-formula id="ieqn-156"><mml:math id="mml-ieqn-156"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> outputs its guess <inline-formula id="ieqn-157"><mml:math id="mml-ieqn-157"><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> on <inline-formula id="ieqn-158"><mml:math id="mml-ieqn-158"><mml:mi>b</mml:mi></mml:math></inline-formula>, and wins this game if <inline-formula id="ieqn-159"><mml:math id="mml-ieqn-159"><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>b</mml:mi></mml:math></inline-formula>.</p></list-item>
</list></p>
<p>The following probability equation defines <inline-formula id="ieqn-160"><mml:math id="mml-ieqn-160"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>&#x2019;s advantage in the game,
<disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:msubsup><mml:mrow><mml:mtext>Adv</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mi>C</mml:mi><mml:mi>I</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>b</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac><mml:mo>|</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p><bold><italic>Game 2: The MCI Security against Adversary</italic> <inline-formula id="ieqn-161"><mml:math id="mml-ieqn-161"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>.</bold></p>
<p><list list-type="bullet">
<list-item>
<p><italic>Setup</italic>. Given security parameter <inline-formula id="ieqn-162"><mml:math id="mml-ieqn-162"><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, <inline-formula id="ieqn-163"><mml:math id="mml-ieqn-163"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula> runs Setup algorithm generates public parameter <inline-formula id="ieqn-164"><mml:math id="mml-ieqn-164"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi></mml:math></inline-formula> and system master key <inline-formula id="ieqn-165"><mml:math id="mml-ieqn-165"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, then sends both <inline-formula id="ieqn-166"><mml:math id="mml-ieqn-166"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-167"><mml:math id="mml-ieqn-167"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> to <inline-formula id="ieqn-168"><mml:math id="mml-ieqn-168"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item>
<p><italic>Phase 1</italic>. As in <italic>Game 1</italic>, <inline-formula id="ieqn-169"><mml:math id="mml-ieqn-169"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> can make <italic>Extract-PPK</italic> query, <italic>Extract-secret-value</italic> query, <italic>Request-public-key</italic> query, <italic>Ciphertext</italic> query, <italic>Data receiver trapdoor</italic> query and <italic>Data owner trapdoor</italic> query, but not available for <italic>Replace-public-key</italic> query.</p></list-item>
<list-item>
<p><italic>Challenge</italic>. When <inline-formula id="ieqn-170"><mml:math id="mml-ieqn-170"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> completed the <italic>Phase 1</italic>, it selects <inline-formula id="ieqn-171"><mml:math id="mml-ieqn-171"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-172"><mml:math id="mml-ieqn-172"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> as challenge keywords sets like the steps in <italic>Game 1</italic>, and sends them to <inline-formula id="ieqn-173"><mml:math id="mml-ieqn-173"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula>. Then <inline-formula id="ieqn-174"><mml:math id="mml-ieqn-174"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula> chooses a random bit <inline-formula id="ieqn-175"><mml:math id="mml-ieqn-175"><mml:mi>b</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> and generates the ciphertext <inline-formula id="ieqn-176"><mml:math id="mml-ieqn-176"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:math></inline-formula> with respect to <inline-formula id="ieqn-177"><mml:math id="mml-ieqn-177"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>. Finally, it returns <inline-formula id="ieqn-178"><mml:math id="mml-ieqn-178"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:math></inline-formula> to <inline-formula id="ieqn-179"><mml:math id="mml-ieqn-179"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> as a challenge ciphertext.</p></list-item>
<list-item>
<p><italic>Phase 2</italic>. This phase is the same as <italic>Game 1</italic>, <inline-formula id="ieqn-180"><mml:math id="mml-ieqn-180"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is not allowed to make ciphertext query and two trapdoor queries on <inline-formula id="ieqn-181"><mml:math id="mml-ieqn-181"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula id="ieqn-182"><mml:math id="mml-ieqn-182"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>.</p></list-item>
<list-item>
<p><italic>Guess</italic>. Finally, <inline-formula id="ieqn-183"><mml:math id="mml-ieqn-183"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> outputs its guess <inline-formula id="ieqn-184"><mml:math id="mml-ieqn-184"><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> on <inline-formula id="ieqn-185"><mml:math id="mml-ieqn-185"><mml:mi>b</mml:mi></mml:math></inline-formula>, and wins if <inline-formula id="ieqn-186"><mml:math id="mml-ieqn-186"><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>b</mml:mi></mml:math></inline-formula>.</p></list-item>
</list></p>
<p>The advantage of <inline-formula id="ieqn-187"><mml:math id="mml-ieqn-187"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> in <italic>Game 2</italic> is defined by the following probability equation:
<disp-formula id="eqn-4"><label>(4)</label><mml:math id="mml-eqn-4" display="block"><mml:msubsup><mml:mrow><mml:mtext>Adv</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mi>C</mml:mi><mml:mi>I</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>b</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac><mml:mo>|</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p><bold>Definition 3.2</bold> (MCI security). The CL-BSE scheme is said MCI security if for any PPT adversary <inline-formula id="ieqn-188"><mml:math id="mml-ieqn-188"><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow></mml:math></inline-formula>, its advantages <inline-formula id="ieqn-189"><mml:math id="mml-ieqn-189"><mml:msubsup><mml:mrow><mml:mi mathvariant="normal">A</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">v</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mi>C</mml:mi><mml:mi>I</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-190"><mml:math id="mml-ieqn-190"><mml:msubsup><mml:mrow><mml:mi mathvariant="normal">A</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">v</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mi>C</mml:mi><mml:mi>I</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> against the challenger <inline-formula id="ieqn-191"><mml:math id="mml-ieqn-191"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula> in <italic>Game 1</italic> and <italic>Game 2</italic> are negligible.</p>
<p><bold><italic>Game 3: The MTP Security against Adversary</italic> <inline-formula id="ieqn-192"><mml:math id="mml-ieqn-192"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>.</bold></p>
<p><list list-type="bullet">
<list-item>
<p><italic>Setup</italic>. The setup algorithm is the same as <italic>Game 1</italic>, <inline-formula id="ieqn-193"><mml:math id="mml-ieqn-193"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula> also only sends the public parameter <inline-formula id="ieqn-194"><mml:math id="mml-ieqn-194"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi></mml:math></inline-formula> to <inline-formula id="ieqn-195"><mml:math id="mml-ieqn-195"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> eventually.</p></list-item>
<list-item>
<p><italic>Phase 1</italic>. Same as process <italic>Phase 1</italic> in <italic>Game 1</italic>.</p></list-item>
<list-item>
<p><italic>Challenge</italic>. When <inline-formula id="ieqn-196"><mml:math id="mml-ieqn-196"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> has finished the <italic>Phase 1</italic>, do the same as that in <italic>Game 1</italic> to obtain two challenge keywords sets <inline-formula id="ieqn-197"><mml:math id="mml-ieqn-197"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-198"><mml:math id="mml-ieqn-198"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> and send them to <inline-formula id="ieqn-199"><mml:math id="mml-ieqn-199"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula>. After that, <inline-formula id="ieqn-200"><mml:math id="mml-ieqn-200"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula> chooses a random bit <inline-formula id="ieqn-201"><mml:math id="mml-ieqn-201"><mml:mi>b</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> first, then computes the trapdoor <inline-formula id="ieqn-202"><mml:math id="mml-ieqn-202"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:math></inline-formula> with respect to <inline-formula id="ieqn-203"><mml:math id="mml-ieqn-203"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>. Finally, it returns <inline-formula id="ieqn-204"><mml:math id="mml-ieqn-204"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:math></inline-formula> to <inline-formula id="ieqn-205"><mml:math id="mml-ieqn-205"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> as a challenge trapdoor.</p></list-item>
<list-item>
<p><italic>Phase 2</italic>. Same as process <italic>Phase 2</italic> in <italic>Game 1</italic>.</p></list-item>
<list-item>
<p><italic>Guess</italic>. Finally, <inline-formula id="ieqn-206"><mml:math id="mml-ieqn-206"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> outputs its guess <inline-formula id="ieqn-207"><mml:math id="mml-ieqn-207"><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> on <inline-formula id="ieqn-208"><mml:math id="mml-ieqn-208"><mml:mi>b</mml:mi></mml:math></inline-formula>, and wins this game if <inline-formula id="ieqn-209"><mml:math id="mml-ieqn-209"><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>b</mml:mi></mml:math></inline-formula>.</p></list-item>
</list></p>
<p>The advantage of <inline-formula id="ieqn-210"><mml:math id="mml-ieqn-210"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> in <italic>Game 3</italic> is defined by
<disp-formula id="eqn-5"><label>(5)</label><mml:math id="mml-eqn-5" display="block"><mml:msubsup><mml:mrow><mml:mtext>Adv</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mi>T</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>b</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac><mml:mo>|</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p><bold><italic>Game 4: The MTP Security against Adversary</italic> <inline-formula id="ieqn-211"><mml:math id="mml-ieqn-211"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>.</bold></p>
<p><list list-type="bullet">
<list-item>
<p><italic>Setup</italic>. The setup algorithm is the same as <italic>Game 2</italic>, the challenger <inline-formula id="ieqn-212"><mml:math id="mml-ieqn-212"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula> sends both the public parameter <inline-formula id="ieqn-213"><mml:math id="mml-ieqn-213"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi></mml:math></inline-formula> and the master key <inline-formula id="ieqn-214"><mml:math id="mml-ieqn-214"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> to <inline-formula id="ieqn-215"><mml:math id="mml-ieqn-215"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> eventually.</p></list-item>
<list-item>
<p><italic>Phase 1</italic>. Same as process <italic>Phase 1</italic> in <italic>Game 2</italic>.</p></list-item>
<list-item>
<p><italic>Challenge</italic>. After <inline-formula id="ieqn-216"><mml:math id="mml-ieqn-216"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> has finished the <italic>Phase 1</italic>, do the same as that in <italic>Game 3</italic> to obtain two challenge keyword sets <inline-formula id="ieqn-217"><mml:math id="mml-ieqn-217"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-218"><mml:math id="mml-ieqn-218"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> and send them to <inline-formula id="ieqn-219"><mml:math id="mml-ieqn-219"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula>. Then <inline-formula id="ieqn-220"><mml:math id="mml-ieqn-220"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula> chooses a random bit <inline-formula id="ieqn-221"><mml:math id="mml-ieqn-221"><mml:mi>b</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> and generates the trapdoor <inline-formula id="ieqn-222"><mml:math id="mml-ieqn-222"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:math></inline-formula> with respect to <inline-formula id="ieqn-223"><mml:math id="mml-ieqn-223"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>. Finally, it returns <inline-formula id="ieqn-224"><mml:math id="mml-ieqn-224"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:math></inline-formula> to <inline-formula id="ieqn-225"><mml:math id="mml-ieqn-225"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> as a challenge trapdoor.</p></list-item>
<list-item>
<p><italic>Phase 2</italic>. Same as process <italic>Phase 2</italic> in <italic>Game 2</italic>.</p></list-item>
<list-item>
<p><italic>Guess</italic>. Finally, <inline-formula id="ieqn-226"><mml:math id="mml-ieqn-226"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> outputs its guess <inline-formula id="ieqn-227"><mml:math id="mml-ieqn-227"><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> on <inline-formula id="ieqn-228"><mml:math id="mml-ieqn-228"><mml:mi>b</mml:mi></mml:math></inline-formula>, and it wins this game if <inline-formula id="ieqn-229"><mml:math id="mml-ieqn-229"><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>b</mml:mi></mml:math></inline-formula>.</p></list-item>
</list></p>
<p>The advantage of <inline-formula id="ieqn-230"><mml:math id="mml-ieqn-230"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> in <italic>Game 4</italic> is defined by
<disp-formula id="eqn-6"><label>(6)</label><mml:math id="mml-eqn-6" display="block"><mml:msubsup><mml:mrow><mml:mtext>Adv</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mi>T</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>b</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac><mml:mo>|</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p><bold>Definition 3.3</bold> (MTP security). The CL-BSE scheme is said MTP security for both data receiver trapdoor and data owner trapdoor, if for any PPT adversary <inline-formula id="ieqn-231"><mml:math id="mml-ieqn-231"><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow></mml:math></inline-formula>, its advantages <inline-formula id="ieqn-232"><mml:math id="mml-ieqn-232"><mml:msubsup><mml:mrow><mml:mi mathvariant="normal">A</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">v</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mi>T</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-233"><mml:math id="mml-ieqn-233"><mml:msubsup><mml:mrow><mml:mi mathvariant="normal">A</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">v</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mi>T</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> against the challenger <inline-formula id="ieqn-234"><mml:math id="mml-ieqn-234"><mml:mrow><mml:mi>&#x1D49E;</mml:mi></mml:mrow></mml:math></inline-formula> in <italic>Game 3</italic> and <italic>Game 4</italic> are negligible.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>The Proposed CL-BSE Scheme</title>
<p>In this section, we give a concrete construction as the formal definition of the CL-BSE scheme in <xref ref-type="sec" rid="s3_2">Section 3.2</xref> with a designated server, it consists of nine PPT algorithms in five phases: System initialization, Key generation, Keyword encryption, Trapdoor generation and Test.</p>
<p><bold><italic>Phase A. System Initialization</italic>.</bold></p>
<p><list list-type="bullet">
<list-item>
<p>Setup (<inline-formula id="ieqn-235"><mml:math id="mml-ieqn-235"><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>): Given the security parameter <inline-formula id="ieqn-236"><mml:math id="mml-ieqn-236"><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, SC-KGC performs the following steps:
<list list-type="simple">
<list-item><label>(1)</label><p>Select a cyclic additive group <inline-formula id="ieqn-237"><mml:math id="mml-ieqn-237"><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, a cyclic multiplicative group <inline-formula id="ieqn-238"><mml:math id="mml-ieqn-238"><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> with a large prime order <inline-formula id="ieqn-239"><mml:math id="mml-ieqn-239"><mml:mi>q</mml:mi><mml:mo>,</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>q</mml:mi><mml:mo>&#x003E;</mml:mo><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and three generators <inline-formula id="ieqn-240"><mml:math id="mml-ieqn-240"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-241"><mml:math id="mml-ieqn-241"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-242"><mml:math id="mml-ieqn-242"><mml:mi>Q</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, generate a bilinear pair <inline-formula id="ieqn-243"><mml:math id="mml-ieqn-243"><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>:</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>;</p></list-item>
<list-item><label>(2)</label><p>Pick a random number <inline-formula id="ieqn-244"><mml:math id="mml-ieqn-244"><mml:mi>s</mml:mi><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, put it as the system master key and store it secretly, then compute <inline-formula id="ieqn-245"><mml:math id="mml-ieqn-245"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>;</p></list-item>
<list-item><label>(3)</label><p>Define six different cryptographic hash functions <inline-formula id="ieqn-246"><mml:math id="mml-ieqn-246"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mn>6</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> as: <inline-formula id="ieqn-247"><mml:math id="mml-ieqn-247"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>:</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:msup><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-248"><mml:math id="mml-ieqn-248"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>:</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:msup><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-249"><mml:math id="mml-ieqn-249"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>:</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:msup><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-250"><mml:math id="mml-ieqn-250"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>:</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:msup><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>l</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, where <inline-formula id="ieqn-251"><mml:math id="mml-ieqn-251"><mml:mi>l</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi></mml:math></inline-formula> is the fixed length output, <inline-formula id="ieqn-252"><mml:math id="mml-ieqn-252"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo>:</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-253"><mml:math id="mml-ieqn-253"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo>:</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:msup><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="normal">l</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow><mml:mi>w</mml:mi><mml:mo>+</mml:mo><mml:mi>l</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, and <inline-formula id="ieqn-254"><mml:math id="mml-ieqn-254"><mml:mrow><mml:mi mathvariant="normal">l</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow><mml:mi>w</mml:mi></mml:math></inline-formula> denotes the length of <inline-formula id="ieqn-255"><mml:math id="mml-ieqn-255"><mml:mi>w</mml:mi></mml:math></inline-formula>;</p></list-item>
<list-item><label>(4)</label><p>Broadcast the public parameters <inline-formula id="ieqn-256"><mml:math id="mml-ieqn-256"><mml:mi>p</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>q</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>Q</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mn>6</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> on the blockchain.</p></list-item>
</list></p></list-item>
</list></p>
<p><bold><italic>Phase B. Key Generation</italic>.</bold></p>
<p><list list-type="bullet">
<list-item>
<p>Extract-PPK (<inline-formula id="ieqn-257"><mml:math id="mml-ieqn-257"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi></mml:math></inline-formula>): SC-KGC takes as input the public parameters <inline-formula id="ieqn-258"><mml:math id="mml-ieqn-258"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi></mml:math></inline-formula>, the master key <inline-formula id="ieqn-259"><mml:math id="mml-ieqn-259"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and the identity <inline-formula id="ieqn-260"><mml:math id="mml-ieqn-260"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>U</mml:mi><mml:mspace width="negativethinmathspace" /><mml:mo>&#x2208;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>C</mml:mi><mml:mi>S</mml:mi><mml:mo>,</mml:mo><mml:mi>D</mml:mi><mml:mi>O</mml:mi><mml:mo>,</mml:mo><mml:mi>D</mml:mi><mml:mi>R</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, then generates partial private keys for all clients as follows:
<list list-type="simple">
<list-item><label>(1)</label><p>For <italic>CS</italic>, SC-KGC selects <inline-formula id="ieqn-261"><mml:math id="mml-ieqn-261"><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> randomly, computes <inline-formula id="ieqn-262"><mml:math id="mml-ieqn-262"><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-263"><mml:math id="mml-ieqn-263"><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-264"><mml:math id="mml-ieqn-264"><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mspace width="negativethinmathspace" /><mml:mo>=</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mspace width="negativethinmathspace" /><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mi>s</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi mathvariant="normal">m</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:mrow><mml:mtext>&#xA0;</mml:mtext><mml:mi>q</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, and outputs <inline-formula id="ieqn-265"><mml:math id="mml-ieqn-265"><mml:mi>P</mml:mi><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> as its partial private key;</p></list-item>
<list-item><label>(2)</label><p>For <inline-formula id="ieqn-266"><mml:math id="mml-ieqn-266"><mml:mi>U</mml:mi><mml:mspace width="negativethinmathspace" /><mml:mo>&#x2208;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>D</mml:mi><mml:mi>O</mml:mi><mml:mo>,</mml:mo><mml:mi>D</mml:mi><mml:mi>R</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>, SC-KGC computes their partial private key as <inline-formula id="ieqn-267"><mml:math id="mml-ieqn-267"><mml:mi>P</mml:mi><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, where <inline-formula id="ieqn-268"><mml:math id="mml-ieqn-268"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-269"><mml:math id="mml-ieqn-269"><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p></list-item>
</list></p></list-item>
<list-item>
<p>Set-secret-value (<inline-formula id="ieqn-270"><mml:math id="mml-ieqn-270"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>): The client <inline-formula id="ieqn-271"><mml:math id="mml-ieqn-271"><mml:mi>U</mml:mi><mml:mspace width="negativethinmathspace" /><mml:mo>&#x2208;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>D</mml:mi><mml:mi>O</mml:mi><mml:mo>,</mml:mo><mml:mi>D</mml:mi><mml:mi>R</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> selects <inline-formula id="ieqn-272"><mml:math id="mml-ieqn-272"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> randomly and sets <inline-formula id="ieqn-273"><mml:math id="mml-ieqn-273"><mml:mi>S</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. <italic>CS</italic> selects a single random number <inline-formula id="ieqn-274"><mml:math id="mml-ieqn-274"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> and sets <inline-formula id="ieqn-275"><mml:math id="mml-ieqn-275"><mml:mi>S</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item>
<p>Set-private-key (<inline-formula id="ieqn-276"><mml:math id="mml-ieqn-276"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>): The client <inline-formula id="ieqn-277"><mml:math id="mml-ieqn-277"><mml:mi>U</mml:mi><mml:mspace width="negativethinmathspace" /><mml:mo>&#x2208;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>D</mml:mi><mml:mi>O</mml:mi><mml:mo>,</mml:mo><mml:mi>D</mml:mi><mml:mi>R</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> and <italic>CS</italic> set their own private keys as <inline-formula id="ieqn-278"><mml:math id="mml-ieqn-278"><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-279"><mml:math id="mml-ieqn-279"><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, respectively.</p></list-item>
<list-item>
<p>Set-public-key (<inline-formula id="ieqn-280"><mml:math id="mml-ieqn-280"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>): The client <inline-formula id="ieqn-281"><mml:math id="mml-ieqn-281"><mml:mi>U</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>D</mml:mi><mml:mi>O</mml:mi><mml:mo>,</mml:mo><mml:mi>D</mml:mi><mml:mi>R</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> computes <inline-formula id="ieqn-282"><mml:math id="mml-ieqn-282"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:math></inline-formula> <inline-formula id="ieqn-283"><mml:math id="mml-ieqn-283"><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mi>Q</mml:mi></mml:math></inline-formula>, and assigns its public keys as <inline-formula id="ieqn-284"><mml:math id="mml-ieqn-284"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, while <italic>CS</italic> assigns its public key as <inline-formula id="ieqn-285"><mml:math id="mml-ieqn-285"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, where <inline-formula id="ieqn-286"><mml:math id="mml-ieqn-286"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
</list></p>
<p><bold><italic>Phase C. Keywords Encryption</italic>.</bold></p>
<p><list list-type="bullet">
<list-item>
<p>CL-BSE (<inline-formula id="ieqn-287"><mml:math id="mml-ieqn-287"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mi>w</mml:mi></mml:math></inline-formula>): When <italic>DO</italic> wants to encrypt the keyword <inline-formula id="ieqn-288"><mml:math id="mml-ieqn-288"><mml:mi>w</mml:mi></mml:math></inline-formula> extracted from the encrypted emails, he/she enters the relevant parameters <inline-formula id="ieqn-289"><mml:math id="mml-ieqn-289"><mml:mi>p</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-290"><mml:math id="mml-ieqn-290"><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-291"><mml:math id="mml-ieqn-291"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-292"><mml:math id="mml-ieqn-292"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-293"><mml:math id="mml-ieqn-293"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-294"><mml:math id="mml-ieqn-294"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and performs the following steps:</p>
<list list-type="simple">
<list-item><label>(1)</label><p>Compute <inline-formula id="ieqn-295"><mml:math id="mml-ieqn-295"><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>;</mml:mo></mml:math></inline-formula></p></list-item>
<list-item><label>(2)</label><p>Compute <inline-formula id="ieqn-296"><mml:math id="mml-ieqn-296"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:mo>;</mml:mo></mml:math></inline-formula></p></list-item>
<list-item><label>(3)</label><p>Select <inline-formula id="ieqn-297"><mml:math id="mml-ieqn-297"><mml:mi>r</mml:mi><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> randomly, then compute
<disp-formula id="eqn-7"><label>(7)</label><mml:math id="mml-eqn-7" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:mi>r</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-8"><label>(8)</label><mml:math id="mml-eqn-8" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mspace width="negativethinmathspace" /><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mspace width="negativethinmathspace" /><mml:mtext>&#xA0;</mml:mtext><mml:mo>+</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:mspace width="negativethinmathspace" /><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mspace width="negativethinmathspace" /><mml:mtext>&#xA0;</mml:mtext><mml:mo>+</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:mspace width="negativethinmathspace" /><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mspace width="negativethinmathspace" /><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>r</mml:mi><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mspace width="negativethinmathspace" /><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>w</mml:mi><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-9"><label>(9)</label><mml:math id="mml-eqn-9" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:mi>r</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>;</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
   </p></list-item></list></list-item></list></p>
<list list-type="simple">
<list-item><label>(4)</label><p>Compute <inline-formula id="ieqn-298"><mml:math id="mml-ieqn-298"><mml:mi>V</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>r</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>;</p></list-item>
<list-item><label>(5)</label><p>Upload the ciphertext <inline-formula id="ieqn-299"><mml:math id="mml-ieqn-299"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>V</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> on the blockchain.</p></list-item></list>
<p>Upon receiving <inline-formula id="ieqn-300"><mml:math id="mml-ieqn-300"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>V</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> from the data owner, the blockchain verifies the owner&#x2019;s legitimacy by the equation
<disp-formula id="eqn-10"><label>(10)</label><mml:math id="mml-eqn-10" display="block"><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>V</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mover><mml:mo>=</mml:mo><mml:mo>?</mml:mo></mml:mover><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>If and only if the owner is a legal member of the system, the blockchain then stores the verified ciphertexts to the cloud server, which can effectively save storage space.</p>
<p><bold><italic>Phase D. Trapdoor Generation</italic>.</bold></p>
<p>Both <italic>DR</italic> and <italic>DO</italic> can generate their own trapdoor in the following ways:
<list list-type="bullet">
<list-item><p>Trapdoor-DR (<inline-formula id="ieqn-301"><mml:math id="mml-ieqn-301"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="negativethinmathspace" /><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:math></inline-formula>): Input parameters <inline-formula id="ieqn-302"><mml:math id="mml-ieqn-302"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-303"><mml:math id="mml-ieqn-303"><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-304"><mml:math id="mml-ieqn-304"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-305"><mml:math id="mml-ieqn-305"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, when <italic>DR</italic> searches for the files containing the keyword <inline-formula id="ieqn-306"><mml:math id="mml-ieqn-306"><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:math></inline-formula>, it performs the following operations:</p>
<list list-type="simple">
<list-item><label>(1)</label><p>Recall <inline-formula id="ieqn-307"><mml:math id="mml-ieqn-307"><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, and <inline-formula id="ieqn-308"><mml:math id="mml-ieqn-308"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo></mml:math></inline-formula> <inline-formula id="ieqn-309"><mml:math id="mml-ieqn-309"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:mo>;</mml:mo></mml:math></inline-formula></p></list-item>
<list-item><label>(2)</label><p>Select a random number <inline-formula id="ieqn-310"><mml:math id="mml-ieqn-310"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> and compute
<disp-formula id="eqn-11"><label>(11)</label><mml:math id="mml-eqn-11" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-12"><label>(12)</label><mml:math id="mml-eqn-12" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>;</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p></list-item>
<list-item><label>(3)</label><p>Output <inline-formula id="ieqn-311"><mml:math id="mml-ieqn-311"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p></list-item></list></list-item>
<list-item><p>Trapdoor-DO (<inline-formula id="ieqn-312"><mml:math id="mml-ieqn-312"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:math></inline-formula>). Different from other CL-PAEKS models, the bidirectional keyword search functionality in this paper is achieved by introducing <italic>DO</italic>&#x2019;s trapdoor generation algorithm. In fact, similar to <italic>DR</italic>&#x2019;s trapdoor generation process above, when <italic>DO</italic> retrieves the data from <italic>CS</italic>, it does not need to generate any additional variables, but simply uses its own private key <inline-formula id="ieqn-313"><mml:math id="mml-ieqn-313"><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-314"><mml:math id="mml-ieqn-314"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-315"><mml:math id="mml-ieqn-315"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> to generate the trapdoor <inline-formula id="ieqn-316"><mml:math id="mml-ieqn-316"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. That is,</p></list-item></list></p>
<p><disp-formula id="eqn-13"><label>(13)</label><mml:math id="mml-eqn-13" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-14"><label>(14)</label><mml:math id="mml-eqn-14" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p><bold><italic>Phase E. Test Process.</italic></bold></p>
<p><list list-type="bullet"><list-item><p>Test (<inline-formula id="ieqn-317"><mml:math id="mml-ieqn-317"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>): Take <inline-formula id="ieqn-318"><mml:math id="mml-ieqn-318"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-319"><mml:math id="mml-ieqn-319"><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-320"><mml:math id="mml-ieqn-320"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> or <inline-formula id="ieqn-321"><mml:math id="mml-ieqn-321"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> as input, <italic>CS</italic> verifies whether
<disp-formula id="eqn-15"><label>(15)</label><mml:math id="mml-eqn-15" display="block"><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mover><mml:mo>=</mml:mo><mml:mo>?</mml:mo></mml:mover><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></disp-formula>holds. Output &#x201C;<inline-formula id="ieqn-322"><mml:math id="mml-ieqn-322"><mml:mn>1</mml:mn></mml:math></inline-formula>&#x201D; if it holds and &#x201C;<inline-formula id="ieqn-323"><mml:math id="mml-ieqn-323"><mml:mn>0</mml:mn></mml:math></inline-formula>&#x201D; otherwise.</p></list-item></list></p>
<p>Actually, from the verification equation it can be seen that since <inline-formula id="ieqn-324"><mml:math id="mml-ieqn-324"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-325"><mml:math id="mml-ieqn-325"><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> are private keys secretly held by the cloud email server, then only the server holding the private key can verify the equation above, i.e., our scheme is a bidirectional searchable encryption scheme with secure channel free for designated server verification.</p>
<p><bold><italic>Correctness.</italic></bold></p>
<p><list list-type="simple">
<list-item><label>(1)</label><p><inline-formula id="ieqn-326"><mml:math id="mml-ieqn-326"><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>V</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mover><mml:mo>=</mml:mo><mml:mo>?</mml:mo></mml:mover><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:math></inline-formula>
<disp-formula id="ueqn-16"><mml:math id="mml-ueqn-16" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>V</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mtd><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>r</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>r</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>r</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
   </p></list-item>
<list-item><label>(2)</label><p><inline-formula id="ieqn-327"><mml:math id="mml-ieqn-327"><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mover><mml:mo>=</mml:mo><mml:mo>?</mml:mo></mml:mover><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>.</mml:mo></mml:math></inline-formula>
<disp-formula id="ueqn-17"><mml:math id="mml-ueqn-17" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>w</mml:mi><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>r</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>r</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>w</mml:mi><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>r</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>r</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>w</mml:mi><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>r</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mi>r</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>r</mml:mi><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>w</mml:mi><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>and
<disp-formula id="ueqn-18"><mml:math id="mml-ueqn-18" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>r</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>r</mml:mi><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>w</mml:mi><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>r</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>r</mml:mi><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>w</mml:mi><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>r</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>r</mml:mi><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>w</mml:mi><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p></list-item></list></p>
<p>The verification process described above demonstrates the correctness of the data owner&#x2019;s trapdoor and ciphertext test, the verification with respect to the data receiver&#x2019;s trapdoor is similar and we omit it.</p>
</sec>
<sec id="s5">
<label>5</label>
<title>Security Analysis</title>
<p>Based on the formal definition of security models in <xref ref-type="sec" rid="s3_3">Section 3.3</xref> and the CBDH hardness assumption in <xref ref-type="sec" rid="s2_3">Section 2.3</xref>, we give the security proof of our scheme in this section.</p>
<p><bold>Theorem 5.1</bold> (MCI security). In the random oracle model, our CL-BSE scheme achieves semantically MCI security against outside chosen multi-keyword attacks under the CBDH hardness assumption.</p>
<p>The proof of Theorem 5.1 can be achieved by the following two lemmas.</p>
<p><bold>Lemma 5.1.</bold> In the random oracle model, for any PPT adversary <inline-formula id="ieqn-328"><mml:math id="mml-ieqn-328"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, there is an algorithm <inline-formula id="ieqn-329"><mml:math id="mml-ieqn-329"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> that can break the CBDH assumption with advantage
<disp-formula id="eqn-16"><label>(16)</label><mml:math id="mml-eqn-16" display="block"><mml:msup><mml:mi>&#x03B5;</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>&#x2265;</mml:mo><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x03B5;</mml:mi></mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mfrac><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:math></disp-formula>if <inline-formula id="ieqn-330"><mml:math id="mml-ieqn-330"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> wins Game 1 with advantage <inline-formula id="ieqn-331"><mml:math id="mml-ieqn-331"><mml:mi>&#x03B5;</mml:mi></mml:math></inline-formula>.</p>
<p><bold>Proof.</bold> Give a bilinear pair <inline-formula id="ieqn-332"><mml:math id="mml-ieqn-332"><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>q</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and an instance of CBDH assumption <inline-formula id="ieqn-333"><mml:math id="mml-ieqn-333"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>a</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>c</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msubsup></mml:math></inline-formula>, algorithm <inline-formula id="ieqn-334"><mml:math id="mml-ieqn-334"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> calculates <inline-formula id="ieqn-335"><mml:math id="mml-ieqn-335"><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> by taking <inline-formula id="ieqn-336"><mml:math id="mml-ieqn-336"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> as a subroutine as follows:
<list list-type="bullet">
<list-item>
<p><italic>Setup</italic>. For a given security parameter <inline-formula id="ieqn-337"><mml:math id="mml-ieqn-337"><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, <inline-formula id="ieqn-338"><mml:math id="mml-ieqn-338"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> generates public parameter <inline-formula id="ieqn-339"><mml:math id="mml-ieqn-339"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>q</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>&#x03B1;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>Q</mml:mi><mml:mo>,</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mn>6</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> and system master key <inline-formula id="ieqn-340"><mml:math id="mml-ieqn-340"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>s</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> firstly, then sets <inline-formula id="ieqn-341"><mml:math id="mml-ieqn-341"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>a</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-342"><mml:math id="mml-ieqn-342"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>b</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-343"><mml:math id="mml-ieqn-343"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-344"><mml:math id="mml-ieqn-344"><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, chooses <inline-formula id="ieqn-345"><mml:math id="mml-ieqn-345"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>I</mml:mi><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> randomly as the challenge identity. Finally, it only responds <inline-formula id="ieqn-346"><mml:math id="mml-ieqn-346"><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> to <inline-formula id="ieqn-347"><mml:math id="mml-ieqn-347"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, and keeps <inline-formula id="ieqn-348"><mml:math id="mml-ieqn-348"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> secretly.</p></list-item>
<list-item>
<p><italic>Phase 1</italic>. <inline-formula id="ieqn-349"><mml:math id="mml-ieqn-349"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> preforms a series of queries with polynomially many times adaptively, they are</p></list-item>
</list></p>
<list list-type="simple">
<list-item><label>&#x2013;</label><p><italic><inline-formula id="ieqn-350"><mml:math id="mml-ieqn-350"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>-query</italic>. <inline-formula id="ieqn-351"><mml:math id="mml-ieqn-351"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> maintains a list <inline-formula id="ieqn-352"><mml:math id="mml-ieqn-352"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> to respond <inline-formula id="ieqn-353"><mml:math id="mml-ieqn-353"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>-query. For any <inline-formula id="ieqn-354"><mml:math id="mml-ieqn-354"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> submitted by <inline-formula id="ieqn-355"><mml:math id="mml-ieqn-355"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-356"><mml:math id="mml-ieqn-356"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> first checks whether the <inline-formula id="ieqn-357"><mml:math id="mml-ieqn-357"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> already exists on <inline-formula id="ieqn-358"><mml:math id="mml-ieqn-358"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> in a tuples <inline-formula id="ieqn-359"><mml:math id="mml-ieqn-359"><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo></mml:math></inline-formula>, outputs corresponding <inline-formula id="ieqn-360"><mml:math id="mml-ieqn-360"><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> if so, otherwise selects <inline-formula id="ieqn-361"><mml:math id="mml-ieqn-361"><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> randomly, outputs <inline-formula id="ieqn-362"><mml:math id="mml-ieqn-362"><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, and adds <inline-formula id="ieqn-363"><mml:math id="mml-ieqn-363"><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo></mml:math></inline-formula> to <inline-formula id="ieqn-364"><mml:math id="mml-ieqn-364"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2013;</label><p><italic><inline-formula id="ieqn-365"><mml:math id="mml-ieqn-365"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>-query</italic>. <inline-formula id="ieqn-366"><mml:math id="mml-ieqn-366"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> maintains a list <inline-formula id="ieqn-367"><mml:math id="mml-ieqn-367"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> to respond <inline-formula id="ieqn-368"><mml:math id="mml-ieqn-368"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>-query. For any <inline-formula id="ieqn-369"><mml:math id="mml-ieqn-369"><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:msup><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> submitted by <inline-formula id="ieqn-370"><mml:math id="mml-ieqn-370"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-371"><mml:math id="mml-ieqn-371"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> checks whether <inline-formula id="ieqn-372"><mml:math id="mml-ieqn-372"><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> already exists on <inline-formula id="ieqn-373"><mml:math id="mml-ieqn-373"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> in a tuples <inline-formula id="ieqn-374"><mml:math id="mml-ieqn-374"><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo></mml:math></inline-formula> firstly, outputs corresponding <inline-formula id="ieqn-375"><mml:math id="mml-ieqn-375"><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> if so, otherwise selects and outputs <inline-formula id="ieqn-376"><mml:math id="mml-ieqn-376"><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> randomly, and adds <inline-formula id="ieqn-377"><mml:math id="mml-ieqn-377"><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo></mml:math></inline-formula> to <inline-formula id="ieqn-378"><mml:math id="mml-ieqn-378"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> at the same time.</p></list-item>
<list-item><label>&#x2013;</label><p><italic><inline-formula id="ieqn-379"><mml:math id="mml-ieqn-379"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>-query</italic>. <inline-formula id="ieqn-380"><mml:math id="mml-ieqn-380"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> maintains a list <inline-formula id="ieqn-381"><mml:math id="mml-ieqn-381"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> to respond <inline-formula id="ieqn-382"><mml:math id="mml-ieqn-382"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>-query. For any <inline-formula id="ieqn-383"><mml:math id="mml-ieqn-383"><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> submitted by <inline-formula id="ieqn-384"><mml:math id="mml-ieqn-384"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-385"><mml:math id="mml-ieqn-385"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> first checks whether the tuples including <inline-formula id="ieqn-386"><mml:math id="mml-ieqn-386"><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> already exists on <inline-formula id="ieqn-387"><mml:math id="mml-ieqn-387"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, outputs corresponding <inline-formula id="ieqn-388"><mml:math id="mml-ieqn-388"><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> if so, otherwise selects and outputs <inline-formula id="ieqn-389"><mml:math id="mml-ieqn-389"><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> randomly, and adds <inline-formula id="ieqn-390"><mml:math id="mml-ieqn-390"><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo></mml:math></inline-formula> to <inline-formula id="ieqn-391"><mml:math id="mml-ieqn-391"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> at the same time.</p></list-item>
<list-item><label>&#x2013;</label><p><italic><inline-formula id="ieqn-392"><mml:math id="mml-ieqn-392"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>-query</italic>. <inline-formula id="ieqn-393"><mml:math id="mml-ieqn-393"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> maintains a list <inline-formula id="ieqn-394"><mml:math id="mml-ieqn-394"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> to respond <inline-formula id="ieqn-395"><mml:math id="mml-ieqn-395"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>-query. For any <inline-formula id="ieqn-396"><mml:math id="mml-ieqn-396"><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> submitted by <inline-formula id="ieqn-397"><mml:math id="mml-ieqn-397"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-398"><mml:math id="mml-ieqn-398"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> first checks whether the <inline-formula id="ieqn-399"><mml:math id="mml-ieqn-399"><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> already exists on <inline-formula id="ieqn-400"><mml:math id="mml-ieqn-400"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> in a tuples <inline-formula id="ieqn-401"><mml:math id="mml-ieqn-401"><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo></mml:math></inline-formula>, outputs <inline-formula id="ieqn-402"><mml:math id="mml-ieqn-402"><mml:msub><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> if so, otherwise selects <inline-formula id="ieqn-403"><mml:math id="mml-ieqn-403"><mml:msub><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> randomly and outputs it, then add <inline-formula id="ieqn-404"><mml:math id="mml-ieqn-404"><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo></mml:math></inline-formula> to <inline-formula id="ieqn-405"><mml:math id="mml-ieqn-405"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2013;</label><p><italic><inline-formula id="ieqn-406"><mml:math id="mml-ieqn-406"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>-query</italic>. <inline-formula id="ieqn-407"><mml:math id="mml-ieqn-407"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> maintains a list <inline-formula id="ieqn-408"><mml:math id="mml-ieqn-408"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> to respond <inline-formula id="ieqn-409"><mml:math id="mml-ieqn-409"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>-query. For any <inline-formula id="ieqn-410"><mml:math id="mml-ieqn-410"><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> submitted by <inline-formula id="ieqn-411"><mml:math id="mml-ieqn-411"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-412"><mml:math id="mml-ieqn-412"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> first checks whether the <inline-formula id="ieqn-413"><mml:math id="mml-ieqn-413"><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> already exists on <inline-formula id="ieqn-414"><mml:math id="mml-ieqn-414"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> in a tuples <inline-formula id="ieqn-415"><mml:math id="mml-ieqn-415"><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo></mml:math></inline-formula>, outputs <inline-formula id="ieqn-416"><mml:math id="mml-ieqn-416"><mml:msub><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> if so, otherwise selects <inline-formula id="ieqn-417"><mml:math id="mml-ieqn-417"><mml:msub><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> randomly and outputs it, then adds <inline-formula id="ieqn-418"><mml:math id="mml-ieqn-418"><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo></mml:math></inline-formula> to <inline-formula id="ieqn-419"><mml:math id="mml-ieqn-419"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2013;</label><p><italic><inline-formula id="ieqn-420"><mml:math id="mml-ieqn-420"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>-query</italic>. <inline-formula id="ieqn-421"><mml:math id="mml-ieqn-421"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> maintains a list <inline-formula id="ieqn-422"><mml:math id="mml-ieqn-422"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> to respond <inline-formula id="ieqn-423"><mml:math id="mml-ieqn-423"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>-query, where <inline-formula id="ieqn-424"><mml:math id="mml-ieqn-424"><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:msub><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:msup><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula>, <inline-formula id="ieqn-425"><mml:math id="mml-ieqn-425"><mml:msub><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>. For any <inline-formula id="ieqn-426"><mml:math id="mml-ieqn-426"><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> submitted by <inline-formula id="ieqn-427"><mml:math id="mml-ieqn-427"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-428"><mml:math id="mml-ieqn-428"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> first checks whether the <inline-formula id="ieqn-429"><mml:math id="mml-ieqn-429"><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> already exists on <inline-formula id="ieqn-430"><mml:math id="mml-ieqn-430"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> in a tuples <inline-formula id="ieqn-431"><mml:math id="mml-ieqn-431"><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo></mml:math></inline-formula>, outputs <inline-formula id="ieqn-432"><mml:math id="mml-ieqn-432"><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> if so, otherwise selects <inline-formula id="ieqn-433"><mml:math id="mml-ieqn-433"><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> randomly and outputs it, then adds <inline-formula id="ieqn-434"><mml:math id="mml-ieqn-434"><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo></mml:math></inline-formula> to <inline-formula id="ieqn-435"><mml:math id="mml-ieqn-435"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2013;</label><p><italic>Extract-PPK query</italic>. <inline-formula id="ieqn-436"><mml:math id="mml-ieqn-436"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> maintains a list <inline-formula id="ieqn-437"><mml:math id="mml-ieqn-437"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> to respond <inline-formula id="ieqn-438"><mml:math id="mml-ieqn-438"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> for the partial private key of <inline-formula id="ieqn-439"><mml:math id="mml-ieqn-439"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. It performs <italic><inline-formula id="ieqn-440"><mml:math id="mml-ieqn-440"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>-query</italic> and gets <inline-formula id="ieqn-441"><mml:math id="mml-ieqn-441"><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo></mml:math></inline-formula> first and adds them to <inline-formula id="ieqn-442"><mml:math id="mml-ieqn-442"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>. If <inline-formula id="ieqn-443"><mml:math id="mml-ieqn-443"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2260;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, then <inline-formula id="ieqn-444"><mml:math id="mml-ieqn-444"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> computes <inline-formula id="ieqn-445"><mml:math id="mml-ieqn-445"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and outputs <inline-formula id="ieqn-446"><mml:math id="mml-ieqn-446"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, and adds <inline-formula id="ieqn-447"><mml:math id="mml-ieqn-447"><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo></mml:math></inline-formula> into <inline-formula id="ieqn-448"><mml:math id="mml-ieqn-448"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, otherwise aborts the query and denotes the event as <inline-formula id="ieqn-449"><mml:math id="mml-ieqn-449"><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2013;</label><p><italic>Request-public-key query</italic>. <inline-formula id="ieqn-450"><mml:math id="mml-ieqn-450"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> maintains a list <inline-formula id="ieqn-451"><mml:math id="mml-ieqn-451"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> to respond <inline-formula id="ieqn-452"><mml:math id="mml-ieqn-452"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> for the public key of <inline-formula id="ieqn-453"><mml:math id="mml-ieqn-453"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. It first checks whether <inline-formula id="ieqn-454"><mml:math id="mml-ieqn-454"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> already exists on <inline-formula id="ieqn-455"><mml:math id="mml-ieqn-455"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, retrieves <inline-formula id="ieqn-456"><mml:math id="mml-ieqn-456"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> if so, otherwise selects two random numbers <inline-formula id="ieqn-457"><mml:math id="mml-ieqn-457"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, computes <inline-formula id="ieqn-458"><mml:math id="mml-ieqn-458"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-459"><mml:math id="mml-ieqn-459"><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, and outputs <inline-formula id="ieqn-460"><mml:math id="mml-ieqn-460"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, meanwhile, adds <inline-formula id="ieqn-461"><mml:math id="mml-ieqn-461"><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo></mml:math></inline-formula> into <inline-formula id="ieqn-462"><mml:math id="mml-ieqn-462"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2013;</label><p><italic>Replace-public-key query</italic>. When <inline-formula id="ieqn-463"><mml:math id="mml-ieqn-463"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> receives a new public key <inline-formula id="ieqn-464"><mml:math id="mml-ieqn-464"><mml:mi>P</mml:mi><mml:msubsup><mml:mi>K</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> of identity <inline-formula id="ieqn-465"><mml:math id="mml-ieqn-465"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> queried by <inline-formula id="ieqn-466"><mml:math id="mml-ieqn-466"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, it updates the original tuple <inline-formula id="ieqn-467"><mml:math id="mml-ieqn-467"><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo></mml:math></inline-formula> in <inline-formula id="ieqn-468"><mml:math id="mml-ieqn-468"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> with <inline-formula id="ieqn-469"><mml:math id="mml-ieqn-469"><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x22A5;</mml:mo><mml:mo>,</mml:mo><mml:mo>&#x22A5;</mml:mo><mml:mo>,</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2013;</label><p><italic>Extract-private-key query</italic>. When the identity <inline-formula id="ieqn-470"><mml:math id="mml-ieqn-470"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is queried by <inline-formula id="ieqn-471"><mml:math id="mml-ieqn-471"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-472"><mml:math id="mml-ieqn-472"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> checks whether <inline-formula id="ieqn-473"><mml:math id="mml-ieqn-473"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> first. If <inline-formula id="ieqn-474"><mml:math id="mml-ieqn-474"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2260;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, then it performs as follows, if <inline-formula id="ieqn-475"><mml:math id="mml-ieqn-475"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> already exists on <inline-formula id="ieqn-476"><mml:math id="mml-ieqn-476"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-477"><mml:math id="mml-ieqn-477"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> in their tuples <inline-formula id="ieqn-478"><mml:math id="mml-ieqn-478"><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-479"><mml:math id="mml-ieqn-479"><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo></mml:math></inline-formula> respectively, then <inline-formula id="ieqn-480"><mml:math id="mml-ieqn-480"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> retrieves <inline-formula id="ieqn-481"><mml:math id="mml-ieqn-481"><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and responds to <inline-formula id="ieqn-482"><mml:math id="mml-ieqn-482"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, otherwise performs <italic>Extract-PPK query</italic> and <italic>Request-public-key query</italic> with <inline-formula id="ieqn-483"><mml:math id="mml-ieqn-483"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and retrieves corresponding <inline-formula id="ieqn-484"><mml:math id="mml-ieqn-484"><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. If <inline-formula id="ieqn-485"><mml:math id="mml-ieqn-485"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, then it aborts and denotes this event as <inline-formula id="ieqn-486"><mml:math id="mml-ieqn-486"><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2013;</label><p><italic>Ciphertext query</italic>. Upon <inline-formula id="ieqn-487"><mml:math id="mml-ieqn-487"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> receiving a query <inline-formula id="ieqn-488"><mml:math id="mml-ieqn-488"><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> about ciphertext. If <inline-formula id="ieqn-489"><mml:math id="mml-ieqn-489"><mml:mi>I</mml:mi><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>&#x2260;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, then it selects <inline-formula id="ieqn-490"><mml:math id="mml-ieqn-490"><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> randomly, extracts the corresponding value from the above lists, and computes</p>
<p><disp-formula id="eqn-17"><label>(17)</label><mml:math id="mml-eqn-17" display="block"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:math></disp-formula>
<disp-formula id="eqn-18"><label>(18)</label><mml:math id="mml-eqn-18" display="block"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msup><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:math></disp-formula>
<disp-formula id="eqn-19"><label>(19)</label><mml:math id="mml-eqn-19" display="block"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:math></disp-formula>
<disp-formula id="eqn-20"><label>(20)</label><mml:math id="mml-eqn-20" display="block"><mml:msup><mml:mi>V</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:msubsup><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>Otherwise <inline-formula id="ieqn-491"><mml:math id="mml-ieqn-491"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> aborts and denotes it as <inline-formula id="ieqn-492"><mml:math id="mml-ieqn-492"><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. Finally, it outputs <inline-formula id="ieqn-493"><mml:math id="mml-ieqn-493"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msup><mml:mi>V</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> to <inline-formula id="ieqn-494"><mml:math id="mml-ieqn-494"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
</list-item>
<list-item><label>&#x2013;</label><p><italic>Trapdoor query</italic>. No matter the trapdoor is queried to be generated by the data receiver or the data owner. <inline-formula id="ieqn-495"><mml:math id="mml-ieqn-495"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> performs the following steps. Upon receiving a query <inline-formula id="ieqn-496"><mml:math id="mml-ieqn-496"><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> for a trapdoor, it aborts and denotes it as <inline-formula id="ieqn-497"><mml:math id="mml-ieqn-497"><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> if and only if <inline-formula id="ieqn-498"><mml:math id="mml-ieqn-498"><mml:mi>I</mml:mi><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. Otherwise <inline-formula id="ieqn-499"><mml:math id="mml-ieqn-499"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> selects <inline-formula id="ieqn-500"><mml:math id="mml-ieqn-500"><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> randomly, extracts the corresponding value from the above lists, and computes</p>
<p><disp-formula id="eqn-21"><label>(21)</label><mml:math id="mml-eqn-21" display="block"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo></mml:math></disp-formula>
<disp-formula id="eqn-22"><label>(22)</label><mml:math id="mml-eqn-22" display="block"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>.</mml:mo></mml:math></disp-formula>Finally, it outputs <inline-formula id="ieqn-501"><mml:math id="mml-ieqn-501"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> to <inline-formula id="ieqn-502"><mml:math id="mml-ieqn-502"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2022;</label><p><italic>Challenge</italic>. After <inline-formula id="ieqn-503"><mml:math id="mml-ieqn-503"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> finished <italic>Phase 1</italic> queries, it selects <inline-formula id="ieqn-504"><mml:math id="mml-ieqn-504"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-505"><mml:math id="mml-ieqn-505"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> not be queried in <italic>Phase 1</italic> as the challenge keywords sets and the challenge identity <inline-formula id="ieqn-506"><mml:math id="mml-ieqn-506"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, then sends them to <inline-formula id="ieqn-507"><mml:math id="mml-ieqn-507"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-508"><mml:math id="mml-ieqn-508"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> checks whether <inline-formula id="ieqn-509"><mml:math id="mml-ieqn-509"><mml:mi>I</mml:mi><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, if not, <inline-formula id="ieqn-510"><mml:math id="mml-ieqn-510"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> aborts and denotes it as <inline-formula id="ieqn-511"><mml:math id="mml-ieqn-511"><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, and gives a random bit <inline-formula id="ieqn-512"><mml:math id="mml-ieqn-512"><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:math></inline-formula> as a guess of <inline-formula id="ieqn-513"><mml:math id="mml-ieqn-513"><mml:mi>b</mml:mi></mml:math></inline-formula>. Otherwise, it first chooses a random bit <inline-formula id="ieqn-514"><mml:math id="mml-ieqn-514"><mml:mi>b</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> and a random number <inline-formula id="ieqn-515"><mml:math id="mml-ieqn-515"><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, computes <inline-formula id="ieqn-516"><mml:math id="mml-ieqn-516"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-517"><mml:math id="mml-ieqn-517"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:msup></mml:math></inline-formula>, <inline-formula id="ieqn-518"><mml:math id="mml-ieqn-518"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mi>c</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-519"><mml:math id="mml-ieqn-519"><mml:msup><mml:mi>V</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. Finally, it responds <inline-formula id="ieqn-520"><mml:math id="mml-ieqn-520"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> with <inline-formula id="ieqn-521"><mml:math id="mml-ieqn-521"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msup><mml:mi>V</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2022;</label>
<p><italic>Phase 2</italic>. As in <italic>Phase 1</italic>, <inline-formula id="ieqn-522"><mml:math id="mml-ieqn-522"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> can make a series of queries for polynomial times and it can not make ciphertext query and two trapdoor queries on any keyword in <inline-formula id="ieqn-523"><mml:math id="mml-ieqn-523"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula id="ieqn-524"><mml:math id="mml-ieqn-524"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>. Denote this event as <inline-formula id="ieqn-525"><mml:math id="mml-ieqn-525"><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2022;</label>
<p><italic>Guess</italic>. Finally, <inline-formula id="ieqn-526"><mml:math id="mml-ieqn-526"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> outputs its guess <inline-formula id="ieqn-527"><mml:math id="mml-ieqn-527"><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> on <inline-formula id="ieqn-528"><mml:math id="mml-ieqn-528"><mml:mi>b</mml:mi></mml:math></inline-formula>, and <inline-formula id="ieqn-529"><mml:math id="mml-ieqn-529"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> chooses <inline-formula id="ieqn-530"><mml:math id="mml-ieqn-530"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi>V</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> to compute <inline-formula id="ieqn-531"><mml:math id="mml-ieqn-531"><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow></mml:msup></mml:math></inline-formula>. If <inline-formula id="ieqn-532"><mml:math id="mml-ieqn-532"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is correct, then no matter <inline-formula id="ieqn-533"><mml:math id="mml-ieqn-533"><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> or <inline-formula id="ieqn-534"><mml:math id="mml-ieqn-534"><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>, it can compute <inline-formula id="ieqn-535"><mml:math id="mml-ieqn-535"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:msup></mml:math></inline-formula>. Furthermore, for unknown <inline-formula id="ieqn-536"><mml:math id="mml-ieqn-536"><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mi>c</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, we set <inline-formula id="ieqn-537"><mml:math id="mml-ieqn-537"><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>a</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-538"><mml:math id="mml-ieqn-538"><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>b</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, and <inline-formula id="ieqn-539"><mml:math id="mml-ieqn-539"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mi>c</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-540"><mml:math id="mml-ieqn-540"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> can compute <inline-formula id="ieqn-541"><mml:math id="mml-ieqn-541"><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> as
<disp-formula id="eqn-23"><label>(23)</label><mml:math id="mml-eqn-23" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow></mml:msup></mml:mtd><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mi>c</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mi>c</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
</list-item></list>
<p>Now, suppose <inline-formula id="ieqn-542"><mml:math id="mml-ieqn-542"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> can break the CBDH assumption with advantage <inline-formula id="ieqn-543"><mml:math id="mml-ieqn-543"><mml:msup><mml:mi>&#x03B5;</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:math></inline-formula>, <inline-formula id="ieqn-544"><mml:math id="mml-ieqn-544"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> can make at most <inline-formula id="ieqn-545"><mml:math id="mml-ieqn-545"><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-546"><mml:math id="mml-ieqn-546"><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-547"><mml:math id="mml-ieqn-547"><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-548"><mml:math id="mml-ieqn-548"><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-549"><mml:math id="mml-ieqn-549"><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> times queries to <inline-formula id="ieqn-550"><mml:math id="mml-ieqn-550"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>-query, Extract-PPK query, Request-public-key query, Ciphertext query and Trapdoor query, respectively, then
<disp-formula id="eqn-24"><label>(24)</label><mml:math id="mml-eqn-24" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2227;</mml:mo><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2227;</mml:mo><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2227;</mml:mo><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2227;</mml:mo><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msup><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msup><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msup><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msup><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mfrac></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msup><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mfrac><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>Since
<disp-formula id="eqn-25"><label>(25)</label><mml:math id="mml-eqn-25" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo stretchy="false">]</mml:mo></mml:mtd><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mo>+</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mo>+</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mo>+</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac><mml:mo>+</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>and
<disp-formula id="eqn-26"><label>(26)</label><mml:math id="mml-eqn-26" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo stretchy="false">]</mml:mo><mml:mo>&#x2265;</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>we have <inline-formula id="ieqn-551"><mml:math id="mml-ieqn-551"><mml:mrow><mml:mi mathvariant="normal">P</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mo>&#x2265;</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x03B5;</mml:mi></mml:math></inline-formula>. Combing with <xref ref-type="disp-formula" rid="eqn-24">(24)</xref>, we get <xref ref-type="disp-formula" rid="eqn-16">Eq. (16)</xref> and the lemma is proved.</p>
<p><bold>Lemma 5.2.</bold> In the random oracle model, for any PPT adversary <inline-formula id="ieqn-552"><mml:math id="mml-ieqn-552"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, there is an algorithm <inline-formula id="ieqn-553"><mml:math id="mml-ieqn-553"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> that can break the CBDH assumption with advantage
<disp-formula id="eqn-27"><label>(27)</label><mml:math id="mml-eqn-27" display="block"><mml:msup><mml:mi>&#x03B5;</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>&#x2265;</mml:mo><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x03B5;</mml:mi></mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mfrac><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:math></disp-formula>if <inline-formula id="ieqn-554"><mml:math id="mml-ieqn-554"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> wins Game 2 with advantage <inline-formula id="ieqn-555"><mml:math id="mml-ieqn-555"><mml:mi>&#x03B5;</mml:mi></mml:math></inline-formula>.</p>
<p><bold>Proof.</bold> Similar with Lemma 5.1, given an instance of the CBDH assumption <inline-formula id="ieqn-556"><mml:math id="mml-ieqn-556"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>a</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>c</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-557"><mml:math id="mml-ieqn-557"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> calculates the value <inline-formula id="ieqn-558"><mml:math id="mml-ieqn-558"><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> by taking <inline-formula id="ieqn-559"><mml:math id="mml-ieqn-559"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> as a subroutine as follows:
<list list-type="simple">
<list-item><label>&#x2022;</label><p><italic>Setup</italic>. <inline-formula id="ieqn-560"><mml:math id="mml-ieqn-560"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> generates <inline-formula id="ieqn-561"><mml:math id="mml-ieqn-561"><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo>,</mml:mo><mml:mi>q</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>&#x03B1;</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>Q</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mn>6</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-562"><mml:math id="mml-ieqn-562"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>s</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, sets <inline-formula id="ieqn-563"><mml:math id="mml-ieqn-563"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>a</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-564"><mml:math id="mml-ieqn-564"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>b</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-565"><mml:math id="mml-ieqn-565"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-566"><mml:math id="mml-ieqn-566"><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, and chooses <inline-formula id="ieqn-567"><mml:math id="mml-ieqn-567"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>I</mml:mi><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> randomly as the challenge identity. Finally, it responds both <inline-formula id="ieqn-568"><mml:math id="mml-ieqn-568"><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-569"><mml:math id="mml-ieqn-569"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>s</mml:mi></mml:math></inline-formula> to <inline-formula id="ieqn-570"><mml:math id="mml-ieqn-570"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2022;</label><p><italic>Phase 1</italic>. <inline-formula id="ieqn-571"><mml:math id="mml-ieqn-571"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> preforms a series of queries with polynomially many times adaptively, they are</p></list-item>
<list-item><label>&#x2013;</label><p><italic>Hash queries</italic>. <inline-formula id="ieqn-572"><mml:math id="mml-ieqn-572"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> can query <inline-formula id="ieqn-573"><mml:math id="mml-ieqn-573"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mn>6</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> random oracles. <inline-formula id="ieqn-574"><mml:math id="mml-ieqn-574"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> responds them as same as Lemma 5.1.</p></list-item>
<list-item><label>&#x2013;</label><p><italic>Request-public-key query</italic>. <inline-formula id="ieqn-575"><mml:math id="mml-ieqn-575"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> maintains a list <inline-formula id="ieqn-576"><mml:math id="mml-ieqn-576"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> to respond <inline-formula id="ieqn-577"><mml:math id="mml-ieqn-577"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> for the public key of <inline-formula id="ieqn-578"><mml:math id="mml-ieqn-578"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. The interaction is the same as <italic>Phase 1</italic> in Lemma 5.1.</p></list-item>
<list-item><label>&#x2013;</label><p><italic>Extract-private-key query</italic>. When the identity <inline-formula id="ieqn-579"><mml:math id="mml-ieqn-579"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is queried by <inline-formula id="ieqn-580"><mml:math id="mml-ieqn-580"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-581"><mml:math id="mml-ieqn-581"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> first checks whether <inline-formula id="ieqn-582"><mml:math id="mml-ieqn-582"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. If not, it performs as follows: if <inline-formula id="ieqn-583"><mml:math id="mml-ieqn-583"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> already exists on <inline-formula id="ieqn-584"><mml:math id="mml-ieqn-584"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-585"><mml:math id="mml-ieqn-585"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> in the corresponding tuples <inline-formula id="ieqn-586"><mml:math id="mml-ieqn-586"><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-587"><mml:math id="mml-ieqn-587"><mml:mo fence="false" stretchy="false">&#x27E8;</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">&#x27E9;</mml:mo></mml:math></inline-formula>, then <inline-formula id="ieqn-588"><mml:math id="mml-ieqn-588"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> responds to <inline-formula id="ieqn-589"><mml:math id="mml-ieqn-589"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> as <inline-formula id="ieqn-590"><mml:math id="mml-ieqn-590"><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, otherwise performs <italic><inline-formula id="ieqn-591"><mml:math id="mml-ieqn-591"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> query</italic> and <italic>Request-public-key query</italic> with <inline-formula id="ieqn-592"><mml:math id="mml-ieqn-592"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and retrieves the corresponding <inline-formula id="ieqn-593"><mml:math id="mml-ieqn-593"><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. If <inline-formula id="ieqn-594"><mml:math id="mml-ieqn-594"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, it aborts and denotes this event as <inline-formula id="ieqn-595"><mml:math id="mml-ieqn-595"><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2013;</label><p><italic>Ciphertext query</italic>. Upon <inline-formula id="ieqn-596"><mml:math id="mml-ieqn-596"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> receiving a ciphertext query about <inline-formula id="ieqn-597"><mml:math id="mml-ieqn-597"><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. It first checks whether <inline-formula id="ieqn-598"><mml:math id="mml-ieqn-598"><mml:mi>I</mml:mi><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, if not, selects <inline-formula id="ieqn-599"><mml:math id="mml-ieqn-599"><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> randomly, extracts the corresponding value and computes</p>
<p><disp-formula id="eqn-28"><label>(28)</label><mml:math id="mml-eqn-28" display="block"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:math></disp-formula>
<disp-formula id="eqn-29"><label>(29)</label><mml:math id="mml-eqn-29" display="block"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msup><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:math></disp-formula>
<disp-formula id="eqn-30"><label>(30)</label><mml:math id="mml-eqn-30" display="block"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:math></disp-formula>
<disp-formula id="eqn-31"><label>(31)</label><mml:math id="mml-eqn-31" display="block"><mml:msup><mml:mi>V</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>s</mml:mi><mml:msubsup><mml:mi>Q</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:msubsup><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo></mml:math></disp-formula>where <inline-formula id="ieqn-600"><mml:math id="mml-ieqn-600"><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Q</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>Q</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. Otherwise aborts and denotes the event as <inline-formula id="ieqn-601"><mml:math id="mml-ieqn-601"><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. Finally, it outputs <inline-formula id="ieqn-602"><mml:math id="mml-ieqn-602"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msup><mml:mi>V</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p>
</list-item>
<list-item><label>&#x2013;</label><p><italic>Trapdoor query</italic>. No matter <inline-formula id="ieqn-603"><mml:math id="mml-ieqn-603"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> makes a data receiver or a data owner trapdoor query. <inline-formula id="ieqn-604"><mml:math id="mml-ieqn-604"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> performs the follows steps. Upon receiving <inline-formula id="ieqn-605"><mml:math id="mml-ieqn-605"><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, <inline-formula id="ieqn-606"><mml:math id="mml-ieqn-606"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> aborts and denote this event as <inline-formula id="ieqn-607"><mml:math id="mml-ieqn-607"><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> if and only if <inline-formula id="ieqn-608"><mml:math id="mml-ieqn-608"><mml:mi>I</mml:mi><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. Otherwise it selects <inline-formula id="ieqn-609"><mml:math id="mml-ieqn-609"><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> randomly, extracts the corresponding value and computes</p>
<p><disp-formula id="eqn-32"><label>(32)</label><mml:math id="mml-eqn-32" display="block"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo></mml:math></disp-formula>
<disp-formula id="eqn-33"><label>(33)</label><mml:math id="mml-eqn-33" display="block"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo></mml:math></disp-formula>where <inline-formula id="ieqn-610"><mml:math id="mml-ieqn-610"><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Q</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>Q</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. Finally, it outputs <inline-formula id="ieqn-611"><mml:math id="mml-ieqn-611"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> to <inline-formula id="ieqn-612"><mml:math id="mml-ieqn-612"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2022;</label><p><italic>Challenge</italic>. After <inline-formula id="ieqn-613"><mml:math id="mml-ieqn-613"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> finished the <italic>Phase 1</italic> queries, it selects <inline-formula id="ieqn-614"><mml:math id="mml-ieqn-614"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-615"><mml:math id="mml-ieqn-615"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> as the challenge keywords sets not be queried before, and sends them to <inline-formula id="ieqn-616"><mml:math id="mml-ieqn-616"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> with the challenge identity <inline-formula id="ieqn-617"><mml:math id="mml-ieqn-617"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. <inline-formula id="ieqn-618"><mml:math id="mml-ieqn-618"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> checks whether <inline-formula id="ieqn-619"><mml:math id="mml-ieqn-619"><mml:mi>I</mml:mi><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, if not, it aborts and denotes this event as <inline-formula id="ieqn-620"><mml:math id="mml-ieqn-620"><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, then gives a random bits <inline-formula id="ieqn-621"><mml:math id="mml-ieqn-621"><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:math></inline-formula> as guess of <inline-formula id="ieqn-622"><mml:math id="mml-ieqn-622"><mml:mi>b</mml:mi></mml:math></inline-formula>. Otherwise chooses a random bit <inline-formula id="ieqn-623"><mml:math id="mml-ieqn-623"><mml:mi>b</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> and computes ciphertext <inline-formula id="ieqn-624"><mml:math id="mml-ieqn-624"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msup><mml:mi>V</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> as follows. First, pick a random number <inline-formula id="ieqn-625"><mml:math id="mml-ieqn-625"><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, compute <inline-formula id="ieqn-626"><mml:math id="mml-ieqn-626"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mi>c</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-627"><mml:math id="mml-ieqn-627"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:msup></mml:math></inline-formula>, <inline-formula id="ieqn-628"><mml:math id="mml-ieqn-628"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-629"><mml:math id="mml-ieqn-629"><mml:msup><mml:mi>V</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. Finally, respond <inline-formula id="ieqn-630"><mml:math id="mml-ieqn-630"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> to <inline-formula id="ieqn-631"><mml:math id="mml-ieqn-631"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2022;</label><p><italic>Phase 2</italic>. This phase is same as <italic>Game 2</italic>, <inline-formula id="ieqn-632"><mml:math id="mml-ieqn-632"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is not allowed to make ciphertext query and two trapdoor queries on <inline-formula id="ieqn-633"><mml:math id="mml-ieqn-633"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula id="ieqn-634"><mml:math id="mml-ieqn-634"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>. Denote this event as <inline-formula id="ieqn-635"><mml:math id="mml-ieqn-635"><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2022;</label><p><italic>Guess</italic>. Finally, <inline-formula id="ieqn-636"><mml:math id="mml-ieqn-636"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> outputs its guess <inline-formula id="ieqn-637"><mml:math id="mml-ieqn-637"><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> on <inline-formula id="ieqn-638"><mml:math id="mml-ieqn-638"><mml:mi>b</mml:mi></mml:math></inline-formula>, meanwhile, <inline-formula id="ieqn-639"><mml:math id="mml-ieqn-639"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> retrieves <inline-formula id="ieqn-640"><mml:math id="mml-ieqn-640"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msup><mml:mi>V</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and computes <inline-formula id="ieqn-641"><mml:math id="mml-ieqn-641"><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow></mml:msup></mml:math></inline-formula>. If <inline-formula id="ieqn-642"><mml:math id="mml-ieqn-642"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is correct, then no matter <inline-formula id="ieqn-643"><mml:math id="mml-ieqn-643"><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> or <inline-formula id="ieqn-644"><mml:math id="mml-ieqn-644"><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>, it can compute <inline-formula id="ieqn-645"><mml:math id="mml-ieqn-645"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:msup></mml:math></inline-formula>. Furthermore, for unknown <inline-formula id="ieqn-646"><mml:math id="mml-ieqn-646"><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mi>c</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, we set <inline-formula id="ieqn-647"><mml:math id="mml-ieqn-647"><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>a</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-648"><mml:math id="mml-ieqn-648"><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>b</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-649"><mml:math id="mml-ieqn-649"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>c</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-650"><mml:math id="mml-ieqn-650"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> can compute <inline-formula id="ieqn-651"><mml:math id="mml-ieqn-651"><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> as
<disp-formula id="eqn-34"><label>(34)</label><mml:math id="mml-eqn-34" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow></mml:msup></mml:mtd><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mi>c</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mi>c</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
</list-item>
</list></p>
<p>Now, suppose <inline-formula id="ieqn-652"><mml:math id="mml-ieqn-652"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> breaks the CBDH assumption with advantage <inline-formula id="ieqn-653"><mml:math id="mml-ieqn-653"><mml:msup><mml:mi>&#x03B5;</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:math></inline-formula>, <inline-formula id="ieqn-654"><mml:math id="mml-ieqn-654"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> can make at most <inline-formula id="ieqn-655"><mml:math id="mml-ieqn-655"><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-656"><mml:math id="mml-ieqn-656"><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-657"><mml:math id="mml-ieqn-657"><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-658"><mml:math id="mml-ieqn-658"><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> times queries to <inline-formula id="ieqn-659"><mml:math id="mml-ieqn-659"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>-query, Request-public-key query, Ciphertext query and Trapdoor query, respectively, thus,
<disp-formula id="eqn-35"><label>(35)</label><mml:math id="mml-eqn-35" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2227;</mml:mo><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2227;</mml:mo><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2227;</mml:mo><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msup><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mfrac><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msup><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mfrac></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msup><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mfrac><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>Since
<disp-formula id="eqn-36"><label>(36)</label><mml:math id="mml-eqn-36" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo stretchy="false">]</mml:mo></mml:mtd><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mo>+</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mo>+</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mo>+</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac><mml:mo>+</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>and
<disp-formula id="eqn-37"><label>(37)</label><mml:math id="mml-eqn-37" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo stretchy="false">]</mml:mo><mml:mo>&#x2265;</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac><mml:mrow><mml:mtext>Pr</mml:mtext></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>we have <inline-formula id="ieqn-660"><mml:math id="mml-ieqn-660"><mml:mrow><mml:mi mathvariant="normal">P</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mi mathvariant="normal">&#x00AC;</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mo>&#x2265;</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x03B5;</mml:mi></mml:math></inline-formula>, so combing with <xref ref-type="disp-formula" rid="eqn-35">(35)</xref>, we get <xref ref-type="disp-formula" rid="eqn-27">Eq. (27)</xref> and the lemma is proved.</p>
<p><bold>Theorem 5.2</bold> MTP security. In the random oracle model, our CL-BSE scheme achieves semantically MTP security against inside multi-keywords guessing attacks under the CBDH hardness assumption.</p>
<p>The proof of Theorem 5.2 can be achieved by the following two lemmas:</p>
<p><bold>Lemma 5.3.</bold> In the random oracle model, for any PPT adversary <inline-formula id="ieqn-661"><mml:math id="mml-ieqn-661"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, there is an algorithm <inline-formula id="ieqn-662"><mml:math id="mml-ieqn-662"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> can break the CBDH assumption with advantage
<disp-formula id="eqn-38"><label>(38)</label><mml:math id="mml-eqn-38" display="block"><mml:msup><mml:mi>&#x03B5;</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>&#x2265;</mml:mo><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x03B5;</mml:mi></mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mfrac><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:math></disp-formula>if <inline-formula id="ieqn-663"><mml:math id="mml-ieqn-663"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> wins Game 3 with advantage <inline-formula id="ieqn-664"><mml:math id="mml-ieqn-664"><mml:mi>&#x03B5;</mml:mi></mml:math></inline-formula>.</p>
<p><bold>Proof.</bold> The interaction process in the proof is basically the same as Lemma 5.1 except the <italic>Challenge</italic> phase and the <italic>Guess</italic> phase. They are
<list list-type="bullet">
<list-item>
<p><italic>Challenge</italic>. <inline-formula id="ieqn-665"><mml:math id="mml-ieqn-665"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> still select two sets <inline-formula id="ieqn-666"><mml:math id="mml-ieqn-666"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-667"><mml:math id="mml-ieqn-667"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> as the challenge keywords set and the challenge identity <inline-formula id="ieqn-668"><mml:math id="mml-ieqn-668"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, sends them to <inline-formula id="ieqn-669"><mml:math id="mml-ieqn-669"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-670"><mml:math id="mml-ieqn-670"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> checks whether <inline-formula id="ieqn-671"><mml:math id="mml-ieqn-671"><mml:mi>I</mml:mi><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, if not, then <inline-formula id="ieqn-672"><mml:math id="mml-ieqn-672"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> gives a random bits <inline-formula id="ieqn-673"><mml:math id="mml-ieqn-673"><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:math></inline-formula> as a guess of <inline-formula id="ieqn-674"><mml:math id="mml-ieqn-674"><mml:mi>b</mml:mi></mml:math></inline-formula>. Otherwise, it chooses a random bit <inline-formula id="ieqn-675"><mml:math id="mml-ieqn-675"><mml:mi>b</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> and a random number <inline-formula id="ieqn-676"><mml:math id="mml-ieqn-676"><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, then computes <inline-formula id="ieqn-677"><mml:math id="mml-ieqn-677"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo></mml:math></inline-formula> <inline-formula id="ieqn-678"><mml:math id="mml-ieqn-678"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>.</mml:mo></mml:math></inline-formula> Finally, it responds <inline-formula id="ieqn-679"><mml:math id="mml-ieqn-679"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> with <inline-formula id="ieqn-680"><mml:math id="mml-ieqn-680"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p></list-item>
<list-item><label>&#x2022;</label>
<p><italic>Guess</italic>. Finally, <inline-formula id="ieqn-681"><mml:math id="mml-ieqn-681"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> outputs its guess <inline-formula id="ieqn-682"><mml:math id="mml-ieqn-682"><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> on <inline-formula id="ieqn-683"><mml:math id="mml-ieqn-683"><mml:mi>b</mml:mi></mml:math></inline-formula>, and <inline-formula id="ieqn-684"><mml:math id="mml-ieqn-684"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> chooses <inline-formula id="ieqn-685"><mml:math id="mml-ieqn-685"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> to compute <inline-formula id="ieqn-686"><mml:math id="mml-ieqn-686"><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo>&#x22C5;</mml:mo><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mfrac></mml:mrow></mml:msup></mml:math></inline-formula>. If <inline-formula id="ieqn-687"><mml:math id="mml-ieqn-687"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is correct, then no matter <inline-formula id="ieqn-688"><mml:math id="mml-ieqn-688"><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> or <inline-formula id="ieqn-689"><mml:math id="mml-ieqn-689"><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-690"><mml:math id="mml-ieqn-690"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:math></inline-formula> can be computed. Furthermore, for unknown <inline-formula id="ieqn-691"><mml:math id="mml-ieqn-691"><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mi>c</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, we set <inline-formula id="ieqn-692"><mml:math id="mml-ieqn-692"><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>a</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-693"><mml:math id="mml-ieqn-693"><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>b</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-694"><mml:math id="mml-ieqn-694"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>c</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-695"><mml:math id="mml-ieqn-695"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> computes <inline-formula id="ieqn-696"><mml:math id="mml-ieqn-696"><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> as
<disp-formula id="eqn-39"><label>(39)</label><mml:math id="mml-eqn-39" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mfrac><mml:mrow><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo>&#x22C5;</mml:mo><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mfrac></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mfrac><mml:mrow><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mfrac></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mfrac></mml:mrow></mml:msup></mml:mtd><mml:mtd /></mml:mtr><mml:mtr><mml:mtd><mml:mo>=</mml:mo><mml:mtext>&#xA0;</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
</list-item>
</list></p>
<p>The analysis process of the advantages <inline-formula id="ieqn-697"><mml:math id="mml-ieqn-697"><mml:msup><mml:mi>&#x03B5;</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:math></inline-formula> that <inline-formula id="ieqn-698"><mml:math id="mml-ieqn-698"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> computes the above problem is also same as Lemma 5.1, that is <xref ref-type="disp-formula" rid="eqn-38">Eq. (38)</xref> holds and the lemma is proved.</p>
<p><bold>Lemma 5.4.</bold> In the random oracle model, for any PPT adversary <inline-formula id="ieqn-699"><mml:math id="mml-ieqn-699"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, there is an algorithm <inline-formula id="ieqn-700"><mml:math id="mml-ieqn-700"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> can break the CBDH assumption with advantage
<disp-formula id="eqn-40"><label>(40)</label><mml:math id="mml-eqn-40" display="block"><mml:msup><mml:mi>&#x03B5;</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>&#x2265;</mml:mo><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x03B5;</mml:mi></mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mfrac><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:math></disp-formula>if <inline-formula id="ieqn-701"><mml:math id="mml-ieqn-701"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> wins Game 4 with advantage <inline-formula id="ieqn-702"><mml:math id="mml-ieqn-702"><mml:mi>&#x03B5;</mml:mi></mml:math></inline-formula>.</p>
<p><bold>Proof.</bold> The interaction process in the proof is basically the same as Lemma 5.2 except the <italic>Challenge</italic> phase and the <italic>Guess</italic> phase. They are
<list list-type="bullet">
<list-item>
<p><italic>Challenge</italic>. <inline-formula id="ieqn-703"><mml:math id="mml-ieqn-703"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> still selects <inline-formula id="ieqn-704"><mml:math id="mml-ieqn-704"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-705"><mml:math id="mml-ieqn-705"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> as the challenge keywords set and sends them to <inline-formula id="ieqn-706"><mml:math id="mml-ieqn-706"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> together with the challenge identity <inline-formula id="ieqn-707"><mml:math id="mml-ieqn-707"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. <inline-formula id="ieqn-708"><mml:math id="mml-ieqn-708"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> checks whether <inline-formula id="ieqn-709"><mml:math id="mml-ieqn-709"><mml:mi>I</mml:mi><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, if not, <inline-formula id="ieqn-710"><mml:math id="mml-ieqn-710"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> aborts and gives a random bits <inline-formula id="ieqn-711"><mml:math id="mml-ieqn-711"><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:math></inline-formula> as a guess of <inline-formula id="ieqn-712"><mml:math id="mml-ieqn-712"><mml:mi>b</mml:mi></mml:math></inline-formula>. Otherwise chooses a random bit <inline-formula id="ieqn-713"><mml:math id="mml-ieqn-713"><mml:mi>b</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> and computes trapdoor <inline-formula id="ieqn-714"><mml:math id="mml-ieqn-714"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> as follows. First, pick a random number <inline-formula id="ieqn-715"><mml:math id="mml-ieqn-715"><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, and then compute <inline-formula id="ieqn-716"><mml:math id="mml-ieqn-716"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo></mml:math></inline-formula><inline-formula id="ieqn-717"><mml:math id="mml-ieqn-717"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>.</mml:mo></mml:math></inline-formula> Finally, respond to <inline-formula id="ieqn-718"><mml:math id="mml-ieqn-718"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> with <inline-formula id="ieqn-719"><mml:math id="mml-ieqn-719"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p></list-item>
<list-item>
<p><italic>Guess</italic>. Finally, <inline-formula id="ieqn-720"><mml:math id="mml-ieqn-720"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> outputs its guess <inline-formula id="ieqn-721"><mml:math id="mml-ieqn-721"><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> on <inline-formula id="ieqn-722"><mml:math id="mml-ieqn-722"><mml:mi>b</mml:mi></mml:math></inline-formula>, meanwhile, <inline-formula id="ieqn-723"><mml:math id="mml-ieqn-723"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> retrieves <inline-formula id="ieqn-724"><mml:math id="mml-ieqn-724"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold">w</mml:mtext></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and computes <inline-formula id="ieqn-725"><mml:math id="mml-ieqn-725"><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo>&#x22C5;</mml:mo><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:math></inline-formula> If <inline-formula id="ieqn-726"><mml:math id="mml-ieqn-726"><mml:msub><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is correct, then no matter <inline-formula id="ieqn-727"><mml:math id="mml-ieqn-727"><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> or <inline-formula id="ieqn-728"><mml:math id="mml-ieqn-728"><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>, algorithm <inline-formula id="ieqn-729"><mml:math id="mml-ieqn-729"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> can compute <inline-formula id="ieqn-730"><mml:math id="mml-ieqn-730"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>R</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo></mml:math></inline-formula> <inline-formula id="ieqn-731"><mml:math id="mml-ieqn-731"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>.</mml:mo></mml:math></inline-formula> Furthermore, for unknown <inline-formula id="ieqn-732"><mml:math id="mml-ieqn-732"><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mi>c</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, we set <inline-formula id="ieqn-733"><mml:math id="mml-ieqn-733"><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>a</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-734"><mml:math id="mml-ieqn-734"><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>b</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, and <inline-formula id="ieqn-735"><mml:math id="mml-ieqn-735"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>c</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-736"><mml:math id="mml-ieqn-736"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> can compute <inline-formula id="ieqn-737"><mml:math id="mml-ieqn-737"><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> as following:
<disp-formula id="eqn-41"><label>(41)</label><mml:math id="mml-eqn-41" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mfrac><mml:mrow><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mfrac><mml:mrow><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi mathvariant="normal">&#x0393;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:msubsup><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x00A0;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>&#x00A0;</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
</list-item>
</list></p>
<p>The analysis process of the advantages <inline-formula id="ieqn-738"><mml:math id="mml-ieqn-738"><mml:msup><mml:mi>&#x03B5;</mml:mi><mml:mrow><mml:msup><mml:mi>&#x00A0;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup></mml:math></inline-formula> that <inline-formula id="ieqn-739"><mml:math id="mml-ieqn-739"><mml:mrow><mml:mi>&#x0212C;</mml:mi></mml:mrow></mml:math></inline-formula> computes the above problem is also same as Lemma 5.2, that is <xref ref-type="disp-formula" rid="eqn-40">Eq. (40)</xref> holds and the lemma is proved.</p>
</sec>
<sec id="s6">
<label>6</label>
<title>Performance Analysis</title>
<p>In this section, we analyze the performance of our scheme by comparing it with some existing schemes in [<xref ref-type="bibr" rid="ref-4">4</xref>,<xref ref-type="bibr" rid="ref-5">5</xref>,<xref ref-type="bibr" rid="ref-28">28</xref>&#x2013;<xref ref-type="bibr" rid="ref-30">30</xref>,<xref ref-type="bibr" rid="ref-36">36</xref>,<xref ref-type="bibr" rid="ref-37">37</xref>].</p>
<p>First, we give some basic operations used in the scheme and the executing times of a single operation in <xref ref-type="table" rid="table-2">Table 2</xref>. These times of operations are averaged over 1000 runs on a personal computer (Lenovo with Windows 10 operating system, Intel (R) Core (TM) i7 &#x2212;7700 CPU @ 3.60 GHz and 8 GB RAM memory) using the Pairing-Based Cryptography (PBC) library [<xref ref-type="bibr" rid="ref-38">38</xref>] in Ubuntu10.</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>Some operations and their overhead time (ms)</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>Symbol</th>
<th>Description</th>
<th>Times</th>
</tr>
</thead>
<tbody>
<tr>
<td><inline-formula id="ieqn-740"><mml:math id="mml-ieqn-740"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Bilinear pairing operation</td>
<td>5.787</td>
</tr>
<tr>
<td><inline-formula id="ieqn-741"><mml:math id="mml-ieqn-741"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Hash-to-point operation</td>
<td>5.693</td>
</tr>
<tr>
<td><inline-formula id="ieqn-742"><mml:math id="mml-ieqn-742"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Scalar multiplication</td>
<td>2.355</td>
</tr>
<tr>
<td><inline-formula id="ieqn-743"><mml:math id="mml-ieqn-743"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Modular exponentiation</td>
<td>0.794</td>
</tr>
<tr>
<td><inline-formula id="ieqn-744"><mml:math id="mml-ieqn-744"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>General hash function</td>
<td>0.005</td>
</tr>
<tr>
<td><inline-formula id="ieqn-745"><mml:math id="mml-ieqn-745"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Addition operation</td>
<td>0.003</td>
</tr>
</tbody>
</table>
</table-wrap>
<p><xref ref-type="fig" rid="fig-2">Figs. 2</xref>&#x2013;<xref ref-type="fig" rid="fig-5">5</xref> and <xref ref-type="table" rid="table-3">Table 3</xref> describe the computation overhead of different algorithms in each scheme. Specifically, the computational overhead in the ciphertext generation (<xref ref-type="fig" rid="fig-3">Fig. 3</xref>) of our scheme is slightly higher than [<xref ref-type="bibr" rid="ref-30">30</xref>,<xref ref-type="bibr" rid="ref-36">36</xref>]. In trapdoor generation process (<xref ref-type="fig" rid="fig-4">Fig. 4</xref>), the computational overhead of the scheme is higher than [<xref ref-type="bibr" rid="ref-4">4</xref>,<xref ref-type="bibr" rid="ref-5">5</xref>,<xref ref-type="bibr" rid="ref-30">30</xref>] since the enhanced trapdoor privacy and authentication functionality. In test process (<xref ref-type="fig" rid="fig-5">Fig. 5</xref>), its computational overhead is slightly higher than in [<xref ref-type="bibr" rid="ref-29">29</xref>,<xref ref-type="bibr" rid="ref-30">30</xref>] because our scheme is server-designated, that is, the public/private key pairs of the server are involved in the operation. However, in terms of total time, the time overhead of our new scheme is only slightly higher than [<xref ref-type="bibr" rid="ref-30">30</xref>]. It has some advantages when DO (or DU) retrieves emails and is more in line with practical application scenarios.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>Computation overhead in each phase</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_43589-fig-2.tif"/>
</fig><fig id="fig-3"><label>Figure 3</label><caption><title>Running time of encryption</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_43589-fig-3.tif"/></fig><fig id="fig-4"><label>Figure 4</label><caption><title>Running time of trapdoor</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_43589-fig-4.tif"/></fig><fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Running time of test</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_43589-fig-5.tif"/>
</fig><table-wrap id="table-3">
<label>Table 3</label>
<caption>
<title>The computational overhead of the schemes (ms)</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>Schemes</th>
<th>Ciphertext</th>
<th>Trapdoor</th>
<th>Test</th>
</tr>
</thead>
<tbody>
<tr>
<td>Yang et al. [<xref ref-type="bibr" rid="ref-28">28</xref>]</td>
<td><inline-formula id="ieqn-746"><mml:math id="mml-ieqn-746"><mml:mn>3</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>3</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>3</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-747"><mml:math id="mml-ieqn-747"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>3</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>3</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-748"><mml:math id="mml-ieqn-748"><mml:mn>2</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
</tr>
<tr>
<td>Peng et al. [<xref ref-type="bibr" rid="ref-5">5</xref>]</td>
<td><inline-formula id="ieqn-749"><mml:math id="mml-ieqn-749"><mml:mn>3</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>3</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>4</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-750"><mml:math id="mml-ieqn-750"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>3</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-751"><mml:math id="mml-ieqn-751"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>4</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
</tr>
<tr>
<td>Cheng et al. [<xref ref-type="bibr" rid="ref-37">37</xref>]</td>
<td><inline-formula id="ieqn-752"><mml:math id="mml-ieqn-752"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>10</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>5</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>5</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-753"><mml:math id="mml-ieqn-753"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>10</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>5</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>5</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-754"><mml:math id="mml-ieqn-754"><mml:mn>4</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
</tr>
<tr>
<td>Ma et al. [<xref ref-type="bibr" rid="ref-4">4</xref>]</td>
<td><inline-formula id="ieqn-755"><mml:math id="mml-ieqn-755"><mml:mn>3</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>3</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>4</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-756"><mml:math id="mml-ieqn-756"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-757"><mml:math id="mml-ieqn-757"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
</tr>
<tr>
<td>Chenam et al. [<xref ref-type="bibr" rid="ref-36">36</xref>]</td>
<td><inline-formula id="ieqn-758"><mml:math id="mml-ieqn-758"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>5</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>3</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>3</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-759"><mml:math id="mml-ieqn-759"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>7</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>3</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>4</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-760"><mml:math id="mml-ieqn-760"><mml:mn>2</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>4</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
</tr>
<tr>
<td>Lu et al. [<xref ref-type="bibr" rid="ref-29">29</xref>]</td>
<td><inline-formula id="ieqn-761"><mml:math id="mml-ieqn-761"><mml:mn>2</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>3</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>3</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-762"><mml:math id="mml-ieqn-762"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>3</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>3</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-763"><mml:math id="mml-ieqn-763"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
</tr>
<tr>
<td>Shiraly et al. [<xref ref-type="bibr" rid="ref-30">30</xref>]</td>
<td><inline-formula id="ieqn-764"><mml:math id="mml-ieqn-764"><mml:mn>5</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>3</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-765"><mml:math id="mml-ieqn-765"><mml:mn>3</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-766"><mml:math id="mml-ieqn-766"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
</tr>
<tr>
<td>Ours</td>
<td><inline-formula id="ieqn-767"><mml:math id="mml-ieqn-767"><mml:mn>2</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>5</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>5</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-768"><mml:math id="mml-ieqn-768"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>5</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>5</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>3</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-769"><mml:math id="mml-ieqn-769"><mml:mn>2</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Subsequently, we make a comparison in terms of communication costs, including the size of public key |<italic>PK</italic>|, ciphertext |<italic>CT</italic>| and trapdoor |<italic>TD</italic>|, which are presented in <xref ref-type="table" rid="table-4">Table 4</xref>. In the table, the notations <inline-formula id="ieqn-770"><mml:math id="mml-ieqn-770"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-771"><mml:math id="mml-ieqn-771"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-772"><mml:math id="mml-ieqn-772"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula> denote the bit length size for each element in <inline-formula id="ieqn-773"><mml:math id="mml-ieqn-773"><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-774"><mml:math id="mml-ieqn-774"><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-775"><mml:math id="mml-ieqn-775"><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, respectively. It is clearly see that the size of ciphertext of our scheme is the same as Yang et al.&#x2019;s scheme [<xref ref-type="bibr" rid="ref-28">28</xref>] and is smaller than Cheng et al.&#x2019;s scheme [<xref ref-type="bibr" rid="ref-37">37</xref>], a sightly larger than other schemes; same as Yang et al.&#x2019;s scheme [<xref ref-type="bibr" rid="ref-28">28</xref>], the size of trapdoor of our scheme is smaller than other schemes except Ma et al.&#x2019;s scheme [<xref ref-type="bibr" rid="ref-4">4</xref>].</p>
<table-wrap id="table-4">
<label>Table 4</label>
<caption>
<title>The communication overhead of the schemes (bits)</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th></th>
<th>Yang<break/>et al. [<xref ref-type="bibr" rid="ref-28">28</xref>]</th>
<th>Peng<break/>et al. [<xref ref-type="bibr" rid="ref-5">5</xref>]</th>
<th>Cheng<break/>et al. [<xref ref-type="bibr" rid="ref-37">37</xref>]</th>
<th>Ma<break/>et al. [<xref ref-type="bibr" rid="ref-4">4</xref>]</th>
<th>Chenam<break/>et al. [<xref ref-type="bibr" rid="ref-36">36</xref>]</th>
<th>Lu<break/>et al. [<xref ref-type="bibr" rid="ref-29">29</xref>]</th>
<th>Shiraly<break/>et al. [<xref ref-type="bibr" rid="ref-30">30</xref>]</th>
<th>Ours</th>
</tr>
</thead>
<tbody>
<tr>
<td>|<italic>PK</italic>|</td>
<td>2<inline-formula id="ieqn-776"><mml:math id="mml-ieqn-776"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>4<inline-formula id="ieqn-777"><mml:math id="mml-ieqn-777"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>4<inline-formula id="ieqn-778"><mml:math id="mml-ieqn-778"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>2<inline-formula id="ieqn-779"><mml:math id="mml-ieqn-779"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>4<inline-formula id="ieqn-780"><mml:math id="mml-ieqn-780"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>2<inline-formula id="ieqn-781"><mml:math id="mml-ieqn-781"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>4<inline-formula id="ieqn-782"><mml:math id="mml-ieqn-782"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>4<inline-formula id="ieqn-783"><mml:math id="mml-ieqn-783"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
</tr>
<tr>
<td>|<italic>CT</italic>|</td>
<td>2<inline-formula id="ieqn-784"><mml:math id="mml-ieqn-784"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula>&#x002B;<inline-formula id="ieqn-785"><mml:math id="mml-ieqn-785"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-786"><mml:math id="mml-ieqn-786"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula>&#x002B;<inline-formula id="ieqn-787"><mml:math id="mml-ieqn-787"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>4<inline-formula id="ieqn-788"><mml:math id="mml-ieqn-788"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-789"><mml:math id="mml-ieqn-789"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula>&#x002B;<inline-formula id="ieqn-790"><mml:math id="mml-ieqn-790"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>2<inline-formula id="ieqn-791"><mml:math id="mml-ieqn-791"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-792"><mml:math id="mml-ieqn-792"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula>&#x002B;<inline-formula id="ieqn-793"><mml:math id="mml-ieqn-793"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>2<inline-formula id="ieqn-794"><mml:math id="mml-ieqn-794"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>2<inline-formula id="ieqn-795"><mml:math id="mml-ieqn-795"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula>&#x002B;<inline-formula id="ieqn-796"><mml:math id="mml-ieqn-796"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
</tr>
<tr>
<td>|<italic>TD</italic>|</td>
<td>2<inline-formula id="ieqn-797"><mml:math id="mml-ieqn-797"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>3<inline-formula id="ieqn-798"><mml:math id="mml-ieqn-798"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>4<inline-formula id="ieqn-799"><mml:math id="mml-ieqn-799"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-800"><mml:math id="mml-ieqn-800"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>2<inline-formula id="ieqn-801"><mml:math id="mml-ieqn-801"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula>&#x002B;<inline-formula id="ieqn-802"><mml:math id="mml-ieqn-802"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-803"><mml:math id="mml-ieqn-803"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-804"><mml:math id="mml-ieqn-804"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msubsup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>2<inline-formula id="ieqn-805"><mml:math id="mml-ieqn-805"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Finally, we present some additional performance comparisons in the <xref ref-type="table" rid="table-5">Table 5</xref>. In the table, SCF denotes designated server test, AUT denotes authenticated function, BSE denotes bidirectional searchable encryption and ASSUM denotes the difficulty assumption of the scheme security depends on. Finally, we find that our scheme is a certificateless authenticated bidirectional searchable encryption scheme with a designated server test that achieves both MCI and MTP security under the CBDH hardness assumption.</p>
<table-wrap id="table-5">
<label>Table 5</label>
<caption>
<title>Other performance comparison</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>Schemes</th>
<th>DST</th>
<th>AUT</th>
<th>BSE</th>
<th>MCI</th>
<th>MTP</th>
<th>ASSUM</th>
</tr>
</thead>
<tbody>
<tr>
<td>Yang et al. [<xref ref-type="bibr" rid="ref-28">28</xref>]</td>
<td><inline-formula id="ieqn-806"><mml:math id="mml-ieqn-806"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-807"><mml:math id="mml-ieqn-807"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-808"><mml:math id="mml-ieqn-808"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-809"><mml:math id="mml-ieqn-809"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-810"><mml:math id="mml-ieqn-810"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td>CBDH</td>
</tr>
<tr>
<td>Peng et al. [<xref ref-type="bibr" rid="ref-5">5</xref>]</td>
<td><inline-formula id="ieqn-811"><mml:math id="mml-ieqn-811"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-812"><mml:math id="mml-ieqn-812"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-813"><mml:math id="mml-ieqn-813"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-814"><mml:math id="mml-ieqn-814"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-815"><mml:math id="mml-ieqn-815"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td>BDH &#x0026; GBDH</td>
</tr>
<tr>
<td>Cheng et al. [<xref ref-type="bibr" rid="ref-37">37</xref>]</td>
<td><inline-formula id="ieqn-816"><mml:math id="mml-ieqn-816"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-817"><mml:math id="mml-ieqn-817"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-818"><mml:math id="mml-ieqn-818"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-819"><mml:math id="mml-ieqn-819"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-820"><mml:math id="mml-ieqn-820"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td>CODH</td>
</tr>
<tr>
<td>Ma et al. [<xref ref-type="bibr" rid="ref-4">4</xref>]</td>
<td><inline-formula id="ieqn-821"><mml:math id="mml-ieqn-821"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-822"><mml:math id="mml-ieqn-822"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-823"><mml:math id="mml-ieqn-823"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-824"><mml:math id="mml-ieqn-824"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-825"><mml:math id="mml-ieqn-825"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td>BDH</td>
</tr>
<tr>
<td>Chenam et al. [<xref ref-type="bibr" rid="ref-36">36</xref>]</td>
<td><inline-formula id="ieqn-826"><mml:math id="mml-ieqn-826"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-827"><mml:math id="mml-ieqn-827"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-828"><mml:math id="mml-ieqn-828"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-829"><mml:math id="mml-ieqn-829"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-830"><mml:math id="mml-ieqn-830"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td>CBDH &#x0026; DBDH</td>
</tr>
<tr>
<td>Zhang et al. [<xref ref-type="bibr" rid="ref-13">13</xref>]</td>
<td><inline-formula id="ieqn-831"><mml:math id="mml-ieqn-831"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-832"><mml:math id="mml-ieqn-832"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-833"><mml:math id="mml-ieqn-833"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-834"><mml:math id="mml-ieqn-834"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-835"><mml:math id="mml-ieqn-835"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td>BDH</td>
</tr>
<tr>
<td>Lu et al. [<xref ref-type="bibr" rid="ref-29">29</xref>]</td>
<td><inline-formula id="ieqn-836"><mml:math id="mml-ieqn-836"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-837"><mml:math id="mml-ieqn-837"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-838"><mml:math id="mml-ieqn-838"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-839"><mml:math id="mml-ieqn-839"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-840"><mml:math id="mml-ieqn-840"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td>BDH</td>
</tr>
<tr>
<td>Shiraly et al. [<xref ref-type="bibr" rid="ref-30">30</xref>]</td>
<td><inline-formula id="ieqn-841"><mml:math id="mml-ieqn-841"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-842"><mml:math id="mml-ieqn-842"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-843"><mml:math id="mml-ieqn-843"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-844"><mml:math id="mml-ieqn-844"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-845"><mml:math id="mml-ieqn-845"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula></td>
<td>DDH &#x0026; GDH</td>
</tr>
<tr>
<td>Ours</td>
<td><inline-formula id="ieqn-846"><mml:math id="mml-ieqn-846"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-847"><mml:math id="mml-ieqn-847"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-848"><mml:math id="mml-ieqn-848"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-849"><mml:math id="mml-ieqn-849"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-850"><mml:math id="mml-ieqn-850"><mml:mi>&#x2713;</mml:mi></mml:math></inline-formula></td>
<td>CBDH</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s7">
<label>7</label>
<title>Conclusion</title>
<p>Based on the certificateless public key authenticated encryption with keyword search (CL-PAEKS) cryptosystem and the bidirectional searchable functionality, this paper proposed a new cryptographic approach named blockchain-based certificateless authenticated bidirectional searchable encryption (CL-BSE). To some extent, it can be regarded as avoiding the key escrow and certificate management problem in the PEBKS scheme, and can also be considered as appending distinctive features which allow a data owner to retrieve the keyword ciphertext from server in the CL-PAEKS cryptosystem. Taking the cloud email system as the actual application scenario, we build a concrete construction of the CL-BSE scheme. The security analysis of the scheme indicates that it can achieve both MCI-secure and MTP-secure against IKGA under the CBDH hardness assumption.</p>
</sec>
</body>
<back>
<ack>
<p>The authors wish to express their appreciation to the reviewers for their helpful suggestions which greatly improved the presentation of this paper.</p>
</ack>
<sec><title>Funding Statement</title>
<p>This work was supported by the National Natural Science Foundation of China (Nos. 62172337, 62241207) and Key Project of Gansu Natural Science Foundation (No. 23JRRA685).</p>
</sec>
<sec><title>Author Contributions</title>
<p>The authors confirm contribution to the paper as follows: study conception and design: Y. Sun, X. Du; data collection: Y. Sun; analysis and interpretation of results: Y. Sun, X. Du, X. Yang; draft manuscript preparation: Y. Sun, S. Niu. All authors reviewed the results and approved the final version of the manuscript.</p>
</sec>
<sec sec-type="data-availability"><title>Availability of Data and Materials</title>
<p>The authors confirm that the data supporting the findings of this study are available within the article.</p>
</sec>
<sec sec-type="COI-statement"><title>Conflicts of Interest</title>
<p>The authors declare that they have no conflicts of interest to report regarding the present study.</p>
</sec>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>1.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Song</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Wagner</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Perrig</surname>, <given-names>A.</given-names></string-name></person-group> (<year>2000</year>). <article-title>Practical techniques for searching on encrypted data</article-title>. <conf-name>IEEE Symposium on Security and Privacy</conf-name>, pp. <fpage>44</fpage>&#x2013;<lpage>55</lpage>. <publisher-loc>Berkeley, USA</publisher-loc>.</mixed-citation></ref>
<ref id="ref-2"><label>2.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Boneh</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>di Crescenzo</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Ostrovsky</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Persiano</surname>, <given-names>G.</given-names></string-name></person-group> (<year>2004</year>). <article-title>Public key encryption with keyword search</article-title>. <conf-name>International Conference on the Theory and Applications of Cryptographic Techniquespp</conf-name>, pp. <fpage>506</fpage>&#x2013;<lpage>522</lpage>. <publisher-loc>Interlaken, Switzerland</publisher-loc>.</mixed-citation></ref>
<ref id="ref-3"><label>3.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Baek</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Safavi-Naini</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Susilo</surname>, <given-names>W.</given-names></string-name></person-group> (<year>2008</year>). <article-title>Public key encryption with keyword search revisited</article-title>. <conf-name>International Conference on Computational Science and its Applications</conf-name>, pp. <fpage>1249</fpage>&#x2013;<lpage>1259</lpage>. <publisher-loc>Perugia, Italy</publisher-loc>.</mixed-citation></ref>
<ref id="ref-4"><label>4.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Ma</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>He</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Kumar</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Choo</surname>, <given-names>K. K. R.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>J.</given-names></string-name></person-group> (<year>2018</year>). <article-title>Certificateless searchable public key encryption scheme for industrial Internet of Things</article-title>. <source>IEEE Transactions on Industrial Informatics</source><italic>,</italic> <volume>14</volume><italic>(</italic><issue>2</issue><italic>),</italic> <fpage>759</fpage>&#x2013;<lpage>767</lpage>.</mixed-citation></ref>
<ref id="ref-5"><label>5.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Peng</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Cui</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Peng</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Ying</surname>, <given-names>Z.</given-names></string-name></person-group> (<year>2014</year>). <article-title>Certificateless public key encryption with keyword search</article-title>. <source>China Communications</source><italic>,</italic> <volume>11</volume><italic>(</italic><issue>11</issue><italic>),</italic> <fpage>100</fpage>&#x2013;<lpage>113</lpage>.</mixed-citation></ref>
<ref id="ref-6"><label>6.</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Byun</surname>, <given-names>J. W.</given-names></string-name>, <string-name><surname>Rhee</surname>, <given-names>H. S.</given-names></string-name>, <string-name><surname>Park</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Lee</surname>, <given-names>D. H.</given-names></string-name></person-group> (<year>2006</year>). <chapter-title>Off-line keyword guessing attacks on recent keyword search schemes over encrypted data</chapter-title>. <source>Third VLDB Workshop on Secure Data Management</source>, pp. <fpage>75</fpage>&#x2013;<lpage>83</lpage>. <publisher-loc>Seoul, Korea</publisher-loc>.</mixed-citation></ref>
<ref id="ref-7"><label>7.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Huang</surname>, <given-names>Q.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>H.</given-names></string-name></person-group> (<year>2017</year>). <article-title>An efficient public-key searchable encryption scheme secure against inside keyword guessing attacks</article-title>. <source>Information Sciences</source><italic>,</italic> <volume>403</volume><italic>(</italic><issue>C</issue><italic>),</italic> <fpage>1</fpage>&#x2013;<lpage>14</lpage>.</mixed-citation></ref>
<ref id="ref-8"><label>8.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Qin</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>Q.</given-names></string-name>, <string-name><surname>Liu</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Zheng</surname>, <given-names>D.</given-names></string-name></person-group> (<year>2020</year>). <article-title>Public-key authenticated encryption with keyword search revisited: Security model and constructions</article-title>. <source>Information Sciences</source><italic>,</italic> <volume>516</volume><italic>,</italic> <fpage>515</fpage>&#x2013;<lpage>528</lpage>.</mixed-citation></ref>
<ref id="ref-9"><label>9.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Pan</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>F.</given-names></string-name></person-group> (<year>2021</year>). <article-title>Public-key authenticated encryption with keyword search achieving both multi-ciphertext and multi-trapdoor indistinguishability</article-title>. <source>Journal of Systems Architecture</source><italic>,</italic> <volume>115</volume><italic>(</italic><issue>C</issue><italic>),</italic> <fpage>102075</fpage>.</mixed-citation></ref>
<ref id="ref-10"><label>10.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Al-Riyami</surname>, <given-names>S. S.</given-names></string-name>, <string-name><surname>Paterson</surname>, <given-names>K. G.</given-names></string-name></person-group> (<year>2003</year>). <article-title>Certificateless public key cryptography</article-title>. <conf-name>9th International Conference on the Theory and Application of Cryptology and Information Security</conf-name>, pp. <fpage>452</fpage>&#x2013;<lpage>473</lpage>. <publisher-loc>Taipei, Taiwan</publisher-loc>.</mixed-citation></ref>
<ref id="ref-11"><label>11.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>He</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Ma</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Zeadally</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Kumar</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Liang</surname>, <given-names>K.</given-names></string-name></person-group> (<year>2018</year>). <article-title>Certificateless public key authenticated encryption with keyword search for industrial internet of things</article-title>. <source>IEEE Transactions on Industrial Informatics</source><italic>,</italic> <volume>14</volume><italic>(</italic><issue>8</issue><italic>),</italic> <fpage>3618</fpage>&#x2013;<lpage>3627</lpage>.</mixed-citation></ref>
<ref id="ref-12"><label>12.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Yang</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Wen</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Liu</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Ren</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>C.</given-names></string-name></person-group> (<year>2023</year>). <article-title>Blockchain-enhanced certificateless signature scheme in the standard model</article-title>. <source>Mathematical Biosciences and Engineering</source><italic>,</italic> <volume>20</volume><italic>(</italic><issue>7</issue><italic>),</italic> <fpage>12718</fpage>&#x2013;<lpage>12730</lpage>; <pub-id pub-id-type="pmid">37501463</pub-id></mixed-citation></ref>
<ref id="ref-13"><label>13.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhang</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Qin</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Dong</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Tian</surname>, <given-names>A.</given-names></string-name></person-group> (<year>2021</year>). <article-title>Public-key encryption with bidirectional keyword search and its application to encrypted emails</article-title>. <source>Computer Standards &#x0026; Interfaces</source><italic>,</italic> <volume>78</volume><italic>,</italic> <fpage>103542</fpage>.</mixed-citation></ref>
<ref id="ref-14"><label>14.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Curtmola</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Garay</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Kamara</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Ostrovsky</surname>, <given-names>R.</given-names></string-name></person-group> (<year>2011</year>). <article-title>Searchable symmetric encryption: Improved definitions and efficient constructions</article-title>. <source>Journal of Computer Security</source><italic>,</italic> <volume>19</volume><italic>(</italic><issue>5</issue><italic>),</italic> <fpage>895</fpage>&#x2013;<lpage>934</lpage>.</mixed-citation></ref>
<ref id="ref-15"><label>15.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Kamara</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Papamanthou</surname>, <given-names>C.</given-names></string-name></person-group> (<year>2013</year>). <article-title>Parallel and dynamic searchable symmetric encryption</article-title>. <conf-name>International Conference on Financial Cryptography and Data Security</conf-name>, pp. <fpage>258</fpage>&#x2013;<lpage>274</lpage>. <publisher-loc>Okinawa, Japan</publisher-loc>.</mixed-citation></ref>
<ref id="ref-16"><label>16.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Li</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Wei</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Lv</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Liu</surname>, <given-names>Z.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2021</year>). <article-title>Searchable symmetric encryption with forward search privacy</article-title>. <source>IEEE Transactions on Dependable and Secure Computing</source><italic>,</italic> <volume>18</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>460</fpage>&#x2013;<lpage>474</lpage>.</mixed-citation></ref>
<ref id="ref-17"><label>17.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Rhee</surname>, <given-names>H. S.</given-names></string-name>, <string-name><surname>Park</surname>, <given-names>J. H.</given-names></string-name>, <string-name><surname>Susilo</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Lee</surname>, <given-names>D. H.</given-names></string-name></person-group> (<year>2010</year>). <article-title>Trapdoor security in a searchable public-key encryption scheme with a designated tester</article-title>. <source>Journal of Systems and Software</source><italic>,</italic> <volume>83</volume><italic>(</italic><issue>5</issue><italic>),</italic> <fpage>763</fpage>&#x2013;<lpage>771</lpage>.</mixed-citation></ref>
<ref id="ref-18"><label>18.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Chen</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Mu</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Yang</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Guo</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>X.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2016</year>). <article-title>Server-aided public key encryption with keyword search</article-title>. <source>IEEE Transactions on Information Forensics and Security</source><italic>,</italic> <volume>11</volume><italic>(</italic><issue>12</issue><italic>),</italic> <fpage>2833</fpage>&#x2013;<lpage>2842</lpage>.</mixed-citation></ref>
<ref id="ref-19"><label>19.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Hu</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Liu</surname>, <given-names>P.</given-names></string-name></person-group> (<year>2012</year>). <article-title>An enhanced searchable public key encryption scheme with a designated tester and its extensions</article-title>. <source>Journal of Computers</source><italic>,</italic> <volume>7</volume><italic>(</italic><issue>3</issue><italic>),</italic> <fpage>716</fpage>&#x2013;<lpage>723</lpage>.</mixed-citation></ref>
<ref id="ref-20"><label>20.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Tang</surname>, <given-names>Q.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>L.</given-names></string-name></person-group> (<year>2010</year>). <article-title>Public-key encryption with registered keyword search</article-title>. <conf-name>Proceedings of the 6th European Workshop on Public Key Infrastructures, Services and Applications</conf-name>, pp. <fpage>163</fpage>&#x2013;<lpage>178</lpage>. <publisher-loc>Pisa, Italy</publisher-loc>.</mixed-citation></ref>
<ref id="ref-21"><label>21.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wu</surname>, <given-names>T. Y.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>C. M.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>K. H.</given-names></string-name>, <string-name><surname>Pan</surname>, <given-names>J. S.</given-names></string-name>, <string-name><surname>Zheng</surname>, <given-names>W.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2018</year>). <article-title>Security analysis of Rhee et al.&#x2019;s public encryption with keyword search schemes: A review</article-title>. <source>Journal of Network Intelligence</source><italic>,</italic> <volume>3</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>16</fpage>&#x2013;<lpage>25</lpage>.</mixed-citation></ref>
<ref id="ref-22"><label>22.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Yau</surname>, <given-names>W. C.</given-names></string-name>, <string-name><surname>Phan</surname>, <given-names>R. C. W.</given-names></string-name>, <string-name><surname>Heng</surname>, <given-names>S. H.</given-names></string-name>, <string-name><surname>Goi</surname>, <given-names>B. M.</given-names></string-name></person-group> (<year>2013</year>). <article-title>Keyword guessing attacks on secure searchable public key encryption schemes with a designated tester</article-title>. <source>International Journal of Computer Mathematics</source><italic>,</italic> <volume>90</volume><italic>(</italic><issue>12</issue><italic>),</italic> <fpage>2581</fpage>&#x2013;<lpage>2587</lpage>.</mixed-citation></ref>
<ref id="ref-23"><label>23.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Noroozi</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Eslami</surname>, <given-names>Z.</given-names></string-name></person-group> (<year>2019</year>). <article-title>Public key authenticated encryption with keyword search: Revisited</article-title>. <source>IET Information Security</source><italic>,</italic> <volume>13</volume><italic>(</italic><issue>4</issue><italic>),</italic> <fpage>336</fpage>&#x2013;<lpage>342</lpage>.</mixed-citation></ref>
<ref id="ref-24"><label>24.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Cheng</surname>, <given-names>L. X.</given-names></string-name>, <string-name><surname>Meng</surname>, <given-names>F.</given-names></string-name></person-group> (<year>2021</year>). <article-title>Security analysis of Pan et al.&#x2019;s &#x201C;Public-key authenticated encryption with keyword search achieving both multi-ciphertext and multi-trapdoor indistinguishability&#x201D;</article-title>. <source>Journal of Systems Architecture</source><italic>,</italic> <volume>119</volume><italic>,</italic> <fpage>102248</fpage>.</mixed-citation></ref>
<ref id="ref-25"><label>25.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Fuhr</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Paillier</surname>, <given-names>P.</given-names></string-name></person-group> (<year>2007</year>). <article-title>Decryptable searchable encryption</article-title>. <conf-name>Proceedings of the First International Conference on Provable Security</conf-name>, pp. <fpage>228</fpage>&#x2013;<lpage>236</lpage>. <publisher-loc>Wollongong, Australia</publisher-loc>.</mixed-citation></ref>
<ref id="ref-26"><label>26.</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><surname>Hofheinz</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Weinreb</surname>, <given-names>E.</given-names></string-name></person-group> (<year>2008</year>). <article-title>Searchable encryption with decryption in the standard model</article-title>. <source>Cryptology ePrint Archive</source>.</mixed-citation></ref>
<ref id="ref-27"><label>27.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wu</surname>, <given-names>T. Y.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>C. M.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>K. H.</given-names></string-name>, <string-name><surname>Wu</surname>, <given-names>J. M. T.</given-names></string-name></person-group> (<year>2019</year>). <article-title>Security analysis and enhancement of a certificateless searchable public key encryption scheme for IIoT environments</article-title>. <source>IEEE Access</source><italic>,</italic> <volume>7</volume><italic>,</italic> <fpage>49232</fpage>&#x2013;<lpage>49239</lpage>.</mixed-citation></ref>
<ref id="ref-28"><label>28.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Yang</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Guo</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Han</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Liu</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Tian</surname>, <given-names>C.</given-names></string-name></person-group> (<year>2022</year>). <article-title>An improved secure certificateless public-key searchable encryption scheme with multi-trapdoor privacy</article-title>. <source>Peer-to-Peer Networking and Applications</source><italic>,</italic> <volume>15</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>503</fpage>&#x2013;<lpage>515</lpage>.</mixed-citation></ref>
<ref id="ref-29"><label>29.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Lu</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>J.</given-names></string-name></person-group> (<year>2019</year>). <article-title>Constructing certificateless encryption with keyword search against outside and inside keyword guessing attacks</article-title>. <source>China Communications</source><italic>,</italic> <volume>16</volume><italic>(</italic><issue>7</issue><italic>),</italic> <fpage>156</fpage>&#x2013;<lpage>173</lpage>.</mixed-citation></ref>
<ref id="ref-30"><label>30.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Shiraly</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Pakniat</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Noroozi</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Eslami</surname>, <given-names>Z.</given-names></string-name></person-group> (<year>2022</year>). <article-title>Pairing-free certificateless authenticated encryption with keyword search</article-title>. <source>Journal of Systems Architecture</source><italic>,</italic> <volume>124</volume><italic>,</italic> <fpage>102390</fpage>.</mixed-citation></ref>
<ref id="ref-31"><label>31.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Boneh</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Franklin</surname>, <given-names>M.</given-names></string-name></person-group> (<year>2003</year>). <article-title>Identity-based encryption from the weil pairing</article-title>. <source>SIAM Journal on Computing</source><italic>,</italic> <volume>32</volume><italic>(</italic><issue>3</issue><italic>),</italic> <fpage>586</fpage>&#x2013;<lpage>615</lpage>.</mixed-citation></ref>
<ref id="ref-32"><label>32.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Barreto</surname>, <given-names>P. S. L. M.</given-names></string-name>, <string-name><surname>Kim</surname>, <given-names>H. Y.</given-names></string-name>, <string-name><surname>Lynn</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Scott</surname>, <given-names>M.</given-names></string-name></person-group> (<year>2002</year>). <article-title>Efficient algorithm for pairing-based cryptosystems</article-title>. <conf-name>22nd Annual International Cryptology Conference Santa Barbara</conf-name>, pp. <fpage>354</fpage>&#x2013;<lpage>369</lpage>. <publisher-loc>California, USA</publisher-loc>.</mixed-citation></ref>
<ref id="ref-33"><label>33.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Joux</surname>, <given-names>A.</given-names></string-name></person-group> (<year>2002</year>). <article-title>The weil and tate pairing as building blocks for public key cryptosystems</article-title>. <conf-name>5th International Algorithmic Number Theory Symposium</conf-name>, pp. <fpage>20</fpage>&#x2013;<lpage>32</lpage>. <publisher-loc>Sydney, Australia</publisher-loc>.</mixed-citation></ref>
<ref id="ref-34"><label>34.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Han</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Xu</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Xu</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Xu</surname>, <given-names>C.</given-names></string-name></person-group> (<year>2022</year>). <article-title>TCA-PEKS: Trusted certificateless authentication public-key encryption with keyword search scheme in cloud storage</article-title>. <source>Peer-to-Peer Network Appliction</source><italic>,</italic> <volume>16</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>156</fpage>&#x2013;<lpage>169</lpage>.</mixed-citation></ref>
<ref id="ref-35"><label>35.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Uwizeye</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Cheng</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>F.</given-names></string-name></person-group> (<year>2019</year>). <article-title>Certificateless public key encryption with conjunctive keyword search and its application to cloud-based reliable smart grid system</article-title>. <source>Annals of Telecommunications</source><italic>,</italic> <volume>74</volume><italic>(</italic><issue>7</issue><italic>),</italic> <fpage>435</fpage>&#x2013;<lpage>449</lpage>.</mixed-citation></ref>
<ref id="ref-36"><label>36.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Chenam</surname>, <given-names>V. B.</given-names></string-name>, <string-name><surname>Ali</surname>, <given-names>S. T.</given-names></string-name></person-group> (<year>2022</year>). <article-title>A designated cloud server-based multi-user certificateless public key authenticated encryption with conjunctive keyword search against IKGA</article-title>. <source>Computer Standards &#x0026; Interfaces</source><italic>,</italic> <volume>81</volume><italic>(</italic><issue>C</issue><italic>),</italic> <fpage>103603</fpage>.</mixed-citation></ref>
<ref id="ref-37"><label>37.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Cheng</surname>, <given-names>L. X.</given-names></string-name>, <string-name><surname>Meng</surname>, <given-names>F.</given-names></string-name></person-group> (<year>2023</year>). <article-title>Certificateless public key authenticated searchable encryption with enhanced security model in IIoT applications</article-title>. <source>IEEE Internet of Things Journal</source><italic>,</italic> <volume>10</volume><italic>(</italic><issue>2</issue><italic>),</italic> <fpage>1391</fpage>&#x2013;<lpage>1400</lpage>.</mixed-citation></ref>
<ref id="ref-38"><label>38.</label><mixed-citation publication-type="other"><article-title>PBC Library: The pair-based cryptography library</article-title>. <ext-link ext-link-type="uri" xlink:href="http://crypto.stanford.edu/pbc/">http://crypto.stanford.edu/pbc/</ext-link> <comment>(accessed on 06/01/2023)</comment>.</mixed-citation></ref>
</ref-list>
</back></article>