<?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">CMC</journal-id>
<journal-id journal-id-type="nlm-ta">CMC</journal-id>
<journal-id journal-id-type="publisher-id">CMC</journal-id>
<journal-title-group>
<journal-title>Computers, Materials &#x0026; Continua</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-2226</issn>
<issn pub-type="ppub">1546-2218</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">35337</article-id>
<article-id pub-id-type="doi">10.32604/cmc.2023.035337</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Attribute-Based Authentication Scheme from Partial Encryption for Lattice with Short Key</article-title>
<alt-title alt-title-type="left-running-head">Attribute-Based Authentication Scheme from Partial Encryption for Lattice with Short Key</alt-title>
<alt-title alt-title-type="right-running-head">Attribute-Based Authentication Scheme from Partial Encryption for Lattice with Short Key</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author">
<name name-style="western"><surname>Yu</surname><given-names>Wangke</given-names></name></contrib>
<contrib id="author-2" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Wang</surname><given-names>Shuhua</given-names></name><email>w614sh@126.com</email></contrib>
<aff id="aff-1"><institution>School of Information Engineering, Jingdezhen Ceramic University</institution>, <addr-line>Jingdezhen, 333403</addr-line>, <country>China</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Shuhua Wang. Email: <email>w614sh@126.com</email></corresp>
</author-notes>
<pub-date date-type="collection" publication-format="electronic"><year>2023</year></pub-date>
<pub-date date-type="pub" publication-format="electronic"><day>24</day><month>1</month><year>2023</year></pub-date>
<volume>75</volume>
<issue>1</issue>
<fpage>67</fpage>
<lpage>80</lpage>
<history>
<date date-type="received"><day>17</day><month>8</month><year>2022</year></date>
<date date-type="accepted"><day>13</day><month>10</month><year>2022</year></date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2023 Yu and Wang</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Yu and Wang</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_CMC_35337.pdf"></self-uri>
<abstract><p>Wireless network is the basis of the Internet of things and the intelligent vehicle Internet. Due to the complexity of the Internet of things and intelligent vehicle Internet environment, the nodes of the Internet of things and the intelligent vehicle Internet are more vulnerable to malicious destruction and attacks. Most of the proposed authentication and key agreement protocols for wireless networks are based on traditional cryptosystems such as large integer decomposition and elliptic curves. With the rapid development of quantum computing, these authentication protocols based on traditional cryptography will be more and more threatened, so it is necessary to design some authentication and key agreement protocols that can resist quantum attacks. In this paper, an anti-quantum authentication scheme for wireless networks based on lattice cryptosystem is constructed. In the attribute-based authentication scheme, the length of the authenticated public-private key pair depends on the maximum order and complexity of the formula in the algorithm. In the attribute-based authentication scheme, there is a certain correlation between the authenticated data and the attribute value of the user in the scheme. We show that the attribute-based authentication scheme gives an attribute-based with smaller public-private key pairs. The security of the attribute-based authentication scheme is based on the sub-exponential hard problem of the LWE (Learning With Errors). The <italic>Q</italic>-<italic>poly</italic> made by the adversary in the scheme, and our attribute-based authentication scheme guarantees that private data about user attributes and ciphertext cannot be obtained by malicious attackers.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Authentication</kwd>
<kwd>learning with errors</kwd>
<kwd>partial encryption</kwd>
<kwd>security</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1"><label>1</label><title>Introduction</title>
<p>There are many attributes-based authentication schemes proposed in protocols related to wireless networks and information security, such as references [<xref ref-type="bibr" rid="ref-1">1</xref>&#x2013;<xref ref-type="bibr" rid="ref-4">4</xref>]. However, most of the proposed authentication and key agreement protocols for wireless networks are based on traditional cryptosystems such as large integer decomposition and elliptic curves. With the rapid development of quantum computing, these authentication protocols based on traditional cryptography will be more and more threatened. These attribute-based authentication schemes will not be secure in the post-quantum era. At present, the widely used anti-quantum cryptosystem is an anti-quantum algorithm based on lattice cryptosystem and coding-related problems. With the rapid development of quantum computer, the anti-quantum algorithm based on lattice cryptosystem will attract more researchers. For the related security protocols based on lattice cryptosystem [<xref ref-type="bibr" rid="ref-5">5</xref>&#x2013;<xref ref-type="bibr" rid="ref-7">7</xref>], the anti-quantum performance of the protocols is based on the related difficult problems such as the shortest vector and learning with errors in a lattice-based cryptosystem. The authentication and key agreement protocol based on lattice cryptosystem can also resist various threats brought by quantum computers in the post-quantum era, and can ensure the security of wireless networks, which is a hot issue in anti-quantum algorithms [<xref ref-type="bibr" rid="ref-8">8</xref>&#x2013;<xref ref-type="bibr" rid="ref-15">15</xref>]. The difficult problem of a lattice-based cryptosystem is that it plays a key role in information security in wireless networks in the future quantum era [<xref ref-type="bibr" rid="ref-16">16</xref>&#x2013;<xref ref-type="bibr" rid="ref-18">18</xref>]. Based on the difficult problems of lattice-based cryptosystem, many fully homomorphic encryption schemes [<xref ref-type="bibr" rid="ref-19">19</xref>&#x2013;<xref ref-type="bibr" rid="ref-24">24</xref>] and public-key encryption schemes [<xref ref-type="bibr" rid="ref-25">25</xref>&#x2013;<xref ref-type="bibr" rid="ref-27">27</xref>] are presented.</p>
<p>In the past decade, many schemes of anti-quantum authentication and security protocols based on the difficult problems of lattice cryptosystem have been proposed [<xref ref-type="bibr" rid="ref-28">28</xref>&#x2013;<xref ref-type="bibr" rid="ref-34">34</xref>]. In 2016, Bansarkhani&#x00A0;et&#x00A0;al.&#x00A0;[<xref ref-type="bibr" rid="ref-5">5</xref>]. Based on lattice cryptosystem, a new anti-quantum authentication signature protocol is proposed, and the authentication protocol is applied to block chain security. In 2018, Behina&#x00A0;et&#x00A0;al.&#x00A0;[<xref ref-type="bibr" rid="ref-35">35</xref>]. From the difficult problem of lattice-based cryptosystem, an effective key searchable security authentication scheme is proposed, the key searchable security authentication scheme uses a new strategy to search keywords such as keys. In 2019, Fukumitsu&#x00A0;et&#x00A0;al.&#x00A0;[<xref ref-type="bibr" rid="ref-7">7</xref>]. Based on the difficulty of lattice cryptosystem, a secure and efficient authentication signature protocol is proposed, which is proved to be secure in the random model, which is a three-round scheme with the public key aggregation with the security proof, A group signatures scheme without NIZK (Non-Interactive Zero Knowledge) base on lattice was designed [<xref ref-type="bibr" rid="ref-36">36</xref>], but this group signatures scheme requires a combination of attribute-based encryption and signatures. Ma&#x00A0;et&#x00A0;al.&#x00A0;[<xref ref-type="bibr" rid="ref-10">10</xref>]. Based on lattice cipher, an effective anti-quantum authentication signature protocol for blockchains is proposed, which is a four-round scheme with the key aggregation and Tso&#x00A0;et&#x00A0;al.&#x00A0;[<xref ref-type="bibr" rid="ref-12">12</xref>]. An effective anti-quantum blind signature protocol based on attributes from lattices is proposed, which is the attribute-based signature. In 2020, Kansal&#x00A0;et&#x00A0;al.&#x00A0;[<xref ref-type="bibr" rid="ref-9">9</xref>]. Based on the difficulty of lattice cryptosystem, an effective anti-quantum authentication signature scheme is proposed, which is a round optimal secure authentication scheme. In 2020, Sun&#x00A0;et&#x00A0;al.&#x00A0;[<xref ref-type="bibr" rid="ref-37">37</xref>]. Proposed an effective anti-quantum lattice cipher group signature authentication protocol based on zero knowledge proofs. Canard&#x00A0;et&#x00A0;al.&#x00A0;[<xref ref-type="bibr" rid="ref-38">38</xref>]. Proposed an anti-quantum group signature authentication protocol with secure data fixed length based on lattice cryptosystem. The protocol is proved to be secure under the standard model. In 2020, Doss&#x00A0;et&#x00A0;al.&#x00A0;[<xref ref-type="bibr" rid="ref-39">39</xref>]. Proposed a secure and effective meme optimization method based on lattice public key cryptosystem, which is used to transmit important medical privacy information in block chain and the internet of things that can resist the key exchange. The application of the attribute-based authentication scheme also includes hierarchical electronic voting for multiple regions, robust reversible audio watermarking for telemedicine and privacy protection, and much more [<xref ref-type="bibr" rid="ref-40">40</xref>]. At present, many scholars are studying anti-quantum secure signature and authentication protocols based on lattice cryptosystem, such as the quantum-resistant batch verifiable data privacy security authentication protocol of VANETs (Vehicular Ad Hoc Networks) using lattice [<xref ref-type="bibr" rid="ref-8">8</xref>].</p>
<p>Hence, it is of great significance to construct a secure authentication protocol based on the difficult problem of lattice cryptosystem. In this paper, an effective attribute-based authentication protocol is proposed, which supports full homomorphic encryption of information. The length of the public-private key pair in this protocol is short, and the corresponding computational overhead is reduced.</p>
</sec>
<sec id="s2"><label>2</label><title>Preliminaries</title>
<sec id="s2_1"><label>2.1</label><title>Lattice</title>
<p>The general definition in these lattices can be expressed as: randomly select a prime number <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mrow><mml:mtext>s</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2265;</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula> and a matrix <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mi>B</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>. The specific definition is as follows:
<disp-formula id="ueqn-1">
<mml:math id="mml-ueqn-1" display="block"><mml:msubsup><mml:mrow><mml:mi mathvariant="normal">&#x039B;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x22A5;</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>B</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>e</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup><mml:mo>:</mml:mo><mml:mi>B</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:mi>e</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></disp-formula>
<disp-formula id="ueqn-2">
<mml:math id="mml-ueqn-2" display="block"><mml:msubsup><mml:mrow><mml:mi mathvariant="normal">&#x039B;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>B</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>e</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup><mml:mo>:</mml:mo><mml:mi>B</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:mi>e</mml:mi><mml:mo>=</mml:mo><mml:mi>u</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></disp-formula></p>
</sec>
<sec id="s2_2"><label>2.2</label><title>The <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mi>L</mml:mi><mml:mi>W</mml:mi><mml:mi>E</mml:mi></mml:math></inline-formula> Problem</title>
<p><bold>Definition 1</bold> (<inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:mrow><mml:mtext>LWE</mml:mtext></mml:mrow></mml:math></inline-formula> Problem [<xref ref-type="bibr" rid="ref-17">17</xref>]). Enter a random integer <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>q</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>n</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2265;</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula> and a random Gaussian distribution <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:msub><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>n</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> in the <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, the <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mrow><mml:mtext>LWE</mml:mtext></mml:mrow></mml:math></inline-formula> problem is possible to distinguish the following different distributions:
<disp-formula id="ueqn-3">
<mml:math id="mml-ueqn-3" display="block"><mml:mtable columnalign="left left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo stretchy="false">(</mml:mo><mml:mi>B</mml:mi><mml:mo>,</mml:mo><mml:mi>B</mml:mi><mml:mi>u</mml:mi><mml:mo>+</mml:mo><mml:mi>y</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd><mml:mtd><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi></mml:mtd><mml:mtd><mml:mo stretchy="false">(</mml:mo><mml:mi>B</mml:mi><mml:mo>,</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:mi>B</mml:mi><mml:mover><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mi mathvariant="normal">&#x0024;</mml:mi></mml:mover><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi>u</mml:mi><mml:mover><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mi mathvariant="normal">&#x0024;</mml:mi></mml:mover><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mover><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mi mathvariant="normal">&#x0024;</mml:mi></mml:mover><mml:msup><mml:mrow><mml:mi>&#x03C7;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>x</mml:mi><mml:mover><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mi mathvariant="normal">&#x0024;</mml:mi></mml:mover><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>.</p>
<p><bold>Connection with lattices.</bold> Suppose <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:mi>C</mml:mi><mml:mo>=</mml:mo><mml:mi>C</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>m</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">N</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>. Some Gaussian distributions <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:mi>&#x03C3;</mml:mi><mml:mo>=</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">N</mml:mi></mml:mrow></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> is called <italic>C</italic>-bounded as follow:
<disp-formula id="ueqn-4">
<mml:math id="mml-ueqn-4" display="block"><mml:mo movablelimits="true" form="prefix">Pr</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mi>C</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>C</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>C</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo stretchy="false">]</mml:mo><mml:mo>=</mml:mo><mml:mn>1.</mml:mn></mml:math></disp-formula></p>
<p>There is a <italic>C</italic>-bounded Gaussian distribution <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:mi>&#x03C3;</mml:mi></mml:math></inline-formula> such that solving the <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:mrow><mml:mtext>LWE</mml:mtext></mml:mrow></mml:math></inline-formula> problem is as same hard as under the worst-case lattice problems to the factor in <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:mrow><mml:mover><mml:mi>O</mml:mi><mml:mo>&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>C</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> [<xref ref-type="bibr" rid="ref-17">17</xref>,<xref ref-type="bibr" rid="ref-18">18</xref>].</p>
</sec>
<sec id="s2_3"><label>2.3</label><title>Lattice Algorithms</title>
<p><bold>Lemma 1</bold> ([<xref ref-type="bibr" rid="ref-31">31</xref>]) <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:mrow><mml:mtext>SampleLeft</mml:mtext></mml:mrow></mml:math></inline-formula>:</p>
<p>Randomly select the matrixes <italic>C</italic> in <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> and <italic>D</italic> in <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:math></inline-formula>, select a grid base <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>C</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> of <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:msubsup><mml:mrow><mml:mi mathvariant="normal">&#x039B;</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x22A5;</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, a short vector <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:mi>v</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, and the parameter <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:mi>&#x03B2;</mml:mi></mml:math></inline-formula>.</p>
<p>Suppose <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:mi>G</mml:mi><mml:mo>:=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>D</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. The algorithm <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:mrow><mml:mtext>SampleLeft</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mo>,</mml:mo><mml:mi>D</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>v</mml:mi><mml:mo>,</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> outputs the short vector <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:mi>u</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>+</mml:mo><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula> over <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:msub><mml:mi mathvariant="normal">&#x039B;</mml:mi><mml:mrow><mml:mi>G</mml:mi><mml:mo>+</mml:mo><mml:mi>v</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
<p><bold>Lemma 2</bold> ([<xref ref-type="bibr" rid="ref-31">31</xref>]) <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:mrow><mml:mtext>SampleRight</mml:mtext></mml:mrow></mml:math></inline-formula>:</p>
<p>Randomly select the matrixes <italic>C</italic> in <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, <italic>H</italic> in <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> and <italic>D</italic> in <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, select a grid base <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> of <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:msubsup><mml:mrow><mml:mi mathvariant="normal">&#x039B;</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x22A5;</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>D</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, a short vector <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mi>v</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, and the parameter <inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:mi>&#x03B2;</mml:mi></mml:math></inline-formula>.</p>
<p>Suppose <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:mi>G</mml:mi><mml:mo>:=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>D</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. The algorithm <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:mrow><mml:mtext>SampleRight</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mo>,</mml:mo><mml:mi>D</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>v</mml:mi><mml:mo>,</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> the short vector <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:mi>u</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>+</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> over <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:msub><mml:mi mathvariant="normal">&#x039B;</mml:mi><mml:mrow><mml:mi>G</mml:mi><mml:mo>+</mml:mo><mml:mi>v</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
<p><bold>Lemma 3</bold> [<xref ref-type="bibr" rid="ref-29">29</xref>] <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:mi>E</mml:mi><mml:mi>v</mml:mi><mml:mi>a</mml:mi><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>P</mml:mi><mml:mi>K</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:mi>E</mml:mi><mml:mi>v</mml:mi><mml:mi>a</mml:mi><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>C</mml:mi><mml:mi>T</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>:
<list list-type="order">
<list-item><p><inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:mi>E</mml:mi><mml:mi>v</mml:mi><mml:mi>a</mml:mi><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>P</mml:mi><mml:mi>K</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>: Randomly select the matrixes <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, and select a formula <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>&#x03B3;</mml:mi></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:mi>l</mml:mi></mml:mrow></mml:msup><mml:mo>&#x00D7;</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, the algorithm <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:mi>E</mml:mi><mml:mi>v</mml:mi><mml:mi>a</mml:mi><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>P</mml:mi><mml:mi>K</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> calculates matrix <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>&#x03B3;</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>.</p></list-item>
<list-item><p><inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:msub><mml:mrow><mml:mtext>Eval</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>ct</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>: Randomly select the matrixes <inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, and select a formula <inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>&#x03B3;</mml:mi></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:mi>l</mml:mi></mml:mrow></mml:msup><mml:mo>&#x00D7;</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, due to the <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:mi>I</mml:mi><mml:mi>D</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:msup><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> and some vectors <inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, the algorithm <inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:msub><mml:mrow><mml:mtext>Eval</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>ct</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> calculates the vector <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>&#x03B3;</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>.</p></list-item>
</list></p>
</sec>
</sec>
<sec id="s3"><label>3</label><title>Attribute-Based Authentication Scheme</title>
<p>Based on the partial hidden predicate encryption protocol based on the difficult problem of lattice cryptosystem, a new attribute-based anti-quantum authentication protocol (<inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi></mml:math></inline-formula>) is proposed. The partial implicit predicate encryption protocol based on lattice cryptosystem used in this paper is effective and anti-quantum secure, the detailed process of the scheme is shown in [<xref ref-type="bibr" rid="ref-28">28</xref>,<xref ref-type="bibr" rid="ref-29">29</xref>]. An algorithm for generating two user communication keys is added to our attribute-based anti-quantum authentication protocol, which is based on a symmetric key of a symmetric cryptosystem, and the key length can be controlled by selecting different parameters through the generation algorithm. The attribute-based authentication scheme for a predicate universe <italic>C</italic>, a symmetric cryptosystem communication key space <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, and there are five other algorithms (<inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mtext mathvariant="bold">Setup</mml:mtext></mml:mrow></mml:math></inline-formula><bold>,</bold> <inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mi mathvariant="bold">E</mml:mi><mml:mi mathvariant="bold">n</mml:mi><mml:mi mathvariant="bold">c</mml:mi></mml:mrow></mml:math></inline-formula><bold>,</bold> <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mtext mathvariant="bold">Keygen</mml:mtext></mml:mrow></mml:math></inline-formula><bold>,</bold> <inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mi mathvariant="bold">D</mml:mi><mml:mi mathvariant="bold">e</mml:mi><mml:mi mathvariant="bold">c</mml:mi></mml:mrow></mml:math></inline-formula>).</p>
<p>In the section, it is proposed that the public key, common parameter, and master key of all users are generated by the algorithm <inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mtext mathvariant="bold">Setup</mml:mtext></mml:mrow></mml:math></inline-formula>. Where <inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>B</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, <italic>i</italic> represent the <italic>i</italic> component, <italic>j</italic> represents the common parameter of the <italic>j</italic> user, and <inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> represents the identity of the <italic>j</italic> user. The specific process is as follows:</p>
<p><inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mtext mathvariant="bold">Setup</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>&#x03BB;</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>Q</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>: Given as input the important parameters &#x03BB;, <italic>t</italic>, <italic>d</italic>, the length <italic>l</italic> and private attributes <italic>t</italic> respectively. The algorithm <inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mtext mathvariant="bold">Setup</mml:mtext></mml:mrow></mml:math></inline-formula> outputs some parameters and the most important core key of our attribute-based anti-quantum authentication protocol, the specific process of the <inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mtext mathvariant="bold">Setup</mml:mtext></mml:mrow></mml:math></inline-formula> is as follows:
<list list-type="order">
<list-item><p>Randomly select some important parameters <inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:mo stretchy="false">(</mml:mo><mml:mi>q</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>&#x03C1;</mml:mi><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>:
<disp-formula id="ueqn-5">
<mml:math id="mml-ueqn-5" display="block"><mml:mi>n</mml:mi><mml:mo>&#x2265;</mml:mo><mml:msup><mml:mi>d</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>&#x03B5;</mml:mi></mml:mrow></mml:msup></mml:math></disp-formula>
<disp-formula id="ueqn-6">
<mml:math id="mml-ueqn-6" display="block"><mml:mi>q</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mover><mml:mi>O</mml:mi><mml:mo>&#x007E;</mml:mo></mml:mover></mml:mrow><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mi>O</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup></mml:math></disp-formula>
<disp-formula id="ueqn-7">
<mml:math id="mml-ueqn-7" display="block"><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mi>O</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>n</mml:mi><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>q</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula>
<disp-formula id="ueqn-8">
<mml:math id="mml-ueqn-8" display="block"><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mi>n</mml:mi><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>q</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>O</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>d</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup></mml:math></disp-formula></p></list-item>
<list-item><p>Choose some important random matrices:
<disp-formula id="ueqn-9">
<mml:math id="mml-ueqn-9" display="block"><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>j</mml:mi></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:msup><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>z</mml:mi></mml:math></disp-formula>
<disp-formula id="ueqn-10">
<mml:math id="mml-ueqn-10" display="block"><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>for</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>l</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>z</mml:mi></mml:math></disp-formula>
<disp-formula id="ueqn-11">
<mml:math id="mml-ueqn-11" display="block"><mml:msubsup><mml:mrow><mml:mi>B</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>for</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>z</mml:mi></mml:math></disp-formula>
<disp-formula id="ueqn-12">
<mml:math id="mml-ueqn-12" display="block"><mml:msubsup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>for</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>z</mml:mi></mml:math></disp-formula></p></list-item>
<list-item><p>Sampling matrix with algorithm <inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:mrow><mml:mtext mathvariant="italic">TrapGen</mml:mtext></mml:mrow></mml:math></inline-formula> [<xref ref-type="bibr" rid="ref-30">30</xref>]: randomly select some important parameters <inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>q</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, the algorithm <inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:mrow><mml:mtext mathvariant="italic">TrapGen</mml:mtext></mml:mrow></mml:math></inline-formula> outputs the <inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:mo stretchy="false">(</mml:mo><mml:mi>A</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p></list-item>
<list-item><p>The algorithm outputs some parameters and the most important core key of the scheme:
<disp-formula id="ueqn-13">
<mml:math id="mml-ueqn-13" display="block"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mi>m</mml:mi><mml:mi>p</mml:mi><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>l</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>z</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mrow><mml:mi>B</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>z</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>A</mml:mi><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>z</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msup><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>z</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo></mml:math></disp-formula>
<disp-formula id="ueqn-14">
<mml:math id="mml-ueqn-14" display="block"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p></list-item>
</list></p>
<p>The private key of the scheme for the user is generated using those public parameters generated above, where <inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> represents the private key of the <italic>j</italic> user.</p>
<p><inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mtext mathvariant="bold">Keygen</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>: Randomly select the circuit of the <italic>j</italic> user <inline-formula id="ieqn-71"><mml:math id="mml-ieqn-71"><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> and the most important core key of our attribute-based anti-quantum authentication protocol, output the private key <inline-formula id="ieqn-72"><mml:math id="mml-ieqn-72"><mml:mi>s</mml:mi><mml:msubsup><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> of the <italic>j-</italic>th user. The specific process of the algorithm <inline-formula id="ieqn-73"><mml:math id="mml-ieqn-73"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mtext mathvariant="bold">Keygen</mml:mtext></mml:mrow></mml:math></inline-formula> is as follows:
<list list-type="order">
<list-item><p>Compute the parameter <inline-formula id="ieqn-74"><mml:math id="mml-ieqn-74"><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>z</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub></mml:math></inline-formula> with algorithm <inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:msub><mml:mrow><mml:mtext>Eval</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>PK</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>.
<disp-formula id="ueqn-15">
<mml:math id="mml-ueqn-15" display="block"><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>z</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mtext>Eval</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>PK</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>l</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>z</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mrow><mml:mi>B</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>z</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p></list-item>
<list-item><p>Sample a random subset <inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mo>&#x2282;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula> with <inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:mrow><mml:mo>|</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mo>|</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>u</mml:mi></mml:math></inline-formula>, and respectively compute the sum of subset <inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>z</mml:mi></mml:math></inline-formula>.</p></list-item>
<list-item><p>Sampling the key with algorithm <inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:mrow><mml:mtext>SampleLeft</mml:mtext></mml:mrow></mml:math></inline-formula>: <inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mrow><mml:mtext>SampleLeft</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>A</mml:mi><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mi>G</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> where <italic>s</italic> is a Gaussian parameter, and
<disp-formula id="ueqn-16">
<mml:math id="mml-ueqn-16" display="block"><mml:mrow><mml:mo>[</mml:mo><mml:mi>A</mml:mi><mml:mrow><mml:mo>|</mml:mo><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mi>G</mml:mi><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>.</mml:mo></mml:math></disp-formula></p></list-item>
<list-item><p>Let <inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>z</mml:mi></mml:math></inline-formula>, and output the private key <inline-formula id="ieqn-83"><mml:math id="mml-ieqn-83"><mml:mi>s</mml:mi><mml:msubsup><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> of the <italic>j-</italic>th user <inline-formula id="ieqn-84"><mml:math id="mml-ieqn-84"><mml:mi>s</mml:mi><mml:msubsup><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, <inline-formula id="ieqn-85"><mml:math id="mml-ieqn-85"><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>z</mml:mi></mml:math></inline-formula>.</p></list-item>
</list></p>
<p>Take Alice and Bob as an example, Alice and Bob are necessary to authenticate each other before finally generating a symmetric key for communication, which is jointly generated by the Alice private attributes <inline-formula id="ieqn-86"><mml:math id="mml-ieqn-86"><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> and Bob private attributes <inline-formula id="ieqn-87"><mml:math id="mml-ieqn-87"><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>. The symmetric key authentication for communication is as follows: if Alice and the first user communicate for the first time, the partial communication key associated with Alice should be negotiated first. The partial communication key associated with the Alice negotiation process is as follows: assuming that Alice is the initiator of the communication, Alice first uses the hash algorithm <inline-formula id="ieqn-88"><mml:math id="mml-ieqn-88"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> to generate the message <inline-formula id="ieqn-89"><mml:math id="mml-ieqn-89"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> associated with private attributes <inline-formula id="ieqn-90"><mml:math id="mml-ieqn-90"><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, and then encrypts the message <inline-formula id="ieqn-91"><mml:math id="mml-ieqn-91"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> using the public key of Bob, then sends the ciphertext <inline-formula id="ieqn-92"><mml:math id="mml-ieqn-92"><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> to Bob. The specific negotiation process is as follows:</p>
<p><inline-formula id="ieqn-93"><mml:math id="mml-ieqn-93"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mi mathvariant="bold">E</mml:mi><mml:mi mathvariant="bold">n</mml:mi><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mi>m</mml:mi><mml:mi>p</mml:mi><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><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:math></inline-formula>. The <inline-formula id="ieqn-94"><mml:math id="mml-ieqn-94"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mi mathvariant="bold">E</mml:mi><mml:mi mathvariant="bold">n</mml:mi><mml:mi mathvariant="bold">c</mml:mi></mml:mrow></mml:math></inline-formula> algorithm gets as input <inline-formula id="ieqn-95"><mml:math id="mml-ieqn-95"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mi>m</mml:mi><mml:mi>p</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-96"><mml:math id="mml-ieqn-96"><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi>a</mml:mi></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:msup><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, the identification <inline-formula id="ieqn-97"><mml:math id="mml-ieqn-97"><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>a</mml:mi></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:msup><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> and the hash function <inline-formula id="ieqn-98"><mml:math id="mml-ieqn-98"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, out the ciphertext <inline-formula id="ieqn-99"><mml:math id="mml-ieqn-99"><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>. The specific process of the algorithm <inline-formula id="ieqn-100"><mml:math id="mml-ieqn-100"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mi mathvariant="bold">E</mml:mi><mml:mi mathvariant="bold">n</mml:mi><mml:mi mathvariant="bold">c</mml:mi></mml:mrow></mml:math></inline-formula> is as follows:
<list list-type="order">
<list-item><p>Sample a Gaussian parameter <inline-formula id="ieqn-101"><mml:math id="mml-ieqn-101"><mml:mi>s</mml:mi><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>B</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, two Gaussian parameters <inline-formula id="ieqn-102"><mml:math id="mml-ieqn-102"><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>B</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-103"><mml:math id="mml-ieqn-103"><mml:msubsup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-104"><mml:math id="mml-ieqn-104"><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula>.</p></list-item>
<list-item><p>Choose a security hash function <inline-formula id="ieqn-105"><mml:math id="mml-ieqn-105"><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:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>:</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>1</mml:mn></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:mrow><mml:msub><mml:mi>&#x03C4;</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>.</p></list-item>
<list-item><p>Compute the message <inline-formula id="ieqn-106"><mml:math id="mml-ieqn-106"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> associated with <inline-formula id="ieqn-107"><mml:math id="mml-ieqn-107"><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>: <inline-formula id="ieqn-108"><mml:math id="mml-ieqn-108"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>a</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:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></p></list-item>
<list-item><p>Select a parameter <italic>b</italic>, and set <inline-formula id="ieqn-109"><mml:math id="mml-ieqn-109"><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mrow><mml:mo>&#x2308;</mml:mo><mml:mi>q</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>&#x2309;</mml:mo></mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">]</mml:mo><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>. Compute
<disp-formula id="ueqn-17">
<mml:math id="mml-ueqn-17" display="block"><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mi>A</mml:mi><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mi>s</mml:mi><mml:mo>+</mml:mo><mml:mi>e</mml:mi></mml:math></disp-formula>
<disp-formula id="ueqn-18">
<mml:math id="mml-ueqn-18" display="block"><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msubsup><mml:mi>s</mml:mi><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:math></disp-formula></p></list-item>
<list-item><p>Random sampling <italic>t</italic> matrices <inline-formula id="ieqn-110"><mml:math id="mml-ieqn-110"><mml:msubsup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mover><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mi mathvariant="normal">&#x0024;</mml:mi></mml:mover><mml:msup><mml:mrow><mml:mo>{</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, Where <inline-formula id="ieqn-111"><mml:math id="mml-ieqn-111"><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:math></inline-formula>, compute:
<disp-formula id="ueqn-19">
<mml:math id="mml-ueqn-19" display="block"><mml:msub><mml:mi>v</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>B</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mi>G</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mi>s</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mi>e</mml:mi></mml:math></disp-formula></p></list-item>
<list-item><p>Random sampling <italic>l</italic> matrices <inline-formula id="ieqn-112"><mml:math id="mml-ieqn-112"><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mover><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mi mathvariant="normal">&#x0024;</mml:mi></mml:mover><mml:msup><mml:mrow><mml:mo>{</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, where <inline-formula id="ieqn-113"><mml:math id="mml-ieqn-113"><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:math></inline-formula>, compute:
<disp-formula id="ueqn-20">
<mml:math id="mml-ueqn-20" display="block"><mml:msub><mml:mi>u</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>A</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>I</mml:mi><mml:msubsup><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mi>G</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mi>s</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mi>e</mml:mi></mml:math></disp-formula></p></list-item>
<list-item><p>Finally, out the encrypted ciphertext <inline-formula id="ieqn-114"><mml:math id="mml-ieqn-114"><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>:
<disp-formula id="ueqn-21">
<mml:math id="mml-ueqn-21" display="block"><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>l</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p></list-item>
</list>
After receiving the ciphertext <inline-formula id="ieqn-115"><mml:math id="mml-ieqn-115"><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, which is sent by Alice, Bob decrypts the data <inline-formula id="ieqn-116"><mml:math id="mml-ieqn-116"><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> using private key <inline-formula id="ieqn-117"><mml:math id="mml-ieqn-117"><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, the specific process is as follows:</p>
<p><inline-formula id="ieqn-118"><mml:math id="mml-ieqn-118"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mi mathvariant="bold">D</mml:mi><mml:mi mathvariant="bold">e</mml:mi><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. The <inline-formula id="ieqn-119"><mml:math id="mml-ieqn-119"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mi mathvariant="bold">D</mml:mi><mml:mi mathvariant="bold">e</mml:mi><mml:mi mathvariant="bold">c</mml:mi></mml:mrow></mml:math></inline-formula> algorithm inputs ciphertext <inline-formula id="ieqn-120"><mml:math id="mml-ieqn-120"><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, the public part of the attribute <inline-formula id="ieqn-121"><mml:math id="mml-ieqn-121"><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> and own secret key <inline-formula id="ieqn-122"><mml:math id="mml-ieqn-122"><mml:mi>s</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:math></inline-formula>, output the partial communication key associated with Alice. The specific process is:
<list list-type="order">
<list-item><p>Based on these parameters <inline-formula id="ieqn-123"><mml:math id="mml-ieqn-123"><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, use <inline-formula id="ieqn-124"><mml:math id="mml-ieqn-124"><mml:msub><mml:mrow><mml:mtext>Eval</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>ct</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> to compute <inline-formula id="ieqn-125"><mml:math id="mml-ieqn-125"><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:math></inline-formula>:
<disp-formula id="ueqn-22">
<mml:math id="mml-ueqn-22" display="block"><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mtext>Eval</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>ct</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>l</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>z</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mrow><mml:mi>B</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>l</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>z</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:math></disp-formula></p></list-item>
<list-item><p>Compute:
<disp-formula id="ueqn-23">
<mml:math id="mml-ueqn-23" display="block"><mml:mi>&#x03B7;</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></disp-formula></p></list-item>
<list-item><p>If
<disp-formula id="ueqn-24">
<mml:math id="mml-ueqn-24" display="block"><mml:mo stretchy="false">[</mml:mo><mml:mrow><mml:mtext>Rd</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mo stretchy="false">[</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">]</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mrow><mml:mtext>Rd</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mo stretchy="false">[</mml:mo><mml:mn>2</mml:mn><mml:mo stretchy="false">]</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mrow><mml:mtext>Rd</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mo stretchy="false">[</mml:mo><mml:mi>m</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">]</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">]</mml:mo><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo></mml:math></disp-formula></p></list-item>
</list></p>
<p>Then set <inline-formula id="ieqn-126"><mml:math id="mml-ieqn-126"><mml:mi>&#x03BC;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mtext>Rd</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mo stretchy="false">[</mml:mo><mml:mi>m</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and output <inline-formula id="ieqn-127"><mml:math id="mml-ieqn-127"><mml:mi>&#x03BC;</mml:mi></mml:math></inline-formula>. Otherwise, termination &#x22A5;.
<list list-type="simple">
<list-item><label>4.</label><p>Compute the partial communication key associated with Alice: <inline-formula id="ieqn-128"><mml:math id="mml-ieqn-128"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>&#x03BC;</mml:mi></mml:math></inline-formula>.</p></list-item>
</list></p>
<p>The partial communication key associated with the Bob negotiation process is as follows: Alice uses the hash function <inline-formula id="ieqn-129"><mml:math id="mml-ieqn-129"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> to generate the data <inline-formula id="ieqn-130"><mml:math id="mml-ieqn-130"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> associated with private attributes <inline-formula id="ieqn-131"><mml:math id="mml-ieqn-131"><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, and then encrypts the message <inline-formula id="ieqn-132"><mml:math id="mml-ieqn-132"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> with Bob&#x2019;s public key, and then sends the ciphertext <inline-formula id="ieqn-133"><mml:math id="mml-ieqn-133"><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> to Bob. Then, Bob can use the hash algorithm <inline-formula id="ieqn-134"><mml:math id="mml-ieqn-134"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> to generate the symmetric key for communication <inline-formula id="ieqn-135"><mml:math id="mml-ieqn-135"><mml:msubsup><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>.The specific process is as follows:</p>
<p><inline-formula id="ieqn-136"><mml:math id="mml-ieqn-136"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mi mathvariant="bold">E</mml:mi><mml:mi mathvariant="bold">n</mml:mi><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mi>m</mml:mi><mml:mi>p</mml:mi><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>H</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>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. The <inline-formula id="ieqn-137"><mml:math id="mml-ieqn-137"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mi mathvariant="bold">E</mml:mi><mml:mi mathvariant="bold">n</mml:mi><mml:mi mathvariant="bold">c</mml:mi></mml:mrow></mml:math></inline-formula> algorithm gets as input <inline-formula id="ieqn-138"><mml:math id="mml-ieqn-138"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mi>m</mml:mi><mml:mi>p</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula>, the attributes <inline-formula id="ieqn-139"><mml:math id="mml-ieqn-139"><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi>b</mml:mi></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:msup><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, <inline-formula id="ieqn-140"><mml:math id="mml-ieqn-140"><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>b</mml:mi></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:msup><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> and the hash function <inline-formula id="ieqn-141"><mml:math id="mml-ieqn-141"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-142"><mml:math id="mml-ieqn-142"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, output the ciphertext <inline-formula id="ieqn-143"><mml:math id="mml-ieqn-143"><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>. The specific process is as follows:
<list list-type="order">
<list-item><p>Sample a Gaussian parameter <inline-formula id="ieqn-144"><mml:math id="mml-ieqn-144"><mml:mi>s</mml:mi><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>B</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, two Gaussian parameters <inline-formula id="ieqn-145"><mml:math id="mml-ieqn-145"><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>B</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-146"><mml:math id="mml-ieqn-146"><mml:msubsup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, where <inline-formula id="ieqn-147"><mml:math id="mml-ieqn-147"><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>N</mml:mi></mml:math></inline-formula>.</p></list-item>
<list-item><p>Compute the message <inline-formula id="ieqn-148"><mml:math id="mml-ieqn-148"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> associated with <inline-formula id="ieqn-149"><mml:math id="mml-ieqn-149"><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>: <inline-formula id="ieqn-150"><mml:math id="mml-ieqn-150"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>b</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:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></p></list-item>
<list-item><p>Select a parameter <inline-formula id="ieqn-151"><mml:math id="mml-ieqn-151"><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, and set <inline-formula id="ieqn-152"><mml:math id="mml-ieqn-152"><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mrow><mml:mo>&#x2308;</mml:mo><mml:mi>q</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>&#x2309;</mml:mo></mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">]</mml:mo><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>. Compute:
<disp-formula id="ueqn-25">
<mml:math id="mml-ueqn-25" display="block"><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mi>A</mml:mi><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mi>s</mml:mi><mml:mo>+</mml:mo><mml:mi>e</mml:mi></mml:math></disp-formula>
<disp-formula id="ueqn-26">
<mml:math id="mml-ueqn-26" display="block"><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msubsup><mml:mi>s</mml:mi><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:math></disp-formula></p></list-item>
<list-item><p>Random sampling <italic>t</italic> matrices <inline-formula id="ieqn-153"><mml:math id="mml-ieqn-153"><mml:msubsup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mover><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mi mathvariant="normal">&#x0024;</mml:mi></mml:mover><mml:msup><mml:mrow><mml:mo>{</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, where <inline-formula id="ieqn-154"><mml:math id="mml-ieqn-154"><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:math></inline-formula>, compute:
<disp-formula id="ueqn-27">
<mml:math id="mml-ueqn-27" display="block"><mml:msub><mml:mi>v</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>B</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:mi>G</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mi>s</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mi>e</mml:mi></mml:math></disp-formula></p></list-item>
<list-item><p>Random sampling <italic>l</italic> matrices <inline-formula id="ieqn-155"><mml:math id="mml-ieqn-155"><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mover><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mi mathvariant="normal">&#x0024;</mml:mi></mml:mover><mml:msup><mml:mrow><mml:mo>{</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, where <inline-formula id="ieqn-156"><mml:math id="mml-ieqn-156"><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:math></inline-formula>, compute:
<disp-formula id="ueqn-28">
<mml:math id="mml-ueqn-28" display="block"><mml:msub><mml:mi>u</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>A</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>I</mml:mi><mml:msubsup><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:mi>G</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mi>s</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mi>e</mml:mi></mml:math></disp-formula></p></list-item>
<list-item><p>Choose a hash algorithm <inline-formula id="ieqn-157"><mml:math id="mml-ieqn-157"><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 stretchy="false">&#x2192;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>:</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>2</mml:mn></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:mrow><mml:msub><mml:mi>&#x03C4;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>.</p></list-item>
<list-item><p>Compute the symmetric communication key with Bob: <inline-formula id="ieqn-158"><mml:math id="mml-ieqn-158"><mml:msubsup><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><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:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></p></list-item>
<list-item><p>Out the ciphertext
<disp-formula id="ueqn-29">
<mml:math id="mml-ueqn-29" display="block"><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>l</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p></list-item>
</list>
After receiving the ciphertext <inline-formula id="ieqn-159"><mml:math id="mml-ieqn-159"><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, which is sent by Bob, Alice decrypts the data <inline-formula id="ieqn-160"><mml:math id="mml-ieqn-160"><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> with private key <inline-formula id="ieqn-161"><mml:math id="mml-ieqn-161"><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, and compute the symmetric communication key with Bob, the specific process is as follows:</p>
<p><inline-formula id="ieqn-162"><mml:math id="mml-ieqn-162"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mi mathvariant="bold">D</mml:mi><mml:mi mathvariant="bold">e</mml:mi><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. The <inline-formula id="ieqn-163"><mml:math id="mml-ieqn-163"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mi mathvariant="bold">D</mml:mi><mml:mi mathvariant="bold">e</mml:mi><mml:mi mathvariant="bold">c</mml:mi></mml:mrow></mml:math></inline-formula> algorithm gets as input the ciphertext <inline-formula id="ieqn-164"><mml:math id="mml-ieqn-164"><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, the attribute <inline-formula id="ieqn-165"><mml:math id="mml-ieqn-165"><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, the secret key <inline-formula id="ieqn-166"><mml:math id="mml-ieqn-166"><mml:mi>s</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:math></inline-formula>, and the hash function <inline-formula id="ieqn-167"><mml:math id="mml-ieqn-167"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, output the authentication symmetric key. The specific process is as follows:
<list list-type="order">
<list-item><p>Using <inline-formula id="ieqn-168"><mml:math id="mml-ieqn-168"><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, apply the <inline-formula id="ieqn-169"><mml:math id="mml-ieqn-169"><mml:msub><mml:mrow><mml:mtext>Eval</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>ct</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> algorithm to compute:
<disp-formula id="ueqn-30">
<mml:math id="mml-ueqn-30" display="block"><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mtext>Eval</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>ct</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>l</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>z</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mrow><mml:mi>B</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>l</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>z</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p></list-item>
<list-item><p>Compute
<disp-formula id="ueqn-31">
<mml:math id="mml-ueqn-31" display="block"><mml:mi>&#x03B7;</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p></list-item>
<list-item><p>Round computes each datum of <inline-formula id="ieqn-170"><mml:math id="mml-ieqn-170"><mml:mi>&#x03B7;</mml:mi></mml:math></inline-formula>. If
<disp-formula id="ueqn-32">
<mml:math id="mml-ueqn-32" display="block"><mml:mo stretchy="false">[</mml:mo><mml:mrow><mml:mtext>Rd</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mo stretchy="false">[</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">]</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mrow><mml:mtext>Rd</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mo stretchy="false">[</mml:mo><mml:mn>2</mml:mn><mml:mo stretchy="false">]</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mrow><mml:mtext>Rd</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mo stretchy="false">[</mml:mo><mml:mi>m</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">]</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">]</mml:mo><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></disp-formula></p></list-item>
</list></p>
<p>Then set <inline-formula id="ieqn-171"><mml:math id="mml-ieqn-171"><mml:msup><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mrow><mml:mtext>Rd</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mo stretchy="false">[</mml:mo><mml:mi>m</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and output <inline-formula id="ieqn-172"><mml:math id="mml-ieqn-172"><mml:msup><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>. Otherwise, termination &#x22A5;.
<list list-type="simple">
<list-item><label>4.</label><p>Compute the partial communication key associated with Bob: <inline-formula id="ieqn-173"><mml:math id="mml-ieqn-173"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>.</p></list-item>
<list-item><label>5.</label><p>Compute the symmetric communication key with Bob: <inline-formula id="ieqn-174"><mml:math id="mml-ieqn-174"><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><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:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p></list-item>
</list></p>
<p>Finally, the whole attribute-based authentication Scheme is over, and Alice and Bob can communicate securely with the authentication symmetric key <inline-formula id="ieqn-175"><mml:math id="mml-ieqn-175"><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>.</p>
</sec>
<sec id="s4"><label>4</label><title>Analysis</title>
<sec id="s4_1"><label>4.1</label><title>Correctness</title>
<p>The correctness of Alice to Bob&#x2019;s partial authentication in the <inline-formula id="ieqn-176"><mml:math id="mml-ieqn-176"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi></mml:math></inline-formula> follows from our choice of parameters. The specific process is as follows:
<disp-formula id="ueqn-33">
<mml:math id="mml-ueqn-33" display="block"><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mtext>Eval</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>ct</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>l</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>z</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mrow><mml:mi>B</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>l</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>z</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula>
<disp-formula id="ueqn-34">
<mml:math id="mml-ueqn-34" display="block"><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mi>G</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mo>&#x22C5;</mml:mo><mml:mi>s</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>e</mml:mi><mml:mrow><mml:mrow><mml:mtext>Eval</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>If <inline-formula id="ieqn-177"><mml:math id="mml-ieqn-177"><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mi>q</mml:mi></mml:math></inline-formula>, then
<disp-formula id="ueqn-35">
<mml:math id="mml-ueqn-35" display="block"><mml:mrow><mml:mo>(</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msup><mml:mi>A</mml:mi><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x22C5;</mml:mo><mml:mi>G</mml:mi><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x22C5;</mml:mo><mml:mi>s</mml:mi><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>e</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>e</mml:mi><mml:mrow><mml:mrow><mml:mtext>Eval</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>Compute
<disp-formula id="ueqn-36">
<mml:math id="mml-ueqn-36" display="block"><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mo>&#x22C5;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x22C5;</mml:mo><mml:mi>s</mml:mi><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mo>&#x22C5;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>e</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>e</mml:mi><mml:mrow><mml:mrow><mml:mtext>Eval</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:math></disp-formula>
<disp-formula id="ueqn-37">
<mml:math id="mml-ueqn-37" display="block"><mml:msub><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mo>&#x22C5;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>b</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mo>&#x22C5;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>e</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>e</mml:mi><mml:mrow><mml:mrow><mml:mtext>Eval</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>If the first <inline-formula id="ieqn-178"><mml:math id="mml-ieqn-178"><mml:mi>m</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> coordinates of <inline-formula id="ieqn-179"><mml:math id="mml-ieqn-179"><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:munder><mml:msubsup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mo>&#x22C5;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>e</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>e</mml:mi><mml:mrow><mml:mrow><mml:mtext>Eval</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> are less than <inline-formula id="ieqn-180"><mml:math id="mml-ieqn-180"><mml:mi>q</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>4</mml:mn></mml:math></inline-formula>, which means that the correctness of Alice to Bob&#x2019;s partial authentication.</p>
<p>Otherwise, if <inline-formula id="ieqn-181"><mml:math id="mml-ieqn-181"><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x03B3;</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x2260;</mml:mo><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mi>q</mml:mi></mml:math></inline-formula>, then setting <inline-formula id="ieqn-182"><mml:math id="mml-ieqn-182"><mml:msubsup><mml:mrow><mml:mi>&#x03B3;</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x03B3;</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> for <inline-formula id="ieqn-183"><mml:math id="mml-ieqn-183"><mml:msubsup><mml:mrow><mml:mi>&#x03B3;</mml:mi></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>, so
<disp-formula id="ueqn-38">
<mml:math id="mml-ueqn-38" display="block"><mml:mi>&#x03B7;</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mo>&#x22C5;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>b</mml:mi><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x03B3;</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x22C5;</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mo>&#x22C5;</mml:mo><mml:mi>G</mml:mi><mml:mo>+</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>Therefore, with overwhelming probability from the No.1 to No.<inline-formula id="ieqn-184"><mml:math id="mml-ieqn-184"><mml:mi>m</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> parameters of <inline-formula id="ieqn-185"><mml:math id="mml-ieqn-185"><mml:mi>&#x03B7;</mml:mi></mml:math></inline-formula> are less than <inline-formula id="ieqn-186"><mml:math id="mml-ieqn-186"><mml:mi>q</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>4</mml:mn></mml:math></inline-formula>.</p>
<p>The security of Bob to Alice&#x2019;s other partial authentication in the <inline-formula id="ieqn-187"><mml:math id="mml-ieqn-187"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi></mml:math></inline-formula> is the same as above.</p>
<p>So, the symmetric communication key of Bob and Alice is:
<disp-formula id="ueqn-39">
<mml:math id="mml-ueqn-39" display="block"><mml:msubsup><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><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:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:math></disp-formula></p>
</sec>
<sec id="s4_2"><label>4.2</label><title>Security</title>
<p>The specific process of the security of Alice to Bob&#x2019;s partial authentication in the <inline-formula id="ieqn-188"><mml:math id="mml-ieqn-188"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi></mml:math></inline-formula> is as follows:</p>
<p><bold><italic>Proof.</italic></bold> First, we describe the auxiliary evaluation algorithms of the proof.</p>
<p><inline-formula id="ieqn-189"><mml:math id="mml-ieqn-189"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Setup</mml:mtext></mml:mrow></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>: The specific process is as follows:
<list list-type="order">
<list-item><p>Sampling matrix with algorithm <inline-formula id="ieqn-190"><mml:math id="mml-ieqn-190"><mml:mrow><mml:mtext mathvariant="italic">TrapGen</mml:mtext></mml:mrow></mml:math></inline-formula> [<xref ref-type="bibr" rid="ref-30">30</xref>]: randomly select some important parameters <inline-formula id="ieqn-191"><mml:math id="mml-ieqn-191"><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn>1</mml:mn><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>q</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, the algorithm <inline-formula id="ieqn-192"><mml:math id="mml-ieqn-192"><mml:mrow><mml:mtext mathvariant="italic">TrapGen</mml:mtext></mml:mrow></mml:math></inline-formula> outputs the <inline-formula id="ieqn-193"><mml:math id="mml-ieqn-193"><mml:mo stretchy="false">(</mml:mo><mml:mi>A</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p></list-item>
<list-item><p>Random sample <italic>l</italic> parameters <inline-formula id="ieqn-194"><mml:math id="mml-ieqn-194"><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mover><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mi mathvariant="normal">&#x0024;</mml:mi></mml:mover><mml:msup><mml:mrow><mml:mo>{</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, compute <inline-formula id="ieqn-195"><mml:math id="mml-ieqn-195"><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>A</mml:mi><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mi>I</mml:mi><mml:msubsup><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:mi>G</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, where <inline-formula id="ieqn-196"><mml:math id="mml-ieqn-196"><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:math></inline-formula>.</p></list-item>
<list-item><p>Random sample <italic>t</italic> parameters <inline-formula id="ieqn-197"><mml:math id="mml-ieqn-197"><mml:msubsup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mover><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mi mathvariant="normal">&#x0024;</mml:mi></mml:mover><mml:msup><mml:mrow><mml:mo>{</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, compute <inline-formula id="ieqn-198"><mml:math id="mml-ieqn-198"><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>A</mml:mi><mml:msubsup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi>G</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, where <inline-formula id="ieqn-199"><mml:math id="mml-ieqn-199"><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:math></inline-formula>.</p></list-item>
<list-item><p>Random choose some subsets <inline-formula id="ieqn-200"><mml:math id="mml-ieqn-200"><mml:msubsup><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></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:msubsup><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow><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:mo>&#x22EF;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>Q</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> the size of each subset is <italic>v</italic>, which has the unique index, where <inline-formula id="ieqn-201"><mml:math id="mml-ieqn-201"><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:msup><mml:mi>Q</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>.</p></list-item>
<list-item><p>Sample some random matrices <inline-formula id="ieqn-202"><mml:math id="mml-ieqn-202"><mml:msubsup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> make them satisfied with <inline-formula id="ieqn-203"><mml:math id="mml-ieqn-203"><mml:msubsup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:munder><mml:msubsup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, where <inline-formula id="ieqn-204"><mml:math id="mml-ieqn-204"><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:msup><mml:mi>Q</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> and <inline-formula id="ieqn-205"><mml:math id="mml-ieqn-205"><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>N</mml:mi></mml:math></inline-formula>.</p></list-item>
<list-item><p>Sample the private key <inline-formula id="ieqn-206"><mml:math id="mml-ieqn-206"><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo>,</mml:mo><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> and compute:
<disp-formula id="ueqn-40">
<mml:math id="mml-ueqn-40" display="block"><mml:msubsup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mi>A</mml:mi><mml:mrow><mml:mo>|</mml:mo><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi>&#x03B3;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x03B3;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mi>G</mml:mi><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mi>A</mml:mi><mml:mrow><mml:mo>|</mml:mo><mml:mi>A</mml:mi><mml:msubsup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi>&#x03B3;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:msup><mml:mi>Q</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mo>]</mml:mo></mml:mrow></mml:math></disp-formula></p></list-item>
</list>
where <inline-formula id="ieqn-207"><mml:math id="mml-ieqn-207"><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>.
<list list-type="simple">
<list-item><label>7.</label><p>Output necessary public key of our scheme as
<disp-formula id="ueqn-41">
<mml:math id="mml-ueqn-41" display="block"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mi>m</mml:mi><mml:mi>p</mml:mi><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>l</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mrow><mml:mi>B</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>A</mml:mi><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p></list-item>
</list></p>
<p>And the most important core key of our scheme as
<disp-formula id="ueqn-42">
<mml:math id="mml-ueqn-42" display="block"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>l</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:msup><mml:mo>,</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p>
<p><inline-formula id="ieqn-208"><mml:math id="mml-ieqn-208"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Enc</mml:mtext></mml:mrow></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>: The specific process is as follows:
<list list-type="order">
<list-item><p>Sample a Gaussian parameter <inline-formula id="ieqn-209"><mml:math id="mml-ieqn-209"><mml:mi>s</mml:mi><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>B</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, two Gaussian parameters <inline-formula id="ieqn-210"><mml:math id="mml-ieqn-210"><mml:mi>e</mml:mi><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>B</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-211"><mml:math id="mml-ieqn-211"><mml:msubsup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, where <inline-formula id="ieqn-212"><mml:math id="mml-ieqn-212"><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>N</mml:mi></mml:math></inline-formula>.</p></list-item>
<list-item><p>Select a parameter <inline-formula id="ieqn-213"><mml:math id="mml-ieqn-213"><mml:msup><mml:mi>b</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, and set <inline-formula id="ieqn-214"><mml:math id="mml-ieqn-214"><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mrow><mml:mo>&#x2308;</mml:mo><mml:mi>q</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo>&#x2309;</mml:mo></mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">]</mml:mo><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>. Compute:
<disp-formula id="ueqn-43">
<mml:math id="mml-ueqn-43" display="block"><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mi>A</mml:mi><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mi>s</mml:mi><mml:mo>+</mml:mo><mml:mi>e</mml:mi></mml:math></disp-formula>
<disp-formula id="ueqn-44">
<mml:math id="mml-ueqn-44" display="block"><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msubsup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo>.</mml:mo></mml:math></disp-formula></p></list-item>
<list-item><p>Compute the <inline-formula id="ieqn-215"><mml:math id="mml-ieqn-215"><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>:
<disp-formula id="ueqn-45">
<mml:math id="mml-ueqn-45" display="block"><mml:msub><mml:mi>u</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>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>where</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>l</mml:mi><mml:mo>.</mml:mo></mml:math></disp-formula></p></list-item>
<list-item><p>Random sampling <italic>t</italic> matrices <inline-formula id="ieqn-216"><mml:math id="mml-ieqn-216"><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mover><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mi mathvariant="normal">&#x0024;</mml:mi></mml:mover><mml:msup><mml:mrow><mml:mo>{</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, compute the <inline-formula id="ieqn-217"><mml:math id="mml-ieqn-217"><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>:
<disp-formula id="ueqn-46">
<mml:math id="mml-ueqn-46" display="block"><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msubsup><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>Where</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mspace width="0pt" /><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>.</mml:mo></mml:math></disp-formula></p></list-item>
<list-item><p>Final output the encrypted ciphertext
<disp-formula id="ueqn-47">
<mml:math id="mml-ueqn-47" display="block"><mml:mo stretchy="false">(</mml:mo><mml:mi>H</mml:mi><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>l</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:math></disp-formula></p></list-item>
</list></p>
<p><inline-formula id="ieqn-218"><mml:math id="mml-ieqn-218"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>KeyGen</mml:mtext></mml:mrow></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>: The <inline-formula id="ieqn-219"><mml:math id="mml-ieqn-219"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>KeyGen</mml:mtext></mml:mrow></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> has a special function that will be marked if some public and private key pairs have been questioned before. The specific process is as follows:
<list list-type="order">
<list-item><p>Compute the key corresponding to <inline-formula id="ieqn-220"><mml:math id="mml-ieqn-220"><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> as:
<disp-formula id="ueqn-48">
<mml:math id="mml-ueqn-48" display="block"><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2190;</mml:mo><mml:msub><mml:mrow><mml:mtext>Eval</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>PK</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mrow><mml:mi>B</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p></list-item>
<list-item><p> We know that <inline-formula id="ieqn-221"><mml:math id="mml-ieqn-221"><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>A</mml:mi><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mo>&#x27E8;</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x27E9;</mml:mo></mml:mrow><mml:mi>G</mml:mi></mml:math></inline-formula>. For different key query, the specific process is as follows:</p></list-item>
</list>
<list list-type="simple">
<list-item><label>1)</label><p>A <inline-formula id="ieqn-222"><mml:math id="mml-ieqn-222"><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> such that <inline-formula id="ieqn-223"><mml:math id="mml-ieqn-223"><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>. Then:
<disp-formula id="ueqn-49">
<mml:math id="mml-ueqn-49" display="block"><mml:mrow><mml:mo>[</mml:mo><mml:mi>A</mml:mi><mml:mrow><mml:mo>|</mml:mo><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mi>&#x03C1;</mml:mi><mml:mi>G</mml:mi><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mi>A</mml:mi><mml:mrow><mml:mo>|</mml:mo><mml:mi>A</mml:mi><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03C1;</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mo>&#x27E8;</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x27E9;</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mi>G</mml:mi><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></disp-formula></p></list-item>
</list></p>
<p>Let
<disp-formula id="ueqn-50">
<mml:math id="mml-ueqn-50" display="block"><mml:mi>S</mml:mi><mml:mi>K</mml:mi><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mrow><mml:mtext>SampleRight</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>A</mml:mi><mml:mo>,</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03C1;</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mo>&#x27E8;</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x27E9;</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>.</mml:mo><mml:mi>G</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>G</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:munder><mml:msub><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>Therefore that:
<disp-formula id="ueqn-51">
<mml:math id="mml-ueqn-51" display="block"><mml:mrow><mml:mo>[</mml:mo><mml:mi>A</mml:mi><mml:mrow><mml:mo>|</mml:mo><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mi>&#x03C1;</mml:mi><mml:mi>G</mml:mi><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:munder><mml:msub><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup></mml:math></disp-formula></p>
<p>Return <inline-formula id="ieqn-224"><mml:math id="mml-ieqn-224"><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>.
<list list-type="simple">
<list-item><label>2)</label><p>The <inline-formula id="ieqn-225"><mml:math id="mml-ieqn-225"><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mi>&#x03B3;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, such that <inline-formula id="ieqn-226"><mml:math id="mml-ieqn-226"><mml:mrow><mml:mo>&#x27E8;</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mrow><mml:mover><mml:mi>f</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x27E9;</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x03B3;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, in which case, return <inline-formula id="ieqn-227"><mml:math id="mml-ieqn-227"><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>.</p></list-item>
</list></p>
<p><inline-formula id="ieqn-228"><mml:math id="mml-ieqn-228"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>KeyGen</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>: In the realistic simulation, the algorithm <inline-formula id="ieqn-229"><mml:math id="mml-ieqn-229"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>KeyGen</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> will select the No.0 public-private key pair, while in algorithm <inline-formula id="ieqn-230"><mml:math id="mml-ieqn-230"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>KeyGen</mml:mtext></mml:mrow></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>, the No.1 public-private key pair will be selected.</p>
<p><inline-formula id="ieqn-231"><mml:math id="mml-ieqn-231"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Enc</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>: The game simulation <inline-formula id="ieqn-232"><mml:math id="mml-ieqn-232"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Enc</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> random switch the ciphertext data <inline-formula id="ieqn-233"><mml:math id="mml-ieqn-233"><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. The algorithm <inline-formula id="ieqn-234"><mml:math id="mml-ieqn-234"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Enc</mml:mtext></mml:mrow></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> will generate all the elements and data that need to be encrypted by itself.</p>
<p><inline-formula id="ieqn-235"><mml:math id="mml-ieqn-235"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Enc</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>: The simulation <inline-formula id="ieqn-236"><mml:math id="mml-ieqn-236"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Enc</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> random change these ciphertext data <inline-formula id="ieqn-237"><mml:math id="mml-ieqn-237"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>.</p>
<p><inline-formula id="ieqn-238"><mml:math id="mml-ieqn-238"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Setup</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>: The real simulation <inline-formula id="ieqn-239"><mml:math id="mml-ieqn-239"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Setup</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> random chose the public data <inline-formula id="ieqn-240"><mml:math id="mml-ieqn-240"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>, <italic>A</italic>. The game simulation random chose the data <inline-formula id="ieqn-241"><mml:math id="mml-ieqn-241"><mml:msubsup><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-242"><mml:math id="mml-ieqn-242"><mml:msubsup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>.</p>
<p>Now, we describe a sim algorithm, which claims that the result of the real algorithm is indistinguishable from game simulation through the following hybrids.
<list list-type="simple">
<list-item><p><bold>(1).</bold> The first case that satisfies indistinguishable situation is the following two simulation algorithm:</p></list-item>
</list></p>
<p><bold>Algorithm</bold> 0: The realistic simulation.</p>
<p><bold>Algorithm 1</bold>: The simulation <inline-formula id="ieqn-243"><mml:math id="mml-ieqn-243"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Setup</mml:mtext></mml:mrow></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> replaces the game simulation <inline-formula id="ieqn-244"><mml:math id="mml-ieqn-244"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Setup</mml:mtext></mml:mrow></mml:math></inline-formula>. The simulation <inline-formula id="ieqn-245"><mml:math id="mml-ieqn-245"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Setup</mml:mtext></mml:mrow></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> outputs some parameters and the most important core key of our attribute-based anti-quantum authentication protocol using <inline-formula id="ieqn-246"><mml:math id="mml-ieqn-246"><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msup><mml:mi>D</mml:mi><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-247"><mml:math id="mml-ieqn-247"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msup><mml:mi>Q</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub></mml:math></inline-formula>.
<list list-type="simple">
<list-item><p><bold>(2).</bold> The second case that satisfies indistinguishable situation is the following two simulation algorithm:</p></list-item>
</list></p>
<p>Algorithm 1: This algorithm is the same as algorithm 1 in the first case.</p>
<p><bold>Algorithm 2</bold>: The game simulation <inline-formula id="ieqn-248"><mml:math id="mml-ieqn-248"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Enc</mml:mtext></mml:mrow></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> replaces the <inline-formula id="ieqn-249"><mml:math id="mml-ieqn-249"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Enc</mml:mtext></mml:mrow></mml:math></inline-formula>. The <inline-formula id="ieqn-250"><mml:math id="mml-ieqn-250"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Enc</mml:mtext></mml:mrow></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> compute the data <inline-formula id="ieqn-251"><mml:math id="mml-ieqn-251"><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, and the <inline-formula id="ieqn-252"><mml:math id="mml-ieqn-252"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Enc</mml:mtext></mml:mrow></mml:math></inline-formula> compute the public-private key pair of the scheme.
<list list-type="simple">
<list-item><p><bold>(3).</bold> The third case that satisfies indistinguishable situation is the following two simulation algorithm:</p></list-item>
</list></p>
<p>Algorithm 2: This algorithm is the same as algorithm 2 in the second case.</p>
<p><bold>Algorithm 3</bold>: The game simulation <inline-formula id="ieqn-253"><mml:math id="mml-ieqn-253"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>KeyGen</mml:mtext></mml:mrow></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> replaces the <inline-formula id="ieqn-254"><mml:math id="mml-ieqn-254"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mtext>KeyGen</mml:mtext></mml:mrow></mml:math></inline-formula>, and using the lattice basis <italic>T</italic> of other matrices instead of <italic>A</italic>.
<list list-type="simple">
<list-item><p><bold>(4).</bold> The fourth case that satisfies indistinguishable situation is the following two simulation algorithm:</p></list-item>
</list></p>
<p>Algorithm 3: This algorithm is the same as algorithm 3 in the third case.</p>
<p><bold>Algorithm 4</bold>: The algorithm <inline-formula id="ieqn-255"><mml:math id="mml-ieqn-255"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Enc</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> replaces the <inline-formula id="ieqn-256"><mml:math id="mml-ieqn-256"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Enc</mml:mtext></mml:mrow></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>. The algorithm <inline-formula id="ieqn-257"><mml:math id="mml-ieqn-257"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Enc</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> random switches the data <inline-formula id="ieqn-258"><mml:math id="mml-ieqn-258"><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, which is encrypted.
<list list-type="simple">
<list-item><p><bold>(5).</bold> The fifth case that satisfy indistinguishable situation is the following two simulation algorithm:</p></list-item>
</list></p>
<p>Algorithm 4: This algorithm is the same as algorithm 4 in the fourth case.</p>
<p><bold>Algorithm 5</bold>: The game simulation <inline-formula id="ieqn-259"><mml:math id="mml-ieqn-259"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>KeyGen</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> replaces the <inline-formula id="ieqn-260"><mml:math id="mml-ieqn-260"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>KeyGen</mml:mtext></mml:mrow></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>. The <inline-formula id="ieqn-261"><mml:math id="mml-ieqn-261"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>KeyGen</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> is mostly the same as the algorithm <inline-formula id="ieqn-262"><mml:math id="mml-ieqn-262"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mtext>KeyGen</mml:mtext></mml:mrow></mml:math></inline-formula>, except for the <inline-formula id="ieqn-263"><mml:math id="mml-ieqn-263"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B3;</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msup><mml:mi>Q</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:msub></mml:math></inline-formula> corresponding to the public-private key pair.
<list list-type="simple">
<list-item><p><bold>(6).</bold> The sixth case that satisfy indistinguishable situation is the following two ism algorithm:</p></list-item>
</list></p>
<p>Algorithm 5: This algorithm is the same as algorithm 5 in the fifth case.</p>
<p><bold>Algorithm 6</bold>: The game simulation <inline-formula id="ieqn-264"><mml:math id="mml-ieqn-264"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Enc</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> replaces the <inline-formula id="ieqn-265"><mml:math id="mml-ieqn-265"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Enc</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>. The <inline-formula id="ieqn-266"><mml:math id="mml-ieqn-266"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Enc</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> random change these ciphertext data <inline-formula id="ieqn-267"><mml:math id="mml-ieqn-267"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>.
<list list-type="simple">
<list-item><p><bold>(7).</bold> The seventh case that satisfy indistinguishable situation is the following two ism algorithm:</p></list-item>
</list></p>
<p>Algorithm 6: This algorithm is the same as algorithm 6 in the sixth case.</p>
<p><bold>Algorithm 7</bold>: The game simulation <inline-formula id="ieqn-268"><mml:math id="mml-ieqn-268"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Setup</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> replaces the <inline-formula id="ieqn-269"><mml:math id="mml-ieqn-269"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mo>.</mml:mo><mml:mrow><mml:mtext>Setup</mml:mtext></mml:mrow></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>
<p>A detailed proof of indistinguishability (1) &#x2013;(7) is provided in the references [<xref ref-type="bibr" rid="ref-23">23</xref>,<xref ref-type="bibr" rid="ref-29">29</xref>]. The security of Bob with Alice's other partial authentication in the <inline-formula id="ieqn-270"><mml:math id="mml-ieqn-270"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi></mml:math></inline-formula> is the same as above, this completes the security proof.</p>
</sec>
<sec id="s4_3"><label>4.3</label><title>Performance Analysis</title>
<p>Next, we compare our attribute-based authentication scheme with other related secret key schemes [<xref ref-type="bibr" rid="ref-6">6</xref>,<xref ref-type="bibr" rid="ref-13">13</xref>,<xref ref-type="bibr" rid="ref-14">14</xref>,<xref ref-type="bibr" rid="ref-22">22</xref>]. We mainly focus on the computational costs, storage overhead, and several security properties.</p>
<p>As depicted in <xref ref-type="table" rid="table-1">Table 1</xref>, we compare the storage overhead and other related secret key schemes. The public key parameter' size is <inline-formula id="ieqn-271"><mml:math id="mml-ieqn-271"><mml:msup><mml:mi>m</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>q</mml:mi></mml:math></inline-formula> in [<xref ref-type="bibr" rid="ref-6">6</xref>], is <inline-formula id="ieqn-272"><mml:math id="mml-ieqn-272"><mml:mn>4</mml:mn><mml:mi>n</mml:mi><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>q</mml:mi></mml:math></inline-formula> in [<xref ref-type="bibr" rid="ref-13">13</xref>], is <inline-formula id="ieqn-273"><mml:math id="mml-ieqn-273"><mml:mo stretchy="false">(</mml:mo><mml:mn>2</mml:mn><mml:mi>l</mml:mi><mml:mo>+</mml:mo><mml:mn>9</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:msup><mml:mi>m</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>q</mml:mi></mml:math></inline-formula> in [<xref ref-type="bibr" rid="ref-14">14</xref>], is <inline-formula id="ieqn-274"><mml:math id="mml-ieqn-274"><mml:mn>2</mml:mn><mml:mi>l</mml:mi><mml:msup><mml:mi>m</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>q</mml:mi></mml:math></inline-formula> in [<xref ref-type="bibr" rid="ref-22">22</xref>], and is <inline-formula id="ieqn-275"><mml:math id="mml-ieqn-275"><mml:mn>2</mml:mn><mml:mi>n</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mi>l</mml:mi><mml:mo>+</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>q</mml:mi></mml:math></inline-formula> in our attribute-based authentication scheme. For the length of public-private key pair, our attribute-based authentication scheme based on the concealable partial predicate encryption, that is gates thereby further reducing the complexity of the formula. The length of public-private key pair in the attribute-based authentication scheme only related to the complexity of the formula, which helps to reduce the secret key length.</p>
<table-wrap id="table-1"><label>Table 1</label><caption><title>Storage overheads of all schemes</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Scheme</th>
<th align="left">Private key size</th>
<th align="left">Public key size</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">[<xref ref-type="bibr" rid="ref-6">6</xref>]</td>
<td align="left"><inline-formula id="ieqn-276"><mml:math id="mml-ieqn-276"><mml:mo stretchy="false">(</mml:mo><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mi>n</mml:mi><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>q</mml:mi></mml:math></inline-formula></td>
<td align="left"><inline-formula id="ieqn-277"><mml:math id="mml-ieqn-277"><mml:msup><mml:mi>m</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>q</mml:mi></mml:math></inline-formula></td>
</tr>
<tr>
<td align="left">[<xref ref-type="bibr" rid="ref-13">13</xref>]</td>
<td align="left"><inline-formula id="ieqn-278"><mml:math id="mml-ieqn-278"><mml:mi>n</mml:mi><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>q</mml:mi></mml:math></inline-formula></td>
<td align="left"><inline-formula id="ieqn-279"><mml:math id="mml-ieqn-279"><mml:mn>4</mml:mn><mml:mi>n</mml:mi><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>q</mml:mi></mml:math></inline-formula></td>
</tr>
<tr>
<td align="left">[<xref ref-type="bibr" rid="ref-14">14</xref>]</td>
<td align="left"><inline-formula id="ieqn-280"><mml:math id="mml-ieqn-280"><mml:mn>3</mml:mn><mml:msup><mml:mi>m</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>q</mml:mi></mml:math></inline-formula></td>
<td align="left"><inline-formula id="ieqn-281"><mml:math id="mml-ieqn-281"><mml:mo stretchy="false">(</mml:mo><mml:mn>2</mml:mn><mml:mi>l</mml:mi><mml:mo>+</mml:mo><mml:mn>9</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:msup><mml:mi>m</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>q</mml:mi></mml:math></inline-formula></td>
</tr>
<tr>
<td align="left">[<xref ref-type="bibr" rid="ref-22">22</xref>]</td>
<td align="left"><inline-formula id="ieqn-282"><mml:math id="mml-ieqn-282"><mml:mn>2</mml:mn><mml:msup><mml:mi>m</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>q</mml:mi></mml:math></inline-formula></td>
<td align="left"><inline-formula id="ieqn-283"><mml:math id="mml-ieqn-283"><mml:mn>2</mml:mn><mml:mi>l</mml:mi><mml:msup><mml:mi>m</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>q</mml:mi></mml:math></inline-formula></td>
</tr>
<tr>
<td align="left"><inline-formula id="ieqn-284"><mml:math id="mml-ieqn-284"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi></mml:math></inline-formula>(Our)</td>
<td align="left"><inline-formula id="ieqn-285"><mml:math id="mml-ieqn-285"><mml:mn>2</mml:mn><mml:mi>m</mml:mi><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>q</mml:mi></mml:math></inline-formula></td>
<td align="left"><inline-formula id="ieqn-286"><mml:math id="mml-ieqn-286"><mml:mn>2</mml:mn><mml:mi>n</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mi>l</mml:mi><mml:mo>+</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>q</mml:mi></mml:math></inline-formula></td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In <xref ref-type="table" rid="table-2">Table 2</xref>, the SM represents the standard model, and the SCPA represents the selective chosen plaintext attack, the NTRU represents the number theory research unit, and the CVP represents the closest vector problem. We compare the security properties and other related secret key schemes, according to the <xref ref-type="table" rid="table-1">Table 1</xref>, Li&#x00A0;et&#x00A0;al.&#x00A0;[<xref ref-type="bibr" rid="ref-13">13</xref>] is more effectivie than our attribute-based authentication scheme over lattice in terms of computational storage, which is based on NTRU lattice, so it lacks provable security. Gentry&#x00A0;et&#x00A0;al.&#x00A0;[<xref ref-type="bibr" rid="ref-22">22</xref>], Wang&#x00A0;et&#x00A0;al.&#x00A0;[<xref ref-type="bibr" rid="ref-14">14</xref>] and Brakerski&#x00A0;et&#x00A0;al.&#x00A0;[<xref ref-type="bibr" rid="ref-6">6</xref>] Schemes are slightly weaker than our attribute-based authentication scheme over lattice in terms of computational complexity and storage. Moreover, our scheme is based on partially hiding predicate encryption, so the key size is also efficient, and our scheme is provably security of <inline-formula id="ieqn-287"><mml:math id="mml-ieqn-287"><mml:mrow><mml:mo>(</mml:mo><mml:mi>Q</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi><mml:mi>o</mml:mi><mml:mi>l</mml:mi><mml:mi>y</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> based on the <inline-formula id="ieqn-288"><mml:math id="mml-ieqn-288"><mml:mrow><mml:mtext>LWE</mml:mtext></mml:mrow></mml:math></inline-formula> problem. Therefore, our attribute-based authentication scheme is more secure resistance to quantum computers than over schemes.</p>
<table-wrap id="table-2"><label>Table 2</label><caption><title>Security properties of all schemes</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Scheme</th>
<th align="left">Assumption</th>
<th align="left">Provable security</th>
<th align="left">Postquantum</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">[<xref ref-type="bibr" rid="ref-6">6</xref>]</td>
<td align="left">SM SCPA</td>
<td align="left">YWS</td>
<td align="left">YWS</td>
</tr>
<tr>
<td align="left">[<xref ref-type="bibr" rid="ref-13">13</xref>]</td>
<td align="left">NTRU CVP</td>
<td align="left">NO</td>
<td align="left">YWS</td>
</tr>
<tr>
<td align="left">[<xref ref-type="bibr" rid="ref-14">14</xref>]</td>
<td align="left">SM SCPA</td>
<td align="left">YWS</td>
<td align="left">YWS</td>
</tr>
<tr>
<td align="left">[<xref ref-type="bibr" rid="ref-22">22</xref>]</td>
<td align="left">SM SCPA</td>
<td align="left">YWS</td>
<td align="left">YWS</td>
</tr>
<tr>
<td align="left"><inline-formula id="ieqn-289"><mml:math id="mml-ieqn-289"><mml:mi>A</mml:mi><mml:mi>B</mml:mi><mml:mi>A</mml:mi><mml:mi>S</mml:mi></mml:math></inline-formula>(our)</td>
<td align="left"><inline-formula id="ieqn-290"><mml:math id="mml-ieqn-290"><mml:mrow><mml:mtext>LWE</mml:mtext></mml:mrow></mml:math></inline-formula></td>
<td align="left">YWS</td>
<td align="left">YWS</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="s5"><label>5</label><title>Citations</title>
<p>Based on the <inline-formula id="ieqn-291"><mml:math id="mml-ieqn-291"><mml:mrow><mml:mtext>LWE</mml:mtext></mml:mrow></mml:math></inline-formula> hard problem over lattice cryptosystem, an anti-quantum authentication scheme for wireless networks is proposed in this paper. In the attribute-based authentication scheme, there is a certain correlation between the authenticated data and the attribute values of the users in the scheme. For the length of public-private key pair, in our attribute-based authentication scheme based on the concealable partial predicate encryption, that is gates thereby further reducing the complexity of the formula. The length of public-private key pair only related to the complexity of the formula in the scheme, which helps to reduce the secret key length. Future work, we will continue to explore and design anti-quantum authentication protocols based on lattice cryptosystem, which is an anti-quantum sublattice cipher security protocol that will run more efficiently and have less storage space.</p>
</sec>
</body>
<back>
<sec><title>Funding Statement</title>
<p>This work was supported by the <funding-source>Special Project for Scientific and Technological Cooperation of Jiangxi Province</funding-source> [no. <award-id>20212BDH80021</award-id>].</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="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Azees</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Vijayakumar</surname></string-name> and <string-name><given-names>L. J.</given-names> <surname>Deboarh</surname></string-name></person-group>, &#x201C;<article-title>EAAP: Efficient anonymous authentication with conditional privacy-preserving scheme for vehicular ad hoc networks</article-title>,&#x201D; <source>IEEE Transactions on Intelligent Transportation Systems</source>, vol. <volume>18</volume>, no. <issue>9</issue>, pp. <fpage>2467</fpage>&#x2013;<lpage>2476</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Cui</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Zhong</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Chen</surname></string-name> and <string-name><given-names>L.</given-names> <surname>Liu</surname></string-name></person-group>, &#x201C;<article-title>PA-CRT: Chinese remainder theorem based conditional privacy-preserving authentication scheme in vehicular ad-hoc networks</article-title>,&#x201D; <source>IEEE Transactions on Dependable and Secure Computing</source>, vol. <volume>18</volume>, no. <issue>2</issue>, pp. <fpage>722</fpage>&#x2013;<lpage>735</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Guo</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Wang</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>A blockchain-based public auditing protocol with self-certified public keys for cloud data</article-title>,&#x201D; <source>Security and Communication Networks</source>, vol. <volume>2021</volume>, no. <issue>1</issue>, pp. <fpage>6623639</fpage>&#x2013;<lpage>6623649</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Yang</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Tan</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Baek</surname></string-name> and <string-name><given-names>D. S.</given-names> <surname>Wong</surname></string-name></person-group>, &#x201C;<article-title>A new ADS-B authentication framework based on efficient hierarchical identity-based signature with batch verification</article-title>,&#x201D; <source>IEEE Transactions on Services Computing</source>, vol. <volume>10</volume>, no. <issue>2</issue>, pp. <fpage>165</fpage>&#x2013;<lpage>175</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>R.</given-names> <surname>El Bansarkhani</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Sturm</surname></string-name></person-group>, &#x201C;<article-title>An efficient lattice-based multi signature scheme with applications to bitcoins</article-title>,&#x201D; in <conf-name>Proc. of the Int. Conf. on Cryptology and Network Security (CANS 2016)</conf-name>, vol. <volume>10052 of LNCS</volume>, <conf-loc>Milan, Italy</conf-loc>, pp. <fpage>140</fpage>&#x2013;<lpage>155</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Brakerski</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Cash D</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Tsabary</surname></string-name> and <string-name><given-names>H.</given-names> <surname>wee</surname></string-name></person-group>, &#x201C;<article-title>Targeted homomorphic attribute-based encryption</article-title>,&#x201D; in <conf-name>Proc. of Theory of Cryptography (TCC 2016)</conf-name>, <conf-loc>Beijing, China</conf-loc>, pp. <fpage>330</fpage>&#x2013;<lpage>360</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Fukumitsu</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Hasegawa</surname></string-name></person-group>, &#x201C;<article-title>A lattice-based provably secure multi signature scheme in quantum random oracle model</article-title>,&#x201D; in <conf-name>Proc. of the 14th Int. Conf. on Provable and Practical Security (ProvSec 2020)</conf-name>, <conf-loc>Singapore, Singapore</conf-loc>, pp. <fpage>45</fpage>&#x2013;<lpage>64</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Mukherjee</surname></string-name>, <string-name><given-names>D. S.</given-names> <surname>Gupta</surname></string-name> and <string-name><given-names>G.</given-names> <surname>Biswas</surname></string-name></person-group>, &#x201C;<article-title>An efficient and batch verifiable conditional privacy-preserving authentication scheme for VANETs using lattice</article-title>,&#x201D; <source>Computing</source>, vol. <volume>101</volume>, no. <issue>12</issue>, pp. <fpage>1763</fpage>&#x2013;<lpage>1788</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Kansal</surname></string-name> and <string-name><given-names>R.</given-names> <surname>Dutta</surname></string-name></person-group>, &#x201C;<article-title>Round optimal secure multi signature schemes from lattice with public key aggregation and signature compression</article-title>,&#x201D; in <conf-name>Proc. of the 12th Int. Conf. on Cryptology in Africa (AFRICACRYPT 2020)</conf-name>, <conf-loc>Cairo, Egypt</conf-loc>, pp. <fpage>281</fpage>&#x2013;<lpage>300</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Ma</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Jiang</surname></string-name></person-group>, &#x201C;<article-title>Practical lattice-based multi signature schemes for blockchains</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>7</volume>, pp. <fpage>179765</fpage>&#x2013;<lpage>179778</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>P.</given-names> <surname>Dupont</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Hesse</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Pointcheval</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Reyzin</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Yakoubov</surname></string-name></person-group>, &#x201C;<article-title>Fuzzy password-authenticated key exchange</article-title>,&#x201D; in <conf-name>Proc. of the 37th Annual Int. Conf. on the Theory &#x0026; Applications of Cryptographic Techniques (EUROCRYPT 2018)</conf-name>, <conf-loc>Tel Aviv, Israel</conf-loc>, pp. <fpage>393</fpage>&#x2013;<lpage>424</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>R.</given-names> <surname>Tso</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Liu</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Tseng</surname></string-name></person-group>, &#x201C;<article-title>Identity-based blind multi signature from lattices</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>7</volume>, pp. <fpage>182916</fpage>&#x2013;<lpage>182923</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Chen</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Zhong</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Li</surname></string-name> and <string-name><given-names>F.</given-names> <surname>Wang</surname></string-name></person-group>, &#x201C;<article-title>A new self-certified signature scheme based on ntrusing for smart mobile communications</article-title>,&#x201D; <source>Wireless Personal Communications</source>, vol. <volume>96</volume>, no. <issue>3</issue>, pp. <fpage>4263</fpage>&#x2013;<lpage>4278</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Liu Z</surname></string-name> and <string-name><given-names>D.</given-names> <surname>Gu</surname></string-name></person-group>, &#x201C;<article-title>Ciphertext policy attribute-based encryption for circuits from LWE assumption</article-title>,&#x201D; in <conf-name>Proc. of the 21st Int. Conf. on Information and Communications Security (ICICS 2019)</conf-name>, <conf-loc>Beijing, China</conf-loc>, pp. <fpage>278</fpage>&#x2013;<lpage>396</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Tahat</surname></string-name>, <string-name><given-names>A. K.</given-names> <surname>Alomari</surname></string-name>, <string-name><given-names>O. M.</given-names> <surname>Al-Hazaimeh</surname></string-name> and <string-name><given-names>M. F.</given-names> <surname>Al-Jamal</surname></string-name></person-group>, &#x201C;<article-title>An efficient self-certified multi-proxy signature scheme based on elliptic curve discrete logarithm problem</article-title>,&#x201D; <source>Journal of Discrete Mathematical Sciences and Cryptography</source>, vol. <volume>23</volume>, no. <issue>4</issue>, pp. <fpage>935</fpage>&#x2013;<lpage>948</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>O.</given-names> <surname>Regev</surname></string-name></person-group>, &#x201C;<article-title>On lattices, learning with errors, random linear codes, and cryptography</article-title>,&#x201D; in <conf-name>Proc. of the 37th Annual ACM Symp. on Theory of Computing, Association for Computing Machinery (STOC 2005)</conf-name>, <conf-loc>New York, NY, USA</conf-loc>, pp. <fpage>84</fpage>&#x2013;<lpage>93</lpage>, <year>2005</year>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>O.</given-names> <surname>Regev</surname></string-name></person-group>, &#x201C;<article-title>On lattices, learning with errors, random linear codes, and cryptography</article-title>,&#x201D; <source>Journal of the ACM</source>, vol. <volume>56</volume>, no. <issue>6</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>122</lpage>, <year>2009</year>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Peikert</surname></string-name></person-group>, &#x201C;<article-title>Public-key cryptosystems from the worst-case shortest vector problem</article-title>,&#x201D; in <conf-name>Proc. of the 41th Annual ACM Symp. on Theory of Computing, Association for Computing Machinery (STOC 2009)</conf-name>, <conf-loc>Bethesda, MD, USA, pp. 333&#x2013;342</conf-loc>, <year>2009</year>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Brakerski</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Langlois</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Peikert</surname></string-name>, <string-name><given-names>O.</given-names> <surname>Regev</surname></string-name> and <string-name><given-names>D.</given-names> <surname>Stehl&#x00E9;</surname></string-name></person-group>, &#x201C;<article-title>Classical hardness of learning with errors</article-title>,&#x201D; in <conf-name>Proc. of the 45th Annual ACM Symp. on Theory of Computing, Association for Computing Machinery (STOC 2013)</conf-name>, <conf-loc>New York, NY, USA</conf-loc>, pp. <fpage>575</fpage>&#x2013;<lpage>584</lpage>, <year>2013</year>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Brakerski</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Gentry</surname></string-name> and <string-name><given-names>V.</given-names> <surname>Vaikuntanathan</surname></string-name></person-group>, &#x201C;<article-title>(Leveled) fully homomorphic encryption without bootstrapping</article-title>,&#x201D; in <conf-name>Proc. of the 3rd Innovations in Theoretical Computer Science Conf. (ITCS 2012)</conf-name>, <conf-loc>Cambridge, MA, USA</conf-loc>, pp. <fpage>309</fpage>&#x2013;<lpage>325</lpage>, <year>2012</year>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Ducas</surname></string-name> and <string-name><given-names>D. M.</given-names> <surname>Fhew</surname></string-name></person-group>, &#x201C;<article-title>Bootstrapping homomorphic encryption in less than a second</article-title>,&#x201D; in <conf-name>Proc. of the 34th Annual Int. Conf. on the Theory &#x0026; Applications of Cryptographic Techniques (EUROCRYPT 2015)</conf-name>, <conf-loc>Sofia, Bulgaria</conf-loc>, pp. <fpage>617</fpage>&#x2013;<lpage>640</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Gentry</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Sahai</surname></string-name> and <string-name><given-names>B.</given-names> <surname>Waters</surname></string-name></person-group>, &#x201C;<article-title>Homomorphic encryption from learning with errors: Conceptually-simpler, asymptotically-faster, attribute-based</article-title>,&#x201D; in <conf-name>Proc. of the 33th Annual Int. Conf. on Cryptology (CRYPTO 2013)</conf-name>, <conf-loc>Santa Barbara, California, USA</conf-loc>, pp. <fpage>75</fpage>&#x2013;<lpage>92</lpage>, <year>2013</year>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Agrawal</surname></string-name></person-group>, &#x201C;<article-title>Stronger security for reusable garbled circuits, general definitions and attacks</article-title>,&#x201D; in <conf-name>Proc. of the 37th Annual Int. Conf. on Cryptology (CRYPTO 2017)</conf-name>, <conf-loc>Santa Barbara, CA, USA, pp. 3&#x2013;35</conf-loc>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><given-names>R.</given-names> <surname>Steinfeld</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Sakzad</surname></string-name> and <string-name><given-names>R. K.</given-names> <surname>Zhao</surname></string-name></person-group>, &#x201C;<article-title>Practical MP-LWE-based encryption balancing security-risk versus efficiency</article-title>,&#x201D; <source>Designs Codes and Cryptography</source>, vol. <volume>87</volume>, pp. <fpage>2847</fpage>&#x2013;<lpage>2884</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Lombardi</surname></string-name>, <string-name><given-names>V.</given-names> <surname>Vaikuntanathan</surname></string-name> and <string-name><given-names>T. D.</given-names> <surname>Vuong</surname></string-name></person-group>, &#x201C;<article-title>Lattice trapdoors and IBE from middle-product LWE</article-title>,&#x201D; in <conf-name>Proc. of the Theory of Cryptography Conf. (TCC 2019)</conf-name>, <conf-loc>Nuremberg, Germany</conf-loc>, pp. <fpage>24</fpage>&#x2013;<lpage>54</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Pellet-Mary</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Hanrot</surname></string-name> and <string-name><given-names>D.</given-names> <surname>Stehl&#x00E9;</surname></string-name></person-group>, &#x201C;<article-title>Approx-SVP in ideal lattices with pre-processing</article-title>,&#x201D; in <conf-name>Proc. of the 38th Annual Int. Conf. on the Theory &#x0026; Applications of Cryptographic Techniques (EUROCRYPT 2019)</conf-name>, <conf-loc>Darmstadt, Germany</conf-loc>, pp. <fpage>685</fpage>&#x2013;<lpage>716</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Gorbunov</surname></string-name>, <string-name><given-names>V.</given-names> <surname>Vaikuntanathan</surname></string-name> and <string-name><given-names>H.</given-names> <surname>Wee</surname></string-name></person-group>, &#x201C;<article-title>Functional encryption with bounded collusions via multi-party computation</article-title>,&#x201D; in <conf-name>Proc. of the 32nd Annual Int. Conf. on Cryptology (CRYPTO 2012)</conf-name>, <conf-loc>Santa Barbara, CA, USA, pp. 162&#x2013;179</conf-loc>, <year>2012</year>.</mixed-citation></ref>
<ref id="ref-28"><label>[28]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Ishai</surname></string-name> and <string-name><given-names>H.</given-names> <surname>Wee</surname></string-name></person-group>, &#x201C;<article-title>Partial garbling schemes and their applications</article-title>,&#x201D; in <conf-name>Proc. of the Int. Colloquium on Automata, Languages, and Programming (ICALP 2014)</conf-name>, <conf-loc>Copenhagen, Denmark</conf-loc>, pp. <fpage>650</fpage>&#x2013;<lpage>662</lpage>, <year>2014</year>.</mixed-citation></ref>
<ref id="ref-29"><label>[29]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Gorbunov</surname></string-name>, <string-name><given-names>V.</given-names> <surname>Vaikuntanathan</surname></string-name> and <string-name><given-names>H.</given-names> <surname>Wee</surname></string-name></person-group>, &#x201C;<article-title>Predicate encryption for circuits from lwe</article-title>,&#x201D; in <conf-name>Proc. of the 35th Annual Int. Conf. on Cryptology (CRYPTO 2015)</conf-name>, <conf-loc>Santa Barbara, CA, USA</conf-loc>, pp. <fpage>503</fpage>&#x2013;<lpage>523</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-30"><label>[30]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Gentry</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Peikert</surname></string-name> and <string-name><given-names>V.</given-names> <surname>Vaikuntanathan</surname></string-name></person-group>, &#x201C;<article-title>Trapdoors for hard lattices and new cryptographic constructions</article-title>,&#x201D; in <conf-name>Proc. of the 40th Annual ACM Symp. on Theory of Computing, Association for Computing Machinery (STOC 2008)</conf-name>, <conf-loc>Victoria (BC), Canada</conf-loc>, pp. <fpage>197</fpage>&#x2013;<lpage>206</lpage>, <year>2008</year>.</mixed-citation></ref>
<ref id="ref-31"><label>[31]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Agrawal</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Boneh</surname></string-name> and <string-name><given-names>X.</given-names> <surname>Boyen</surname></string-name></person-group>, &#x201C;<article-title>Efficient lattice (H)IBE in the standard model</article-title>,&#x201D; in <conf-name>Proc. of the 29th Annual Int. Conf. on the Theory &#x0026; Applications of Cryptographic Techniques (EUROCRYPT 2010)</conf-name>, <conf-loc>French Riviera</conf-loc>, pp. <fpage>553</fpage>&#x2013;<lpage>572</lpage>, <year>2010</year>.</mixed-citation></ref>
<ref id="ref-32"><label>[32]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D.</given-names> <surname>Cash</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Hofheinz</surname></string-name>, <string-name><given-names>E.</given-names> <surname>Kiltz</surname></string-name> and <string-name><given-names>C.</given-names> <surname>Peikert</surname></string-name></person-group>, &#x201C;<article-title>Bonsai trees, or how to delegate a lattice basis</article-title>,&#x201D; <source>Journal of Cryptology</source>, vol. <volume>25</volume>, no. <issue>4</issue>, pp. <fpage>601</fpage>&#x2013;<lpage>639</lpage>, <year>2012</year>.</mixed-citation></ref>
<ref id="ref-33"><label>[33]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Baum</surname></string-name>, <string-name><given-names>I.</given-names> <surname>Damg&#x00E5;rd</surname></string-name>, <string-name><given-names>V.</given-names> <surname>Lyubashevsky</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Oechsner</surname></string-name> and <string-name><given-names>C.</given-names> <surname>Peikert</surname></string-name></person-group>, &#x201C;<article-title>More efficient commitments from structured lattice assumptions</article-title>,&#x201D; in <conf-name>Proc. of the 11th Conf. on Security and Cryptography for Networks (SCN 2018)</conf-name>, <conf-loc>Amalfi, Italy</conf-loc>, pp. <fpage>614</fpage>&#x2013;<lpage>629</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-34"><label>[34]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>V.</given-names> <surname>Lyubashevsky</surname></string-name> and <string-name><given-names>G.</given-names> <surname>Neven</surname></string-name></person-group>, &#x201C;<article-title>One-shot verifiable encryption from lattices</article-title>,&#x201D; in <conf-name>Proc. of the 36th Annual Int. Conf. on the Theory &#x0026; Applications of Cryptographic Techniques (EUROCRYPT 2017)</conf-name>, <conf-loc>Paris, France</conf-loc>, pp. <fpage>293</fpage>&#x2013;<lpage>323</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-35"><label>[35]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>R.</given-names> <surname>Behnia</surname></string-name>, <string-name><given-names>M. O.</given-names> <surname>Ozmen</surname></string-name> and <string-name><given-names>A. A.</given-names> <surname>Yavuz</surname></string-name></person-group>, &#x201C;<article-title>Lattice-based public key searchable encryption from experimental perspectives</article-title>,&#x201D; <source>IEEE Transactions on Dependable Secure Compute</source>, vol. <volume>17</volume>, no. <issue>6</issue>, pp. <fpage>1269</fpage>&#x2013;<lpage>1282</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-36"><label>[36]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Katsumata</surname></string-name> and <string-name><given-names>S. Y</given-names> <surname>amada</surname></string-name></person-group>, &#x201C;<article-title>Group signatures without NIZK: From lattices</article-title>,&#x201D; in <conf-name>Proc. of the 38th Annual Int. Conf. on the Theory &#x0026; Applications of Cryptographic Techniques (EUROCRYPT 2019)</conf-name>, <conf-loc>Darmstadt, Germany</conf-loc>, pp. <fpage>312</fpage>&#x2013;<lpage>344</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-37"><label>[37]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Sun</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Liu</surname></string-name></person-group>, &#x201C;<article-title>A lattice-based fully dynamic group signature scheme without NIZK</article-title>,&#x201D; in <conf-name>Proc. of the Information Security and Cryptology (INSCYPT 2020)</conf-name>, <conf-loc>Guangzhou, China</conf-loc>, pp. <fpage>359</fpage>&#x2013;<lpage>367</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-38"><label>[38]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Canard</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Georgescu</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Kaim</surname></string-name>, <string-name><given-names>A. R.</given-names> <surname>Langlois</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Traor&#x00E9;</surname></string-name></person-group>, &#x201C;<article-title>Constant-size lattice-based group signature with forward security in the standard model</article-title>,&#x201D; in <conf-name>Proc. of the 14th Int. Conf. on Provable and Practical Security (ProvSec 2020)</conf-name>, <conf-loc>Singapore, Singapore</conf-loc>, pp. <fpage>24</fpage>&#x2013;<lpage>44</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-39"><label>[39]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Doss</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Paranthaman</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Gopalakrishnan</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Duraisamy</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Pal</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Memetic optimization with cryptographic encryption for secure medical data transmission in IoT-based distributed systems</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source>, vol. <volume>64</volume>, no. <issue>2</issue>, pp. <fpage>1577</fpage>&#x2013;<lpage>1594</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-40"><label>[40]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>X.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Sun</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Sun</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Sun</surname></string-name> and <string-name><given-names>S. K.</given-names> <surname>Jha</surname></string-name></person-group>, &#x201C;<article-title>Robust reversible audio watermarking scheme for telemedicine and privacy protection</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source>, vol. <volume>71</volume>, no. <issue>2</issue>, pp. <fpage>3035</fpage>&#x2013;<lpage>3050</lpage>, <year>2022</year>.</mixed-citation></ref>
</ref-list>
</back>
</article>