<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "JATS-journalpublishing1.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">INFORMATICA</journal-id>
<journal-title-group><journal-title>Informatica</journal-title></journal-title-group>
<issn pub-type="epub">1822-8844</issn>
<issn pub-type="ppub">0868-4952</issn>
<issn-l>0868-4952</issn-l>
<publisher>
<publisher-name>Vilnius University</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">INFO1226</article-id>
<article-id pub-id-type="doi">10.15388/Informatica.2019.220</article-id>
<article-categories><subj-group subj-group-type="heading">
<subject>Research Article</subject></subj-group></article-categories>
<title-group>
<article-title>Efficient Certificate-Based Signature with Short Key and Signature Sizes from Lattices</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Tseng</surname><given-names>Yuh-Min</given-names></name><email xlink:href="ymtseng@cc.ncue.edu.tw">ymtseng@cc.ncue.edu.tw</email><xref ref-type="aff" rid="j_info1226_aff_001"/><xref ref-type="corresp" rid="cor1">∗</xref><bio>
<p><bold>Y.-M. Tseng</bold> is currently a professor in the Department of Mathematics, National Changhua University of Education, Taiwan. He is a member of IEEE Computer Society, IEEE Communications Society and the Chinese Cryptology and Information Security Association (CCISA). He has published over one hundred scientific journal and conference papers on various research areas of cryptography, security and computer network. His research interests include cryptography, network security, computer networks and mobile communications. He serves as an editor of several international journals.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Tsai</surname><given-names>Tung-Tso</given-names></name><xref ref-type="aff" rid="j_info1226_aff_001"/><bio>
<p><bold>T.-T. Tsai</bold> is currently a senior engineer in HON HAI Technology Group, Taiwan. His research interests include applied cryptography and pairing-based cryptography. He received the PhD degree from the Department of Mathematics, National Changhua University of Education, Taiwan, in 2014 under the Professor Yuh-Min Tseng.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Wu</surname><given-names>Jui-Di</given-names></name><xref ref-type="aff" rid="j_info1226_aff_001"/><bio>
<p><bold>J.-D. Wu</bold> received the BS degree from the Department of Mathematics, National Changhua University of Education, Taiwan, in 2006. He received the MS degree from the Department of Mathematics, National Changhua University of Education, Taiwan, in 2008. He is currently a PhD candidate in the Department of Mathematics, National Changhua University of Education, Taiwan. His research interests include applied cryptography and pairing-based cryptography.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>HUANG</surname><given-names>Sen-Shan</given-names></name><xref ref-type="aff" rid="j_info1226_aff_001"/><bio>
<p><bold>S.-S. Huang</bold> is currently a professor in the Department of Mathematics, National Changhua University of Education, Taiwan. His research interests include number theory, cryptography, and network security. He received his PhD from the University of Illinois at Urbana-Champaign in 1997 under the supervision of professor Bruce C. Berndt.</p></bio>
</contrib>
<aff id="j_info1226_aff_001">Department of Mathematics, <institution>National Changhua University of Education</institution>, Jin-De Campus, Chang-Hua City 500, <country>Taiwan</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>∗</label>Corresponding author.</corresp>
</author-notes>
<pub-date pub-type="ppub"><year>2019</year></pub-date>
<pub-date pub-type="epub"><day>1</day><month>1</month><year>2019</year></pub-date><volume>30</volume><issue>3</issue><fpage>595</fpage><lpage>612</lpage>
<history>
<date date-type="received"><month>5</month><year>2018</year></date>
<date date-type="accepted"><month>3</month><year>2019</year></date>
</history>
<permissions><copyright-statement>© 2019 Vilnius University</copyright-statement><copyright-year>2019</copyright-year>
<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
<license-p>Open access article under the <ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/">CC BY</ext-link> license.</license-p></license></permissions>
<abstract>
<p>Certificate-based cryptography (CB-PKC) is an attractive public key setting, which reduces the complexity of public key infrastructure in traditional public key settings and resolves the key escrow problem in ID-based public key settings. In the past, a large number of certificate-based signature and encryption schemes were proposed. Nevertheless, the security assumptions of these schemes are mainly relied on the difficulties of the discrete logarithm and factorization problems. Unfortunately, both problems will be resolved when quantum computers come true in the future. Public key cryptography from lattices is one of the important candidates for post-quantum cryptography. However, there is little work on certificate-based cryptography from lattices. In the paper, we propose a new and efficient certificate-based signature (CBS) scheme from lattices. Under the short integer solution (SIS) assumption from lattices, the proposed CBS scheme is shown to be existential unforgeability against adaptive chosen message attacks. Performance comparisons are made to demonstrate that the proposed CBS scheme from lattices is better than the previous lattice-based CBS scheme in terms of private key size and signature size.</p>
</abstract>
<kwd-group>
<label>Key words</label>
<kwd>lattice</kwd>
<kwd>certificate-based signature</kwd>
<kwd>post-quantum cryptography</kwd>
<kwd>short integer solution</kwd>
</kwd-group>
<funding-group>
<award-group>
<funding-source xlink:href="https://doi.org/10.13039/501100004663">Ministry of Science and Technology, Taiwan</funding-source>
<award-id>MOST106-2221-E-018-007-MY2</award-id>
</award-group>
<funding-statement>This research was partially supported by Ministry of Science and Technology, Taiwan, under contract no. MOST106-2221-E-018-007-MY2. </funding-statement>
</funding-group>
</article-meta>
</front>
<body>
<sec id="j_info1226_s_001">
<label>1</label>
<title>Introduction</title>
<p>In traditional public key settings (Rivest <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_025">1978</xref>; ElGamal, <xref ref-type="bibr" rid="j_info1226_ref_006">1985</xref>), a public key infrastructure (PKI) is required to manage users’ certificates, which are issued by a trusted certificate authority (CA) to offer the link relationships between users’ identities and the associated public keys. When a party would like to use the other party’s public key, she/he must first inquire and validate the certificate of the other party using the public key infrastructure. Typically, certificate management in such a public key infrastructure is pricey.</p>
<p>To simplify certificate management in traditional public key settings, Shamir (<xref ref-type="bibr" rid="j_info1226_ref_027">1984</xref>) presented the notion of identity (ID)-based public key settings while Boneh and Franklin (<xref ref-type="bibr" rid="j_info1226_ref_004">2001</xref>) realized the ID-based public key setting from the Weil pairing and presented the first ID-based encryption scheme. For the cryptographic schemes (Tseng <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_035">2016</xref>; Tsai <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_033">2017</xref>) under ID-based public key settings, a trusted private key generator (PKG) is responsible to generate private keys of all users, but such settings suffer from the key escrow problem. To solve the key escrow problem, Al-Riyami and Paterson (<xref ref-type="bibr" rid="j_info1226_ref_002">2003</xref>) proposed a new public key paradigm, namely, certificateless public key setting. Nevertheless, both ID-based and certificateless public key settings did not employ public key certificates so that both public key settings must offer extra revocation mechanisms to revoke compromised users from the public key settings. Fortunately, several studies (Tseng and Tsai, <xref ref-type="bibr" rid="j_info1226_ref_034">2012</xref>; Tsai and Tseng, <xref ref-type="bibr" rid="j_info1226_ref_032">2015</xref>; Hung <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_014">2016b</xref>; Tseng <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_036">2018</xref>; Wu <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_038">2018</xref>) have well addressed the revocation problem of ID-based and certificateless public key settings.</p>
<p>The other solution resolving the key escrow problem in ID-based public key settings is the notion of certificate-based public key settings, which is presented by Gentry (<xref ref-type="bibr" rid="j_info1226_ref_009">2003</xref>). In the meantime, it also simplifies certificate management and the complexity of public key infrastructure, in traditional public key settings. In Gentry’s certificate-based public key setting, a user independently generates the associated private/public keys while sending the public key to a certificate authority (CA). By the user’s public key and identity information, the CA generates a certificate and sends it to the user. For the revocation problem, the CA may update non-revoked users’ certificates periodically without requiring extra revocation mechanisms. When a user would like to decrypt a ciphertext or sign a message, the user must own both private key and valid certificate. Numerous certificate-based cryptographic studies have been proposed, such as certificate-based encryption schemes (Galindo <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_007">2008</xref>; Lu and Li, <xref ref-type="bibr" rid="j_info1226_ref_020">2014</xref>; Gao <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_008">2015</xref>) and certificate-based signature schemes (Li <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_017">2007</xref>; Wu <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_037">2009</xref>; Li <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_018">2012</xref>; Hung <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_013">2016a</xref>).</p>
<p>As we all know, the security of cryptographic mechanisms must be based on the difficulties or assumptions of some hard problem. Typically, most of the existing cryptographic schemes/protocols under aforementioned public key settings are mainly relied on the difficulties of the discrete logarithm and factorization problems with large prime numbers. Unfortunately, both problems will be resolved when quantum computers come true in the future. In such a case, those cryptographic schemes/protocols based on both hard problems would become insecure (Shor, <xref ref-type="bibr" rid="j_info1226_ref_028">1997</xref>). Recently, researchers have constructed several new mathematical approaches to withstand quantum attacks. Lattice-based cryptography is one of the main candidates for post-quantum cryptography because of its efficiency and security (Bernstein, <xref ref-type="bibr" rid="j_info1226_ref_003">2009</xref>).</p>
<sec id="j_info1226_s_002">
<label>1.1</label>
<title>Related Work</title>
<p>Under traditional public key settings, Goldreich <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1226_ref_011">1997</xref>) proposed the first signature and encryption schemes from lattices. Afterward, several lattice-based signature schemes (Gentry <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_010">2008</xref>; Lyubashevsky, <xref ref-type="bibr" rid="j_info1226_ref_021">2009</xref>, <xref ref-type="bibr" rid="j_info1226_ref_022">2012</xref>) were proposed to enhance security and performance. Gentry <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1226_ref_010">2008</xref>) adopted the Gaussian sampling technique to generate a user’s private key while employing the hash-and-sign approach to sign a message. In such a case, the size of the resulting private key is too large while the computation cost of the signing process is inefficient. To improve the signing performance, Lyubashevsky (<xref ref-type="bibr" rid="j_info1226_ref_021">2009</xref>) employed the Fiat-Shamir transformation technique to generate signatures. Furthermore, Lyubashevsky (<xref ref-type="bibr" rid="j_info1226_ref_022">2012</xref>) proposed the other lattice-based signature scheme which uses the rejection sampling technique to sign a message while reducing the signature size.</p>
<p>By employing Gentry <italic>et al.</italic>’s private key generation method (Gentry <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_010">2008</xref>), Ruckert (<xref ref-type="bibr" rid="j_info1226_ref_026">2010</xref>) presented two ID-based signature schemes from lattices. Both schemes were, respectively, proved to be secure in the random oracle model and the standard model. However, the sizes of private key and the resulting signature are still lengthy. To improve the security and performance, lattice-based IBS schemes (Liu <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_019">2013</xref>; Tian and Huang, <xref ref-type="bibr" rid="j_info1226_ref_030">2014</xref>) were proposed. For the revocation problem of ID-based public key settings, Xiang (<xref ref-type="bibr" rid="j_info1226_ref_039">2015</xref>) adopted the binary tree structure to construct a revocable ID-based signature scheme from lattices. In addition, by the revocation technique in Tseng and Tsai (<xref ref-type="bibr" rid="j_info1226_ref_034">2012</xref>), Tseng <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1226_ref_036">2018</xref>), Hung <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1226_ref_015">2017a</xref>) employed the NTRU lattices in Ducas <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1226_ref_005">2014</xref>) to shorten the private key and signature sizes.</p>
<p>Tian and Huang (<xref ref-type="bibr" rid="j_info1226_ref_031">2015</xref>) proposed the first lattice-based certificateless signature scheme. They also employed Gentry <italic>et al.</italic>’s method (Gentry <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_010">2008</xref>) to generate users’ private keys so that the sizes of private key and the resulting signature turn out to be lengthy. Very recently, Hung <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1226_ref_016">2017b</xref>) employed the revocation technique of certificateless public key setting in Tsai and Tseng (<xref ref-type="bibr" rid="j_info1226_ref_032">2015</xref>), Hung <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1226_ref_014">2016b</xref>) to present the first lattice-based revocable certificateless signature scheme while improving the performance of Tain and Huang’s scheme.</p>
<p>In the past, there is little work on the design of certificate-based signature (CBS) scheme over lattices. Indeed, Tian and Huang (<xref ref-type="bibr" rid="j_info1226_ref_031">2015</xref>) also presented the first CBS scheme from lattices. The proposed scheme was proved to be existential unforgeability against adaptive chosen message attacks in the random oracle model. In addition, as Tain and Huang’s lattice-based certificateless signature scheme, their CBS scheme from lattices also employs the same method in Gentry <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1226_ref_010">2008</xref>) to generate private key. The form of a user’s private key generated in Gentry <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1226_ref_010">2008</xref>) consists of two matrices <inline-formula id="j_info1226_ineq_001"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">M</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>×</mml:mo><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${\mathbf{M}_{1}}\in {Z_{q}^{{n_{1}}\times k}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_002"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">M</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>×</mml:mo><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${\mathbf{M}_{2}}\in {Z_{q}^{{n_{2}}\times k}}$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1226_ineq_003"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">&gt;</mml:mo><mml:mn>5</mml:mn><mml:mi mathvariant="italic">k</mml:mi><mml:mo movablelimits="false">log</mml:mo><mml:mi mathvariant="italic">q</mml:mi></mml:math>
<tex-math><![CDATA[${n_{1}},{n_{2}}>5k\log q$]]></tex-math></alternatives></inline-formula> and <italic>q</italic> is a prime number. Hence, in Tain and Huang’s CBS scheme, the size of the resulting signature is also lengthy. In such a case, their scheme is inefficient.</p>
</sec>
<sec id="j_info1226_s_003">
<label>1.2</label>
<title>Contribution and Organization</title>
<p>In the paper, a new and efficient certificate-based signature (CBS) scheme from lattices is proposed. In our scheme, a user’s certificate and private key are generated by using Ducas <italic>et al.</italic>’s key extract algorithm over NTRU lattices in Ducas <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1226_ref_005">2014</xref>). Instead of Gentry <italic>et al.</italic>’s key extract algorithm over GPV lattices Gentry <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_010">2008</xref>, Ducas <italic>et al.</italic>’s key extract algorithm employed a particular sampling algorithm to produce short trapdoor (private key or certificate). Furthermore, we employ the rejection sampling technique to sign a message. The size of the resulting signature is also shortened. Hence, our CBS scheme from lattices has shorter private key and signature sizes than Tain and Huang’s CBS scheme from lattices (Tian and Huang, <xref ref-type="bibr" rid="j_info1226_ref_031">2015</xref>). Under the short integer solution (SIS) assumption from lattices (Micciancio and Regev, <xref ref-type="bibr" rid="j_info1226_ref_023">2007</xref>), the proposed CBS scheme is shown to be existential unforgeability against adaptive chosen message attacks for two adversaries, namely, Type I (general attacker) and Type II (malicious CA). Performance comparisons are made to demonstrate that the proposed CBS scheme from lattices is better than the previous lattice-based CBS schemes.</p>
<p>The rest of the paper is organized as follows. In Section <xref rid="j_info1226_s_004">2</xref>, we present several preliminaries. The framework and security notions for CBS schemes are given in Section <xref rid="j_info1226_s_011">3</xref>. A new and efficient CBS scheme from lattices is presented in Section <xref rid="j_info1226_s_012">4</xref>. In Section <xref rid="j_info1226_s_013">5</xref>, the security of the proposed CBS scheme is demonstrated. In Section <xref rid="j_info1226_s_014">6</xref>, we present performance comparisons. In Section <xref rid="j_info1226_s_015">7</xref>, conclusions are given.</p>
</sec>
</sec>
<sec id="j_info1226_s_004">
<label>2</label>
<title>Preliminaries</title>
<p>Here, we present several preliminaries that include notations, concepts of lattices, Gaussion distribution, Gaussion sampling algorithm, rejection sampling algorithm, and security assumptions over lattices.</p>
<sec id="j_info1226_s_005">
<label>2.1</label>
<title>Notations</title>
<p>Several parameters throughout this article are defined as follows: 
<list>
<list-item id="j_info1226_li_001">
<label>•</label>
<p><italic>N</italic>: a specific power-of-two integer.</p>
</list-item>
<list-item id="j_info1226_li_002">
<label>•</label>
<p><italic>Z</italic>: the set of integers.</p>
</list-item>
<list-item id="j_info1226_li_003">
<label>•</label>
<p><italic>R</italic>: the set of real values.</p>
</list-item>
<list-item id="j_info1226_li_004">
<label>•</label>
<p><inline-formula id="j_info1226_ineq_004"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${Z_{q}}$]]></tex-math></alternatives></inline-formula>: the set of integers in the interval <inline-formula id="j_info1226_ineq_005"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mo>−</mml:mo><mml:mi mathvariant="italic">q</mml:mi><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:mn>2</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">q</mml:mi><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:mn>2</mml:mn><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$[-q/2,q/2)$]]></tex-math></alternatives></inline-formula>, where <italic>q</italic> is a positive integer.</p>
</list-item>
<list-item id="j_info1226_li_005">
<label>•</label>
<p><inline-formula id="j_info1226_ineq_006"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${R_{q}}$]]></tex-math></alternatives></inline-formula>: <inline-formula id="j_info1226_ineq_007"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mi mathvariant="italic">X</mml:mi><mml:mo fence="true" stretchy="false">]</mml:mo><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${R_{q}}={Z_{q}}[X]/({X^{N}}+1)$]]></tex-math></alternatives></inline-formula>, which is a ring of polynomials with coefficients in <inline-formula id="j_info1226_ineq_008"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${Z_{q}}$]]></tex-math></alternatives></inline-formula> modulo <inline-formula id="j_info1226_ineq_009"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:math>
<tex-math><![CDATA[${X^{N}}+1$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_info1226_li_006">
<label>•</label>
<p><inline-formula id="j_info1226_ineq_010"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${R^{N}},{Z^{N}},{Z_{q}^{N}},{R_{q}^{N}}$]]></tex-math></alternatives></inline-formula>: a <italic>N</italic>-vector (or <italic>N</italic> elements) of <inline-formula id="j_info1226_ineq_011"><alternatives>
<mml:math><mml:mi mathvariant="italic">R</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">Z</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$R,Z,{Z_{q}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_012"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${R_{q}}$]]></tex-math></alternatives></inline-formula>, respectively.</p>
</list-item>
<list-item id="j_info1226_li_007">
<label>•</label>
<p><bold>x</bold>: a vector.</p>
</list-item>
<list-item id="j_info1226_li_008">
<label>•</label>
<p><bold>X</bold>: a matrix.</p>
</list-item>
<list-item id="j_info1226_li_009">
<label>•</label>
<p><inline-formula id="j_info1226_ineq_013"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mi mathvariant="bold">x</mml:mi><mml:mo stretchy="false">‖</mml:mo></mml:math>
<tex-math><![CDATA[$\| \mathbf{x}\| $]]></tex-math></alternatives></inline-formula>: <inline-formula id="j_info1226_ineq_014"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mi mathvariant="bold">x</mml:mi><mml:mo stretchy="false">‖</mml:mo><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:mo largeop="false" movablelimits="false">∑</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:msqrt></mml:math>
<tex-math><![CDATA[$\| \mathbf{x}\| =\sqrt{\textstyle\sum {\mathbf{x}_{i}^{2}}}$]]></tex-math></alternatives></inline-formula> denotes the Euclidean norm of a vector <bold>x</bold>.</p>
</list-item>
<list-item id="j_info1226_li_010">
<label>•</label>
<p><inline-formula id="j_info1226_ineq_015"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mi mathvariant="bold">X</mml:mi><mml:msub><mml:mrow><mml:mo stretchy="false">‖</mml:mo></mml:mrow><mml:mrow><mml:mi>∞</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$\| \mathbf{X}{\| _{\infty }}$]]></tex-math></alternatives></inline-formula>: <inline-formula id="j_info1226_ineq_016"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mi mathvariant="bold">X</mml:mi><mml:msub><mml:mrow><mml:mo stretchy="false">‖</mml:mo></mml:mrow><mml:mrow><mml:mi>∞</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo movablelimits="false">max</mml:mo><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mo stretchy="false">‖</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">X</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">‖</mml:mo><mml:mo fence="true" stretchy="false">]</mml:mo></mml:math>
<tex-math><![CDATA[$\| \mathbf{X}{\| _{\infty }}=\max [\| {\mathbf{X}_{i}}\| ]$]]></tex-math></alternatives></inline-formula> denotes the maximum norm of all columns of a matrix <bold>X</bold>.</p>
</list-item>
</list>
</p>
</sec>
<sec id="j_info1226_s_006">
<label>2.2</label>
<title>Anticirculant Matrices</title>
<p>Here, we introduce the definition (Definition <xref rid="j_info1226_stat_001">1</xref>) of an anticirculant matrix and its properties (Lemma <xref rid="j_info1226_stat_002">1</xref>) as follows. <statement id="j_info1226_stat_001"><label>Definition 1.</label>
<p>An <inline-formula id="j_info1226_ineq_017"><alternatives>
<mml:math><mml:mi mathvariant="italic">N</mml:mi><mml:mo>×</mml:mo><mml:mi mathvariant="italic">N</mml:mi></mml:math>
<tex-math><![CDATA[$N\times N$]]></tex-math></alternatives></inline-formula> anticirculant matrix of <inline-formula id="j_info1226_ineq_018"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$f\in {R_{q}}$]]></tex-math></alternatives></inline-formula> is a Toeplitz matrix represented by 
<disp-formula id="j_info1226_eq_001">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="bold">C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable equalrows="false" equalcolumns="false" columnalign="center"><mml:mtr><mml:mtd class="array"><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">x</mml:mi><mml:mo>·</mml:mo><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mo>⋮</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>·</mml:mo><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable columnspacing="4.0pt 4.0pt 4.0pt 4.0pt" equalrows="false" columnlines="none none none none" equalcolumns="false" columnalign="center center center center center"><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mo stretchy="false">⋯</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mo stretchy="false">⋯</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi><mml:mo>−</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mo>⋮</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mo>⋮</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mo>⋮</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mo>⋮</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mo>⋮</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mo stretchy="false">⋯</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mo stretchy="false">⋯</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {\mathbf{C}_{N}}(f)=\left[\substack{(f)\\ {} (x\cdot f)\\ {} \vdots \\ {} ({x^{N-1}}\cdot f)}\right]=\left[\begin{array}{c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c}{f_{0}}\hspace{1em}& {f_{1}}\hspace{1em}& {f_{2}}\hspace{1em}& \cdots \hspace{1em}& {f_{N-1}}\\ {} -{f_{N-1}}\hspace{1em}& {f_{0}}\hspace{1em}& {f_{1}}\hspace{1em}& \cdots \hspace{1em}& {f_{N-2}}\\ {} \vdots \hspace{1em}& \vdots \hspace{1em}& \vdots \hspace{1em}& \vdots \hspace{1em}& \vdots \\ {} -{f_{1}}\hspace{1em}& -{f_{2}}\hspace{1em}& \cdots \hspace{1em}& \cdots \hspace{1em}& {f_{0}}\end{array}\right],\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_info1226_ineq_019"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mo largeop="false" movablelimits="false">∑</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$f={\textstyle\sum _{i=0}^{N-1}}{f_{i}}{x_{i}}\in {R_{q}}$]]></tex-math></alternatives></inline-formula>. In the sequel, <inline-formula id="j_info1226_ineq_020"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{C}_{N}}(f)$]]></tex-math></alternatives></inline-formula> is abbreviated as <inline-formula id="j_info1226_ineq_021"><alternatives>
<mml:math><mml:mi mathvariant="bold">C</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$\mathbf{C}(f)$]]></tex-math></alternatives></inline-formula>.</p></statement><statement id="j_info1226_stat_002"><label>Lemma 1</label>
<title>(See Ducas <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_005">2014</xref>).</title>
<p><italic>Let</italic> <inline-formula id="j_info1226_ineq_022"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{C}_{N}}(f)$]]></tex-math></alternatives></inline-formula> <italic>and</italic> <inline-formula id="j_info1226_ineq_023"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">g</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{C}_{N}}(g)$]]></tex-math></alternatives></inline-formula> <italic>be anticirculant matrices, we have</italic> <inline-formula id="j_info1226_ineq_024"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">g</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">f</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="italic">g</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{C}_{N}}(f)+{\mathbf{C}_{N}}(g)={\mathbf{C}_{N}}(f+g)$]]></tex-math></alternatives></inline-formula> <italic>and</italic> <inline-formula id="j_info1226_ineq_025"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>·</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">g</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">f</mml:mi><mml:mo>·</mml:mo><mml:mi mathvariant="italic">g</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{C}_{N}}(f)\cdot {\mathbf{C}_{N}}(g)={\mathbf{C}_{N}}(f\cdot g)$]]></tex-math></alternatives></inline-formula><italic>, where</italic> <inline-formula id="j_info1226_ineq_026"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">g</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$f,g\in {R_{q}}$]]></tex-math></alternatives></inline-formula><italic>.</italic></p></statement></p>
</sec>
<sec id="j_info1226_s_007">
<label>2.3</label>
<title>Lattice and NTRU Lattice</title>
<p>A lattice is a full-rank subgroup of <inline-formula id="j_info1226_ineq_027"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${R^{n}}$]]></tex-math></alternatives></inline-formula> and an NTRU lattice is convolution modular lattices with a particularly efficient class, which are defined as follows.</p><statement id="j_info1226_stat_003"><label>Definition 2.</label>
<p>Let <inline-formula id="j_info1226_ineq_028"><alternatives>
<mml:math><mml:mi mathvariant="bold">B</mml:mi><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">v</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">v</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[$\mathbf{B}=\{{\mathbf{v}_{1}},{\mathbf{v}_{2}},\dots ,{\mathbf{v}_{n}}\}$]]></tex-math></alternatives></inline-formula> be the basis of the <italic>n</italic>-dimensional lattice Λ, where <inline-formula id="j_info1226_ineq_029"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">v</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">v</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${\mathbf{v}_{1}},{\mathbf{v}_{2}},\dots ,{\mathbf{v}_{n}}\in {R^{n}}$]]></tex-math></alternatives></inline-formula> and <italic>n</italic> are linearly independent vectors. The lattice Λ generated by the basis <bold>B</bold> is defined as below: 
<disp-formula id="j_info1226_eq_002">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mi mathvariant="normal">Λ</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="script">L</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">v</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">v</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo fence="true" maxsize="2.45em" minsize="2.45em">{</mml:mo>
<mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi mathvariant="bold">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>:</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow></mml:msup><mml:mo fence="true" maxsize="2.45em" minsize="2.45em">}</mml:mo><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ \Lambda =\mathcal{L}({\mathbf{v}_{1}},{\mathbf{v}_{2}},\dots ,{\mathbf{v}_{n}})=\Bigg\{{\sum \limits_{i=1}^{n}}{x_{i}}{\mathbf{v}_{i}}:{x_{i}}\in {R^{n}}\Bigg\}.\]]]></tex-math></alternatives>
</disp-formula>
</p></statement><statement id="j_info1226_stat_004"><label>Definition 3.</label>
<p>Let f, g <inline-formula id="j_info1226_ineq_030"><alternatives>
<mml:math><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$\in {R_{q}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_031"><alternatives>
<mml:math><mml:mi mathvariant="italic">h</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">g</mml:mi><mml:mo>∗</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[$h=g\ast {f^{-1}}$]]></tex-math></alternatives></inline-formula> and <italic>q</italic> is a positive integer. The NTRU lattice <inline-formula id="j_info1226_ineq_032"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">Λ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">u</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">v</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">∈</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">u</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="italic">v</mml:mi><mml:mo>∗</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[${\Lambda _{h,q}}=\{(u,v)\in {R_{q}^{2}}|u+v\ast h=0\}$]]></tex-math></alternatives></inline-formula> is a full-rank lattice of <inline-formula id="j_info1226_ineq_033"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${Z_{q}^{2N}}$]]></tex-math></alternatives></inline-formula>. Indeed, the lattice <inline-formula id="j_info1226_ineq_034"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">Λ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\Lambda _{h,q}}$]]></tex-math></alternatives></inline-formula> may be generated by these rows (vectors) of 
<disp-formula id="j_info1226_eq_003">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="bold">A</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable columnspacing="4.0pt" equalrows="false" columnlines="none" equalcolumns="false" columnalign="center center"><mml:mtr><mml:mtd class="array"><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="bold">I</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">q</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="bold">I</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="bold">O</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {\mathbf{A}_{h,q}}=\left[\begin{array}{c@{\hskip4.0pt}c}-{\mathbf{C}_{N}}(h)\hspace{1em}& {\mathbf{I}_{N}}\\ {} q{\mathbf{I}_{N}}\hspace{1em}& {\mathbf{O}_{N}}\end{array}\right],\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_info1226_ineq_035"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">O</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathbf{O}_{N}}$]]></tex-math></alternatives></inline-formula> is the <inline-formula id="j_info1226_ineq_036"><alternatives>
<mml:math><mml:mi mathvariant="italic">N</mml:mi><mml:mo>×</mml:mo><mml:mi mathvariant="italic">N</mml:mi></mml:math>
<tex-math><![CDATA[$N\times N$]]></tex-math></alternatives></inline-formula> null matrix and <inline-formula id="j_info1226_ineq_037"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">I</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathbf{I}_{N}}$]]></tex-math></alternatives></inline-formula> is the <inline-formula id="j_info1226_ineq_038"><alternatives>
<mml:math><mml:mi mathvariant="italic">N</mml:mi><mml:mo>×</mml:mo><mml:mi mathvariant="italic">N</mml:mi></mml:math>
<tex-math><![CDATA[$N\times N$]]></tex-math></alternatives></inline-formula> unit matrix.</p></statement>
<p>Indeed, the basis <inline-formula id="j_info1226_ineq_039"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">A</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathbf{A}_{h,q}}$]]></tex-math></alternatives></inline-formula> is not well suitable to solve the general lattice problem when <italic>h</italic> is a uniform distribution in <inline-formula id="j_info1226_ineq_040"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${R_{q}}$]]></tex-math></alternatives></inline-formula>. Thus, Hoffstein <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1226_ref_012">2003</xref>) constructed the other appropriate basis of <inline-formula id="j_info1226_ineq_041"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">Λ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\Lambda _{h,q}}$]]></tex-math></alternatives></inline-formula> as 
<disp-formula id="j_info1226_eq_004">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="bold">B</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable columnspacing="4.0pt" equalrows="false" columnlines="none" equalcolumns="false" columnalign="center center"><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="bold">C</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">g</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mo>−</mml:mo><mml:mi mathvariant="bold">C</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="bold">C</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">G</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mo>−</mml:mo><mml:mi mathvariant="bold">C</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">F</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {\mathbf{B}_{f,g}}=\left[\begin{array}{c@{\hskip4.0pt}c}\mathbf{C}(g)\hspace{1em}& -\mathbf{C}(f)\\ {} \mathbf{C}(G)\hspace{1em}& -\mathbf{C}(F)\end{array}\right],\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_info1226_ineq_042"><alternatives>
<mml:math><mml:mi mathvariant="italic">F</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">G</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$F,G\in {R_{q}}$]]></tex-math></alternatives></inline-formula> such that <inline-formula id="j_info1226_ineq_043"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo>∗</mml:mo><mml:mi mathvariant="italic">G</mml:mi><mml:mo>−</mml:mo><mml:mi mathvariant="italic">g</mml:mi><mml:mo>∗</mml:mo><mml:mi mathvariant="italic">F</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">q</mml:mi></mml:math>
<tex-math><![CDATA[$f\ast G-g\ast F=q$]]></tex-math></alternatives></inline-formula>. Indeed, <inline-formula id="j_info1226_ineq_044"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">B</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathbf{B}_{f,g}}$]]></tex-math></alternatives></inline-formula> is a short basis for <inline-formula id="j_info1226_ineq_045"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">Λ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\Lambda _{h,q}}$]]></tex-math></alternatives></inline-formula> and has the following properties. <statement id="j_info1226_stat_005"><label>Lemma 2</label>
<title>(See Ducas <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_005">2014</xref>).</title>
<p><italic>If</italic> <inline-formula id="j_info1226_ineq_046"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">g</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">F</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">G</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$f,g,F,G\in {R_{q}}$]]></tex-math></alternatives></inline-formula> <italic>such that</italic> <inline-formula id="j_info1226_ineq_047"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo>∗</mml:mo><mml:mi mathvariant="italic">G</mml:mi><mml:mo>−</mml:mo><mml:mi mathvariant="italic">g</mml:mi><mml:mo>∗</mml:mo><mml:mi mathvariant="italic">F</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">q</mml:mi></mml:math>
<tex-math><![CDATA[$f\ast G-g\ast F=q$]]></tex-math></alternatives></inline-formula> <italic>and</italic> <inline-formula id="j_info1226_ineq_048"><alternatives>
<mml:math><mml:mi mathvariant="italic">h</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">g</mml:mi><mml:mo>∗</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[$h=g\ast {f^{-1}}$]]></tex-math></alternatives></inline-formula><italic>, the short basis,</italic> <inline-formula id="j_info1226_ineq_049"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">B</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathbf{B}_{f,g}}$]]></tex-math></alternatives></inline-formula> <italic>may generate the same NTRU lattice</italic> <inline-formula id="j_info1226_ineq_050"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">Λ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\Lambda _{h,q}}$]]></tex-math></alternatives></inline-formula> <italic>generated by the basis ,</italic> <inline-formula id="j_info1226_ineq_051"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">A</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathbf{A}_{h,q}}$]]></tex-math></alternatives></inline-formula> <italic>while satisfying</italic> <inline-formula id="j_info1226_ineq_052"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">B</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">‖</mml:mo><mml:mo>⩽</mml:mo><mml:mo stretchy="false">‖</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">A</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">‖</mml:mo></mml:math>
<tex-math><![CDATA[$\| {\mathbf{B}_{f,g}}\| \leqslant \| {\mathbf{A}_{h,q}}\| $]]></tex-math></alternatives></inline-formula><italic>.</italic></p></statement><statement id="j_info1226_stat_006"><label>Lemma 3</label>
<title>(See Ducas <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_005">2014</xref>).</title>
<p><italic>Let N and q be a power-of-two integer and a prime, respectively. There exists a probabilistic polynomial-time</italic> (<italic>PPT</italic>) <italic>algorithm</italic> <inline-formula id="j_info1226_ineq_053"><alternatives>
<mml:math><mml:mi mathvariant="bold">TrapGen</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">q</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">N</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$\mathbf{TrapGen}(q,N)$]]></tex-math></alternatives></inline-formula> <italic>that may generate two polynomials f and g while computing</italic> <inline-formula id="j_info1226_ineq_054"><alternatives>
<mml:math><mml:mi mathvariant="italic">h</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">g</mml:mi><mml:mo>∗</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[$h=g\ast {f^{-1}}$]]></tex-math></alternatives></inline-formula><italic>, and output a short trapdoor basis</italic> <inline-formula id="j_info1226_ineq_055"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">B</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathbf{B}_{f,g}}$]]></tex-math></alternatives></inline-formula> <italic>of</italic> <inline-formula id="j_info1226_ineq_056"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">Λ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\Lambda _{h,q}}$]]></tex-math></alternatives></inline-formula><italic>. It is worth mentioning that h is statistically close to be uniform in</italic> <inline-formula id="j_info1226_ineq_057"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${R_{q}}$]]></tex-math></alternatives></inline-formula> <italic>and publicly published.</italic></p></statement></p>
</sec>
<sec id="j_info1226_s_008">
<label>2.4</label>
<title>Gaussian Distribution and Sampling Technique</title>
<p>In this section, we define the Gaussian distributions and sampling technique, which are useful tools for lattice-based cryptography.</p><statement id="j_info1226_stat_007"><label>Definition 4.</label>
<p>The continuous Gaussian distribution over <inline-formula id="j_info1226_ineq_058"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${R^{N}}$]]></tex-math></alternatives></inline-formula> with the centre <inline-formula id="j_info1226_ineq_059"><alternatives>
<mml:math><mml:mi mathvariant="bold">c</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[$\mathbf{c}\in {R^{N}}$]]></tex-math></alternatives></inline-formula> and the standard deviation <inline-formula id="j_info1226_ineq_060"><alternatives>
<mml:math><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">&gt;</mml:mo><mml:mn>0</mml:mn></mml:math>
<tex-math><![CDATA[$s>0$]]></tex-math></alternatives></inline-formula>, is defined as 
<disp-formula id="j_info1226_eq_005">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">x</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo mathvariant="normal" fence="true" maxsize="2.03em" minsize="2.03em">(</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">π</mml:mi></mml:mrow></mml:msqrt></mml:mrow></mml:mfrac></mml:mstyle><mml:mo mathvariant="normal" fence="true" maxsize="2.03em" minsize="2.03em">)</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi><mml:msup><mml:mrow><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mrow><mml:mstyle displaystyle="false"><mml:mfrac><mml:mrow><mml:mo>−</mml:mo><mml:mo stretchy="false">∥</mml:mo><mml:mi mathvariant="bold">x</mml:mi><mml:mo>−</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:msubsup><mml:mrow><mml:mo stretchy="false">∥</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:msup><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:msup></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mtext>where</mml:mtext><mml:mspace width="2.5pt"/><mml:mi mathvariant="bold">x</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {\rho _{\mathbf{c},s}^{N}}(\mathbf{x})={\bigg(\frac{1}{s\sqrt{2\pi }}\bigg)^{N{e^{\frac{-\parallel \mathbf{x}-\mathbf{c}{\parallel _{2}^{2}}}{2{s^{2}}}}}}},\hspace{1em}\text{where}\hspace{2.5pt}\mathbf{x}\in {R^{N}}.\]]]></tex-math></alternatives>
</disp-formula>
</p></statement><statement id="j_info1226_stat_008"><label>Definition 5.</label>
<p>For any lattice <inline-formula id="j_info1226_ineq_061"><alternatives>
<mml:math><mml:mi mathvariant="normal">Λ</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[$\Lambda \in {Z^{N}}$]]></tex-math></alternatives></inline-formula>, the discrete Gaussian distribution over <inline-formula id="j_info1226_ineq_062"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${Z^{N}}$]]></tex-math></alternatives></inline-formula> with the standard deviation <inline-formula id="j_info1226_ineq_063"><alternatives>
<mml:math><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">&gt;</mml:mo><mml:mn>0</mml:mn></mml:math>
<tex-math><![CDATA[$s>0$]]></tex-math></alternatives></inline-formula> and the centre <inline-formula id="j_info1226_ineq_064"><alternatives>
<mml:math><mml:mi mathvariant="bold">c</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[$\mathbf{c}\in {Z^{N}}$]]></tex-math></alternatives></inline-formula>, is defined as <inline-formula id="j_info1226_ineq_065"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">x</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">x</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="normal">Λ</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${D_{\mathbf{c},s}^{N}}(\mathbf{x})={\rho _{\mathbf{c},s}^{N}}(\mathbf{x})/{\rho _{\mathbf{c},s}^{N}}(\Lambda )$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1226_ineq_066"><alternatives>
<mml:math><mml:mi mathvariant="bold">x</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[$\mathbf{x}\in {Z^{N}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_067"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="normal">Λ</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mo largeop="false" movablelimits="false">∑</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="bold">x</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="normal">Λ</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">x</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${\rho _{\mathbf{c},s}^{N}}(\Lambda )={\textstyle\sum _{\mathbf{x}\in \Lambda }}{\rho _{\mathbf{c},s}^{N}}(\mathbf{x})$]]></tex-math></alternatives></inline-formula>. In the sequel, <inline-formula id="j_info1226_ineq_068"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${\rho _{0,s}^{N}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_069"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${D_{0,s}^{N}}$]]></tex-math></alternatives></inline-formula> are abbreviated as <inline-formula id="j_info1226_ineq_070"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${\rho _{s}^{N}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_071"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${D_{s}^{N}}$]]></tex-math></alternatives></inline-formula> respectively.</p></statement>
<p>For the discrete Gaussian distribution <inline-formula id="j_info1226_ineq_072"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">x</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${D_{\mathbf{c},\sigma }^{N}}(\mathbf{x})$]]></tex-math></alternatives></inline-formula>, Lyubashevsky (<xref ref-type="bibr" rid="j_info1226_ref_022">2012</xref>) gave two properties as follows.</p><statement id="j_info1226_stat_009"><label>Lemma 4</label>
<title>(See Lyubashevsky, <xref ref-type="bibr" rid="j_info1226_ref_022">2012</xref>).</title>
<p><italic>Let</italic> <inline-formula id="j_info1226_ineq_073"><alternatives>
<mml:math><mml:mi mathvariant="bold">c</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[$\mathbf{c}\in {Z^{N}}$]]></tex-math></alternatives></inline-formula><italic>.</italic> 
<list>
<list-item id="j_info1226_li_011">
<label>(1)</label>
<p><italic>If</italic> <inline-formula id="j_info1226_ineq_074"><alternatives>
<mml:math><mml:mi mathvariant="italic">σ</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">ω</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mo stretchy="false">‖</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo stretchy="false">‖</mml:mo><mml:msqrt><mml:mrow><mml:mo movablelimits="false">log</mml:mo><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$\sigma =\omega (\| \mathbf{c}\| \sqrt{\log N})$]]></tex-math></alternatives></inline-formula><italic>, we have Pr</italic>[<inline-formula id="j_info1226_ineq_075"><alternatives>
<mml:math><mml:mi mathvariant="bold">x</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo>;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">x</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">x</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="italic">O</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo fence="true" stretchy="false">]</mml:mo><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>−</mml:mo><mml:mi mathvariant="italic">ω</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mo movablelimits="false">log</mml:mo><mml:mi mathvariant="italic">N</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[$\mathbf{x}\in {D_{\sigma }^{N}};{D_{\sigma }^{N}}(\mathbf{x})/{D_{\mathbf{c},\sigma }^{N}}(\mathbf{x})=O(1)]=1-{2^{-\omega (\log N)}}$]]></tex-math></alternatives></inline-formula><italic>.</italic></p>
</list-item>
<list-item id="j_info1226_li_012">
<label>(2)</label>
<p><italic>If</italic> <inline-formula id="j_info1226_ineq_076"><alternatives>
<mml:math><mml:mi mathvariant="italic">α</mml:mi><mml:mo mathvariant="normal">&gt;</mml:mo><mml:mn>0</mml:mn></mml:math>
<tex-math><![CDATA[$\alpha >0$]]></tex-math></alternatives></inline-formula> <italic>and</italic> <inline-formula id="j_info1226_ineq_077"><alternatives>
<mml:math><mml:mi mathvariant="italic">σ</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">α</mml:mi><mml:mo stretchy="false">‖</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo stretchy="false">‖</mml:mo></mml:math>
<tex-math><![CDATA[$\sigma =\alpha \| \mathbf{c}\| $]]></tex-math></alternatives></inline-formula><italic>, we have Pr</italic>[<inline-formula id="j_info1226_ineq_078"><alternatives>
<mml:math><mml:mi mathvariant="bold">x</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo>;</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">x</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">x</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal">&lt;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mrow><mml:mn>12</mml:mn><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:mi mathvariant="italic">α</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>2</mml:mn><mml:msup><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:mo fence="true" stretchy="false">]</mml:mo><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>−</mml:mo><mml:mn>100</mml:mn></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[$\mathbf{x}\in {D_{\sigma }^{N}};{D_{\sigma }^{N}}(\mathbf{x})/{D_{\mathbf{c},\sigma }^{N}}(\mathbf{x})<{e^{12/\alpha +1/(2{\sigma ^{2}})}}]=1-{2^{-100}}$]]></tex-math></alternatives></inline-formula><italic>.</italic></p>
</list-item>
</list>
</p></statement>
<p>In the following, let us introduce the Gaussian sampling technique over general lattices. Indeed, one takes a noise vector from a Gaussian distribution and adds this noise vector to a lattice, she/he may obtain a distribution which is very close to uniform distribution (Micciancio and Regev, <xref ref-type="bibr" rid="j_info1226_ref_023">2007</xref>). Based on this fact, Gentry <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1226_ref_010">2008</xref>) proposed a trapdoor (private key) generation algorithm by using the Gaussian sampling technique from lattices. Furthermore, Ducas <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1226_ref_005">2014</xref>) improved Gentry <italic>et al</italic>.’s trapdoor generation algorithm to propose a specific sampling algorithm over NTRU lattices to reduce the private key size by using a short basis <inline-formula id="j_info1226_ineq_079"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">B</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathbf{B}_{f,g}}$]]></tex-math></alternatives></inline-formula> generated in Lemma <xref rid="j_info1226_stat_005">2</xref>. Ducas <italic>et al</italic>.’s trapdoor generation algorithm has the following property. <statement id="j_info1226_stat_010"><label>Lemma 5</label>
<title>(See Ducas <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_005">2014</xref>).</title>
<p><italic>Let</italic> <inline-formula id="j_info1226_ineq_080"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">B</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathbf{B}_{f,g}}$]]></tex-math></alternatives></inline-formula> <italic>be a short basis of an N-dimensional lattice</italic> Λ<italic>. Let</italic> <inline-formula id="j_info1226_ineq_081"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi mathvariant="bold">B</mml:mi></mml:mrow><mml:mo stretchy="false">˜</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\tilde{\mathbf{B}}_{f,g}}$]]></tex-math></alternatives></inline-formula> <italic>be the Gram–Schmidt orthogonalization of</italic> <inline-formula id="j_info1226_ineq_082"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">B</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathbf{B}_{f,g}}$]]></tex-math></alternatives></inline-formula><italic>. If</italic> <inline-formula id="j_info1226_ineq_083"><alternatives>
<mml:math><mml:mi mathvariant="italic">s</mml:mi><mml:mo>⩾</mml:mo><mml:mo stretchy="false">‖</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi mathvariant="bold">B</mml:mi></mml:mrow><mml:mo stretchy="false">˜</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">‖</mml:mo><mml:mi mathvariant="italic">ω</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msqrt><mml:mrow><mml:mo movablelimits="false">log</mml:mo><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$s\geqslant \| {\tilde{\mathbf{B}}_{f,g}}\| \omega (\sqrt{\log N})$]]></tex-math></alternatives></inline-formula> <italic>and</italic> <inline-formula id="j_info1226_ineq_084"><alternatives>
<mml:math><mml:mn>0</mml:mn><mml:mo mathvariant="normal">&lt;</mml:mo><mml:mi mathvariant="italic">ε</mml:mi><mml:mo mathvariant="normal">&lt;</mml:mo><mml:mn>1</mml:mn></mml:math>
<tex-math><![CDATA[$0<\varepsilon <1$]]></tex-math></alternatives></inline-formula><italic>, we have</italic> 
<disp-formula id="j_info1226_eq_006">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mi mathvariant="italic">P</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo><mml:mo stretchy="false">‖</mml:mo><mml:mi mathvariant="bold">x</mml:mi><mml:mo>−</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo stretchy="false">‖</mml:mo><mml:mo mathvariant="normal">&gt;</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:msqrt><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt><mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo><mml:mo>⩽</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac><mml:mrow><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>−</mml:mo><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msup><mml:mspace width="1em"/><mml:mtext mathvariant="italic">for any</mml:mtext><mml:mspace width="2.5pt"/><mml:mi mathvariant="bold">c</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msup><mml:mspace width="2.5pt"/><mml:mtext mathvariant="italic">and</mml:mtext><mml:mspace width="2.5pt"/><mml:mi mathvariant="bold">x</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ Pr\big[\| \mathbf{x}-\mathbf{c}\| >s\sqrt{N}\big]\leqslant \frac{1+\varepsilon }{1-\varepsilon }{2^{-N}}\hspace{1em}\textit{for any}\hspace{2.5pt}\mathbf{c}\in {Z^{N}}\hspace{2.5pt}\textit{and}\hspace{2.5pt}\mathbf{x}\in {D_{\mathbf{c},s}^{N}}.\]]]></tex-math></alternatives>
</disp-formula> 
<italic>And there exists an PPT algorithm</italic> <inline-formula id="j_info1226_ineq_085"><alternatives>
<mml:math><mml:mi mathvariant="bold">GauSample</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">B</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$\mathbf{GauSample}({\mathbf{B}_{f,g}},s,\mathbf{c})$]]></tex-math></alternatives></inline-formula> <italic>that produces a distribution statistically close to</italic> <inline-formula id="j_info1226_ineq_086"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${D_{\mathbf{c},s}^{N}}$]]></tex-math></alternatives></inline-formula><italic>.</italic></p></statement></p>
</sec>
<sec id="j_info1226_s_009">
<label>2.5</label>
<title>Rejection Sampling Technique</title>
<p>In our CBS scheme from lattices, we employ the rejection sampling technique to sign a message. The rejection sampling technique was proposed by Lyubashevsky (<xref ref-type="bibr" rid="j_info1226_ref_022">2012</xref>). Its idea is to make the distribution of a resulting signature be independent of the signing key. In addition, the rejection sampling technique requires just a few matrix-vector multiplications and rejection samplings so that it is simple and efficient. The idea of the rejection sampling technique works as follows. If a signer with the signing key <bold>S</bold> would like to generate a signature <italic>σ</italic> on a message <italic>m</italic>, the signer first chooses a random vector <bold>y</bold> from some distribution (i.e. Gaussian distribution) and computes the candidate signature <bold>z</bold>. Namely, the signer first uses the signing key <bold>S</bold> to multiply the resulting vector <bold>c</bold> of some function with inputting message <italic>m</italic> and then adds the random vector <bold>y</bold>, denoted as <inline-formula id="j_info1226_ineq_087"><alternatives>
<mml:math><mml:mi mathvariant="bold">z</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="bold">S</mml:mi><mml:mi mathvariant="bold">c</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="bold">y</mml:mi></mml:math>
<tex-math><![CDATA[$\mathbf{z}=\mathbf{S}\mathbf{c}+\mathbf{y}$]]></tex-math></alternatives></inline-formula>. Without loss of generality, let the distribution <inline-formula id="j_info1226_ineq_088"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">x</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${D_{\sigma }^{N}}(\mathbf{x})$]]></tex-math></alternatives></inline-formula> be the target distribution and the signature is the distribution vector <inline-formula id="j_info1226_ineq_089"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="bold">S</mml:mi><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">x</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${D_{\mathbf{S}\mathbf{c},\sigma }^{N}}(\mathbf{x})$]]></tex-math></alternatives></inline-formula>. If <inline-formula id="j_info1226_ineq_090"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">x</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>⩽</mml:mo><mml:mi mathvariant="italic">M</mml:mi><mml:mo>·</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="bold">S</mml:mi><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">x</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${D_{\sigma }^{N}}(\mathbf{x})\leqslant M\cdot {D_{\mathbf{S}\mathbf{c},\sigma }^{N}}(\mathbf{x})$]]></tex-math></alternatives></inline-formula> for all <bold>x</bold>, then the candidate signature <bold>z</bold> may be generated with probability <inline-formula id="j_info1226_ineq_091"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">z</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:mi mathvariant="italic">M</mml:mi><mml:mo>·</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="bold">S</mml:mi><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">z</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${D_{\sigma }^{N}}(\mathbf{z})/M\cdot {D_{\mathbf{S}\mathbf{c},\sigma }^{N}}(\mathbf{z})$]]></tex-math></alternatives></inline-formula>. If the resulting signature does not satisfy the above condition, then the signature <bold>z</bold> will be rejected. The expected number of times that the process generates a valid signature is <italic>M</italic>.</p>
</sec>
<sec id="j_info1226_s_010">
<label>2.6</label>
<title>SIS Assumption from Lattices</title>
<p>Here, we present a mathematical assumption, called the short integer solution (SIS) assumption from lattices. The difficulty of the SIS problem is equal to that of the worst-case of short independent vector problem (SIVP) up to a polynomial approximation factor (Ajtai, <xref ref-type="bibr" rid="j_info1226_ref_001">1996</xref>). The SIS problem and assumption are defined as follows.</p><statement id="j_info1226_stat_011"><label>Definition 6.</label>
<p><inline-formula id="j_info1226_ineq_092"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">SIS</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">N</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathrm{SIS}_{q,N,\beta }}$]]></tex-math></alternatives></inline-formula> problem: let <italic>q</italic> be a positive integer, <italic>β</italic> be a real number, and <inline-formula id="j_info1226_ineq_093"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${f_{1}},{f_{2}},\dots ,{f_{N}}$]]></tex-math></alternatives></inline-formula> be polynomials chosen uniformly and independently from <inline-formula id="j_info1226_ineq_094"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${R_{q}}$]]></tex-math></alternatives></inline-formula>. The <inline-formula id="j_info1226_ineq_095"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">SIS</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">N</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathrm{SIS}_{q,N,\beta }}$]]></tex-math></alternatives></inline-formula> problem is to find non-zero integers <inline-formula id="j_info1226_ineq_096"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${r_{1}},{r_{2}},\dots ,{r_{N}}$]]></tex-math></alternatives></inline-formula> such that <inline-formula id="j_info1226_ineq_097"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mo largeop="false" movablelimits="false">∑</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math>
<tex-math><![CDATA[${\textstyle\sum _{i=1}^{N}}{r_{i}}{f_{i}}=0$]]></tex-math></alternatives></inline-formula> mod q and <inline-formula id="j_info1226_ineq_098"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">‖</mml:mo><mml:mo>⩽</mml:mo><mml:mi mathvariant="italic">β</mml:mi></mml:math>
<tex-math><![CDATA[$\| ({r_{1}},{r_{2}},\dots ,{r_{N}})\| \leqslant \beta $]]></tex-math></alternatives></inline-formula>.</p></statement><statement id="j_info1226_stat_012"><label>Definition 7.</label>
<p><inline-formula id="j_info1226_ineq_099"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">SIS</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">N</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathrm{SIS}_{q,N,\beta }}$]]></tex-math></alternatives></inline-formula> assumption: for the <inline-formula id="j_info1226_ineq_100"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">SIS</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">N</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathrm{SIS}_{q,N,\beta }}$]]></tex-math></alternatives></inline-formula> problem defined above, there exists no probabilistic polynomial-time adversary A with non-negligible probability who can find such non-zero integers <inline-formula id="j_info1226_ineq_101"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${r_{1}},{r_{2}},\dots ,{r_{N}}$]]></tex-math></alternatives></inline-formula>.</p></statement>
<p>By Ducas <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1226_ref_005">2014</xref>), the SIS problem on NTRU lattices is to find a pair <inline-formula id="j_info1226_ineq_102"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$({\mathbf{z}_{1}},{\mathbf{z}_{2}})$]]></tex-math></alternatives></inline-formula> such that <inline-formula id="j_info1226_ineq_103"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{1}}+h\ast {\mathbf{z}_{2}}=0$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_104"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">‖</mml:mo><mml:mo>⩽</mml:mo><mml:mi mathvariant="italic">β</mml:mi></mml:math>
<tex-math><![CDATA[$\| ({\mathbf{z}_{1}},{\mathbf{z}_{2}})\| \leqslant \beta $]]></tex-math></alternatives></inline-formula>. The statistical distance between the distribution of <inline-formula id="j_info1226_ineq_105"><alternatives>
<mml:math><mml:mi mathvariant="italic">h</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">g</mml:mi><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:mi mathvariant="italic">f</mml:mi></mml:math>
<tex-math><![CDATA[$h=g/f$]]></tex-math></alternatives></inline-formula> and the uniform distribution of <inline-formula id="j_info1226_ineq_106"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${R_{q}}$]]></tex-math></alternatives></inline-formula> is negligible (Stehle and Steinfeld, <xref ref-type="bibr" rid="j_info1226_ref_029">2013</xref>).</p>
</sec>
</sec>
<sec id="j_info1226_s_011">
<label>3</label>
<title>Framework and Adversary Model of CBS</title>
<p>In this section, the framework and adversary model of certificate-based signature (CBS) schemes are defined here. They are identical to the framework and adversary model in Li <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1226_ref_017">2007</xref>), Wu <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1226_ref_037">2009</xref>), Li <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1226_ref_018">2012</xref>), Hung <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1226_ref_013">2016a</xref>).</p>
<p>In a CBS scheme, there are two kinds of roles, namely, users (signers/verifiers) and a trusted certificate authority (CA). A user independently generates her/his private/public key pair and sends the public key to the CA. And, the CA uses a system private key to generate and send the associated certificate to the user. An CBS scheme consists of five algorithms, namely, <italic>Setup</italic>, <italic>User key generation</italic>, <italic>Certificate extract</italic>, <italic>Sign</italic> and <italic>Verify</italic> algorithms defined as follows.</p><statement id="j_info1226_stat_013"><label>Definition 8.</label>
<p>A certificate-based signature (CBS) scheme consists of five algorithms: 
<list>
<list-item id="j_info1226_li_013">
<label>–</label>
<p>Setup algorithm is probabilistic, which is performed by the CA. It takes as input a security parameter and returns the system private key <inline-formula id="j_info1226_ineq_107"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">CA</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{CA}}}$]]></tex-math></alternatives></inline-formula> and public parameters PP. The system private key <inline-formula id="j_info1226_ineq_108"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">CA</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{CA}}}$]]></tex-math></alternatives></inline-formula> is kept secret by the CA itself.</p>
</list-item>
<list-item id="j_info1226_li_014">
<label>–</label>
<p>User key generation algorithm is probabilistic, which is performed by users. It takes as input the identity <inline-formula id="j_info1226_ineq_109"><alternatives>
<mml:math><mml:mi mathvariant="italic">ID</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{ID}$]]></tex-math></alternatives></inline-formula> of a user and returns the associated private key <inline-formula id="j_info1226_ineq_110"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula> and public key <inline-formula id="j_info1226_ineq_111"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula>. In addition, it also publishes the public key <inline-formula id="j_info1226_ineq_112"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula> in a public directory.</p>
</list-item>
<list-item id="j_info1226_li_015">
<label>–</label>
<p>Certificate extract algorithm is deterministic, which is performed by the CA. It takes as input the system private key <inline-formula id="j_info1226_ineq_113"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">CA</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{CA}}}$]]></tex-math></alternatives></inline-formula>, the public parameters PP and a user’s identity <inline-formula id="j_info1226_ineq_114"><alternatives>
<mml:math><mml:mi mathvariant="italic">ID</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{ID}$]]></tex-math></alternatives></inline-formula> with public key <inline-formula id="j_info1226_ineq_115"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula>, and returns the associated certificate <inline-formula id="j_info1226_ineq_116"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${C_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula> to the user.</p>
</list-item>
<list-item id="j_info1226_li_016">
<label>–</label>
<p>Sign algorithm is probabilistic, which is performed by users. It takes as input a message <italic>m</italic>, her/his private key <inline-formula id="j_info1226_ineq_117"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula> and certificate <inline-formula id="j_info1226_ineq_118"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${C_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula>, and returns a signature <italic>ρ</italic>.</p>
</list-item>
<list-item id="j_info1226_li_017">
<label>–</label>
<p>Verify algorithm is deterministic, which is performed by users. It takes as input a signature <italic>ρ</italic>, a message <italic>m</italic> and a user’s identity <inline-formula id="j_info1226_ineq_119"><alternatives>
<mml:math><mml:mi mathvariant="italic">ID</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{ID}$]]></tex-math></alternatives></inline-formula> with the public key <inline-formula id="j_info1226_ineq_120"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula>, and outputs either “accept” or “reject”.</p>
</list-item>
</list>
</p></statement>
<p>In the following, we define the existential unforgeability of CBS schemes against adaptive chosen-message attacks (EUF-CBS-ACMA). The EUF-CBS-ACMA attacks consist of two types of adversaries, namely, Type I and Type II adversaries.</p>
<list>
<list-item id="j_info1226_li_018">
<label>•</label>
<p>Type I adversary (uncertified entity): This adversary is a general attacker (uncertified entity) who can obtain secret key of any entity. Meanwhile, it is allowed to acquire certificate of any entity, except the certificate of an attacking target entity.</p>
</list-item>
<list-item id="j_info1226_li_019">
<label>•</label>
<p>Type II adversary (honest-but-curious CA): This adversary acts as the honest-but-curious CA so that it holds the system private key <inline-formula id="j_info1226_ineq_121"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">CA</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{CA}}}$]]></tex-math></alternatives></inline-formula> and can generate certificate of any entity. Meanwhile, it is allowed to acquire secret key of any entity, except the secret key of an attacking target entity.</p>
</list-item>
</list>
<p>In the following, an adversary model of CBS schemes against the EUF-CBS-ACMA attacks is presented. <statement id="j_info1226_stat_014"><label>Definition 9.</label>
<p>An CBS scheme provides existential unforgeability against adaptive chosen-messageattacks (EUF-CBS-ACMA) if no probabilistic polynomial-time (PPT) adversary A has a non-negligible advantage in the following game played between a challenger C and the adversary A. 
<list>
<list-item id="j_info1226_li_020">
<label>–</label>
<p>Setup. The challenger C runs the Setup algorithm to generate the system private key <inline-formula id="j_info1226_ineq_122"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">CA</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{CA}}}$]]></tex-math></alternatives></inline-formula> and public parameters PP. In addition, PP is sent to A. If A is of Type I adversary, <inline-formula id="j_info1226_ineq_123"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">CA</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{CA}}}$]]></tex-math></alternatives></inline-formula> is kept secret by C. If A is of Type II adversary, C sends the system private key <inline-formula id="j_info1226_ineq_124"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">CA</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{CA}}}$]]></tex-math></alternatives></inline-formula> to A.</p>
</list-item>
<list-item id="j_info1226_li_021">
<label>–</label>
<p>Queries. The adversary A may adaptively issue the following queries to the challenger C. It is worth mentioning that if A is of Type II adversary, it does not need to issue the certificate extract query since Type II adversary knows the system private key <inline-formula id="j_info1226_ineq_125"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">CA</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{CA}}}$]]></tex-math></alternatives></inline-formula> and may compute the certificates of all the users.</p>
<list>
<list-item id="j_info1226_li_022">
<label>•</label>
<p>User key generation query(ID). C performs the User key generation algorithm to return the associated private key <inline-formula id="j_info1226_ineq_126"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula> and public key <inline-formula id="j_info1226_ineq_127"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula> of the user with identity ID to A.</p>
</list-item>
<list-item id="j_info1226_li_023">
<label>•</label>
<p>Certificate extract query(ID, <inline-formula id="j_info1226_ineq_128"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula>). C performs the Certificate extract algorithm to return the associated certificate <inline-formula id="j_info1226_ineq_129"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${C_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula> of the user with identity ID to A.</p>
</list-item>
<list-item id="j_info1226_li_024">
<label>•</label>
<p>Corruption query(ID). C returns the associated private key <inline-formula id="j_info1226_ineq_130"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula> of the user with identity ID to A.</p>
</list-item>
<list-item id="j_info1226_li_025">
<label>•</label>
<p>Public key replacement query(ID, <inline-formula id="j_info1226_ineq_131"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${P^{\prime }_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula>). The adversary A chooses a new public key <inline-formula id="j_info1226_ineq_132"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${P^{\prime }_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula> for the user with identity ID. C records this public key replacement in a public directory. Meanwhile, it denotes that A knows the associated private key <inline-formula id="j_info1226_ineq_133"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula> of the user with identity ID.</p>
</list-item>
<list-item id="j_info1226_li_026">
<label>•</label>
<p>Sign query(m, ID). Given a message m and identity ID with the public key <inline-formula id="j_info1226_ineq_134"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula>, C generates a valid signature <italic>ρ</italic> and returns it to A.</p>
</list-item>
</list>
</list-item>
<list-item id="j_info1226_li_027">
<label>–</label>
<p>Forgery. Finally, the adversary A produces a signature tuple <inline-formula id="j_info1226_ineq_135"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[$({\rho ^{\ast }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_136"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${m^{\ast }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_137"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo></mml:math>
<tex-math><![CDATA[${\mathit{ID}^{\ast }},$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1226_ineq_138"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${P_{{\mathit{ID}^{\ast }}}})$]]></tex-math></alternatives></inline-formula>. The advantage of A is defined as the probability that A wins the game. We say that A wins the game if the following conditions hold.</p>
<list>
<list-item id="j_info1226_li_028">
<label>(1)</label>
<p>The response of the Verify algorithm on <inline-formula id="j_info1226_ineq_139"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[$({\rho ^{\ast }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_140"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${m^{\ast }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_141"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo></mml:math>
<tex-math><![CDATA[${\mathit{ID}^{\ast }},$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1226_ineq_142"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${P_{{\mathit{ID}^{\ast }}}})$]]></tex-math></alternatives></inline-formula> is “accept”.</p>
</list-item>
<list-item id="j_info1226_li_029">
<label>(2)</label>
<p><inline-formula id="j_info1226_ineq_143"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$({m^{\ast }},{\mathit{ID}^{\ast }})$]]></tex-math></alternatives></inline-formula> has never been issued in the sign query.</p>
</list-item>
<list-item id="j_info1226_li_030">
<label>(3)</label>
<p>If A is of Type I adversary, <inline-formula id="j_info1226_ineq_144"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${\mathit{ID}^{\ast }}$]]></tex-math></alternatives></inline-formula> has never been issued in the Certificate extract query.</p>
</list-item>
<list-item id="j_info1226_li_031">
<label>(4)</label>
<p>If A is of Type II adversary, it does not know the private key of the attacking target entity <inline-formula id="j_info1226_ineq_145"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${\mathit{ID}^{\ast }}$]]></tex-math></alternatives></inline-formula>, namely, <inline-formula id="j_info1226_ineq_146"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${\mathit{ID}^{\ast }}$]]></tex-math></alternatives></inline-formula> has never been issued in the User key generation, Public key replacement and Corruption queries.</p>
</list-item>
</list>
</list-item>
</list>
</p></statement></p>
</sec>
<sec id="j_info1226_s_012">
<label>4</label>
<title>An Efficient CBS Scheme from Lattices</title>
<p>Here, we propose a new and efficient CBS scheme from lattices. By the framework defined in Section <xref rid="j_info1226_s_011">3</xref>, the proposed CBS scheme consists of five algorithms as below. 
<list>
<list-item id="j_info1226_li_032">
<label>–</label>
<p><italic>Setup</italic> algorithm: Assume that <italic>N</italic>, <italic>q</italic> and <italic>λ</italic> are, respectively, a security parameter, a large prime and a positive integer while setting two standard deviations <inline-formula id="j_info1226_ineq_147"><alternatives>
<mml:math><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">&gt;</mml:mo><mml:mn>0</mml:mn></mml:math>
<tex-math><![CDATA[$s>0$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_148"><alternatives>
<mml:math><mml:mi mathvariant="italic">σ</mml:mi><mml:mo mathvariant="normal">&gt;</mml:mo><mml:mn>0</mml:mn></mml:math>
<tex-math><![CDATA[$\sigma >0$]]></tex-math></alternatives></inline-formula>. The CA runs <inline-formula id="j_info1226_ineq_149"><alternatives>
<mml:math><mml:mi mathvariant="bold">TrapGen</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">q</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">N</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$\mathbf{TrapGen}(q,N)$]]></tex-math></alternatives></inline-formula> in Lemma <xref rid="j_info1226_stat_006">3</xref> to produce two polynomials <italic>f</italic> and <italic>g</italic> and compute <inline-formula id="j_info1226_ineq_150"><alternatives>
<mml:math><mml:mi mathvariant="italic">h</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">g</mml:mi><mml:mo>∗</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[$h=g\ast {f^{1}}$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1226_ineq_151"><alternatives>
<mml:math><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">g</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$f,g\in {R_{q}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_152"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mi mathvariant="italic">f</mml:mi><mml:mo stretchy="false">‖</mml:mo></mml:math>
<tex-math><![CDATA[$\| f\| $]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_153"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mi mathvariant="italic">g</mml:mi><mml:mo stretchy="false">‖</mml:mo><mml:mo mathvariant="normal">&lt;</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:msqrt><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt></mml:math>
<tex-math><![CDATA[$\| g\| <s\sqrt{N}$]]></tex-math></alternatives></inline-formula> while <italic>h</italic> is statistically close to be uniform in <inline-formula id="j_info1226_ineq_154"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${R_{q}}$]]></tex-math></alternatives></inline-formula>. In the meantime, the CA also produces is a short trapdoor basis <inline-formula id="j_info1226_ineq_155"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">B</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">g</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathbf{B}_{f,g}}$]]></tex-math></alternatives></inline-formula> of the lattice <inline-formula id="j_info1226_ineq_156"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">Λ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\Lambda _{h,q}}$]]></tex-math></alternatives></inline-formula>, which is viewed as the system private key <inline-formula id="j_info1226_ineq_157"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">CA</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{CA}}}$]]></tex-math></alternatives></inline-formula>. The CA chooses two values <inline-formula id="j_info1226_ineq_158"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${p_{1}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_159"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${p_{2}}\in {Z_{q}^{N}}$]]></tex-math></alternatives></inline-formula> and sets the system public key as <inline-formula id="j_info1226_ineq_160"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">h</mml:mi></mml:math>
<tex-math><![CDATA[$(h$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_161"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${p_{1}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_162"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${p_{2}})$]]></tex-math></alternatives></inline-formula>. In addition, the CA selects two hash functions <inline-formula id="j_info1226_ineq_163"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${H_{1}}$]]></tex-math></alternatives></inline-formula>:<inline-formula id="j_info1226_ineq_164"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="true" stretchy="false">}</mml:mo></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>×</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${\{0,1\}^{\ast }}\times {Z_{q}^{N}}$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1226_ineq_165"><alternatives>
<mml:math><mml:mo stretchy="false">→</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[$\to {Z_{q}^{N}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_166"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${H_{2}}$]]></tex-math></alternatives></inline-formula>:<inline-formula id="j_info1226_ineq_167"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="true" stretchy="false">}</mml:mo></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${\{0,1\}^{\ast }}$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1226_ineq_168"><alternatives>
<mml:math><mml:mo>×</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[$\times {Z_{q}^{N}}$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1226_ineq_169"><alternatives>
<mml:math><mml:mo>×</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[$\times {Z_{q}^{N}}$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1226_ineq_170"><alternatives>
<mml:math><mml:mo stretchy="false">→</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="bold">v</mml:mi><mml:mo>:</mml:mo><mml:mi mathvariant="bold">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msup><mml:mrow><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mo>−</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="true" stretchy="false">}</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:mo stretchy="false">‖</mml:mo><mml:mi mathvariant="bold">v</mml:mi><mml:msub><mml:mrow><mml:mo stretchy="false">‖</mml:mo></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>⩽</mml:mo><mml:mi mathvariant="italic">λ</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[$\to \{\mathbf{v}:\mathbf{v}\in {\{-1,0,1\}^{N}},\| \mathbf{v}{\| _{1}}\leqslant \lambda \}$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1226_ineq_171"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mi mathvariant="bold">v</mml:mi><mml:msub><mml:mrow><mml:mo stretchy="false">‖</mml:mo></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$\| \mathbf{v}{\| _{1}}$]]></tex-math></alternatives></inline-formula> denotes the amount of non-zero elements of <bold>v</bold>. Finally, the CA sets the public parameters <inline-formula id="j_info1226_ineq_172"><alternatives>
<mml:math><mml:mi mathvariant="italic">P</mml:mi><mml:mi mathvariant="italic">P</mml:mi><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:mi mathvariant="italic">N</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">λ</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">σ</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">q</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$PP=\langle N,\lambda ,s,\sigma ,q,h,{p_{1}},{p_{2}},{H_{1}},{H_{2}}\rangle $]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_info1226_li_033">
<label>–</label>
<p><italic>User key generation</italic> algorithm: The user with identity <inline-formula id="j_info1226_ineq_173"><alternatives>
<mml:math><mml:mi mathvariant="italic">ID</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{ID}$]]></tex-math></alternatives></inline-formula> sets her/his private key <inline-formula id="j_info1226_ineq_174"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${S_{\mathit{ID}}}=({\mathbf{s}_{1}},{\mathbf{s}_{2}})$]]></tex-math></alternatives></inline-formula>, which is randomly and uniformly chosen from <inline-formula id="j_info1226_ineq_175"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mo>−</mml:mo><mml:mi mathvariant="italic">d</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">d</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${\{-d,\dots ,0,\dots ,d\}^{N}}$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1226_ineq_176"><alternatives>
<mml:math><mml:mn>1</mml:mn><mml:mo>⩽</mml:mo><mml:mi mathvariant="italic">d</mml:mi><mml:mo>⩽</mml:mo><mml:mn>31</mml:mn></mml:math>
<tex-math><![CDATA[$1\leqslant d\leqslant 31$]]></tex-math></alternatives></inline-formula>. Meanwhile, the user computes the associated public key <inline-formula id="j_info1226_ineq_177"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{\mathit{ID}}}={p_{1}}\ast {\mathbf{s}_{1}}+{p_{2}}\ast {\mathbf{s}_{2}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_info1226_li_034">
<label>–</label>
<p><italic>Certificate extract</italic> algorithm: Upon receiving the identity <inline-formula id="j_info1226_ineq_178"><alternatives>
<mml:math><mml:mi mathvariant="italic">ID</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{ID}$]]></tex-math></alternatives></inline-formula> and public key <inline-formula id="j_info1226_ineq_179"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula> of a user, the CA computes <inline-formula id="j_info1226_ineq_180"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${T_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula> = <inline-formula id="j_info1226_ineq_181"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">I</mml:mi><mml:mi mathvariant="italic">D</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">∈</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${H_{1}}(ID,{P_{\mathit{ID}}})\in {z_{q}^{N}}$]]></tex-math></alternatives></inline-formula> and generates the user’s certificate <inline-formula id="j_info1226_ineq_182"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${C_{\mathit{ID}}}=({\mathbf{s}_{3}},{\mathbf{s}_{4}})$]]></tex-math></alternatives></inline-formula> such that <inline-formula id="j_info1226_ineq_183"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathbf{s}_{3}}+h\ast {\mathbf{s}_{4}}={T_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_184"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">‖</mml:mo><mml:mo mathvariant="normal">&lt;</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt></mml:math>
<tex-math><![CDATA[$\| ({\mathbf{s}_{3}},{\mathbf{s}_{4}})\| <s\sqrt{2N}$]]></tex-math></alternatives></inline-formula> by running <inline-formula id="j_info1226_ineq_185"><alternatives>
<mml:math><mml:mi mathvariant="bold">GauSample</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">B</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$\mathbf{GauSample}(\mathbf{B},s,({T_{\mathit{ID}}},0))$]]></tex-math></alternatives></inline-formula> in Lemma <xref rid="j_info1226_stat_010">5</xref>. The CA returns the certificate <inline-formula id="j_info1226_ineq_186"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${C_{\mathit{ID}}}=({\mathbf{s}_{3}},{\mathbf{s}_{4}})$]]></tex-math></alternatives></inline-formula> to the user via a secure channel.</p>
</list-item>
<list-item id="j_info1226_li_035">
<label>–</label>
<p><italic>Sign</italic> algorithm: Given a message <inline-formula id="j_info1226_ineq_187"><alternatives>
<mml:math><mml:mi mathvariant="italic">m</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msup><mml:mrow><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="true" stretchy="false">}</mml:mo></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[$m\in {\{0,1\}^{\ast }}$]]></tex-math></alternatives></inline-formula>, the user with the private key <inline-formula id="j_info1226_ineq_188"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${S_{\mathit{ID}}}=({\mathbf{s}_{1}},{\mathbf{s}_{2}})$]]></tex-math></alternatives></inline-formula> and certificate <inline-formula id="j_info1226_ineq_189"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${C_{\mathit{ID}}}=({\mathbf{s}_{3}},{\mathbf{s}_{4}})$]]></tex-math></alternatives></inline-formula> randomly selects <inline-formula id="j_info1226_ineq_190"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">y</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">y</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">y</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathbf{y}_{1}},{\mathbf{y}_{2}},{\mathbf{y}_{3}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_191"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">y</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathbf{y}_{4}}$]]></tex-math></alternatives></inline-formula> from the distribution <inline-formula id="j_info1226_ineq_192"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${D_{\sigma }^{N}}$]]></tex-math></alternatives></inline-formula>, and computes the following values: 
<disp-formula id="j_info1226_eq_007">
<alternatives>
<mml:math display="block"><mml:mtable columnspacing="4.0pt 4.0pt" equalrows="false" columnlines="none none" equalcolumns="false" columnalign="right center left"><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="bold">c</mml:mi></mml:mtd><mml:mtd class="array"><mml:mo>=</mml:mo></mml:mtd><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">m</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">y</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">y</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">y</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">y</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array"><mml:mo>=</mml:mo></mml:mtd><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="bold">y</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo>;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array"><mml:mo>=</mml:mo></mml:mtd><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="bold">y</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo>;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array"><mml:mo>=</mml:mo></mml:mtd><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="bold">y</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo>;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array"><mml:mo>=</mml:mo></mml:mtd><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="bold">y</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{array}{r@{\hskip4.0pt}c@{\hskip4.0pt}l}\mathbf{c}& =& {H_{2}}(m,{p_{1}}\ast {\mathbf{y}_{1}},{p_{2}}\ast {\mathbf{y}_{2}},{\mathbf{y}_{3}}+h\ast {\mathbf{y}_{4}});\\ {} {\mathbf{z}_{1}}& =& {\mathbf{y}_{1}}+{\mathbf{s}_{1}}\ast \mathbf{c};\\ {} {\mathbf{z}_{2}}& =& {\mathbf{y}_{2}}+{\mathbf{s}_{2}}\ast \mathbf{c};\\ {} {\mathbf{z}_{3}}& =& {\mathbf{y}_{3}}+{\mathbf{s}_{3}}\ast \mathbf{c};\\ {} {\mathbf{z}_{4}}& =& {\mathbf{y}_{4}}+{\mathbf{s}_{4}}\ast \mathbf{c},\end{array}\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_info1226_ineq_193"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">‖</mml:mo><mml:mo>⩽</mml:mo><mml:mn>2</mml:mn><mml:mi mathvariant="italic">σ</mml:mi><mml:msqrt><mml:mrow><mml:mn>4</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt></mml:math>
<tex-math><![CDATA[$\| ({\mathbf{z}_{1}},{\mathbf{z}_{2}},{\mathbf{z}_{3}},{\mathbf{z}_{4}})\| \leqslant 2\sigma \sqrt{4N}$]]></tex-math></alternatives></inline-formula>. If <inline-formula id="j_info1226_ineq_194"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">‖</mml:mo><mml:mo>⩽</mml:mo><mml:mn>2</mml:mn><mml:mi mathvariant="italic">σ</mml:mi><mml:msqrt><mml:mrow><mml:mn>4</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt></mml:math>
<tex-math><![CDATA[$\| ({\mathbf{z}_{1}},{\mathbf{z}_{2}},{\mathbf{z}_{3}},{\mathbf{z}_{4}})\| \leqslant 2\sigma \sqrt{4N}$]]></tex-math></alternatives></inline-formula> does not hold, the user reruns this algorithm. By (Lyubashevsky, 2012), there exists a constant <inline-formula id="j_info1226_ineq_195"><alternatives>
<mml:math><mml:mi mathvariant="italic">M</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">O</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$M=O(1)$]]></tex-math></alternatives></inline-formula> such that the user can produce such a signature <inline-formula id="j_info1226_ineq_196"><alternatives>
<mml:math><mml:mi mathvariant="italic">ρ</mml:mi><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$\rho =({\mathbf{z}_{1}},{\mathbf{z}_{2}},{\mathbf{z}_{3}},{\mathbf{z}_{4}},\mathbf{c})$]]></tex-math></alternatives></inline-formula> with probability min(<inline-formula id="j_info1226_ineq_197"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">z</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:mi mathvariant="italic">M</mml:mi><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">z</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mn>1</mml:mn></mml:math>
<tex-math><![CDATA[${D_{\sigma }^{4N}}(\mathbf{z})/M{D_{v,\sigma }^{4N}}(\mathbf{z}),1$]]></tex-math></alternatives></inline-formula>), where 
<disp-formula id="j_info1226_eq_008">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mi mathvariant="bold">z</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">‖</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">‖</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">‖</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow></mml:msubsup><mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow></mml:msup></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ \mathbf{z}={\big[{\mathbf{z}_{1}^{T}}\| {\mathbf{z}_{2}^{T}}\| {\mathbf{z}_{3}^{T}}\| {\mathbf{z}_{4}^{T}}\big]^{T}}\]]]></tex-math></alternatives>
</disp-formula> 
and 
<disp-formula id="j_info1226_eq_009">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mi mathvariant="bold">v</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo><mml:msup><mml:mrow><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow></mml:msup><mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">‖</mml:mo><mml:msup><mml:mrow><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow></mml:msup><mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">‖</mml:mo><mml:msup><mml:mrow><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow></mml:msup><mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">‖</mml:mo><mml:msup><mml:mrow><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow></mml:msup><mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ \mathbf{v}={\big[{({\mathbf{s}_{1}}\ast \mathbf{c})^{T}}\big\| {({\mathbf{s}_{2}}\ast \mathbf{c})^{T}}\big\| {({\mathbf{s}_{3}}\ast \mathbf{c})^{T}}\big\| {({\mathbf{s}_{4}}\ast \mathbf{c})^{T}}\big]^{T}}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
</list-item>
<list-item id="j_info1226_li_036">
<label>–</label>
<p><italic>Verify</italic> algorithm: Given a signature <inline-formula id="j_info1226_ineq_198"><alternatives>
<mml:math><mml:mi mathvariant="italic">ρ</mml:mi><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$\rho =({\mathbf{z}_{1}},{\mathbf{z}_{2}},{\mathbf{z}_{3}},{\mathbf{z}_{4}},\mathbf{c})$]]></tex-math></alternatives></inline-formula>, a message <italic>m</italic> and a user’s identity <inline-formula id="j_info1226_ineq_199"><alternatives>
<mml:math><mml:mi mathvariant="italic">ID</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{ID}$]]></tex-math></alternatives></inline-formula> with public key <inline-formula id="j_info1226_ineq_200"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula>, a verifier validates the signature by the equality 
<disp-formula id="j_info1226_eq_010">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mi mathvariant="bold">c</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">m</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ \mathbf{c}={H_{2}}(m,{p_{1}}\ast {\mathbf{z}_{1}}+{p_{2}}\ast {\mathbf{z}_{2}}-{P_{\mathit{ID}}}\ast \mathbf{c},{\mathbf{z}_{3}}+h\ast {\mathbf{z}_{4}}-{T_{\mathit{ID}}}\ast \mathbf{c}).\]]]></tex-math></alternatives>
</disp-formula> 
If the equality holds, the algorithm returns “accept”. Otherwise, the algorithm returns “reject”. The correctness of the equality follows by 
<disp-formula id="j_info1226_eq_011">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">m</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:mspace width="1em"/><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">m</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">y</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">y</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>−</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>∗</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:mspace width="2em"/><mml:msub><mml:mrow><mml:mi mathvariant="bold">y</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">y</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>−</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>∗</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:mspace width="1em"/><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">m</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">y</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">y</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">y</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">y</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& {H_{2}}(m,{p_{1}}\ast {\mathbf{z}_{1}}+{p_{2}}\ast {\mathbf{z}_{2}}-{P_{\mathit{ID}}}\ast \mathbf{c},{\mathbf{z}_{3}}+h\ast {\mathbf{z}_{4}}-{T_{\mathit{ID}}}\ast \mathbf{c})\\ {} & \hspace{1em}={H_{2}}(m,{p_{1}}\ast ({\mathbf{y}_{1}}+{\mathbf{s}_{1}}\ast \mathbf{c})+{p_{2}}\ast ({\mathbf{y}_{2}}+{\mathbf{s}_{2}}\ast \mathbf{c})-({p_{1}}\ast {\mathbf{s}_{1}}+{p_{2}}\ast {\mathbf{s}_{2}})\ast \mathbf{c},\\ {} & \hspace{2em}{\mathbf{y}_{3}}+{\mathbf{s}_{3}}\ast \mathbf{c}+h\ast ({\mathbf{y}_{4}}+{\mathbf{s}_{4}}\ast \mathbf{c})-({\mathbf{s}_{3}}+h\ast {\mathbf{s}_{4}})\ast \mathbf{c})\\ {} & \hspace{1em}={H_{2}}(m,{p_{1}}\ast {\mathbf{y}_{1}}+{p_{2}}\ast {\mathbf{y}_{2}},{\mathbf{y}_{3}}+h\ast {\mathbf{y}_{4}}).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
</list-item>
</list>
</p>
</sec>
<sec id="j_info1226_s_013">
<label>5</label>
<title>Security Analysis</title>
<p>According to the framework and adversary model of CBS schemes, the signing key of a user with identity <inline-formula id="j_info1226_ineq_201"><alternatives>
<mml:math><mml:mi mathvariant="italic">ID</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{ID}$]]></tex-math></alternatives></inline-formula> include two components, namely, the private key <inline-formula id="j_info1226_ineq_202"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula> and the associated certificate <inline-formula id="j_info1226_ineq_203"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${C_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula>. By the EUF-CBS-ACMA game aforementioned in Definition <xref rid="j_info1226_stat_014">9</xref>, there are two kinds of adversaries, namely, Type I adversary (uncertified entity) and Type II adversary (honest-but-curious CA). Type I adversary is a general attacker without knowing the system private key <inline-formula id="j_info1226_ineq_204"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">CA</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{CA}}}$]]></tex-math></alternatives></inline-formula> so that it did not compute the certificate of an attacking target entity. Type II adversary acts as the honest-but-curious CA so that it holds the system private key <inline-formula id="j_info1226_ineq_205"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">CA</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{CA}}}$]]></tex-math></alternatives></inline-formula>, but does not know the private key of the attacking target entity.</p>
<p>The security analysis of the proposed CBS scheme is formally proved as follows. In Theorem <xref rid="j_info1226_stat_015">1</xref>, we prove that our CBS scheme from lattices is secure against Type I adversary (uncertified entity). Theorem <xref rid="j_info1226_stat_017">2</xref> shows that the proposed CBS scheme is secure against Type II adversary (honest-but-curious CA). <statement id="j_info1226_stat_015"><label>Theorem 1.</label>
<p><italic>Let two hash functions</italic> <inline-formula id="j_info1226_ineq_206"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${H_{1}}$]]></tex-math></alternatives></inline-formula> <italic>and</italic> <inline-formula id="j_info1226_ineq_207"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${H_{2}}$]]></tex-math></alternatives></inline-formula> <italic>be random oracles controlled by a challenger in the EUF-CBS-ACMA game. If there exists a probabilistic polynomial-time (PPT) adversary A (Type I adversary, general attacker) with non-negligible probability who can break our CBS scheme over lattices, an algorithm C can be constructed to solve the SIS problem from lattices with non-negligible probability</italic> <inline-formula id="j_info1226_ineq_208"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>−</mml:mo><mml:mi mathvariant="italic">ω</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mo movablelimits="false">log</mml:mo><mml:mi mathvariant="italic">N</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mi mathvariant="italic">ε</mml:mi></mml:math>
<tex-math><![CDATA[$(1-{2^{-\omega (\log N)}})\varepsilon $]]></tex-math></alternatives></inline-formula><italic>, where N is the security parameter.</italic></p></statement><statement id="j_info1226_stat_016"><label>Proof.</label>
<p>Assume that <italic>N</italic>, <italic>q</italic> and <italic>λ</italic> are, respectively, a security parameter, a large prime and a positive integer while setting two standard deviations <inline-formula id="j_info1226_ineq_209"><alternatives>
<mml:math><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">&gt;</mml:mo><mml:mn>0</mml:mn></mml:math>
<tex-math><![CDATA[$s>0$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_210"><alternatives>
<mml:math><mml:mi mathvariant="italic">σ</mml:mi><mml:mo mathvariant="normal">&gt;</mml:mo><mml:mn>0</mml:mn></mml:math>
<tex-math><![CDATA[$\sigma >0$]]></tex-math></alternatives></inline-formula>. Assume that the algorithm <italic>C</italic> be a challenger in the EUF-CBS-ACMA game while receiving a random instance <inline-formula id="j_info1226_ineq_211"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">q</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mn>2</mml:mn><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="italic">s</mml:mi><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt><mml:mo>+</mml:mo><mml:mn>4</mml:mn><mml:mi mathvariant="italic">σ</mml:mi><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(q,2N,2\lambda s\sqrt{2N}+4\sigma \sqrt{2N})$]]></tex-math></alternatives></inline-formula> of the SIS problem. In the following, we demonstrate that the challenger <italic>C</italic> may obtain a non-zero vector solution <inline-formula id="j_info1226_ineq_212"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">∈</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[$({\mathbf{u}_{1}},{\mathbf{u}_{2}})\in {R_{q}^{2}}$]]></tex-math></alternatives></inline-formula> of the SIS problem if the adversary <italic>A</italic> with non-negligible probability <italic>ε</italic> who can break our CBS scheme. 
<list>
<list-item id="j_info1226_li_037">
<label>–</label>
<p><italic>Setup</italic>. As the Setup algorithm in the proposed CBS scheme, <italic>C</italic> randomly chooses <inline-formula id="j_info1226_ineq_213"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${p_{1}},{p_{2}}\in {Z_{q}^{N}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_214"><alternatives>
<mml:math><mml:mi mathvariant="italic">h</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$h\in {R_{q}}$]]></tex-math></alternatives></inline-formula> while controlling the random oracles <inline-formula id="j_info1226_ineq_215"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${H_{1}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_216"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${H_{2}}$]]></tex-math></alternatives></inline-formula>. <italic>C</italic> sets the public parameters <inline-formula id="j_info1226_ineq_217"><alternatives>
<mml:math><mml:mi mathvariant="italic">P</mml:mi><mml:mi mathvariant="italic">P</mml:mi></mml:math>
<tex-math><![CDATA[$PP$]]></tex-math></alternatives></inline-formula>=<inline-formula id="j_info1226_ineq_218"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:mi mathvariant="italic">N</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">λ</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">σ</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">q</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$\langle N,\lambda ,s,\sigma ,q,h,{p_{1}},{p_{2}},{H_{1}},{H_{2}}\rangle $]]></tex-math></alternatives></inline-formula> and sends them to <italic>A</italic>. Initially, <italic>C</italic> constructs three empty lists <inline-formula id="j_info1226_ineq_219"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{1}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_220"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{2}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_221"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{S}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_info1226_li_038">
<label>–</label>
<p><italic>Queries. A</italic> may issue several queries to <italic>C</italic> adaptively as below:</p>
<list>
<list-item id="j_info1226_li_039">
<label>•</label>
<p><inline-formula id="j_info1226_ineq_222"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${H_{1}}$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1226_ineq_223"><alternatives>
<mml:math><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">u</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">y</mml:mi></mml:math>
<tex-math><![CDATA[$query$]]></tex-math></alternatives></inline-formula>: Let <inline-formula id="j_info1226_ineq_224"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{1}}$]]></tex-math></alternatives></inline-formula> consist of tuples of the form <inline-formula id="j_info1226_ineq_225"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">C</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$\langle {\mathit{ID}_{i}},{P_{{\mathit{ID}_{i}}}},{C_{{\mathit{ID}_{i}}}},{T_{{\mathit{ID}_{i}}}}\rangle $]]></tex-math></alternatives></inline-formula>. For the query along with <inline-formula id="j_info1226_ineq_226"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$({\mathit{ID}_{i}},{P_{{\mathit{ID}_{i}}}})$]]></tex-math></alternatives></inline-formula>, <italic>C</italic> returns a response to this query by the following procedures.</p>
<list>
<list-item id="j_info1226_li_040">
<label>1.</label>
<p>Search <inline-formula id="j_info1226_ineq_227"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$({\mathit{ID}_{i}},{P_{{\mathit{ID}_{i}}}})$]]></tex-math></alternatives></inline-formula> in <inline-formula id="j_info1226_ineq_228"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{1}}$]]></tex-math></alternatives></inline-formula>. If the tuple is found, it means that this query has been already issued and the same answer <inline-formula id="j_info1226_ineq_229"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${T_{{\mathit{ID}_{i}}}}$]]></tex-math></alternatives></inline-formula> is sent to <italic>A</italic>.</p>
</list-item>
<list-item id="j_info1226_li_041">
<label>2.</label>
<p>Otherwise, randomly select <inline-formula id="j_info1226_ineq_230"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${\mathbf{s}_{i3}},{\mathbf{s}_{i4}}\in {D_{s}^{N}}$]]></tex-math></alternatives></inline-formula> such that <inline-formula id="j_info1226_ineq_231"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">‖</mml:mo><mml:mo mathvariant="normal">&lt;</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt></mml:math>
<tex-math><![CDATA[$\| ({\mathbf{s}_{i3}},{\mathbf{s}_{i4}})\| <s\sqrt{2N}$]]></tex-math></alternatives></inline-formula>, and compute <inline-formula id="j_info1226_ineq_232"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${T_{{\mathit{ID}_{i}}}}={\mathbf{s}_{i3}}+h\ast {\mathbf{s}_{i4}}$]]></tex-math></alternatives></inline-formula>. Finally, <italic>C</italic> adds <inline-formula id="j_info1226_ineq_233"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">C</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$\langle {\mathit{ID}_{i}},{P_{{\mathit{ID}_{i}}}},{C_{{\mathit{ID}_{i}}}}=({\mathbf{s}_{i3}},{\mathbf{s}_{i4}}),{T_{{\mathit{ID}_{i}}}}\rangle $]]></tex-math></alternatives></inline-formula> in <inline-formula id="j_info1226_ineq_234"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{1}}$]]></tex-math></alternatives></inline-formula> and sends <inline-formula id="j_info1226_ineq_235"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${T_{{\mathit{ID}_{i}}}}$]]></tex-math></alternatives></inline-formula> to <italic>A</italic>.</p>
</list-item>
</list>
</list-item>
<list-item id="j_info1226_li_042">
<label>•</label>
<p><inline-formula id="j_info1226_ineq_236"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${H_{2}}$]]></tex-math></alternatives></inline-formula> <italic>query</italic>: Let <inline-formula id="j_info1226_ineq_237"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{2}}$]]></tex-math></alternatives></inline-formula> consist of tuples of the form <inline-formula id="j_info1226_ineq_238"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$\langle {m_{j}},{v_{j}},{w_{j}},{\mathbf{c}_{j}}\rangle $]]></tex-math></alternatives></inline-formula>. For the query along with <inline-formula id="j_info1226_ineq_239"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$({m_{j}},{v_{j}},{w_{j}})$]]></tex-math></alternatives></inline-formula>, <italic>C</italic> returns a response to this query by the following procedures.</p>
<list>
<list-item id="j_info1226_li_043">
<label>1.</label>
<p>Search <inline-formula id="j_info1226_ineq_240"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$({m_{j}},{v_{j}},{w_{j}})$]]></tex-math></alternatives></inline-formula> in <inline-formula id="j_info1226_ineq_241"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{2}}$]]></tex-math></alternatives></inline-formula>. If the tuple is found, it means that this query has been already issued and the same answer <inline-formula id="j_info1226_ineq_242"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathbf{c}_{j}}$]]></tex-math></alternatives></inline-formula> is sent to <italic>A</italic>.</p>
</list-item>
<list-item id="j_info1226_li_044">
<label>2.</label>
<p>Otherwise, randomly select <inline-formula id="j_info1226_ineq_243"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${\mathbf{c}_{j}}\in {Z_{q}^{N}}$]]></tex-math></alternatives></inline-formula>. Finally, <italic>C</italic> adds <inline-formula id="j_info1226_ineq_244"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$\langle {m_{j}},{v_{j}},{w_{j}},{\mathbf{c}_{j}}\rangle $]]></tex-math></alternatives></inline-formula> in <inline-formula id="j_info1226_ineq_245"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{2}}$]]></tex-math></alternatives></inline-formula> and sends <inline-formula id="j_info1226_ineq_246"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathbf{c}_{j}}$]]></tex-math></alternatives></inline-formula> to <italic>A</italic>.</p>
</list-item>
</list>
</list-item>
<list-item id="j_info1226_li_045">
<label>•</label>
<p><italic>User key generation query</italic>: Let <inline-formula id="j_info1226_ineq_247"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{S}}$]]></tex-math></alternatives></inline-formula> consist of tuples of the form <inline-formula id="j_info1226_ineq_248"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$\langle {\mathit{ID}_{i}},{S_{{\mathit{ID}_{i}}}},{P_{{\mathit{ID}_{i}}}}\rangle $]]></tex-math></alternatives></inline-formula>. For the query along with <inline-formula id="j_info1226_ineq_249"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{ID}_{i}}$]]></tex-math></alternatives></inline-formula>, <italic>C</italic> returns a response to this query by the following procedures.</p>
<list>
<list-item id="j_info1226_li_046">
<label>1.</label>
<p>Search <inline-formula id="j_info1226_ineq_250"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{ID}_{i}}$]]></tex-math></alternatives></inline-formula> in <inline-formula id="j_info1226_ineq_251"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{S}}$]]></tex-math></alternatives></inline-formula>. If the tuple is found, it means that this query has been already issued and the same answer <inline-formula id="j_info1226_ineq_252"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${S_{{\mathit{ID}_{i}}}}=({\mathbf{s}_{i1}},{\mathbf{s}_{i2}})$]]></tex-math></alternatives></inline-formula> is sent to <italic>A</italic>.</p>
</list-item>
<list-item id="j_info1226_li_047">
<label>2.</label>
<p>Otherwise, randomly select <inline-formula id="j_info1226_ineq_253"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msup><mml:mrow><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mo>−</mml:mo><mml:mi mathvariant="italic">d</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">d</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${\mathbf{s}_{i1}},{\mathbf{s}_{i2}}\in {\{-d,\dots ,0,\dots ,d\}^{N}}$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1226_ineq_254"><alternatives>
<mml:math><mml:mn>1</mml:mn><mml:mo>⩽</mml:mo><mml:mi mathvariant="italic">d</mml:mi><mml:mo>⩽</mml:mo><mml:mn>31</mml:mn></mml:math>
<tex-math><![CDATA[$1\leqslant d\leqslant 31$]]></tex-math></alternatives></inline-formula>, and compute the public key <inline-formula id="j_info1226_ineq_255"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${P_{{\mathit{ID}_{i}}}}=({p_{1}}\ast {\mathbf{s}_{i1}}+{p_{2}}\ast {\mathbf{s}_{i2}})$]]></tex-math></alternatives></inline-formula> Finally, <italic>C</italic> adds <inline-formula id="j_info1226_ineq_256"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$\langle {\mathit{ID}_{i}},{S_{{\mathit{ID}_{i}}}},{P_{{\mathit{ID}_{i}}}}\rangle $]]></tex-math></alternatives></inline-formula> in <inline-formula id="j_info1226_ineq_257"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{S}}$]]></tex-math></alternatives></inline-formula> and sends <inline-formula id="j_info1226_ineq_258"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${S_{{\mathit{ID}_{i}}}}=({\mathbf{s}_{i1}},{\mathbf{s}_{i2}})$]]></tex-math></alternatives></inline-formula> to A.</p>
</list-item>
</list>
</list-item>
<list-item id="j_info1226_li_048">
<label>•</label>
<p><italic>Certificate extract query</italic>: For the query along with (<inline-formula id="j_info1226_ineq_259"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{ID}_{i}},{P_{{\mathit{ID}_{i}}}}$]]></tex-math></alternatives></inline-formula>), <italic>C</italic> returns a response to this query by the following procedures.</p>
<list>
<list-item id="j_info1226_li_049">
<label>1.</label>
<p>Search (<inline-formula id="j_info1226_ineq_260"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{ID}_{i}},{P_{{\mathit{ID}_{i}}}}$]]></tex-math></alternatives></inline-formula>) in <inline-formula id="j_info1226_ineq_261"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{1}}$]]></tex-math></alternatives></inline-formula>. If the tuple is found, it means that this query has been already issued and the same answer <inline-formula id="j_info1226_ineq_262"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">C</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${C_{{\mathit{ID}_{i}}}}$]]></tex-math></alternatives></inline-formula> is sent to <italic>A</italic>.</p>
</list-item>
<list-item id="j_info1226_li_050">
<label>2.</label>
<p>Otherwise, issue the <inline-formula id="j_info1226_ineq_263"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${H_{1}}$]]></tex-math></alternatives></inline-formula> query to obtain the tuple <inline-formula id="j_info1226_ineq_264"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">C</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$\langle {\mathit{ID}_{i}},{P_{{\mathit{ID}_{i}}}},{C_{{\mathit{ID}_{i}}}},{T_{{\mathit{ID}_{i}}}}\rangle $]]></tex-math></alternatives></inline-formula> and return <inline-formula id="j_info1226_ineq_265"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">C</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${C_{{\mathit{ID}_{i}}}}$]]></tex-math></alternatives></inline-formula> to <italic>A</italic>.</p>
</list-item>
</list>
</list-item>
<list-item id="j_info1226_li_051">
<label>•</label>
<p><italic>Corruption query</italic>: For the query along with <inline-formula id="j_info1226_ineq_266"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{ID}_{i}}$]]></tex-math></alternatives></inline-formula>, <italic>C</italic> returns a response to this query by the following procedures.</p>
<list>
<list-item id="j_info1226_li_052">
<label>1.</label>
<p>Search <inline-formula id="j_info1226_ineq_267"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{ID}_{i}}$]]></tex-math></alternatives></inline-formula> in <inline-formula id="j_info1226_ineq_268"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{S}}$]]></tex-math></alternatives></inline-formula>. If the tuple is found, it means that this query has been already issued and the same answer <inline-formula id="j_info1226_ineq_269"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{{\mathit{ID}_{i}}}}$]]></tex-math></alternatives></inline-formula> is sent to <italic>A</italic>.</p>
</list-item>
<list-item id="j_info1226_li_053">
<label>2.</label>
<p>Otherwise, issue the <italic>User key generation query</italic> to obtain the tuple <inline-formula id="j_info1226_ineq_270"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$\langle {\mathit{ID}_{i}},{S_{{\mathit{ID}_{i}}}},{P_{{\mathit{ID}_{i}}}}\rangle $]]></tex-math></alternatives></inline-formula> and return <inline-formula id="j_info1226_ineq_271"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{{\mathit{ID}_{i}}}}$]]></tex-math></alternatives></inline-formula> to <italic>A</italic>.</p>
</list-item>
</list>
</list-item>
<list-item id="j_info1226_li_054">
<label>•</label>
<p><italic>Public key replacement query</italic>: <italic>A</italic> issues this query along with a new public key <inline-formula id="j_info1226_ineq_272"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${P^{\prime }_{{\mathit{ID}_{i}}}}$]]></tex-math></alternatives></inline-formula> of <inline-formula id="j_info1226_ineq_273"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{ID}_{i}}$]]></tex-math></alternatives></inline-formula> to replace the old public key <inline-formula id="j_info1226_ineq_274"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{{\mathit{ID}_{i}}}}$]]></tex-math></alternatives></inline-formula>, <italic>C</italic> replaces the <inline-formula id="j_info1226_ineq_275"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{{\mathit{ID}_{i}}}}$]]></tex-math></alternatives></inline-formula> of <inline-formula id="j_info1226_ineq_276"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$\langle {\mathit{ID}_{i}},{S_{{\mathit{ID}_{i}}}},{P_{{\mathit{ID}_{i}}}}\rangle $]]></tex-math></alternatives></inline-formula> in <inline-formula id="j_info1226_ineq_277"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{S}}$]]></tex-math></alternatives></inline-formula> with <inline-formula id="j_info1226_ineq_278"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${P^{\prime }_{{\mathit{ID}_{i}}}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_info1226_li_055">
<label>•</label>
<p><italic>Sign query</italic>: For the query along with a message <inline-formula id="j_info1226_ineq_279"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${m_{j}}$]]></tex-math></alternatives></inline-formula> and (<inline-formula id="j_info1226_ineq_280"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{ID}_{i}},{P_{{\mathit{ID}_{i}}}}$]]></tex-math></alternatives></inline-formula>), the challenger <italic>C</italic> performs the following procedures to generate a valid signature.</p>
<list>
<list-item id="j_info1226_li_056">
<label>1.</label>
<p>Respectively search <inline-formula id="j_info1226_ineq_281"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{ID}_{i}}$]]></tex-math></alternatives></inline-formula> in <inline-formula id="j_info1226_ineq_282"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{1}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_283"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{S}}$]]></tex-math></alternatives></inline-formula> to get the tuples <inline-formula id="j_info1226_ineq_284"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">C</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$\langle {\mathit{ID}_{i}},{P_{{\mathit{ID}_{i}}}},{C_{{\mathit{ID}_{i}}}},{T_{{\mathit{ID}_{i}}}}\rangle $]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_285"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$\langle {\mathit{ID}_{i}},{S_{{\mathit{ID}_{i}}}},{P_{{\mathit{ID}_{i}}}}\rangle $]]></tex-math></alternatives></inline-formula></p>
</list-item>
<list-item id="j_info1226_li_057">
<label>2.</label>
<p>Randomly choose <inline-formula id="j_info1226_ineq_286"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="bold">v</mml:mi><mml:mo>:</mml:mo><mml:mi mathvariant="bold">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msup><mml:mrow><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mo>−</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="true" stretchy="false">}</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:mo stretchy="false">‖</mml:mo><mml:mi mathvariant="bold">v</mml:mi><mml:msub><mml:mrow><mml:mo stretchy="false">‖</mml:mo></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>⩽</mml:mo><mml:mi mathvariant="italic">λ</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{c}_{j}}\in \{\mathbf{v}:\mathbf{v}\in {\{-1,0,1\}^{N}},\| \mathbf{v}{\| _{1}}\leqslant \lambda \}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_287"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{1}},{\mathbf{z}_{2}},$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1226_ineq_288"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{3}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_289"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{4}}\in {D_{\sigma }^{N}}$]]></tex-math></alternatives></inline-formula> such that <inline-formula id="j_info1226_ineq_290"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo></mml:math>
<tex-math><![CDATA[$\| ($]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1226_ineq_291"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{1}},{\mathbf{z}_{2}},$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1226_ineq_292"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{3}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_293"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">‖</mml:mo><mml:mo>⩽</mml:mo><mml:mn>2</mml:mn><mml:mi mathvariant="italic">σ</mml:mi><mml:msqrt><mml:mrow><mml:mn>4</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{4}})\| \leqslant 2\sigma \sqrt{4N}$]]></tex-math></alternatives></inline-formula>, and compute <inline-formula id="j_info1226_ineq_294"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${v_{j}}$]]></tex-math></alternatives></inline-formula> = <inline-formula id="j_info1226_ineq_295"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${p_{1}}\ast {\mathbf{z}_{1}}$]]></tex-math></alternatives></inline-formula> + <inline-formula id="j_info1226_ineq_296"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${p_{2}}\ast {\mathbf{z}_{2}}$]]></tex-math></alternatives></inline-formula> - <inline-formula id="j_info1226_ineq_297"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{{\mathit{ID}_{i}}}}\ast {\mathbf{c}_{j}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_298"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${w_{j}}$]]></tex-math></alternatives></inline-formula> = <inline-formula id="j_info1226_ineq_299"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{3}}$]]></tex-math></alternatives></inline-formula> + <inline-formula id="j_info1226_ineq_300"><alternatives>
<mml:math><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$h\ast {\mathbf{z}_{4}}$]]></tex-math></alternatives></inline-formula> - <inline-formula id="j_info1226_ineq_301"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${T_{{\mathit{ID}_{i}}}}\ast {\mathbf{c}_{j}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_info1226_li_058">
<label>3.</label>
<p>Send the signature <inline-formula id="j_info1226_ineq_302"><alternatives>
<mml:math><mml:mi mathvariant="italic">ρ</mml:mi><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo></mml:math>
<tex-math><![CDATA[$\rho =({\mathbf{z}_{1}},{\mathbf{z}_{2}},$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1226_ineq_303"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{3}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_304"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{4}},{\mathbf{c}_{j}})$]]></tex-math></alternatives></inline-formula> to <italic>A</italic> while adding <inline-formula id="j_info1226_ineq_305"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$\langle {m_{j}},{v_{j}},{w_{j}},{\mathbf{c}_{j}}\rangle $]]></tex-math></alternatives></inline-formula> in <inline-formula id="j_info1226_ineq_306"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{2}}$]]></tex-math></alternatives></inline-formula>. Note that the signature <italic>ρ</italic> is valid because the following equality holds: 
<disp-formula id="j_info1226_eq_012">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"><mml:msub><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd class="align-even"><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}{\mathbf{c}_{j}}& ={H_{2}}({m_{j}},{p_{1}}\ast {\mathbf{z}_{1}}+{p_{2}}\ast {\mathbf{z}_{2}}-{P_{{\mathit{ID}_{i}}}}\ast {\mathbf{c}_{j}},{\mathbf{z}_{3}}+h\ast {\mathbf{z}_{4}}-{T_{{\mathit{ID}_{i}}}}\ast {\mathbf{c}_{j}})\\ {} & ={H_{2}}({m_{j}},{v_{j}},{w_{j}})\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
</list-item>
</list>
</list-item>
</list>
</list-item>
<list-item id="j_info1226_li_059">
<label>–</label>
<p><italic>Forgery</italic>. Finally, the adversary <italic>A</italic> generates a signature tuple (<inline-formula id="j_info1226_ineq_307"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{1}^{\ast }},{\mathbf{z}_{2}^{\ast }},$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1226_ineq_308"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{3}^{\ast }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_309"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{4}^{\ast }},{\mathbf{c}^{\ast }})$]]></tex-math></alternatives></inline-formula> on some message <inline-formula id="j_info1226_ineq_310"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${m^{\ast }}$]]></tex-math></alternatives></inline-formula> for some <inline-formula id="j_info1226_ineq_311"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${\mathit{ID}^{\ast }}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
</list>
</p>
<p>Assume that <italic>A</italic> may generate a valid signature <inline-formula id="j_info1226_ineq_312"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${\rho ^{\ast }}$]]></tex-math></alternatives></inline-formula> = (<inline-formula id="j_info1226_ineq_313"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{1}^{\ast }},{\mathbf{z}_{2}^{\ast }},$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1226_ineq_314"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{3}^{\ast }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_315"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{4}^{\ast }},{\mathbf{c}^{\ast }})$]]></tex-math></alternatives></inline-formula>. By the Forking lemma (Pointcheval and Stern, <xref ref-type="bibr" rid="j_info1226_ref_024">2000</xref>), the challenger <italic>C</italic> can generate the other valid signature (<inline-formula id="j_info1226_ineq_316"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{z}^{\prime }_{1}},{\mathbf{z}^{\prime }_{2}},$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1226_ineq_317"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${\mathbf{z}^{\prime }_{3}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_318"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{z}^{\prime }_{4}},{\mathbf{c}^{\prime }})$]]></tex-math></alternatives></inline-formula> such that <inline-formula id="j_info1226_ineq_319"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo stretchy="false">≠</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${\mathbf{c}^{\ast }}\ne {\mathbf{c}^{\prime }}$]]></tex-math></alternatives></inline-formula> by the same random tape with different hash value of <inline-formula id="j_info1226_ineq_320"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${H_{2}}$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1226_ineq_321"><alternatives>
<mml:math><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">u</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">y</mml:mi></mml:math>
<tex-math><![CDATA[$query$]]></tex-math></alternatives></inline-formula>. Because (<inline-formula id="j_info1226_ineq_322"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{1}^{\ast }},{\mathbf{z}_{2}^{\ast }},$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1226_ineq_323"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{3}^{\ast }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_324"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{4}^{\ast }},{\mathbf{c}^{\ast }})$]]></tex-math></alternatives></inline-formula> and (<inline-formula id="j_info1226_ineq_325"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{z}^{\prime }_{1}},{\mathbf{z}^{\prime }_{2}},$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1226_ineq_326"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${\mathbf{z}^{\prime }_{3}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_327"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{z}^{\prime }_{4}},{\mathbf{c}^{\prime }})$]]></tex-math></alternatives></inline-formula> are two valid signatures on the message <inline-formula id="j_info1226_ineq_328"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${m^{\ast }}$]]></tex-math></alternatives></inline-formula> for (<inline-formula id="j_info1226_ineq_329"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${\mathit{ID}^{\ast }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_330"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{{\mathit{ID}^{\ast }}}}$]]></tex-math></alternatives></inline-formula>), we can obtain the equality 
<disp-formula id="j_info1226_eq_013">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:mspace width="1em"/><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& {H_{2}}\big({m^{\ast }},{p_{1}}\ast {\mathbf{z}_{1}^{\ast }}+{p_{2}}\ast {\mathbf{z}_{2}^{\ast }}-{P_{{\mathit{ID}^{\ast }}}}\ast {\mathbf{c}^{\ast }},{\mathbf{z}_{3}^{\ast }}+h\ast {\mathbf{z}_{4}^{\ast }}-{T_{{\mathit{ID}^{\ast }}}}\ast {\mathbf{c}^{\ast }}\big)\\ {} & \hspace{1em}={H_{2}}\big({m^{\ast }},{p_{1}}\ast {\mathbf{z}^{\prime }_{1}}+{p_{2}}\ast {\mathbf{z}^{\prime }_{2}}-{P_{{\mathit{ID}^{\ast }}}}\ast {\mathbf{c}^{\prime }},{\mathbf{z}^{\prime }_{3}}+h\ast {\mathbf{z}^{\prime }_{4}}-{T_{{\mathit{ID}^{\ast }}}}\ast {\mathbf{c}^{\prime }}\big),\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
which reduces to 
<disp-formula id="j_info1226_eq_014">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {\mathbf{z}_{3}^{\ast }}+h\ast {\mathbf{z}_{4}^{\ast }}-{T_{{\mathit{ID}^{\ast }}}}\ast {\mathbf{c}^{\ast }}={\mathbf{z}^{\prime }_{3}}+h\ast {\mathbf{z}^{\prime }_{4}}-{T_{{\mathit{ID}^{\ast }}}}\ast {\mathbf{c}^{\prime }}.\]]]></tex-math></alternatives>
</disp-formula> 
Since <inline-formula id="j_info1226_ineq_331"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${T_{{\mathit{ID}^{\ast }}}}={\mathbf{s}_{3}}+h\ast {\mathbf{s}_{4}}$]]></tex-math></alternatives></inline-formula>, we have 
<disp-formula id="j_info1226_eq_015">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>∗</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>∗</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo>;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>∗</mml:mo><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& {\mathbf{z}_{3}^{\ast }}+h\ast {\mathbf{z}_{4}^{\ast }}-({\mathbf{s}_{3}}+h\ast {\mathbf{s}_{4}})\ast {\mathbf{c}^{\ast }}={\mathbf{z}^{\prime }_{3}}+h\ast {\mathbf{z}^{\prime }_{4}}-({\mathbf{s}_{3}}+h\ast {\mathbf{s}_{4}})\ast {\mathbf{c}^{\prime }};\\ {} & {\mathbf{z}_{3}^{\ast }}-{\mathbf{z}^{\prime }_{3}}-{\mathbf{s}_{3}}\big({\mathbf{c}^{\ast }}-{\mathbf{c}^{\prime }}\big)+h\ast \big({\mathbf{z}_{4}^{\ast }}-{\mathbf{z}^{\prime }_{4}}-{\mathbf{s}_{4}}\big({\mathbf{c}^{\ast }}-{\mathbf{c}^{\prime }}\big)\big)=0;\\ {} & (1,h)\ast \big({\mathbf{z}_{3}^{\ast }}-{\mathbf{z}^{\prime }_{3}}-{\mathbf{s}_{3}}\big({\mathbf{c}^{\ast }}-{\mathbf{c}^{\prime }}\big),{\mathbf{z}_{4}^{\ast }}-{\mathbf{z}^{\prime }_{4}}-{\mathbf{s}_{4}}\big({\mathbf{c}^{\ast }}-{\mathbf{c}^{\prime }}\big)\big)=0.\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
Afterward, <italic>C</italic> sets <inline-formula id="j_info1226_ineq_332"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$({\mathbf{u}_{1}},{\mathbf{u}_{2}})=({\mathbf{z}_{3}^{\ast }}-{\mathbf{z}^{\prime }_{3}}-{\mathbf{s}_{3}}({\mathbf{c}^{\ast }}-{\mathbf{c}^{\prime }}),{\mathbf{z}_{4}^{\ast }}-{\mathbf{z}^{\prime }_{4}}-{\mathbf{s}_{4}}({\mathbf{c}^{\ast }}-{\mathbf{c}^{\prime }}))$]]></tex-math></alternatives></inline-formula>.</p>
<p>If we have <inline-formula id="j_info1226_ineq_333"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">‖</mml:mo><mml:mo>⩽</mml:mo><mml:mn>4</mml:mn><mml:mi mathvariant="italic">σ</mml:mi><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt></mml:math>
<tex-math><![CDATA[$\| ({\mathbf{z}_{3}^{\ast }}-{\mathbf{z}^{\prime }_{3}},{\mathbf{z}_{4}^{\ast }}-{\mathbf{z}^{\prime }_{4}})\| \leqslant 4\sigma \sqrt{2N}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_334"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">‖</mml:mo></mml:math>
<tex-math><![CDATA[$\| ({\mathbf{s}_{3}},{\mathbf{s}_{4}})\| $]]></tex-math></alternatives></inline-formula> ⩽ <inline-formula id="j_info1226_ineq_335"><alternatives>
<mml:math><mml:mi mathvariant="italic">s</mml:mi><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt></mml:math>
<tex-math><![CDATA[$s\sqrt{2N}$]]></tex-math></alternatives></inline-formula> with overwhelming probability, we can obtain <inline-formula id="j_info1226_ineq_336"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">‖</mml:mo><mml:mo>⩽</mml:mo><mml:mn>2</mml:mn><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="italic">s</mml:mi><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt></mml:math>
<tex-math><![CDATA[$\| ({\mathbf{u}_{1}},{\mathbf{u}_{2}})\| \leqslant 2\lambda s\sqrt{2N}$]]></tex-math></alternatives></inline-formula> + <inline-formula id="j_info1226_ineq_337"><alternatives>
<mml:math><mml:mn>4</mml:mn><mml:mi mathvariant="italic">σ</mml:mi><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt></mml:math>
<tex-math><![CDATA[$4\sigma \sqrt{2N}$]]></tex-math></alternatives></inline-formula>. As stated in Lemma <xref rid="j_info1226_stat_006">3</xref>, the distribution of <inline-formula id="j_info1226_ineq_338"><alternatives>
<mml:math><mml:mi mathvariant="italic">h</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">g</mml:mi><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:mi mathvariant="italic">f</mml:mi></mml:math>
<tex-math><![CDATA[$h=g/f$]]></tex-math></alternatives></inline-formula> is statistically close to the uniform distribution of <inline-formula id="j_info1226_ineq_339"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${R_{q}}$]]></tex-math></alternatives></inline-formula> (Stehle and Steinfeld, <xref ref-type="bibr" rid="j_info1226_ref_029">2013</xref>). The SIS problem on NTRU lattice is to find a pair <inline-formula id="j_info1226_ineq_340"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">∈</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[$({\mathbf{u}_{1}},{\mathbf{u}_{2}})\in {R_{q}^{2}}$]]></tex-math></alternatives></inline-formula> such that <inline-formula id="j_info1226_ineq_341"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math>
<tex-math><![CDATA[${\mathbf{u}_{1}}+h\ast {\mathbf{u}_{2}}=0$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_342"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">‖</mml:mo></mml:math>
<tex-math><![CDATA[$\| ({\mathbf{u}_{1}},{\mathbf{u}_{2}})\| $]]></tex-math></alternatives></inline-formula> ⩽ <italic>β</italic>, where <italic>β</italic> is <inline-formula id="j_info1226_ineq_343"><alternatives>
<mml:math><mml:mn>2</mml:mn><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="italic">s</mml:mi><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt></mml:math>
<tex-math><![CDATA[$2\lambda s\sqrt{2N}$]]></tex-math></alternatives></inline-formula> + <inline-formula id="j_info1226_ineq_344"><alternatives>
<mml:math><mml:mn>4</mml:mn><mml:mi mathvariant="italic">σ</mml:mi><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt></mml:math>
<tex-math><![CDATA[$4\sigma \sqrt{2N}$]]></tex-math></alternatives></inline-formula>. According to the same probability analysis in Lyubashevsky (<xref ref-type="bibr" rid="j_info1226_ref_022">2012</xref>), since <italic>A</italic> can break our CBS scheme with non-negligible probability <italic>ε</italic>, we may construct the challenger <italic>C</italic> to solve the SIS problem with non-negligible probability<inline-formula id="j_info1226_ineq_345"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>−</mml:mo><mml:mi mathvariant="italic">ω</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mo movablelimits="false">log</mml:mo><mml:mi mathvariant="italic">N</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mi mathvariant="italic">ε</mml:mi></mml:math>
<tex-math><![CDATA[$(1-{2^{-\omega (\log N)}})\varepsilon $]]></tex-math></alternatives></inline-formula>.  □</p></statement><statement id="j_info1226_stat_017"><label>Theorem 2.</label>
<p><italic>Let two hash functions</italic> <inline-formula id="j_info1226_ineq_346"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${H_{1}}$]]></tex-math></alternatives></inline-formula> <italic>and</italic> <inline-formula id="j_info1226_ineq_347"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${H_{2}}$]]></tex-math></alternatives></inline-formula> <italic>are random oracles controlled by a challenger in the EUF-CBS-ACMA game. If there exists an PPT adversary A</italic> (<italic>Type II adversary, honest-but-curious CA</italic>) <italic>with non-negligible probability ε who can break our CBS scheme from lattices, an algorithm C can be constructed to resolve the SIS problem from lattices with non-negligible probability</italic> <inline-formula id="j_info1226_ineq_348"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>−</mml:mo><mml:mi mathvariant="italic">ω</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mo movablelimits="false">log</mml:mo><mml:mi mathvariant="italic">N</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mi mathvariant="italic">ε</mml:mi></mml:math>
<tex-math><![CDATA[$(1-{2^{-\omega (\log N)}})\varepsilon $]]></tex-math></alternatives></inline-formula><italic>, where N is the security parameter.</italic></p></statement><statement id="j_info1226_stat_018"><label>Proof.</label>
<p>Assume that <italic>N</italic>, <italic>q</italic> and <italic>λ</italic> are, respectively, a security parameter, a large prime and a positive integer while setting <inline-formula id="j_info1226_ineq_349"><alternatives>
<mml:math><mml:mn>1</mml:mn><mml:mo>⩽</mml:mo><mml:mi mathvariant="italic">d</mml:mi><mml:mo>⩽</mml:mo><mml:mn>31</mml:mn></mml:math>
<tex-math><![CDATA[$1\leqslant d\leqslant 31$]]></tex-math></alternatives></inline-formula> and two standard deviations <inline-formula id="j_info1226_ineq_350"><alternatives>
<mml:math><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">&gt;</mml:mo><mml:mn>0</mml:mn></mml:math>
<tex-math><![CDATA[$s>0$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_351"><alternatives>
<mml:math><mml:mi mathvariant="italic">σ</mml:mi><mml:mo mathvariant="normal">&gt;</mml:mo><mml:mn>0</mml:mn></mml:math>
<tex-math><![CDATA[$\sigma >0$]]></tex-math></alternatives></inline-formula>. Assume that the algorithm <italic>C</italic> be a challenger in the EUF-CBS-ACMA game while receiving a random instance <inline-formula id="j_info1226_ineq_352"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">q</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mn>2</mml:mn><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="italic">d</mml:mi><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt><mml:mo>+</mml:mo><mml:mn>4</mml:mn><mml:mi mathvariant="italic">σ</mml:mi><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(q,2N,2\lambda d\sqrt{2N}+4\sigma \sqrt{2N})$]]></tex-math></alternatives></inline-formula> of the SIS problem. In the following, we demonstrate that the challenger <italic>C</italic> may obtain a non-zero vector solution <inline-formula id="j_info1226_ineq_353"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">∈</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[$({\mathbf{u}_{1}},{\mathbf{u}_{2}})\in {R_{q}^{2}}$]]></tex-math></alternatives></inline-formula> of the SIS problem if the adversary <italic>A</italic> with non-negligible probability <italic>ε</italic> who can break our CBS scheme. 
<list>
<list-item id="j_info1226_li_060">
<label>–</label>
<p><italic>Setup</italic>. As the Setup algorithm in the proposed CBS scheme, <italic>C</italic> sets the public parameters <inline-formula id="j_info1226_ineq_354"><alternatives>
<mml:math><mml:mi mathvariant="italic">P</mml:mi><mml:mi mathvariant="italic">P</mml:mi><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:mi mathvariant="italic">N</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">λ</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">σ</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">q</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$PP=\langle N,\lambda ,s,\sigma ,q,h,{p_{1}},{p_{2}},{H_{1}},{H_{2}}\rangle $]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1226_ineq_355"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${H_{1}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_356"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${H_{2}}$]]></tex-math></alternatives></inline-formula> are random oracles. <italic>C</italic> also produces a short trapdoor basis <bold>B</bold> of the lattice <inline-formula id="j_info1226_ineq_357"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">Λ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\Lambda _{h,q}}$]]></tex-math></alternatives></inline-formula>, which is viewed as the system private key <inline-formula id="j_info1226_ineq_358"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">CA</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{CA}}}$]]></tex-math></alternatives></inline-formula>. In the meantime, the system private key <inline-formula id="j_info1226_ineq_359"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">CA</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{CA}}}$]]></tex-math></alternatives></inline-formula> and the public parameters <inline-formula id="j_info1226_ineq_360"><alternatives>
<mml:math><mml:mi mathvariant="italic">P</mml:mi><mml:mi mathvariant="italic">P</mml:mi><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:mi mathvariant="italic">N</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">λ</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">σ</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">q</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$PP=\langle N,\lambda ,s,\sigma ,q,h,{p_{1}},{p_{2}},{H_{1}},{H_{2}}\rangle $]]></tex-math></alternatives></inline-formula> are sent to <italic>A</italic>. Initially, <italic>C</italic> constructs three empty lists <inline-formula id="j_info1226_ineq_361"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{1}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_362"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{2}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_363"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{S}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_info1226_li_061">
<label>–</label>
<p><italic>Queries. A</italic> may issue several queries to <italic>C</italic> adaptively as below:</p>
<list>
<list-item id="j_info1226_li_062">
<label>•</label>
<p><inline-formula id="j_info1226_ineq_364"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${H_{1}}$]]></tex-math></alternatives></inline-formula> <italic>query</italic>: Let <inline-formula id="j_info1226_ineq_365"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{1}}$]]></tex-math></alternatives></inline-formula> consist of tuples of the form <inline-formula id="j_info1226_ineq_366"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">C</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$\langle {\mathit{ID}_{i}},{P_{{\mathit{ID}_{i}}}},{C_{{\mathit{ID}_{i}}}},{T_{{\mathit{ID}_{i}}}}\rangle $]]></tex-math></alternatives></inline-formula>. For the query along with <inline-formula id="j_info1226_ineq_367"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$({\mathit{ID}_{i}},{P_{{\mathit{ID}_{i}}}})$]]></tex-math></alternatives></inline-formula>, <italic>C</italic> returns a response to this query by the following procedures.</p>
<list>
<list-item id="j_info1226_li_063">
<label>1.</label>
<p>Search <inline-formula id="j_info1226_ineq_368"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$({\mathit{ID}_{i}},{P_{{\mathit{ID}_{i}}}})$]]></tex-math></alternatives></inline-formula> in <inline-formula id="j_info1226_ineq_369"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{1}}$]]></tex-math></alternatives></inline-formula>. If the tuple is found, it means that this query has been already issued and the same answer <inline-formula id="j_info1226_ineq_370"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${T_{{\mathit{ID}_{i}}}}$]]></tex-math></alternatives></inline-formula> is sent to <italic>A</italic>.</p>
</list-item>
<list-item id="j_info1226_li_064">
<label>2.</label>
<p>Otherwise, randomly select <inline-formula id="j_info1226_ineq_371"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">Z</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${T_{{\mathit{ID}_{i}}}}\in {Z_{q}^{N}}$]]></tex-math></alternatives></inline-formula> and perform <inline-formula id="j_info1226_ineq_372"><alternatives>
<mml:math><mml:mi mathvariant="bold">GauSample</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="bold">B</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="bold">s</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$\mathbf{GauSample}(\mathbf{B},\mathbf{s},({T_{\mathit{ID}}},0))$]]></tex-math></alternatives></inline-formula> to get <inline-formula id="j_info1226_ineq_373"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">D</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${\mathbf{s}_{i3}},{\mathbf{s}_{i4}}\in {D_{s}^{N}}$]]></tex-math></alternatives></inline-formula> such that <inline-formula id="j_info1226_ineq_374"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">‖</mml:mo><mml:mo mathvariant="normal">&lt;</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt></mml:math>
<tex-math><![CDATA[$\| ({\mathbf{s}_{i3}},{\mathbf{s}_{i4}})\| <s\sqrt{2N}$]]></tex-math></alternatives></inline-formula>. Finally, the challenger <italic>C</italic> adds <inline-formula id="j_info1226_ineq_375"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">C</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$\langle {\mathit{ID}_{i}},{P_{{\mathit{ID}_{i}}}},{C_{{\mathit{ID}_{i}}}}=({\mathbf{s}_{i3}},{\mathbf{s}_{i4}}),{T_{{\mathit{ID}_{i}}}}\rangle $]]></tex-math></alternatives></inline-formula> in <inline-formula id="j_info1226_ineq_376"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{1}}$]]></tex-math></alternatives></inline-formula> and sends <inline-formula id="j_info1226_ineq_377"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${T_{{\mathit{ID}_{i}}}}$]]></tex-math></alternatives></inline-formula> to <italic>A</italic>.</p>
</list-item>
</list>
</list-item>
<list-item id="j_info1226_li_065">
<label>•</label>
<p><inline-formula id="j_info1226_ineq_378"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${H_{2}}$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1226_ineq_379"><alternatives>
<mml:math><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">u</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">y</mml:mi></mml:math>
<tex-math><![CDATA[$query$]]></tex-math></alternatives></inline-formula>: As the response of <inline-formula id="j_info1226_ineq_380"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${H_{2}}$]]></tex-math></alternatives></inline-formula> query in Theorem <xref rid="j_info1226_stat_015">1</xref>.</p>
</list-item>
<list-item id="j_info1226_li_066">
<label>•</label>
<p><italic>User key generation query</italic>: Let <inline-formula id="j_info1226_ineq_381"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{S}}$]]></tex-math></alternatives></inline-formula> consist of tuples of the form <inline-formula id="j_info1226_ineq_382"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$\langle {\mathit{ID}_{i}},{S_{{\mathit{ID}_{i}}}},{P_{{\mathit{ID}_{i}}}}\rangle $]]></tex-math></alternatives></inline-formula>. For the query along with <inline-formula id="j_info1226_ineq_383"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{ID}_{i}}$]]></tex-math></alternatives></inline-formula>, <italic>C</italic> returns a response to this query by the following procedures.</p>
<list>
<list-item id="j_info1226_li_067">
<label>1.</label>
<p>Search <inline-formula id="j_info1226_ineq_384"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{ID}_{i}}$]]></tex-math></alternatives></inline-formula> in <inline-formula id="j_info1226_ineq_385"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{S}}$]]></tex-math></alternatives></inline-formula>. If the tuple is found, it means that this query has been already issued and the same answer <inline-formula id="j_info1226_ineq_386"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${S_{{\mathit{ID}_{i}}}}=({\mathbf{s}_{i1}},{\mathbf{s}_{i2}})$]]></tex-math></alternatives></inline-formula> is sent to <italic>A</italic>.</p>
</list-item>
<list-item id="j_info1226_li_068">
<label>2.</label>
<p>Otherwise, randomly select <inline-formula id="j_info1226_ineq_387"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msup><mml:mrow><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mo>−</mml:mo><mml:mi mathvariant="italic">d</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">d</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${\mathbf{s}_{i1}},{\mathbf{s}_{i2}}\in {\{-d,\dots ,0,\dots ,d\}^{N}}$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1226_ineq_388"><alternatives>
<mml:math><mml:mn>1</mml:mn><mml:mo>⩽</mml:mo><mml:mi mathvariant="italic">d</mml:mi><mml:mo>⩽</mml:mo><mml:mn>31</mml:mn></mml:math>
<tex-math><![CDATA[$1\leqslant d\leqslant 31$]]></tex-math></alternatives></inline-formula>, and compute the public key <inline-formula id="j_info1226_ineq_389"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${P_{{\mathit{ID}_{i}}}}=({p_{1}}\ast {\mathbf{s}_{i1}}+{p_{2}}\ast {\mathbf{s}_{i2}})$]]></tex-math></alternatives></inline-formula> Finally, <italic>C</italic> adds <inline-formula id="j_info1226_ineq_390"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$\langle {\mathit{ID}_{i}},{S_{{\mathit{ID}_{i}}}},{P_{{\mathit{ID}_{i}}}}\rangle $]]></tex-math></alternatives></inline-formula> in <inline-formula id="j_info1226_ineq_391"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{S}}$]]></tex-math></alternatives></inline-formula> and sends <inline-formula id="j_info1226_ineq_392"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${S_{{\mathit{ID}_{i}}}}=({\mathbf{s}_{i1}},{\mathbf{s}_{i2}})$]]></tex-math></alternatives></inline-formula> to A.</p>
</list-item>
</list>
</list-item>
<list-item id="j_info1226_li_069">
<label>•</label>
<p><italic>Certificate extract query</italic>: As the response of <italic>User key generation query</italic> in Theorem <xref rid="j_info1226_stat_015">1</xref>.</p>
</list-item>
<list-item id="j_info1226_li_070">
<label>•</label>
<p><italic>Corruption query</italic>: As the response of <italic>User key generation query</italic> in Theorem <xref rid="j_info1226_stat_015">1</xref>.</p>
</list-item>
<list-item id="j_info1226_li_071">
<label>•</label>
<p><italic>Public key replacement query</italic>: <italic>A</italic> issues this query along with a new public key <inline-formula id="j_info1226_ineq_393"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${P^{\prime }_{{\mathit{ID}_{i}}}}$]]></tex-math></alternatives></inline-formula> of <inline-formula id="j_info1226_ineq_394"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\mathit{ID}_{i}}$]]></tex-math></alternatives></inline-formula> to replace the old public key <inline-formula id="j_info1226_ineq_395"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{{\mathit{ID}_{i}}}}$]]></tex-math></alternatives></inline-formula>, <italic>C</italic> replaces the <inline-formula id="j_info1226_ineq_396"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{{\mathit{ID}_{i}}}}$]]></tex-math></alternatives></inline-formula> of <inline-formula id="j_info1226_ineq_397"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$\langle {\mathit{ID}_{i}},{S_{{\mathit{ID}_{i}}}},{P_{{\mathit{ID}_{i}}}}\rangle $]]></tex-math></alternatives></inline-formula> in <inline-formula id="j_info1226_ineq_398"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">L</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${L_{S}}$]]></tex-math></alternatives></inline-formula> with <inline-formula id="j_info1226_ineq_399"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${P^{\prime }_{{\mathit{ID}_{i}}}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_info1226_li_072">
<label>•</label>
<p><italic>Sign query</italic>: As the response of <italic>User key generation query</italic> in Theorem <xref rid="j_info1226_stat_015">1</xref>.</p>
</list-item>
</list>
</list-item>
<list-item id="j_info1226_li_073">
<label>–</label>
<p><italic>Forgery</italic>. Finally, the adversary <italic>A</italic> generates a signature tuple (<inline-formula id="j_info1226_ineq_400"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{1}^{\ast }},{\mathbf{z}_{2}^{\ast }},$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1226_ineq_401"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{3}^{\ast }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_402"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{4}^{\ast }},{\mathbf{c}^{\ast }})$]]></tex-math></alternatives></inline-formula> on some message <inline-formula id="j_info1226_ineq_403"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${m^{\ast }}$]]></tex-math></alternatives></inline-formula> for some <inline-formula id="j_info1226_ineq_404"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${\mathit{ID}^{\ast }}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
</list>
</p>
<p>Assume that <italic>A</italic> may generate a valid signature <inline-formula id="j_info1226_ineq_405"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo></mml:math>
<tex-math><![CDATA[${\rho ^{\ast }}=({\mathbf{z}_{1}^{\ast }},{\mathbf{z}_{2}^{\ast }},$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1226_ineq_406"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{3}^{\ast }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_407"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{4}^{\ast }},{\mathbf{c}^{\ast }})$]]></tex-math></alternatives></inline-formula>. By the Forking lemma (Pointcheval and Stern, <xref ref-type="bibr" rid="j_info1226_ref_024">2000</xref>), the challenger <italic>C</italic> can generate the other valid signature (<inline-formula id="j_info1226_ineq_408"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{z}^{\prime }_{1}},{\mathbf{z}^{\prime }_{2}},{\mathbf{z}^{\prime }_{3}},{\mathbf{z}^{\prime }_{4}},{\mathbf{c}^{\prime }})$]]></tex-math></alternatives></inline-formula> such that <inline-formula id="j_info1226_ineq_409"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo stretchy="false">≠</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${\mathbf{c}^{\ast }}\ne {\mathbf{c}^{\prime }}$]]></tex-math></alternatives></inline-formula> by the same random tape with different hash value of <inline-formula id="j_info1226_ineq_410"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${H_{2}}$]]></tex-math></alternatives></inline-formula> <italic>query</italic>. Because (<inline-formula id="j_info1226_ineq_411"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${\mathbf{z}_{1}^{\ast }},{\mathbf{z}_{2}^{\ast }},{\mathbf{z}_{3}^{\ast }},{\mathbf{z}_{4}^{\ast }},{\mathbf{c}^{\ast }}$]]></tex-math></alternatives></inline-formula>) and (<inline-formula id="j_info1226_ineq_412"><alternatives>
<mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${\mathbf{z}^{\prime }_{1}},{\mathbf{z}^{\prime }_{2}},{\mathbf{z}^{\prime }_{3}},{\mathbf{z}^{\prime }_{4}},{\mathbf{c}^{\prime }})$]]></tex-math></alternatives></inline-formula> are two valid signatures on the message <inline-formula id="j_info1226_ineq_413"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${m^{\ast }}$]]></tex-math></alternatives></inline-formula> for (<inline-formula id="j_info1226_ineq_414"><alternatives>
<mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[${\mathit{ID}^{\ast }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_415"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{{\mathit{ID}^{\ast }}}}$]]></tex-math></alternatives></inline-formula>), we can obtain the equality 
<disp-formula id="j_info1226_eq_016">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:mspace width="1em"/><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">H</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& {H_{2}}\big({m^{\ast }},{p_{1}}\ast {\mathbf{z}_{1}^{\ast }}+{p_{2}}\ast {\mathbf{z}_{2}^{\ast }}-{P_{{\mathit{ID}^{\ast }}}}\ast {\mathbf{c}^{\ast }},{\mathbf{z}_{3}^{\ast }}+h\ast {\mathbf{z}_{4}^{\ast }}-{T_{{\mathit{ID}^{\ast }}}}\ast {\mathbf{c}^{\ast }}\big)\\ {} & \hspace{1em}={H_{2}}\big({m^{\ast }},{p_{1}}\ast {\mathbf{z}^{\prime }_{1}}+{p_{2}}\ast {\mathbf{z}^{\prime }_{2}}-{P_{{\mathit{ID}^{\ast }}}}\ast {\mathbf{c}^{\prime }},{\mathbf{z}^{\prime }_{3}}+h\ast {\mathbf{z}^{\prime }_{4}}-{T_{{\mathit{ID}^{\ast }}}}\ast {\mathbf{c}^{\prime }}\big),\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
which reduces to 
<disp-formula id="j_info1226_eq_017">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {p_{1}}\ast {\mathbf{z}_{1}^{\ast }}+{p_{2}}\ast {\mathbf{z}_{2}^{\ast }}-{P_{{\mathit{ID}^{\ast }}}}\ast {\mathbf{c}^{\ast }}={p_{1}}\ast {\mathbf{z}^{\prime }_{1}}+{p_{2}}\ast {\mathbf{z}^{\prime }_{2}}-{P_{{\mathit{ID}^{\ast }}}}\ast {\mathbf{c}^{\prime }}.\]]]></tex-math></alternatives>
</disp-formula> 
Since <inline-formula id="j_info1226_ineq_416"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ID</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{{\mathit{ID}_{i}}}}={p_{1}}\ast {\mathbf{s}_{i1}}+{p_{2}}\ast {\mathbf{s}_{i2}}$]]></tex-math></alternatives></inline-formula>, we have 
<disp-formula id="j_info1226_eq_018">
<alternatives>
<mml:math display="block"><mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt"><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>∗</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:mspace width="1em"/><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>∗</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo>;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∗</mml:mo><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="align-odd"/><mml:mtd class="align-even"><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>∗</mml:mo><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[\begin{aligned}{}& {p_{1}}\ast {\mathbf{z}_{1}^{\ast }}+{p_{2}}\ast {\mathbf{z}_{2}^{\ast }}-({p_{1}}\ast {\mathbf{s}_{i1}}+{p_{2}}\ast {\mathbf{s}_{i2}})\ast {\mathbf{c}^{\ast }}\\ {} & \hspace{1em}={p_{1}}\ast {\mathbf{z}^{\prime }_{1}}+{p_{2}}\ast {\mathbf{z}^{\prime }_{2}}-({p_{1}}\ast {\mathbf{s}_{i1}}+{p_{2}}\ast {\mathbf{s}_{i2}})\ast {\mathbf{c}^{\prime }};\\ {} & {p_{1}}\ast \big({\mathbf{z}_{1}^{\ast }}-{\mathbf{z}^{\prime }_{1}}\big)+{p_{2}}\ast \big({\mathbf{z}_{2}^{\ast }}-{\mathbf{z}^{\prime }_{2}}\big)-{p_{1}}\ast {\mathbf{s}_{i1}}\big({\mathbf{c}^{\ast }}-{\mathbf{c}^{\prime }}\big)-{p_{2}}\ast {\mathbf{s}_{i2}}\big({\mathbf{c}^{\ast }}-{\mathbf{c}^{\prime }}\big)=0;\\ {} & {p_{1}}\ast \big({\mathbf{z}_{1}^{\ast }}-{\mathbf{z}^{\prime }_{1}}-{\mathbf{s}_{i1}}\big({\mathbf{c}^{\ast }}-{\mathbf{c}^{\prime }}\big)\big)+{p_{2}}\ast \big({\mathbf{z}_{2}^{\ast }}-{\mathbf{z}^{\prime }_{2}}-{\mathbf{s}_{i2}}\big({\mathbf{c}^{\ast }}-{\mathbf{c}^{\prime }}\big)\big)=0;\\ {} & ({p_{1}},{p_{2}})\ast \big({\mathbf{z}_{1}^{\ast }}-{\mathbf{z}^{\prime }_{1}}-{\mathbf{s}_{i1}}\big({\mathbf{c}^{\ast }}-{\mathbf{c}^{\prime }}\big),{\mathbf{z}_{2}^{\ast }}-{\mathbf{z}^{\prime }_{2}}-{\mathbf{s}_{i2}}\big({\mathbf{c}^{\ast }}-{\mathbf{c}^{\prime }}\big)\big)=0.\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
Afterward, <italic>C</italic> sets <inline-formula id="j_info1226_ineq_417"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="bold">c</mml:mi></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$({\mathbf{u}_{1}},{\mathbf{u}_{2}})=({\mathbf{z}_{1}^{\ast }}-{\mathbf{z}^{\prime }_{1}}-{\mathbf{s}_{i1}}({\mathbf{c}^{\ast }}-{\mathbf{c}^{\prime }}),{\mathbf{z}_{2}^{\ast }}-{\mathbf{z}^{\prime }_{2}}-{\mathbf{s}_{i2}}({\mathbf{c}^{\ast }}-{\mathbf{c}^{\prime }}))$]]></tex-math></alternatives></inline-formula>.</p>
<p>If we have <inline-formula id="j_info1226_ineq_418"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal">,</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="bold">z</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">‖</mml:mo><mml:mo>⩽</mml:mo><mml:mn>4</mml:mn><mml:mi mathvariant="italic">σ</mml:mi><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt></mml:math>
<tex-math><![CDATA[$\| ({\mathbf{z}_{1}^{\ast }}-{\mathbf{z}^{\prime }_{1}},{\mathbf{z}_{2}^{\ast }}-{\mathbf{z}^{\prime }_{2}})\| \leqslant 4\sigma \sqrt{2N}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_419"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">s</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">‖</mml:mo><mml:mo>⩽</mml:mo><mml:mn>2</mml:mn><mml:mi mathvariant="italic">d</mml:mi><mml:mi mathvariant="italic">λ</mml:mi><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt></mml:math>
<tex-math><![CDATA[$\| ({\mathbf{s}_{1}},{\mathbf{s}_{2}})\| \leqslant 2d\lambda \sqrt{2N}$]]></tex-math></alternatives></inline-formula> with overwhelming probability, we can obtain <inline-formula id="j_info1226_ineq_420"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">‖</mml:mo><mml:mo>⩽</mml:mo><mml:mn>2</mml:mn><mml:mi mathvariant="italic">d</mml:mi><mml:mi mathvariant="italic">λ</mml:mi><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt><mml:mo>+</mml:mo><mml:mn>4</mml:mn><mml:mi mathvariant="italic">σ</mml:mi><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt></mml:math>
<tex-math><![CDATA[$\| ({\mathbf{u}_{1}},{\mathbf{u}_{2}})\| \leqslant 2d\lambda \sqrt{2N}+4\sigma \sqrt{2N}$]]></tex-math></alternatives></inline-formula>. As stated in Lemma <xref rid="j_info1226_stat_006">3</xref>, the distribution of <inline-formula id="j_info1226_ineq_421"><alternatives>
<mml:math><mml:mi mathvariant="italic">h</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">g</mml:mi><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:mi mathvariant="italic">f</mml:mi></mml:math>
<tex-math><![CDATA[$h=g/f$]]></tex-math></alternatives></inline-formula> is statistically close to the uniform distribution of <inline-formula id="j_info1226_ineq_422"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${R_{q}}$]]></tex-math></alternatives></inline-formula> (Stehle and Steinfeld, <xref ref-type="bibr" rid="j_info1226_ref_029">2013</xref>). The SIS problem on NTRU lattice is to find a pair <inline-formula id="j_info1226_ineq_423"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">∈</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">R</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:math>
<tex-math><![CDATA[$({\mathbf{u}_{1}},{\mathbf{u}_{2}})\in {R_{q}^{2}}$]]></tex-math></alternatives></inline-formula> such that <inline-formula id="j_info1226_ineq_424"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="italic">h</mml:mi><mml:mo>∗</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math>
<tex-math><![CDATA[${\mathbf{u}_{1}}+h\ast {\mathbf{u}_{2}}=0$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_425"><alternatives>
<mml:math><mml:mo stretchy="false">‖</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="bold">u</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">‖</mml:mo><mml:mo>⩽</mml:mo><mml:mi mathvariant="italic">b</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">a</mml:mi></mml:math>
<tex-math><![CDATA[$\| ({\mathbf{u}_{1}},{\mathbf{u}_{2}})\| \leqslant beta$]]></tex-math></alternatives></inline-formula>, where <italic>β</italic> is <inline-formula id="j_info1226_ineq_426"><alternatives>
<mml:math><mml:mn>2</mml:mn><mml:mi mathvariant="italic">d</mml:mi><mml:mi mathvariant="italic">λ</mml:mi><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt><mml:mo>+</mml:mo><mml:mn>4</mml:mn><mml:mi mathvariant="italic">σ</mml:mi><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt></mml:math>
<tex-math><![CDATA[$2d\lambda \sqrt{2N}+4\sigma \sqrt{2N}$]]></tex-math></alternatives></inline-formula>. According to the same probability analysis in Lyubashevsky (<xref ref-type="bibr" rid="j_info1226_ref_022">2012</xref>), since <italic>A</italic> can break our CBS scheme with non-negligible probability <italic>ε</italic>, we may construct the challenger <italic>C</italic> to solve the SIS problem with non-negligible probability <inline-formula id="j_info1226_ineq_427"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>−</mml:mo><mml:mi mathvariant="italic">ω</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mo movablelimits="false">log</mml:mo><mml:mi mathvariant="italic">N</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mi mathvariant="italic">ε</mml:mi></mml:math>
<tex-math><![CDATA[$(1-{2^{-\omega (\log N)}})\varepsilon $]]></tex-math></alternatives></inline-formula>.  □</p></statement></p>
</sec>
<sec id="j_info1226_s_014">
<label>6</label>
<title>Comparisons</title>
<p>Table <xref rid="j_info1226_tab_001">1</xref> lists the comparisons between Tian and Huang’s CBS scheme (Tian and Huang, <xref ref-type="bibr" rid="j_info1226_ref_031">2015</xref>) and our CBS scheme in terms of lattice type, private key size/bit-length and signature size/bit- length. For the generation of a user’s private key, Tian and Huang’s CBS scheme adopted the GPV lattice in Gentry <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1226_ref_010">2008</xref>), instead, our proposed CBS scheme employed Ducas <italic>et al</italic>.’s sampling algorithm over NTRU lattices (Ducas <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1226_ref_005">2014</xref>). For both the private key size and signature size under the same security parameters <italic>N</italic>=512, <inline-formula id="j_info1226_ineq_428"><alternatives>
<mml:math><mml:mi mathvariant="italic">q</mml:mi><mml:mo stretchy="false">≈</mml:mo><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>26</mml:mn></mml:mrow></mml:msup></mml:math>
<tex-math><![CDATA[$q\approx {2^{26}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_429"><alternatives>
<mml:math><mml:mi mathvariant="italic">k</mml:mi><mml:mo>=</mml:mo><mml:mn>512</mml:mn></mml:math>
<tex-math><![CDATA[$k=512$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_430"><alternatives>
<mml:math><mml:mi mathvariant="italic">λ</mml:mi><mml:mo>=</mml:mo><mml:mn>14</mml:mn></mml:math>
<tex-math><![CDATA[$\lambda =14$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_431"><alternatives>
<mml:math><mml:mi mathvariant="italic">d</mml:mi><mml:mo>=</mml:mo><mml:mn>31</mml:mn></mml:math>
<tex-math><![CDATA[$d=31$]]></tex-math></alternatives></inline-formula>, our scheme is better than those of Tian and Huang’s CBS scheme. By Lyubashevsky (<xref ref-type="bibr" rid="j_info1226_ref_022">2012</xref>), we have <inline-formula id="j_info1226_ineq_432"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">&gt;</mml:mo><mml:mn>2</mml:mn><mml:mi mathvariant="italic">N</mml:mi><mml:mo movablelimits="false">log</mml:mo><mml:mi mathvariant="italic">q</mml:mi></mml:math>
<tex-math><![CDATA[${n_{1}}>2N\log q$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_433"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">&gt;</mml:mo><mml:mn>64</mml:mn><mml:mo>+</mml:mo><mml:mi mathvariant="italic">N</mml:mi><mml:mo movablelimits="false">log</mml:mo><mml:mi mathvariant="italic">q</mml:mi></mml:math>
<tex-math><![CDATA[${n_{2}}>64+N\log q$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_434"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msqrt><mml:mi mathvariant="italic">ω</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msqrt><mml:mrow><mml:mo movablelimits="false">log</mml:mo><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${s_{1}}=\sqrt{{n_{1}}}\omega (\sqrt{\log N})$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_435"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msqrt><mml:mi mathvariant="italic">ω</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msqrt><mml:mrow><mml:mo movablelimits="false">log</mml:mo><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${s_{2}}=\sqrt{{n_{2}}}\omega (\sqrt{\log N})$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_436"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>12</mml:mn><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\sigma _{1}}=12{s_{1}}\lambda {n_{1}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_437"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>12</mml:mn><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\sigma _{2}}=12{s_{2}}\lambda {n_{2}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_438"><alternatives>
<mml:math><mml:mi mathvariant="italic">s</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow><mml:mrow><mml:mn>5</mml:mn><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msqrt><mml:mi mathvariant="italic">ω</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msqrt><mml:mrow><mml:mo movablelimits="false">log</mml:mo><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$s={N^{5/2}}\sqrt{2q}\omega (\sqrt{\log N})$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1226_ineq_439"><alternatives>
<mml:math><mml:mi mathvariant="italic">σ</mml:mi><mml:mo>=</mml:mo><mml:mn>12</mml:mn><mml:mi mathvariant="italic">s</mml:mi><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="italic">N</mml:mi></mml:math>
<tex-math><![CDATA[$\sigma =12s\lambda N$]]></tex-math></alternatives></inline-formula> while choosing <inline-formula id="j_info1226_ineq_440"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>38400</mml:mn></mml:math>
<tex-math><![CDATA[${n_{1}}=38400$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1226_ineq_441"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>25600</mml:mn></mml:math>
<tex-math><![CDATA[${n_{2}}=25600$]]></tex-math></alternatives></inline-formula>. According to Table <xref rid="j_info1226_tab_001">1</xref>, our scheme is much better than Tian and Huang’s CBS scheme in terms of private key and signature sizes.</p>
<table-wrap id="j_info1226_tab_001">
<label>Table 1</label>
<caption>
<p>Comparisons between Tian and Huang’s CBS scheme and ours.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Tian and Huang’s CBS scheme (Tian and Huang, <xref ref-type="bibr" rid="j_info1226_ref_031">2015</xref>)</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Our CBS scheme</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">Lattice type</td>
<td style="vertical-align: top; text-align: left">GPV lattice</td>
<td style="vertical-align: top; text-align: left">NTRU lattice</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Private key size</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1226_ineq_442"><alternatives>
<mml:math><mml:mn>2</mml:mn><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="italic">k</mml:mi><mml:mo movablelimits="false">log</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msqrt><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msqrt><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="italic">k</mml:mi><mml:mo movablelimits="false">log</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msqrt><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msqrt><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$2{n_{1}}k\log ({s_{1}}\sqrt{{n_{1}}})+2{n_{2}}k\log ({s_{2}}\sqrt{{n_{2}}})$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1226_ineq_443"><alternatives>
<mml:math><mml:mn>4</mml:mn><mml:mi mathvariant="italic">N</mml:mi><mml:mo movablelimits="false">log</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">s</mml:mi><mml:msqrt><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow></mml:msqrt><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$4N\log (s\sqrt{N})$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Private key bit-length</td>
<td style="vertical-align: top; text-align: left">595222811</td>
<td style="vertical-align: top; text-align: left">85166</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Signature size</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1226_ineq_444"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo movablelimits="false">log</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>12</mml:mn><mml:msub><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo movablelimits="false">log</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>12</mml:mn><mml:msub><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mi mathvariant="italic">λ</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mo movablelimits="false">log</mml:mo><mml:mi mathvariant="italic">k</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${n_{1}}\log (12{\sigma _{1}})+{n_{2}}\log (12{\sigma _{2}})+\lambda (\log k+1)$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1226_ineq_445"><alternatives>
<mml:math><mml:mn>4</mml:mn><mml:mi mathvariant="italic">N</mml:mi><mml:mo movablelimits="false">log</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>12</mml:mn><mml:mi mathvariant="italic">σ</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mi mathvariant="italic">λ</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mo movablelimits="false">log</mml:mo><mml:mi mathvariant="italic">N</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$4N\log (12\sigma )+\lambda (\log N+1)$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Signature bit-length</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">675496</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">87161</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="j_info1226_s_015">
<label>7</label>
<title>Conclusions</title>
<p>Lattice-based cryptography is an important candidate for post-quantum cryptography. In the paper, a new and efficient CBS scheme from lattices was proposed, which possesses the merits of both CBS scheme and lattice-based cryptography. Based on the SIS assumption from lattices and in the random oracle model, we formally demonstrated the security of our lattice-based CBS scheme against Type I adversary (general attackers) and Type II adversary (the honest-but-curious CA), namely, achieving existential unforgeability against adaptive chosen message attacks for both adversaries. Comparisons with the previous CBS schemes from lattices were given to demonstrate the merits of our proposed CBS scheme in terms of private key size and signature size.</p>
</sec>
</body>
<back>
<ref-list id="j_info1226_reflist_001">
<title>References</title>
<ref id="j_info1226_ref_001">
<mixed-citation publication-type="chapter"><string-name><surname>Ajtai</surname>, <given-names>M.</given-names></string-name> (<year>1996</year>). <chapter-title>Generating hard instances of lattice problems</chapter-title>. In: <source>Proceedings of STOC’96</source>. <publisher-name>ACM</publisher-name>, pp. <fpage>99</fpage>–<lpage>108</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_002">
<mixed-citation publication-type="chapter"><string-name><surname>Al-Riyami</surname>, <given-names>S.S.</given-names></string-name>, <string-name><surname>Paterson</surname>, <given-names>K.G.</given-names></string-name> (<year>2003</year>). <chapter-title>Certificateless public key cryptography</chapter-title>. In: <source>Proceedings of ASIACRYPT’03</source>, <series><italic>LNCS</italic></series>, Vol. <volume>2894</volume>, pp. <fpage>452</fpage>–<lpage>473</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_003">
<mixed-citation publication-type="chapter"><string-name><surname>Bernstein</surname>, <given-names>D.J.</given-names></string-name> (<year>2009</year>). <chapter-title>Introduction to post-quantum cryptography</chapter-title>. In: <source>Post-Quantum Cryptography</source>. <publisher-name>Springer-Verlag</publisher-name>, <publisher-loc>Berlin, Germany</publisher-loc>, pp. <fpage>1</fpage>–<lpage>14</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_004">
<mixed-citation publication-type="chapter"><string-name><surname>Boneh</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Franklin</surname>, <given-names>M.</given-names></string-name> (<year>2001</year>). <chapter-title>Identity-based encryption from the Weil pairing</chapter-title>. In: <source>Proceedings of CRYPTO’01</source>, <series><italic>LNCS</italic></series>, Vol. <volume>2139</volume>, pp. <fpage>213</fpage>–<lpage>229</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_005">
<mixed-citation publication-type="chapter"><string-name><surname>Ducas</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Lyubashevsky</surname>, <given-names>V.</given-names></string-name>, <string-name><surname>Prest</surname>, <given-names>T.</given-names></string-name> (<year>2014</year>). <chapter-title>Efficient identity-based encryption over NTRU lattices</chapter-title>. In: <source>Proceedings of ASIACRYPT’14</source>, <series><italic>LNCS</italic></series>, Vol. <volume>8874</volume>, pp. <fpage>22</fpage>–<lpage>41</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_006">
<mixed-citation publication-type="journal"><string-name><surname>ElGamal</surname>, <given-names>T.</given-names></string-name> (<year>1985</year>). <article-title>A public key cryptosystem and a signature scheme based on discrete logarithms</article-title>. <source>IEEE Transactions on Information Theory</source>, <volume>31</volume>(<issue>4</issue>), <fpage>469</fpage>–<lpage>472</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_007">
<mixed-citation publication-type="journal"><string-name><surname>Galindo</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Morillo</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Rafols</surname>, <given-names>C.</given-names></string-name> (<year>2008</year>). <article-title>Improved certificate-based encryption in the standard model</article-title>. <source>Journal of Systems and Software</source>, <volume>81</volume>(<issue>7</issue>), <fpage>1218</fpage>–<lpage>1226</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_008">
<mixed-citation publication-type="journal"><string-name><surname>Gao</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>K.</given-names></string-name> (<year>2015</year>). <article-title>Generic construction of certificate-based encryption from certificateless encryption revisited</article-title>. <source>The Computer Journal</source>, <volume>58</volume>(<issue>10</issue>), <fpage>2747</fpage>–<lpage>2757</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_009">
<mixed-citation publication-type="chapter"><string-name><surname>Gentry</surname>, <given-names>C.</given-names></string-name> (<year>2003</year>). <chapter-title>Certificate-based encryption and the certificate revocation problem</chapter-title>. In: <source>Proceedings of EURORYPT’03</source>, <series><italic>LNCS</italic></series>, Vol. <volume>2656</volume>, pp. <fpage>272</fpage>–<lpage>293</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_010">
<mixed-citation publication-type="chapter"><string-name><surname>Gentry</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Peikert</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Vaikuntanathan</surname>, <given-names>V.</given-names></string-name> (<year>2008</year>). <chapter-title>How to use a short basis: trapdoors for hard lattices and new cryptographic constructions</chapter-title>. In: <source>Proceedings of STOC’08</source>. <publisher-name>ACM</publisher-name>, pp. <fpage>197</fpage>–<lpage>206</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_011">
<mixed-citation publication-type="chapter"><string-name><surname>Goldreich</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Goldwasser</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Halevi</surname>, <given-names>S.</given-names></string-name> (<year>1997</year>). <chapter-title>Public-key cryptosystems from lattice reduction problems</chapter-title>. In: <source>Proceedings of CRYPTO’97</source>, <series><italic>LNCS</italic></series>, Vol. <volume>1294</volume>, pp. <fpage>112</fpage>–<lpage>131</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_012">
<mixed-citation publication-type="chapter"><string-name><surname>Hoffstein</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Howgrave-Graham</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Pipher</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Silverman</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Whyte</surname>, <given-names>W.</given-names></string-name> (<year>2003</year>). <chapter-title>Ntrusign: digital signatures using the ntru lattice</chapter-title>. In: <source>Proceedings of CT-RSA’03</source>, <series><italic>LNCS</italic></series>, Vol. <volume>2612</volume>, pp. <fpage>122</fpage>–<lpage>140</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_013">
<mixed-citation publication-type="journal"><string-name><surname>Hung</surname>, <given-names>Y.H.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>S.S.</given-names></string-name>, <string-name><surname>Tseng</surname>, <given-names>Y.M.</given-names></string-name> (<year>2016</year>a). <article-title>A short certificate-based signature scheme with provable security</article-title>. <source>Information Technology and Control</source>, <volume>45</volume>(<issue>3</issue>), <fpage>243</fpage>–<lpage>253</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_014">
<mixed-citation publication-type="journal"><string-name><surname>Hung</surname>, <given-names>Y.H.</given-names></string-name>, <string-name><surname>Tseng</surname>, <given-names>Y.M.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>S.S.</given-names></string-name> (<year>2016</year>b). <article-title>A revocable certificateless short signature scheme and its authentication application</article-title>. <source>Informatica</source>, <volume>27</volume>(<issue>3</issue>), <fpage>549</fpage>–<lpage>572</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_015">
<mixed-citation publication-type="other"><string-name><surname>Hung</surname>, <given-names>Y.H.</given-names></string-name>, <string-name><surname>Tseng</surname>, <given-names>Y.M.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>S.S.</given-names></string-name> (2017a). Revocable ID-based signature with short size over lattices. <italic>Security and Communication Networks</italic>. Article ID-7571201.</mixed-citation>
</ref>
<ref id="j_info1226_ref_016">
<mixed-citation publication-type="other"><string-name><surname>Hung</surname>, <given-names>Y.H.</given-names></string-name>, <string-name><surname>Tseng</surname>, <given-names>Y.M.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>S.S.</given-names></string-name> (2017b). Lattice-based revocable certificateless signature. <italic>Symmetry</italic>, <italic>9</italic>. Article ID-242.</mixed-citation>
</ref>
<ref id="j_info1226_ref_017">
<mixed-citation publication-type="chapter"><string-name><surname>Li</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Mu</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Susilo</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Wu</surname>, <given-names>Q.</given-names></string-name> (<year>2007</year>). <chapter-title>Certificate-based signature: security model and efficient construction</chapter-title>. In: <source>Proceedings of EUROPKI’07</source>, <series><italic>LNCS</italic></series>, Vol. <volume>4582</volume>, pp. <fpage>110</fpage>–<lpage>125</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_018">
<mixed-citation publication-type="journal"><string-name><surname>Li</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Xu</surname>, <given-names>L.</given-names></string-name> (<year>2012</year>). <article-title>An efficient short certificate-based signature scheme</article-title>. <source>Journal of Systems and Software</source>, <volume>85</volume>(<issue>2</issue>), <fpage>314</fpage>–<lpage>322</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_019">
<mixed-citation publication-type="journal"><string-name><surname>Liu</surname>, <given-names>Z.H.</given-names></string-name>, <string-name><surname>Hu</surname>, <given-names>Y.P.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>X.S.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>F.</given-names></string-name> (<year>2013</year>). <article-title>Efficient and strongly unforgeable identity-based signature scheme over lattices in the standard model</article-title>. <source>Security and Communication Networks</source>, <volume>6</volume>(<issue>1</issue>), <fpage>69</fpage>–<lpage>77</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_020">
<mixed-citation publication-type="journal"><string-name><surname>Lu</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>J.</given-names></string-name> (<year>2014</year>). <article-title>Efficient certificate-based encryption scheme secure against key replacement attacks in the standard model</article-title>. <source>Journal of Information Science and Engineering</source>, <volume>30</volume>(<issue>5</issue>), <fpage>1553</fpage>–<lpage>1568</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_021">
<mixed-citation publication-type="chapter"><string-name><surname>Lyubashevsky</surname>, <given-names>V.</given-names></string-name> (<year>2009</year>). <chapter-title>Fiat-Shamir with aborts: applications to lattice and factoring-based signatures</chapter-title>. In: <source>Proceedings of ASIACRYPT’09</source>, <series><italic>LNCS</italic></series>, Vol. <volume>5912</volume>, pp. <fpage>598</fpage>–<lpage>616</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_022">
<mixed-citation publication-type="chapter"><string-name><surname>Lyubashevsky</surname>, <given-names>V.</given-names></string-name> (<year>2012</year>). <chapter-title>Lattice signatures without trapdoors</chapter-title>. In: <source>Proceedings of EUROCRYPT’12</source>, <series><italic>LNCS</italic></series>, Vol. <volume>7237</volume>, pp. <fpage>738</fpage>–<lpage>755</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_023">
<mixed-citation publication-type="journal"><string-name><surname>Micciancio</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Regev</surname>, <given-names>O.</given-names></string-name> (<year>2007</year>). <article-title>Worst-case to average-case reductions based on Gaussian measure</article-title>. <source>SIAM Journal on Computing</source>, <volume>37</volume>(<issue>1</issue>), <fpage>267</fpage>–<lpage>302</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_024">
<mixed-citation publication-type="journal"><string-name><surname>Pointcheval</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Stern</surname>, <given-names>J.</given-names></string-name> (<year>2000</year>). <article-title>Security arguments for digital signatures and blind signatures</article-title>. <source>Journal of Cryptology</source>, <volume>13</volume>, <fpage>361</fpage>–<lpage>396</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_025">
<mixed-citation publication-type="journal"><string-name><surname>Rivest</surname>, <given-names>R.L.</given-names></string-name>, <string-name><surname>Shamir</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Adleman</surname>, <given-names>L.</given-names></string-name> (<year>1978</year>). <article-title>A method for obtaining digital signatures and public-key cryptosystems</article-title>. <source>Communications of the ACM</source>, <volume>21</volume>(<issue>2</issue>), <fpage>120</fpage>–<lpage>126</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_026">
<mixed-citation publication-type="chapter"><string-name><surname>Ruckert</surname>, <given-names>M.</given-names></string-name> (<year>2010</year>). <chapter-title>Strongly unforgeable signatures and hierarchical identity-based signatures over lattices without random oracles</chapter-title>. In: <source>Proceedings of PQC’10</source>, <series><italic>LNCS</italic></series>, Vol. <volume>6061</volume>, pp. <fpage>182</fpage>–<lpage>200</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_027">
<mixed-citation publication-type="chapter"><string-name><surname>Shamir</surname>, <given-names>A.</given-names></string-name> (<year>1984</year>). <chapter-title>Identity-based cryptosystems and signature schemes</chapter-title>. In: <source>Proceedings of Crypto’84</source>, <series><italic>LNCS</italic></series>, Vol. <volume>196</volume>, pp. <fpage>47</fpage>–<lpage>53</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_028">
<mixed-citation publication-type="journal"><string-name><surname>Shor</surname>, <given-names>P.W.</given-names></string-name> (<year>1997</year>). <article-title>Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer</article-title>. <source>SIAM Journal on Computing</source>, <volume>26</volume>(<issue>5</issue>), <fpage>1484</fpage>–<lpage>1509</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_029">
<mixed-citation publication-type="other"><string-name><surname>Stehle</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Steinfeld</surname>, <given-names>R.</given-names></string-name> (2013). <italic>Making NTRUEnrypt and NTRUSign as Secure as Standard Worst-Case Problems over Ideal Lattices</italic>. Cryptology ePrint Archive, Report 2013/4. Available source file from <uri>http://eprint.iacr.org/2013/004</uri>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_030">
<mixed-citation publication-type="chapter"><string-name><surname>Tian</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>L.</given-names></string-name> (<year>2014</year>). <chapter-title>Efficient identity-based signature over lattices</chapter-title>. In: <source>Proceedings of SEC’14, IFIP</source>, Vol. <volume>428</volume>, pp. <fpage>321</fpage>–<lpage>329</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_031">
<mixed-citation publication-type="journal"><string-name><surname>Tian</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>L.</given-names></string-name> (<year>2015</year>). <article-title>Certificateless and certificate-based signatures from lattices</article-title>. <source>Security and Communication Networks</source>, <volume>8</volume>(<issue>8</issue>), <fpage>1575</fpage>–<lpage>1586</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_032">
<mixed-citation publication-type="journal"><string-name><surname>Tsai</surname>, <given-names>T.T.</given-names></string-name>, <string-name><surname>Tseng</surname>, <given-names>Y.M.</given-names></string-name> (<year>2015</year>). <article-title>Revocable certificateless public key encryption</article-title>. <source>IEEE Systems Journal</source>, <volume>9</volume>(<issue>3</issue>), <fpage>824</fpage>–<lpage>833</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_033">
<mixed-citation publication-type="journal"><string-name><surname>Tsai</surname>, <given-names>T.T.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>S.S.</given-names></string-name>, <string-name><surname>Tseng</surname>, <given-names>Y.M.</given-names></string-name> (<year>2017</year>). <article-title>SIBSC: separable identity-based signcryption for resource-constrained devices</article-title>. <source>Informatica</source>, <volume>28</volume>(<issue>1</issue>), <fpage>193</fpage>–<lpage>214</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_034">
<mixed-citation publication-type="journal"><string-name><surname>Tseng</surname>, <given-names>Y.M.</given-names></string-name>, <string-name><surname>Tsai</surname>, <given-names>T.T.</given-names></string-name> (<year>2012</year>). <article-title>Efficient revocable ID-based encryption with a public channel</article-title>. <source>The Computer Journal</source>, <volume>55</volume>(<issue>4</issue>), <fpage>475</fpage>–<lpage>486</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_035">
<mixed-citation publication-type="journal"><string-name><surname>Tseng</surname>, <given-names>Y.M.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>S.S.</given-names></string-name>, <string-name><surname>Tsai</surname>, <given-names>T.T.</given-names></string-name>, <string-name><surname>Ke</surname>, <given-names>J.H.</given-names></string-name> (<year>2016</year>). <article-title>List-free ID-based mutual authentication and key agreement protocol for multi-server architectures</article-title>. <source>IEEE Transactions on Emerging Topics in Computing</source>, <volume>4</volume>(<issue>1</issue>), <fpage>102</fpage>–<lpage>122</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_036">
<mixed-citation publication-type="journal"><string-name><surname>Tseng</surname>, <given-names>Y.M.</given-names></string-name>, <string-name><surname>Tsai</surname>, <given-names>T.T.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>S.S.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>C.P.</given-names></string-name> (<year>2018</year>). <article-title>Identity-based encryption with cloud revocation authority and its applications</article-title>. <source>IEEE Transactions on Cloud Computing</source>, <volume>6</volume>(<issue>4</issue>), <fpage>1041</fpage>–<lpage>1053</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_037">
<mixed-citation publication-type="journal"><string-name><surname>Wu</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Mu</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Susilo</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>X.</given-names></string-name> (<year>2009</year>). <article-title>Certificate-based signatures revisited</article-title>. <source>Journal of Universal Computer Science</source>, <volume>15</volume>(<issue>8</issue>), <fpage>1659</fpage>–<lpage>1684</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_038">
<mixed-citation publication-type="journal"><string-name><surname>Wu</surname>, <given-names>J.D.</given-names></string-name>, <string-name><surname>Tseng</surname>, <given-names>Y.M.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>S.S.</given-names></string-name>, <string-name><surname>Chou</surname>, <given-names>W.C.</given-names></string-name> (<year>2018</year>). <article-title>Leakage-resilient certificateless key encapsulation scheme</article-title>. <source>Informatica</source>, <volume>29</volume>(<issue>1</issue>), <fpage>125</fpage>–<lpage>155</lpage>.</mixed-citation>
</ref>
<ref id="j_info1226_ref_039">
<mixed-citation publication-type="journal"><string-name><surname>Xiang</surname>, <given-names>X.</given-names></string-name> (<year>2015</year>). <article-title>Adaptive secure revocable identity-based signature scheme over lattices</article-title>. <source>Computer Engineering</source>, <volume>41</volume>(<issue>10</issue>), <fpage>126</fpage>–<lpage>129</lpage>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>