<?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">INFO1148</article-id>
<article-id pub-id-type="doi">10.15388/Informatica.2017.139</article-id>
<article-categories><subj-group subj-group-type="heading">
<subject>Research Article</subject></subj-group></article-categories>
<title-group>
<article-title>An IND-ID-CPA Secure ID-Based Cryptographic Protocol using GDLP and IFP</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Meshram</surname><given-names>Chandrashekhar</given-names></name><email xlink:href="cs_meshram@rediffmail.com">cs_meshram@rediffmail.com</email><xref ref-type="aff" rid="j_info1148_aff_001">1</xref><xref ref-type="aff" rid="j_info1148_aff_002">2</xref><bio>
<p><bold>C. Meshram</bold> received the PhD from R.T.M. Nagpur University, Nagpur (MS) India. Presently he is post-doctoral fellow under Dr. DS Kothari postdoctoral fellow New Delhi, India. He is interested in the field of cryptography and its application, statistics, raga (music and statistics), neural network, ad hoc network, number theory, time series analysis and climate change, mathematical modelling and chaos theory. He is a member of International Association of Engineers (IAENG), Hong Kong, World Academy of Science, Engineering and Technology (WASET), New Zealand, Computer Science Teachers Association (CSTA), USA, Association for Computing Machinery (ACM), USA, International Association of Computer Science and Information Technology (IACSIT), Singapore, European Association for Theoretical Computer Science (EATCS), Greece, International Association of Railway Operations Research (IAROR), Netherlands, International Association for Pattern Recognition (IAPR), New York, International Federation for Information Processing (IFIP), Austria, Association for the Advancement of Computing in Education (AACE), USA, International Mathematical Union (IMU), Berlin, Germany, European Alliance for Innovation (EAI), International Linear Algebra Society (ILAS), Haifa, Israel, Science and Engineering Institute (SCIEI), Machine Intelligence Research Labs (MIR Labs), USA, Society: Intelligent Systems, KES International Association, United Kingdom, Universal Association of Computer and Electronics Engineers (UACEE), The Society of Digital Information and Wireless Communications (SDIWC) and life-time member of Internet Society (ISOC), USA, Indian Mathematical Society, Cryptology Research Society of India and Ramanujan Mathematical Society of India (RMS). He is regular reviewer of sixty international journals and international conferences.</p></bio>
</contrib>
<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_info1148_aff_003">3</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). In 2006, his paper received the Wilkes Award from The British Computer Society. He has published over one hundred scientific journals and conference papers on various research areas of cryptography, security and computer network. His research interests include cryptography, network security, computer network and mobile communications. He serves as an editor of several international journals.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Lee</surname><given-names>Cheng-Chi</given-names></name><email xlink:href="cclee@mail.fju.edu.tw">cclee@mail.fju.edu.tw</email><xref ref-type="aff" rid="j_info1148_aff_004">4</xref><xref ref-type="aff" rid="j_info1148_aff_005">5</xref><xref ref-type="corresp" rid="cor1">∗</xref><bio>
<p><bold>C.-C. Lee</bold> received the PhD degree in Computer Science from National Chung Hsing University (NCHU), Taiwan, in 2007. He is currently a professor with the Department of Library and Information Science at Fu Jen Catholic University. Dr. Lee is currently an editorial board member of International Journal of Network Security, Journal of Computer Science, Cryptography, and International Journal of Internet Technology and Secured Transactions, and The Open Automation and Control Systems Journal. He also served as a reviewer in many SCI-index journals, other journals, other conferences. His current research interests include data security, cryptography, network security, mobile communications and computing, wireless communications.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Meshram</surname><given-names>Sarita Gajbhiye</given-names></name><email xlink:href="gajbhiyesarita@gmail.com">gajbhiyesarita@gmail.com</email><xref ref-type="aff" rid="j_info1148_aff_006">6</xref><bio>
<p><bold>S.-G. Meshram</bold> received M. Tech degree in Soil and Water Engineering in 2009 with gold medal from College of Agricultural Engineering, Jawaharlal Nehru Krishi Vishwa Vidhyalaya, Jabalpur (M.P.); and PhD Degree in Water Resource Development and Management from IIT Roorkee (U.K.) India in 2015. She is currently Dr. D.S. Kothari post-doctoral fellow in the Department of Mathematics and Computer Sciences, Rani Durgawati University, Jabalpur, India. Her current research interests include geographical information systems, rainfall-runoff sediment yield modelling, SCS-CN. She is carrying out her research work in the field of rainfall-runoff, sediment yield, water quality, application of RS and GIS water network and cryptographic protocol. She has published more than 50 research papers in refereed journals, conference and workshop proceedings, and books. She is a member of an international society and reviewer of a reputed journal.</p></bio>
</contrib>
<aff id="j_info1148_aff_001"><label>1</label>Department of Mathematics and Computer Science, <institution>R D University</institution>, Jabalpur (M.P.), <country>India</country></aff>
<aff id="j_info1148_aff_002"><label>2</label>Department of Mathematics, <institution>RTM Nagpur University</institution>, Nagpur, <country>India</country></aff>
<aff id="j_info1148_aff_003"><label>3</label>Department of Mathematics, <institution>National Changhua University of Education</institution>, Chang-Hua 500, <country>Taiwan, R.O.C.</country></aff>
<aff id="j_info1148_aff_004"><label>4</label>Department of Library and Information Science, <institution>Fu Jen Catholic University</institution>, New Taipei 24205, <country>Taiwan, R.O.C.</country></aff>
<aff id="j_info1148_aff_005"><label>5</label>Department of Photonics and Communication Engineering, <institution>Asia University</institution>, Wufeng Shiang, Taichung 413, <country>Taiwan, R.O.C.</country></aff>
<aff id="j_info1148_aff_006"><label>6</label>Department of Water Resources Development &amp; Management, <institution>Indian Institute of Technology</institution>, Roorkee (Uttrakhand), <country>India</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>∗</label>Corresponding author.</corresp>
</author-notes>
<pub-date pub-type="ppub"><year>2017</year></pub-date><pub-date pub-type="epub"><day>1</day><month>1</month><year>2017</year></pub-date><volume>28</volume><issue>3</issue><fpage>471</fpage><lpage>484</lpage><history><date date-type="received"><month>9</month><year>2016</year></date><date date-type="accepted"><month>1</month><year>2017</year></date></history>
<permissions><copyright-statement>© 2017 Vilnius University</copyright-statement><copyright-year>2017</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>ID-based cryptographic protocol is an extremely valuable apparatus in the field of cryptography and has numerous latent applications. The safety of conventional ID-based cryptographic protocol is entirely contingent in light of the safety of private keys. Revelation of private keys needs reissuing all beforehand doled out encryptions. This confinement turns out to be clearer today as key presentation is more regular with expanding utilization of unprotected gadgets and mobile technology. In this context, relieving the loss of key disclosure in ID-based cryptographic protocol is a critical issue. To manage this issue, we present to include onward security into ID-based cryptographic protocol. Besides, we propose another development of indistinguishability-ID-based cryptographic protocol using Integer Factorization Problem (IFP) and Generalized Discrete Logarithm Problem (GDLP) which is semantically protected against Chosen Plaintext Attack (CPA) in random oracle. We show that our presented protocol beats the other standing protocol as far as security, the length of public key and computational cost are concerned. We shed light on some applications and future scope.</p>
</abstract>
<kwd-group>
<label>Key words</label>
<kwd>cryptography</kwd>
<kwd>ID-based cryptographic</kwd>
<kwd>IFP</kwd>
<kwd>GDLP</kwd>
<kwd>random oracle</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="j_info1148_s_001">
<label>1</label>
<title>Introduction</title>
<p>An ID-based cryptography gives a helpful approach to do public key cryptography deprived of the problem of issuing public keys. The sender’s message can encrypt utilizing the identity of the recipient as the public key in an ID-based cryptographic protocol. In this way, there is no requirement for the recipient to demonstrate his/her public key certificate to the correspondent. Cryptosystem is especially valuable in applications anywhere message recipients are not generally accessible to contemporary public key certificates.</p>
<p>Shamir (<xref ref-type="bibr" rid="j_info1148_ref_020">1984</xref>) developed the model of an ID-based cryptographic protocol to streamline the key administration issue in 1984. It is very clear that identity of a user, for example, government managed savings number, e-mail address etc. are utilized as people in public key, while the secret key connected through that identity is registered and allotted subtly to the user by Private Key Generator (PKG), which is a trusted third party in an ID-based cryptographic protocol. In such type of settings, the main thing that ought to be certificated is general public parameters of the PKG. Hence, an identity-based cryptographic protocol definitely decreases the need for certificates. It was not until 2001 that Cocks (<xref ref-type="bibr" rid="j_info1148_ref_006">2001</xref>) and Boneh and Franklin (<xref ref-type="bibr" rid="j_info1148_ref_003">2001</xref>) presented two identity-based encryption protocol. Boneh and Franklin (<xref ref-type="bibr" rid="j_info1148_ref_004">2003</xref>) utilized a grouping of bilinear maps as starting point of their development (Boneh and Boyen, <xref ref-type="bibr" rid="j_info1148_ref_001">2004a</xref>, <xref ref-type="bibr" rid="j_info1148_ref_002">2004b</xref>; Waters, <xref ref-type="bibr" rid="j_info1148_ref_022">2005</xref>).</p>
<p>Despite the fact that there have been numeral well-organized ID-based cryptographic protocols, these protocols are still considerably slower than general public key cryptosystems. For instance, Boneh-Franklin protocol is slower than ElGamal protocol 400 times in terms of encryption process Galindo (<xref ref-type="bibr" rid="j_info1148_ref_008">2004</xref>). In exercise, quick encryption and decryption operations are required in many applications. Thus, the time execution costs of present ID-based cryptographic protocols cannot address the issue of practice. Many ID-based cryptographic protocols (Boneh and Franklin, <xref ref-type="bibr" rid="j_info1148_ref_004">2003</xref>; Boneh <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1148_ref_005">2003</xref>; Gangishetti <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1148_ref_009">2007</xref>; Kiltz and Vahlis, <xref ref-type="bibr" rid="j_info1148_ref_013">2008</xref>; Lee and Liao, <xref ref-type="bibr" rid="j_info1148_ref_014">2004</xref>; Meshram <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1148_ref_018">2012</xref>; Meshram and Meshram, <xref ref-type="bibr" rid="j_info1148_ref_017">2013</xref>; Sun <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1148_ref_021">2010</xref>) have been proposed in the reported literature after 2003. However, in these ID-based cryptographic protocols, the public key of every user is an identity as well as some arbitrary number chosen either by the user or by the trusted parties. This marks the ID-based cryptography area an attractive exploration field in the current century.</p>
<p>Boneh and Franklin presented primary provably secure ID-based cryptographic protocol in Boneh and Franklin (<xref ref-type="bibr" rid="j_info1148_ref_003">2001</xref>, <xref ref-type="bibr" rid="j_info1148_ref_004">2003</xref>). The recent methodology they utilized depends on a category of bilinear maps. Subsequent to their work, lots of ID-based cryptographic protocols based on bilinear maps were presented. For instance, Boneh and Boyen (<xref ref-type="bibr" rid="j_info1148_ref_001">2004a</xref>) introduced a safe ID-based cryptographic protocol lacking random oracles; Waters (<xref ref-type="bibr" rid="j_info1148_ref_022">2005</xref>) designed a well-organized ID-based cryptographic protocol lacking random oracles; in Boneh and Boyen (<xref ref-type="bibr" rid="j_info1148_ref_002">2004b</xref>) Boneh and Boyen developed additional ID-based cryptographic protocol lacking random oracles, which is safe in the specific model. However, as pointed out in Galindo (<xref ref-type="bibr" rid="j_info1148_ref_008">2004</xref>), even the well-organized protocols such as Boneh and Franklin (<xref ref-type="bibr" rid="j_info1148_ref_003">2001</xref>, <xref ref-type="bibr" rid="j_info1148_ref_004">2003</xref>) are considerably slower than ElGamal cryptosystem. In this way, the present ID-based cryptographic protocol is just about as quick as the ElGamal cryptographic protocol in both decryption and encryption stages. Heng and Kurosawa utilized a polynomial using way to deal with building up an ID-based cryptographic protocol that does not require random oracles in Han <italic>et al</italic>. (<xref ref-type="bibr" rid="j_info1148_ref_011">2004</xref>, <xref ref-type="bibr" rid="j_info1148_ref_012">2006</xref>). Their protocol is semantically secure under the IFP and GDLP supposition. But their protocol is considerably dawdling compared to ElGamal, too.</p>
<p>As shown in the above, unfortunately we initiated that standing ID-based cryptographic protocol using IFP and discrete logarithm problem (DLP), respectively, can’t be viewed as secure. Along these lines, our principle commitment in this paper is to plug this crevice by presenting effective provably secure ID-construct cryptographic protocol using IFP and GDLP. The time execution costs of decryption and encryption stages in presented ID-based cryptographic protocol are those of ElGamal. All further unequivocally, with the exception of the principal of encryption process for separate identity, all decryption and encryption processes have the same time expense as the resultant processes of ElGamal. We likewise give a proper safety evidence to semantically protect against chosen plaintext attack (CPA) under the IFP and GDLP hypothesis in the random oracle utilizing the reversing procedure presented by Boneh and Franklin (<xref ref-type="bibr" rid="j_info1148_ref_003">2001</xref>).</p>
<p>The rest of this paper is composed as follows: The required mathematical background is presented in Section <xref rid="j_info1148_s_002">2</xref>. Our proposed IND-ID-CPA secure ID-based cryptographic protocol is displayed in Section <xref rid="j_info1148_s_006">3</xref>. The security examination and security evidence of the protocol are exhibited in Section <xref rid="j_info1148_s_011">4</xref>. The performance comparison with other protocols is talked about in Section <xref rid="j_info1148_s_012">5</xref>. Some applications and future scope are talked about in Section <xref rid="j_info1148_s_013">6</xref>. At last, Section <xref rid="j_info1148_s_015">7</xref> finishes up the paper.</p>
</sec>
<sec id="j_info1148_s_002">
<label>2</label>
<title>Mathematical Background</title>
<p>In this area, we portray some foundation knowledge utilized as a part of this paper, containing IFP and DLP (Meshram <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1148_ref_018">2012</xref>).</p>
<sec id="j_info1148_s_003">
<label>2.1</label>
<title>Related Definitions</title><statement id="j_info1148_stat_001"><label>Definition 1</label>
<title><italic>(IFP).</italic></title>
<p>For a given positive an integer <italic>N</italic> find its prime factorization; to be precise, as <inline-formula id="j_info1148_ineq_001"><alternatives><mml:math>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>=</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
<mml:mo>.</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
<mml:mo>.</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
<mml:mo>.</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
<mml:mo>…</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo>…</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[$N=\hspace{2.5pt}{p_{1}^{{e_{1}}}}.{p_{2}^{{e_{2}}}}.{p_{3}^{{e_{3}}}}.{p_{4}^{{e_{4}}}}\dots \dots \dots {p_{t}^{{e_{t}}}}$]]></tex-math></alternatives></inline-formula> where the <inline-formula id="j_info1148_ineq_002"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${p_{i}}$]]></tex-math></alternatives></inline-formula> are pairwise discrete primes and each <inline-formula id="j_info1148_ineq_003"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>⩾</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${e_{i}}\geqslant 1$]]></tex-math></alternatives></inline-formula>.</p></statement><statement id="j_info1148_stat_002"><label>Definition 2</label>
<title><italic>(GDLP over</italic> <inline-formula id="j_info1148_ineq_004"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${Z_{N}^{\ast }}$]]></tex-math></alternatives></inline-formula><italic>).</italic></title>
<p>Let an integer <inline-formula id="j_info1148_ineq_005"><alternatives><mml:math>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo>∗</mml:mo>
<mml:mi mathvariant="italic">q</mml:mi></mml:math><tex-math><![CDATA[$N=p\ast q$]]></tex-math></alternatives></inline-formula> and <italic>e</italic> be a primitive root for both <inline-formula id="j_info1148_ineq_006"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${Z_{p}^{\ast }}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1148_ineq_007"><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:mo>∗</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${Z_{q}^{\ast }}$]]></tex-math></alternatives></inline-formula>, where <italic>q</italic> and <italic>p</italic> are arbitrary safe primes. Given <inline-formula id="j_info1148_ineq_008"><alternatives><mml:math>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$y={e^{x}}\hspace{2.5pt}(mod\hspace{2.5pt}N)$]]></tex-math></alternatives></inline-formula>, it is computationally intractable to derive <italic>x</italic>.</p></statement>
</sec>
<sec id="j_info1148_s_004">
<label>2.2</label>
<title>Complexity Statement</title>
<p>The security of presented protocol depends on a regular complexity-hypothetical supposition, viz. GDLP and IFP supposition. We survey it as follows.</p>
<sec id="j_info1148_s_005">
<label>2.2.1</label>
<title>GDLP and IFP Supposition</title>
<p>Let <italic>e</italic> be a generator of a multiple group <inline-formula id="j_info1148_ineq_009"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${Z_{N}^{\ast }}$]]></tex-math></alternatives></inline-formula>. The challenger randomly chooses <inline-formula id="j_info1148_ineq_010"><alternatives><mml:math>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<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">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[$u,v,z\in {Z_{p}^{\ast }}$]]></tex-math></alternatives></inline-formula> and a bit <inline-formula id="j_info1148_ineq_011"><alternatives><mml:math>
<mml:mi mathvariant="italic">ξ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<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:math><tex-math><![CDATA[$\xi \in \{0,1\}$]]></tex-math></alternatives></inline-formula>, consistently and autonomously. If <inline-formula id="j_info1148_ineq_012"><alternatives><mml:math>
<mml:mi mathvariant="italic">ξ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$\xi =1$]]></tex-math></alternatives></inline-formula> he/she yields the tuple <inline-formula id="j_info1148_ineq_013"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<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[$(e,{e^{u}}(mod\hspace{2.5pt}N),{e^{v}}(mod\hspace{2.5pt}N),{e^{uv}}(mod\hspace{2.5pt}N))$]]></tex-math></alternatives></inline-formula>, else, he/she yields the tuple <inline-formula id="j_info1148_ineq_014"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">z</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<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[$(e,{e^{u}}(mod\hspace{2.5pt}N),{e^{v}}(mod\hspace{2.5pt}N),{e^{z}}(mod\hspace{2.5pt}N))$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1148_ineq_015"><alternatives><mml:math>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo>∗</mml:mo>
<mml:mi mathvariant="italic">q</mml:mi></mml:math><tex-math><![CDATA[$N=p\ast q$]]></tex-math></alternatives></inline-formula>. Then the adversary yields a guess <inline-formula id="j_info1148_ineq_016"><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[${\xi ^{\prime }}$]]></tex-math></alternatives></inline-formula> of <italic>ξ</italic>. An adversary has an <italic>ϵ</italic> advantage if 
<disp-formula id="j_info1148_eq_001">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mo maxsize="2.03em" minsize="2.03em" stretchy="true">|</mml:mo>
<mml:mi mathvariant="normal">Pr</mml:mi>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true">[</mml:mo>
<mml:mi mathvariant="italic">ξ</mml:mi>
<mml:mo>=</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:mo maxsize="1.19em" minsize="1.19em" fence="true">]</mml:mo>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo maxsize="2.03em" minsize="2.03em" stretchy="true">|</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">ϵ</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \bigg|\mathrm{Pr}\big[\xi ={\xi ^{\prime }}\big]-\frac{1}{2}\bigg|=\epsilon .\]]]></tex-math></alternatives>
</disp-formula> 
<statement id="j_info1148_stat_003"><label>Definition 3.</label>
<p>The decisional <italic>ϵ</italic>-GDLP and IFP hypothesis holds in <italic>G</italic> if not any PPT foe has no less than <italic>ϵ</italic> advantage in resolving the game, which is mentioned in Meshram (<xref ref-type="bibr" rid="j_info1148_ref_016">2015</xref>).</p></statement></p>
</sec>
</sec>
</sec>
<sec id="j_info1148_s_006">
<label>3</label>
<title>The Proposed Scheme</title>
<p>We present an ID-based cryptographic protocol using IFP and GDLP. It consists of four sub-algorithms. These four sub-algorithms are developed as the following:</p>
<sec id="j_info1148_s_007">
<label>3.1</label>
<title>Setup</title>
<p>This algorithm will be done by PKG by taking in security parameter as follows: 
<list>
<list-item id="j_info1148_li_001">
<label>1.</label>
<p>Select an integer <inline-formula id="j_info1148_ineq_017"><alternatives><mml:math>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo>∗</mml:mo>
<mml:mi mathvariant="italic">q</mml:mi></mml:math><tex-math><![CDATA[$N=p\ast q$]]></tex-math></alternatives></inline-formula>, where <italic>q</italic> and <italic>p</italic> are safe prime numbers and compute Euler-phi function <inline-formula id="j_info1148_ineq_018"><alternatives><mml:math>
<mml:mi mathvariant="italic">φ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</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:mi mathvariant="italic">p</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">q</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[$\varphi (N)=(p-1)(q-1)$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_info1148_li_002">
<label>2.</label>
<p>Choose arbitrary integer <italic>e</italic> and unique integer <italic>d</italic>, such that <inline-formula id="j_info1148_ineq_019"><alternatives><mml:math>
<mml:mn>1</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">φ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$1\leqslant e,d\leqslant \varphi (N)$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1148_ineq_020"><alternatives><mml:math>
<mml:mi mathvariant="italic">g</mml:mi>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">φ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$gcd(e,\varphi (N))=1$]]></tex-math></alternatives></inline-formula>, and <inline-formula id="j_info1148_ineq_021"><alternatives><mml:math>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo stretchy="false">≡</mml:mo>
<mml:mn>1</mml:mn>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">φ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<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[$ed\equiv 1\hspace{2.5pt}(mod\hspace{2.5pt}\varphi (N))$]]></tex-math></alternatives></inline-formula> (Rivest <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1148_ref_019">1978</xref>);</p>
</list-item>
<list-item id="j_info1148_li_003">
<label>3.</label>
<p>Generate <italic>k</italic> dimensional secret vectors <inline-formula id="j_info1148_ineq_022"><alternatives><mml:math>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</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">a</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">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</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">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$A=({a_{1}},{a_{2}},{a_{3}},\dots ,{a_{k}})$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1148_ineq_023"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${a_{i}}$]]></tex-math></alternatives></inline-formula> is arbitrary selected from <inline-formula id="j_info1148_ineq_024"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">φ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${Z_{\varphi (N)}^{\ast }}$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_info1148_li_004">
<label>4.</label>
<p>Generate the corresponding <italic>k</italic> dimensional public vectors <inline-formula id="j_info1148_ineq_025"><alternatives><mml:math>
<mml:mi mathvariant="italic">B</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</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">b</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">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</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">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo></mml:math><tex-math><![CDATA[$B=({b_{1}},{b_{2}},{b_{3}},\dots ,{b_{k}}),$]]></tex-math></alternatives></inline-formula> where <inline-formula id="j_info1148_ineq_026"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${b_{i}}={e^{{a_{i}}}}\hspace{2.5pt}(mod\hspace{2.5pt}N)$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1148_ineq_027"><alternatives><mml:math>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<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">k</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$i\in (1,k)$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_info1148_li_005">
<label>5.</label>
<p>Construct cryptographic hash function <inline-formula id="j_info1148_ineq_028"><alternatives><mml:math>
<mml:mi mathvariant="italic">H</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mo>:</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:msup>
<mml:mrow>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<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 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:mspace width="2.5pt"/>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">}</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$H\hspace{2.5pt}:\hspace{2.5pt}{\{0,\hspace{2.5pt}1\}^{\ast }}\to {\{0,\hspace{2.5pt}1\}^{k}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
</list> 
The master key and public parameter of PKG are given by <inline-formula id="j_info1148_ineq_029"><alternatives><mml:math>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mi mathvariant="italic">p</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">d</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$mk=\{p,q,d,A\}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1148_ineq_030"><alternatives><mml:math>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mi mathvariant="italic">m</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">e</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">B</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">H</mml:mi>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$pm=\{N,e,B,H\}$]]></tex-math></alternatives></inline-formula>. For the notational accommodation, we mean the bit length <italic>n</italic> by <inline-formula id="j_info1148_ineq_031"><alternatives><mml:math>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi></mml:math><tex-math><![CDATA[$|N|=n$]]></tex-math></alternatives></inline-formula>.</p>
<p>The algorithm for a particular <inline-formula id="j_info1148_ineq_032"><alternatives><mml:math>
<mml:mi mathvariant="italic">ID</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[$\mathit{ID}\in {\{0,1\}^{\ast }}$]]></tex-math></alternatives></inline-formula> implements the following: 
<list>
<list-item id="j_info1148_li_006">
<label>1.</label>
<p>Compute <inline-formula id="j_info1148_ineq_033"><alternatives><mml:math>
<mml:mi mathvariant="italic">H</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">ID</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo stretchy="false">→</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</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 mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</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="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</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">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$H(\mathit{ID})\to ({h_{1}},{h_{2}},{h_{3}},{h_{4}},\dots ,{h_{k}})$]]></tex-math></alternatives></inline-formula> and suppose that <inline-formula id="j_info1148_ineq_034"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${h_{i}}$]]></tex-math></alternatives></inline-formula> is the <italic>i</italic>th bit of <inline-formula id="j_info1148_ineq_035"><alternatives><mml:math>
<mml:mi mathvariant="italic">H</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">ID</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$H(\mathit{ID})$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1148_ineq_036"><alternatives><mml:math>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<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">k</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$i\in (1,k)$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_info1148_li_007">
<label>2.</label>
<p>Calculate the secret key as follows: 
<disp-formula id="j_info1148_eq_002">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ID</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</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">k</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</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">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</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[\[ {a_{\mathit{ID}}}={\sum \limits_{i=1}^{k}}{h_{i}}{a_{i}}\hspace{2.5pt}(mod\hspace{2.5pt}N);\]]]></tex-math></alternatives>
</disp-formula>
</p>
</list-item>
<list-item id="j_info1148_li_008">
<label>3.</label>
<p>Calculate the resultant public key as follows:</p>
</list-item>
</list> 
<disp-formula id="j_info1148_eq_003">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ID</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</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">k</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</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">k</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</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">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ID</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</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[\[ {b_{\mathit{ID}}}={\prod \limits_{i=1}^{k}}{({b_{i}})^{{h_{i}}}}\hspace{2.5pt}(mod\hspace{2.5pt}N)={\prod \limits_{i=1}^{k}}{({e_{i}})^{{h_{i}}{a_{i}}}}\hspace{2.5pt}(mod\hspace{2.5pt}N)={e^{{a_{\mathit{ID}}}}}\hspace{2.5pt}(mod\hspace{2.5pt}N).\]]]></tex-math></alternatives>
</disp-formula>
</p>
</sec>
<sec id="j_info1148_s_008">
<label>3.2</label>
<title>Encryption</title>
<p>A message <inline-formula id="j_info1148_ineq_037"><alternatives><mml:math>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mspace width="2.5pt"/>
<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\hspace{2.5pt}\in {\{0,1\}^{\ast }}$]]></tex-math></alternatives></inline-formula> is encrypted for <inline-formula id="j_info1148_ineq_038"><alternatives><mml:math>
<mml:mi mathvariant="italic">ID</mml:mi></mml:math><tex-math><![CDATA[$\mathit{ID}$]]></tex-math></alternatives></inline-formula> as follows: 
<list>
<list-item id="j_info1148_li_009">
<label>1.</label>
<p>Compute <inline-formula id="j_info1148_ineq_039"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ID</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ID</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msup>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${C_{1}}={M^{{b_{\mathit{ID}}}}}\hspace{2.5pt}(mod\hspace{2.5pt}N\hspace{2.5pt})={M^{{e^{{a_{\mathit{ID}}}}}}}\hspace{2.5pt}(mod\hspace{2.5pt}N\hspace{2.5pt})$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_info1148_li_010">
<label>2.</label>
<p>Compute the ciphertext <inline-formula id="j_info1148_ineq_040"><alternatives><mml:math>
<mml:mi mathvariant="italic">C</mml:mi>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$C={C_{1}^{e}}\hspace{2.5pt}(mod\hspace{2.5pt}N\hspace{2.5pt})$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
</list>
</p>
</sec>
<sec id="j_info1148_s_009">
<label>3.3</label>
<title>Decryption</title>
<p>To decrypt the ciphertext <italic>C</italic> under identity <inline-formula id="j_info1148_ineq_041"><alternatives><mml:math>
<mml:mi mathvariant="italic">ID</mml:mi></mml:math><tex-math><![CDATA[$\mathit{ID}$]]></tex-math></alternatives></inline-formula> of entity: 
<list>
<list-item id="j_info1148_li_011">
<label>1.</label>
<p>Compute <inline-formula id="j_info1148_ineq_042"><alternatives><mml:math>
<mml:mi mathvariant="italic">δ</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\delta ={C^{d}}(mod\hspace{2.5pt}N)$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_info1148_li_012">
<label>2.</label>
<p>A user can decrypt <italic>C</italic> utilizing his/her secret key <inline-formula id="j_info1148_ineq_043"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ID</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${a_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula> as <inline-formula id="j_info1148_ineq_044"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ID</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\delta ^{{d^{{a_{\mathit{ID}}}}}}}=M\hspace{2.5pt}(mod\hspace{2.5pt}N)$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
</list>
</p>
</sec>
<sec id="j_info1148_s_010">
<label>3.4</label>
<title>Correctness</title>
<disp-formula id="j_info1148_eq_004">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">δ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ID</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ID</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ID</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msup>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ID</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ID</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mo>=</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</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[\[\begin{aligned}{}{\delta ^{{d^{{a_{\mathit{ID}}}}}}}=& {{C_{1}}^{{d^{{a_{\mathit{ID}}}}}}}(mod\hspace{2.5pt}N)={\big({M^{{e^{{a_{\mathit{ID}}}}}}}\big)^{{d^{{a_{\mathit{ID}}}}}}}(mod\hspace{2.5pt}N)={M^{({ed)^{{a_{\mathit{ID}}}}}}}(mod\hspace{2.5pt}N)\\ {} =& M\hspace{2.5pt}(mod\hspace{2.5pt}N).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</sec>
</sec>
<sec id="j_info1148_s_011">
<label>4</label>
<title>Security Analysis</title>
<p>In this area, we demonstrate the security of ID-based cryptographic protocol using the complexity of GDLP and IFP. We demonstrate that ID-based cryptographic protocol is semantically protected against CPA in the random oracle, which has been developed by Boneh and Franklin (<xref ref-type="bibr" rid="j_info1148_ref_003">2001</xref>). <statement id="j_info1148_stat_004"><label>Definition 4.</label>
<p>An ID-based cryptographic protocol is <inline-formula id="j_info1148_ineq_045"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">ϵ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<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[$(t,\epsilon (t))$]]></tex-math></alternatives></inline-formula>-semantically protected against an adaptive CPA, if all Probabilistic Polynomial Time (PPT) foes creating at the most <italic>t</italic> secret key inquiries have at the most an <inline-formula id="j_info1148_ineq_046"><alternatives><mml:math>
<mml:mi mathvariant="italic">ϵ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\epsilon (t)$]]></tex-math></alternatives></inline-formula> advantage in breaking the scheme.</p></statement><statement id="j_info1148_stat_005"><label>Theorem 1.</label>
<p><italic>Suppose that H the cryptographic hash function, be a random oracle, then an</italic> <inline-formula id="j_info1148_ineq_047"><alternatives><mml:math>
<mml:mi mathvariant="italic">ID</mml:mi></mml:math><tex-math><![CDATA[$\mathit{ID}$]]></tex-math></alternatives></inline-formula><italic>-based cryptographic protocol using GDLP and IFP is</italic> <inline-formula id="j_info1148_ineq_048"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">ϵ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<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[$(t,\epsilon (t))$]]></tex-math></alternatives></inline-formula><italic>-semantically protected under the decisional</italic> <inline-formula id="j_info1148_ineq_049"><alternatives><mml:math>
<mml:mi mathvariant="italic">ϵ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mn>2</mml:mn></mml:math><tex-math><![CDATA[$\epsilon (t)(1-\frac{1}{\alpha }-\frac{1}{{2^{t-k}}})/2$]]></tex-math></alternatives></inline-formula><italic>-GDLP and IFP assumption in the random oracle.</italic></p></statement><statement id="j_info1148_stat_006"><label>Proof.</label>
<p>Let <inline-formula id="j_info1148_ineq_050"><alternatives><mml:math>
<mml:mi mathvariant="fraktur">F</mml:mi></mml:math><tex-math><![CDATA[$\mathfrak{F}$]]></tex-math></alternatives></inline-formula> be an IND-ID-CPA foe that has advantage <inline-formula id="j_info1148_ineq_051"><alternatives><mml:math>
<mml:mi mathvariant="italic">ϵ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\epsilon (t)$]]></tex-math></alternatives></inline-formula> against ID-based cryptographic scheme using GDLP and IFP. It means the foe <inline-formula id="j_info1148_ineq_052"><alternatives><mml:math>
<mml:mi mathvariant="fraktur">F</mml:mi></mml:math><tex-math><![CDATA[$\mathfrak{F}$]]></tex-math></alternatives></inline-formula> makes at most <italic>t</italic> queries and gets at least <inline-formula id="j_info1148_ineq_053"><alternatives><mml:math>
<mml:mi mathvariant="italic">ϵ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\epsilon (t)$]]></tex-math></alternatives></inline-formula> advantage in the IND-ID-CPA game.</p>
<p>We created a simulator <inline-formula id="j_info1148_ineq_054"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> as PPT to perform the IFP and GDLP game, which is cited in Meshram (<xref ref-type="bibr" rid="j_info1148_ref_016">2015</xref>). Simulator <inline-formula id="j_info1148_ineq_055"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> proceeds the task (<inline-formula id="j_info1148_ineq_056"><alternatives><mml:math>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$e,A={e^{u}}(mod\hspace{2.5pt}N)$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1148_ineq_057"><alternatives><mml:math>
<mml:mi mathvariant="italic">B</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">Z</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$B={e^{v}}(mod\hspace{2.5pt}N),Z)$]]></tex-math></alternatives></inline-formula> as response and guess an output <inline-formula id="j_info1148_ineq_058"><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[${\xi ^{\prime }}$]]></tex-math></alternatives></inline-formula> of <italic>ξ</italic>, where <inline-formula id="j_info1148_ineq_059"><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 mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">ξ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<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:math><tex-math><![CDATA[${\xi ^{\prime }},\xi \in \{0,1\}$]]></tex-math></alternatives></inline-formula>. To locate a decent guess <inline-formula id="j_info1148_ineq_060"><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[${\xi ^{\prime }}$]]></tex-math></alternatives></inline-formula>, simulator <inline-formula id="j_info1148_ineq_061"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> performs an IND-ID-CPA game with the foe <inline-formula id="j_info1148_ineq_062"><alternatives><mml:math>
<mml:mi mathvariant="fraktur">F</mml:mi></mml:math><tex-math><![CDATA[$\mathfrak{F}$]]></tex-math></alternatives></inline-formula> in the accompanying steps:</p>
<p><bold>Setup:</bold> The simulator <inline-formula id="j_info1148_ineq_063"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> arbitrarily chooses uniformly and independently, <inline-formula id="j_info1148_ineq_064"><alternatives><mml:math>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi></mml:math><tex-math><![CDATA[$tm$]]></tex-math></alternatives></inline-formula>-dimensional binary vector <inline-formula id="j_info1148_ineq_065"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<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">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<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">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi mathvariant="italic">i</mml:mi>
</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">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<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:math><tex-math><![CDATA[${V_{i}}={({h_{1i}},{h_{2i}},{h_{3i}},\dots ,{h_{mi}})^{T}}$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1148_ineq_066"><alternatives><mml:math>
<mml:mn>1</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi></mml:math><tex-math><![CDATA[$1\leqslant i\hspace{2.5pt}\leqslant t$]]></tex-math></alternatives></inline-formula>. Simulator <inline-formula id="j_info1148_ineq_067"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> also selects <inline-formula id="j_info1148_ineq_068"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</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">x</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">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</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">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</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">φ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${x_{1}},{x_{2}},{x_{3}},\dots ,{x_{m}}\in {Z_{\varphi (N)}^{\ast }}$]]></tex-math></alternatives></inline-formula> consistently and individually at random. Then simulator <inline-formula id="j_info1148_ineq_069"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> chooses <inline-formula id="j_info1148_ineq_070"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">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">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="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</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">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</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">φ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${y_{1}},{y_{2}},{y_{3}},\dots ,{y_{m}}\in {Z_{\varphi (N)}^{\ast }}$]]></tex-math></alternatives></inline-formula> that fulfills the accompanying system: 
<disp-formula id="j_info1148_eq_005">
<label>(1)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mfenced separators="" open="[" close="]">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">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">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="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</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">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<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">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>11</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>12</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>13</mml:mn>
</mml:mrow>
</mml:msub>
<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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>21</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>22</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>23</mml:mn>
</mml:mrow>
</mml:msub>
<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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">t</mml:mi>
</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<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">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mfenced separators="" open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="normal">mod</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="normal">N</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mspace width="1em"/>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="normal">mod</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</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{array}{l}\displaystyle \left[{y_{1}},{y_{2}},{y_{3}},\dots ,{y_{m}}\right]\left[\begin{array}{c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c@{\hskip4.0pt}c}{h_{11}}\hspace{1em}& {h_{12}}\hspace{1em}& {h_{13}}\hspace{1em}& \dots \hspace{1em}& {h_{1t}}\\ {} {h_{21}}\hspace{1em}& {h_{22}}\hspace{1em}& {h_{23}}\hspace{1em}& \dots \hspace{1em}& {h_{2t}}\\ {} \vdots \hspace{1em}& \vdots \hspace{1em}& \vdots \hspace{1em}& \dots \hspace{1em}& \vdots \\ {} {h_{m1}}\hspace{1em}& {h_{m2}}\hspace{1em}& {h_{m3}}\hspace{1em}& \dots \hspace{1em}& {h_{mt}}\end{array}\right]\left(\mathrm{mod}\hspace{2.5pt}\mathrm{N}\right)\\ {} \displaystyle \hspace{1em}=[0,\dots 0]\hspace{2.5pt}(\mathrm{mod}\hspace{2.5pt}N)=0.\end{array}\]]]></tex-math></alternatives>
</disp-formula> 
It may be noted that there exist many tuples <inline-formula id="j_info1148_ineq_071"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">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">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="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</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">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</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">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${y_{1}},{y_{2}},{y_{3}},\dots ,{y_{k}}\in {Z_{N}^{\ast }}$]]></tex-math></alternatives></inline-formula> that satisfy the Eq. (<xref rid="j_info1148_eq_005">1</xref>). Simulator <inline-formula id="j_info1148_ineq_072"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> arbitrarily selects any one of them.</p>
<p>The simulator <inline-formula id="j_info1148_ineq_073"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> arranges the public parameter <italic>B</italic> as follows: 
<disp-formula id="j_info1148_eq_006">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">B</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</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[\[ B=\big({A^{{y_{1}}}}{e^{{x_{1}}}},\hspace{2.5pt}{A^{{y_{2}}}}{e^{{x_{2}}}},\hspace{2.5pt}{A^{{y_{3}}}}{e^{{x_{3}}}},\dots ,{A^{{y_{m}}}}{e^{{x_{m}}}}\big)(mod\hspace{2.5pt}N).\]]]></tex-math></alternatives>
</disp-formula> 
Obviously, the analogous master secret key is given by 
<disp-formula id="j_info1148_eq_007">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</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">a</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">a</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="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</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">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</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:mi mathvariant="italic">u</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">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">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">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="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">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="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</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">k</mml:mi>
</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[\[ A=({a_{1}},{a_{2}},{a_{3}},{a_{4}},\dots ,{a_{k}})=(u{y_{1}}+{x_{1}},u{y_{2}}+{x_{2}},u{y_{3}}+{x_{3}},\dots ,u{y_{k}}+{x_{k}}).\]]]></tex-math></alternatives>
</disp-formula> 
Note that <italic>u</italic> is independent of <italic>B</italic>. Simulator <inline-formula id="j_info1148_ineq_074"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> provides the public parameters <inline-formula id="j_info1148_ineq_075"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">B</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(N,e,k,B)$]]></tex-math></alternatives></inline-formula> to the foe <inline-formula id="j_info1148_ineq_076"><alternatives><mml:math>
<mml:mi mathvariant="fraktur">F</mml:mi></mml:math><tex-math><![CDATA[$\mathfrak{F}$]]></tex-math></alternatives></inline-formula>.</p>
<p><bold>Random oracle queries:</bold> In the following stages, the foe <inline-formula id="j_info1148_ineq_077"><alternatives><mml:math>
<mml:mi mathvariant="fraktur">F</mml:mi></mml:math><tex-math><![CDATA[$\mathfrak{F}$]]></tex-math></alternatives></inline-formula> requires to mark inquiries to the random oracle <italic>H</italic>, when he/she requires to acquire hash values. Note the contrast among these random oracle inquiries and the inquiries in the IND-ID-CPA game. The simulator <inline-formula id="j_info1148_ineq_078"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> replies random oracle inquiries in the rest of the stages as explained as follows.</p>
<p><italic>H</italic>-queries: Let <inline-formula id="j_info1148_ineq_079"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${q_{H}}$]]></tex-math></alternatives></inline-formula> be a polynomial upper bound of the quantity of random oracle inquiries. That is, foe <inline-formula id="j_info1148_ineq_080"><alternatives><mml:math>
<mml:mi mathvariant="fraktur">F</mml:mi></mml:math><tex-math><![CDATA[$\mathfrak{F}$]]></tex-math></alternatives></inline-formula> creates at most <inline-formula id="j_info1148_ineq_081"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${q_{H}}$]]></tex-math></alternatives></inline-formula> inquiries to the random oracle <italic>H</italic>. Simulator <inline-formula id="j_info1148_ineq_082"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> arbitrarily selects <inline-formula id="j_info1148_ineq_083"><alternatives><mml:math>
<mml:mi mathvariant="italic">δ</mml:mi>
<mml:mo stretchy="false">⊆</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\delta \subseteq (1,2,\dots ,{q_{H}})$]]></tex-math></alternatives></inline-formula> such that <inline-formula id="j_info1148_ineq_084"><alternatives><mml:math>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">δ</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi></mml:math><tex-math><![CDATA[$|\delta |=t$]]></tex-math></alternatives></inline-formula>. To reply the random oracle inquiries, the simulator <inline-formula id="j_info1148_ineq_085"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> keeps up a list of tuples <inline-formula id="j_info1148_ineq_086"><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:mi mathvariant="italic">H</mml:mi>
<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" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">γ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math><tex-math><![CDATA[$\langle {\mathit{ID}_{i}},H({\mathit{ID}_{i}}),{\gamma _{i}}\rangle $]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1148_ineq_087"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">γ</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:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[${\gamma _{i}}\in \{0,1\}$]]></tex-math></alternatives></inline-formula> is allotted when simulator <inline-formula id="j_info1148_ineq_088"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> reacts to the query and <inline-formula id="j_info1148_ineq_089"><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> is an identity that has showed up in the before random oracle inquiries. Let <inline-formula id="j_info1148_ineq_090"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{L}_{H}}$]]></tex-math></alternatives></inline-formula> signify this list of tuples; toward the starting, <inline-formula id="j_info1148_ineq_091"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{L}_{H}}$]]></tex-math></alternatives></inline-formula> is vacant. Once there is a random oracle inquiry <inline-formula id="j_info1148_ineq_092"><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>, <inline-formula id="j_info1148_ineq_093"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> reacts as follows. 
<list>
<list-item id="j_info1148_li_013">
<label>1.</label>
<p>Simulator <inline-formula id="j_info1148_ineq_094"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> answers with the noted hash value <inline-formula id="j_info1148_ineq_095"><alternatives><mml:math>
<mml:mi mathvariant="italic">H</mml:mi>
<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" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$H({\mathit{ID}_{i}})$]]></tex-math></alternatives></inline-formula>, if <inline-formula id="j_info1148_ineq_096"><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> is already in the list <inline-formula id="j_info1148_ineq_097"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{L}_{H}}$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_info1148_li_014">
<label>2.</label>
<p>Simulator <inline-formula id="j_info1148_ineq_098"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> registers the tuple <inline-formula id="j_info1148_ineq_099"><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:mspace width="0.1667em"/>
<mml:mi mathvariant="italic">H</mml:mi>
<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" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">γ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">⟩</mml:mo>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$\langle {\mathit{ID}_{i}},\hspace{0.1667em}H({\mathit{ID}_{i}}),\hspace{0.1667em}{\gamma _{i}}\rangle \in {\mathcal{L}_{H}}$]]></tex-math></alternatives></inline-formula>, in both cases: (a) In the event that <inline-formula id="j_info1148_ineq_100"><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> is the <italic>i</italic>th new inquiry to the random oracle and <inline-formula id="j_info1148_ineq_101"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">δ</mml:mi></mml:math><tex-math><![CDATA[${i^{\prime }}\in \delta $]]></tex-math></alternatives></inline-formula>, suppose that <inline-formula id="j_info1148_ineq_102"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${i^{\prime }}$]]></tex-math></alternatives></inline-formula> is the <italic>i</italic>th smallest component in <italic>δ</italic>, then <inline-formula id="j_info1148_ineq_103"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> arrangements <inline-formula id="j_info1148_ineq_104"><alternatives><mml:math>
<mml:mi mathvariant="italic">H</mml:mi>
<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" 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">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>″</mml:mo>
</mml:mrow>
</mml:msup>
</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:msup>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>″</mml:mo>
</mml:mrow>
</mml:msup>
</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>3</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>″</mml:mo>
</mml:mrow>
</mml:msup>
</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">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">i</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[$H({\mathit{ID}_{i}})=({h_{1{i^{\prime\prime }}}},{h_{2{i^{\prime\prime }}}},{h_{3{i^{\prime\prime }}}},\dots ,{h_{k{i^{\prime\prime }}}})$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1148_ineq_105"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">γ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${\gamma _{i}}=1$]]></tex-math></alternatives></inline-formula>, something else, (b) <inline-formula id="j_info1148_ineq_106"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> arbitrarily selects a binary string <inline-formula id="j_info1148_ineq_107"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<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">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<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">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi mathvariant="italic">j</mml:mi>
</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">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<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:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${h_{1j}},{h_{2j}},{h_{3j}},\dots ,{h_{kj}}\in {\{0,1\}^{k}}$]]></tex-math></alternatives></inline-formula> that is not in<inline-formula id="j_info1148_ineq_108"><alternatives><mml:math>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$\hspace{2.5pt}{\mathcal{L}_{H}}$]]></tex-math></alternatives></inline-formula>, sets <inline-formula id="j_info1148_ineq_109"><alternatives><mml:math>
<mml:mi mathvariant="italic">H</mml:mi>
<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" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<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">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<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">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi mathvariant="italic">j</mml:mi>
</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">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$H({\mathit{ID}_{i}})={h_{1j}},{h_{2j}},{h_{3j}},\dots ,{h_{kj}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1148_ineq_110"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">γ</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[${\gamma _{i}}=0$]]></tex-math></alternatives></inline-formula>, and answers with <inline-formula id="j_info1148_ineq_111"><alternatives><mml:math>
<mml:mi mathvariant="italic">H</mml:mi>
<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" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$H({\mathit{ID}_{i}})$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
</list> 
Given the above technique for noting random oracle inquiries, we can now portray in what manner the simulator <inline-formula id="j_info1148_ineq_112"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> functions in the rest of the stages of the IND-ID-CPA game.</p>
<p><bold>Stage 1:</bold> For each secrete key extraction query <inline-formula id="j_info1148_ineq_113"><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> allotted through the foe <inline-formula id="j_info1148_ineq_114"><alternatives><mml:math>
<mml:mi mathvariant="fraktur">F</mml:mi></mml:math><tex-math><![CDATA[$\mathfrak{F}$]]></tex-math></alternatives></inline-formula>, simulator <inline-formula id="j_info1148_ineq_115"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> replies as follows: 
<list>
<list-item id="j_info1148_li_015">
<label>1.</label>
<p>Simulator <inline-formula id="j_info1148_ineq_116"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> takes up the IND-ID-CPA game, if <inline-formula id="j_info1148_ineq_117"><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> appears in <inline-formula id="j_info1148_ineq_118"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{L}_{H}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1148_ineq_119"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">γ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">≠</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${\gamma _{i}}\ne 1$]]></tex-math></alternatives></inline-formula>, or <inline-formula id="j_info1148_ineq_120"><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> does not show up in <inline-formula id="j_info1148_ineq_121"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{L}_{H}}$]]></tex-math></alternatives></inline-formula> and all the <inline-formula id="j_info1148_ineq_122"><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> produced in the <italic>Setup stage</italic> have been utilized in responding the earlier inquiries. Specifically, <inline-formula id="j_info1148_ineq_123"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> requires to re-pick <inline-formula id="j_info1148_ineq_124"><alternatives><mml:math>
<mml:mi mathvariant="italic">δ</mml:mi>
<mml:mo stretchy="false">⊆</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\delta \subseteq (1,2,\dots ,{q_{H}})$]]></tex-math></alternatives></inline-formula> in the saved game. Note that simulator <inline-formula id="j_info1148_ineq_125"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> can start over the IND-ID-CPA game at the most <inline-formula id="j_info1148_ineq_126"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mfenced separators="" open="(" close=")">
<mml:mfrac linethickness="0">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mfenced>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(\left(\genfrac{}{}{0pt}{}{{q_{H}}}{t}\right)-1)$]]></tex-math></alternatives></inline-formula> times. In the event that the time of resuming the IND-ID-CPA game surpasses this numeral, then <inline-formula id="j_info1148_ineq_127"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> aborts, yielding a consistently arbitrary bit as <inline-formula id="j_info1148_ineq_128"><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[${\xi ^{\prime }}$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_info1148_li_016">
<label>2.</label>
<p>Simulator <inline-formula id="j_info1148_ineq_129"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> computes <inline-formula id="j_info1148_ineq_130"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</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:msubsup>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${a_{{\mathit{ID}_{i}}}}={\textstyle\sum _{s=1}^{k}}{h^{\prime }_{si}}\hspace{2.5pt}{x_{s}}\hspace{2.5pt}(mod\hspace{2.5pt}N)$]]></tex-math></alternatives></inline-formula>, if <inline-formula id="j_info1148_ineq_131"><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> appears in <inline-formula id="j_info1148_ineq_132"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{L}_{H}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1148_ineq_133"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">γ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${\gamma _{i}}=1$]]></tex-math></alternatives></inline-formula>, and replies with <inline-formula id="j_info1148_ineq_134"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</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[${a_{{\mathit{ID}_{i}}}}$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1148_ineq_135"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${h^{\prime }_{si}}$]]></tex-math></alternatives></inline-formula> is the <italic>s</italic>th bit of noted value <inline-formula id="j_info1148_ineq_136"><alternatives><mml:math>
<mml:mi mathvariant="italic">H</mml:mi>
<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" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$H({\mathit{ID}_{i}})$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_info1148_li_017">
<label>3.</label>
<p>If <inline-formula id="j_info1148_ineq_137"><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> does not show up in <inline-formula id="j_info1148_ineq_138"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{L}_{H}}$]]></tex-math></alternatives></inline-formula> and there exists <inline-formula id="j_info1148_ineq_139"><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> created in the <italic>Setup</italic> stage that was never utilized as a part of reacting to the past inquiries, simulator <inline-formula id="j_info1148_ineq_140"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> selects such a never utilized <inline-formula id="j_info1148_ineq_141"><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>, arrangements <inline-formula id="j_info1148_ineq_142"><alternatives><mml:math>
<mml:mi mathvariant="italic">H</mml:mi>
<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" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<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">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<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">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi mathvariant="italic">j</mml:mi>
</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">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$H({\mathit{ID}_{i}})={h_{1j}},{h_{2j}},{h_{3j}},\dots ,{h_{kj}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1148_ineq_143"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">γ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${\gamma _{i}}=1$]]></tex-math></alternatives></inline-formula>, answers the query using <inline-formula id="j_info1148_ineq_144"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</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:msubsup>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${a_{{\mathit{ID}_{i}}}}={\textstyle\sum _{s=1}^{k}}{h_{si}}\hspace{2.5pt}{x_{s}}\hspace{2.5pt}(mod\hspace{2.5pt}N)$]]></tex-math></alternatives></inline-formula>, and archives the tuple <inline-formula id="j_info1148_ineq_145"><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:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">H</mml:mi>
<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" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">γ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">⟩</mml:mo>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$\langle {\mathit{ID}_{i}},\hspace{2.5pt}H({\mathit{ID}_{i}}),\hspace{2.5pt}{\gamma _{i}}\rangle \in {\mathcal{L}_{H}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
</list> 
Note that 
<disp-formula id="j_info1148_eq_008">
<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="italic">a</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:mtd>
<mml:mtd class="align-even">
<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">s</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mo>=</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<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">s</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mo>=</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mi mathvariant="italic">u</mml:mi>
<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">s</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</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">s</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mo>=</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<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">s</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}{a_{{\mathit{ID}_{i}}}}=& {\sum \limits_{s=1}^{k}}{h_{si}}\hspace{2.5pt}{a_{s}}\hspace{2.5pt}(mod\hspace{2.5pt}N)\\ {} =& {\sum \limits_{s=1}^{k}}{h_{si}}\hspace{2.5pt}{(u{y_{s}}+x_{s}})\hspace{2.5pt}(mod\hspace{2.5pt}N)\\ {} =& u{\sum \limits_{s=1}^{k}}{h_{si}}\hspace{2.5pt}{y_{s}}\hspace{2.5pt}(mod\hspace{2.5pt}N)+{\sum \limits_{s=1}^{k}}{h_{si}}\hspace{2.5pt}{x_{s}}\hspace{2.5pt}(mod\hspace{2.5pt}N)\\ {} =& {\sum \limits_{s=1}^{k}}{h_{si}}\hspace{2.5pt}{x_{s}}\hspace{2.5pt}(mod\hspace{2.5pt}N)\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
where the last equity is because of Eq. (<xref rid="j_info1148_eq_005">1</xref>). So the above task of <inline-formula id="j_info1148_ineq_146"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</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[${a_{{\mathit{ID}_{i}}}}$]]></tex-math></alternatives></inline-formula> is valid.</p>
<p><bold>Challenge:</bold> Formerly the foe <inline-formula id="j_info1148_ineq_147"><alternatives><mml:math>
<mml:mi mathvariant="fraktur">F</mml:mi></mml:math><tex-math><![CDATA[$\mathfrak{F}$]]></tex-math></alternatives></inline-formula> decides that Stage 1 is finished, then he/she submits two plaintexts <inline-formula id="j_info1148_ineq_148"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${M_{0}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1148_ineq_149"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${M_{1}}$]]></tex-math></alternatives></inline-formula> from <inline-formula id="j_info1148_ineq_150"><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:mspace width="2.5pt"/>
<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,\hspace{2.5pt}1\}^{\ast }}$]]></tex-math></alternatives></inline-formula> and an identity <inline-formula id="j_info1148_ineq_151"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ID</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">≠</mml:mo>
<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}_{0}}{\ne \mathit{ID}_{i}}$]]></tex-math></alternatives></inline-formula> shows up in the secret key extraction inquiries. Simulator <inline-formula id="j_info1148_ineq_152"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> arbitrary selects a binary string <inline-formula id="j_info1148_ineq_153"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>10</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>20</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>30</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">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mn>0</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:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">}</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${h_{10}},{h_{20}},{h_{30}},\dots ,{h_{k0}}\in {\{0,\hspace{2.5pt}1\}^{k}}$]]></tex-math></alternatives></inline-formula>. If the binary vector <inline-formula id="j_info1148_ineq_154"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>10</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>20</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>30</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">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<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:math><tex-math><![CDATA[${V_{0}}={({h_{10}},{h_{20}},{h_{30}},\dots ,{h_{k0}})^{T}}$]]></tex-math></alternatives></inline-formula> is a linear combination of <inline-formula id="j_info1148_ineq_155"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${V_{i}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1148_ineq_156"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(1\leqslant i\leqslant t)$]]></tex-math></alternatives></inline-formula>, then simulator <inline-formula id="j_info1148_ineq_157"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> aborts, yielding a consistently random bit as <italic>ξ</italic>’ generally, simulator <inline-formula id="j_info1148_ineq_158"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> calculates <inline-formula id="j_info1148_ineq_159"><alternatives><mml:math>
<mml:mi mathvariant="italic">y</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>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$y={\textstyle\sum _{i=1}^{k}}{h_{i0}}\hspace{2.5pt}{y_{i}}\hspace{2.5pt}(mod\hspace{2.5pt}N)$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1148_ineq_160"><alternatives><mml:math>
<mml:mi mathvariant="italic">x</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>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<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:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$x={\textstyle\sum _{i=1}^{k}}{h_{i0}}\hspace{2.5pt}{x_{i}}\hspace{2.5pt}(mod\hspace{2.5pt}N)$]]></tex-math></alternatives></inline-formula>, and <inline-formula id="j_info1148_ineq_161"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ID</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${z_{{\mathit{ID}_{0}}}}={A^{y}}{e^{x}}\hspace{2.5pt}(mod\hspace{2.5pt}N)={e^{uy+x}}\hspace{2.5pt}(mod\hspace{2.5pt}N)$]]></tex-math></alternatives></inline-formula>. Simulator <inline-formula id="j_info1148_ineq_162"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> archives the tuple <inline-formula id="j_info1148_ineq_163"><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:mn>0</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>10</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>20</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>30</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">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo fence="true" stretchy="false">⟩</mml:mo>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$\langle {\mathit{ID}_{0}},{h_{10}},{h_{20}},{h_{30}},\dots ,{h_{k0}},0\rangle \in {\mathcal{L}_{H}}$]]></tex-math></alternatives></inline-formula>. Next, simulator <inline-formula id="j_info1148_ineq_164"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> selects <italic>β</italic> consistently at arbitrary from <inline-formula id="j_info1148_ineq_165"><alternatives><mml:math>
<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:math><tex-math><![CDATA[$\{0,1\}$]]></tex-math></alternatives></inline-formula> and utilizes the ciphertext 
<disp-formula id="j_info1148_eq_009">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">C</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">u</mml:mi>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msubsup>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ C=\big({M_{\beta }^{{e^{uy+x}}}}\big)(mod\hspace{2.5pt}N)\]]]></tex-math></alternatives>
</disp-formula> 
as the challenge to the foe <inline-formula id="j_info1148_ineq_166"><alternatives><mml:math>
<mml:mi mathvariant="fraktur">F</mml:mi></mml:math><tex-math><![CDATA[$\mathfrak{F}$]]></tex-math></alternatives></inline-formula>.</p>
<p><bold>Stage 2:</bold> The foe <inline-formula id="j_info1148_ineq_167"><alternatives><mml:math>
<mml:mi mathvariant="fraktur">F</mml:mi></mml:math><tex-math><![CDATA[$\mathfrak{F}$]]></tex-math></alternatives></inline-formula> issues secret key extraction queries <inline-formula id="j_info1148_ineq_168"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ID</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">≠</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ID</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</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">ID</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{ID}_{0}}\ne {\mathit{ID}_{s+1}},\dots ,{\mathit{ID}_{t}}$]]></tex-math></alternatives></inline-formula>, and simulator replies in the similar methodology such as in Stage 1.</p>
<p><bold>Guess:</bold> Finally foe <inline-formula id="j_info1148_ineq_169"><alternatives><mml:math>
<mml:mi mathvariant="fraktur">F</mml:mi></mml:math><tex-math><![CDATA[$\mathfrak{F}$]]></tex-math></alternatives></inline-formula> outputs a guess <inline-formula id="j_info1148_ineq_170"><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[${\xi ^{\prime }}$]]></tex-math></alternatives></inline-formula> of <italic>ξ</italic>. Simulator <inline-formula id="j_info1148_ineq_171"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> outputs a guess <inline-formula id="j_info1148_ineq_172"><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[${\xi ^{\prime }}$]]></tex-math></alternatives></inline-formula> of <italic>ξ</italic> using the output <inline-formula id="j_info1148_ineq_173"><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[${\beta ^{\prime }}$]]></tex-math></alternatives></inline-formula> of the foe <inline-formula id="j_info1148_ineq_174"><alternatives><mml:math>
<mml:mi mathvariant="fraktur">F</mml:mi></mml:math><tex-math><![CDATA[$\mathfrak{F}$]]></tex-math></alternatives></inline-formula> such as follows: if <inline-formula id="j_info1148_ineq_175"><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:mi mathvariant="italic">β</mml:mi></mml:math><tex-math><![CDATA[${\beta ^{\prime }}=\beta $]]></tex-math></alternatives></inline-formula>, then <inline-formula id="j_info1148_ineq_176"><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:mn>1</mml:mn></mml:math><tex-math><![CDATA[${\xi ^{\prime }}=1$]]></tex-math></alternatives></inline-formula>; else, <inline-formula id="j_info1148_ineq_177"><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:mn>0</mml:mn></mml:math><tex-math><![CDATA[${\xi ^{\prime }}=0$]]></tex-math></alternatives></inline-formula>.</p>
<p>To lower bound the upside of simulator <inline-formula id="j_info1148_ineq_178"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> which is mentioned above, we first examine a few occasions and dissect their probabilities. Assume that abort is the event that simulator <inline-formula id="j_info1148_ineq_179"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> aborts in the IND-ID-CPA game. We watch that there are two conceivable reasons that simulator <inline-formula id="j_info1148_ineq_180"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> aborts: (1) In Stage 1 or Stage 2, a secret key extraction inquiry prompts take up of the IND-ID-CPA game, yet the quantity of restarting the IND-ID-CPA game surpasses <inline-formula id="j_info1148_ineq_181"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mfenced separators="" open="(" close=")">
<mml:mfrac linethickness="0">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mfenced>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(\left(\genfrac{}{}{0pt}{}{{q_{H}}}{t}\right)-1)$]]></tex-math></alternatives></inline-formula>, (2) In the Challenge stage, the binary vector <inline-formula id="j_info1148_ineq_182"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>10</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>20</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>30</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">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<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:math><tex-math><![CDATA[${V_{0}}={({h_{10}},{h_{20}},{h_{30}},\dots ,{h_{k0}})^{T}}$]]></tex-math></alternatives></inline-formula> is a linear combination of <inline-formula id="j_info1148_ineq_183"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${V_{i}}$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1148_ineq_184"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(1\leqslant i\leqslant t)$]]></tex-math></alternatives></inline-formula>. <statement id="j_info1148_stat_007"><label>Claim 1.</label>
<p><italic>The probability is at the most</italic> <inline-formula id="j_info1148_ineq_185"><alternatives><mml:math><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle></mml:math><tex-math><![CDATA[$\frac{1}{\alpha }$]]></tex-math></alternatives></inline-formula><italic>, if the simulator</italic> <inline-formula id="j_info1148_ineq_186"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> <italic>aborts for goal</italic> <inline-formula id="j_info1148_ineq_187"><alternatives><mml:math>
<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[$(1)$]]></tex-math></alternatives></inline-formula><italic>.</italic></p></statement><statement id="j_info1148_stat_008"><label>Proof.</label>
<p>By one decision of <italic>δ</italic>, the probability that there is a secret key extraction question prompting to pick up of the IND-ID-CPA game is at the most <inline-formula id="j_info1148_ineq_188"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mfenced separators="" open="(" close=")">
<mml:mfrac linethickness="0">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(1-\frac{1}{\left(\genfrac{}{}{0pt}{}{{q_{H}}}{t}\right)})$]]></tex-math></alternatives></inline-formula>. Let <inline-formula id="j_info1148_ineq_189"><alternatives><mml:math>
<mml:mi mathvariant="italic">ω</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfenced separators="" open="(" close=")">
<mml:mfrac linethickness="0">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mfenced>
</mml:math><tex-math><![CDATA[$\omega =\left(\genfrac{}{}{0pt}{}{{q_{H}}}{t}\right)$]]></tex-math></alternatives></inline-formula>, then, the probability that <italic>ω</italic> decisions of <italic>δ</italic> all lead to pick up of the IND-ID-CPA game are at the most <inline-formula id="j_info1148_ineq_190"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ω</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo stretchy="false">≈</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle></mml:math><tex-math><![CDATA[${(1-\frac{1}{\omega })^{\omega }}\approx \frac{1}{\alpha }$]]></tex-math></alternatives></inline-formula>. It means, the probability is at the most <inline-formula id="j_info1148_ineq_191"><alternatives><mml:math><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle></mml:math><tex-math><![CDATA[$\frac{1}{\alpha }$]]></tex-math></alternatives></inline-formula> if simulator <inline-formula id="j_info1148_ineq_192"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> aborts for the first goal.  □</p></statement><statement id="j_info1148_stat_009"><label>Claim 2.</label>
<p><italic>The probability is at the most</italic> <inline-formula id="j_info1148_ineq_193"><alternatives><mml:math><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mstyle></mml:math><tex-math><![CDATA[$\frac{1}{{2^{t-k}}}$]]></tex-math></alternatives></inline-formula> <italic>if the simulator</italic> <inline-formula id="j_info1148_ineq_194"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> <italic>aborts for goal</italic> <inline-formula id="j_info1148_ineq_195"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(2)$]]></tex-math></alternatives></inline-formula><italic>.</italic></p></statement><statement id="j_info1148_stat_010"><label>Proof.</label>
<p>We consider the condition that the binary vector <inline-formula id="j_info1148_ineq_196"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">h</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="italic">h</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:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msubsup>
<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:math><tex-math><![CDATA[${V^{\prime }}={({h^{\prime }_{1}},{h^{\prime }_{2}},\dots ,{h^{\prime }_{k}})^{T}}$]]></tex-math></alternatives></inline-formula> is a linear combination of <inline-formula id="j_info1148_ineq_197"><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_info1148_ineq_198"><alternatives><mml:math>
<mml:mn>1</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$1\leqslant j\leqslant t)$]]></tex-math></alternatives></inline-formula>. Let the matrix <inline-formula id="j_info1148_ineq_199"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</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: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">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="italic">V</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">V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</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">V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">V</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_{t(k+1)}}=({V_{1}},{V_{2}},{V_{3}},\dots ,{V_{t}},{V^{\prime }})$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1148_ineq_200"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</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:mo mathvariant="normal">&lt;</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi></mml:math><tex-math><![CDATA[$(k+1)<t$]]></tex-math></alternatives></inline-formula>. By observing that, the matrix is a linear combination of above condition. Assume the rank of matrix <inline-formula id="j_info1148_ineq_201"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</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:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${M_{t(k+1)}}$]]></tex-math></alternatives></inline-formula> is <inline-formula id="j_info1148_ineq_202"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${t^{\prime }}$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1148_ineq_203"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi></mml:math><tex-math><![CDATA[${t^{\prime }}\leqslant k$]]></tex-math></alternatives></inline-formula>. That is, there exist <inline-formula id="j_info1148_ineq_204"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${t^{\prime }}$]]></tex-math></alternatives></inline-formula> rows of the matrix <inline-formula id="j_info1148_ineq_205"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</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:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${M_{t(k+1)}}$]]></tex-math></alternatives></inline-formula> that are linearly independent. Without loss of all-inclusive statement, expect that the main <inline-formula id="j_info1148_ineq_206"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${t^{\prime }}$]]></tex-math></alternatives></inline-formula> rows of <inline-formula id="j_info1148_ineq_207"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${M_{k(t+1)}}$]]></tex-math></alternatives></inline-formula> are linearly independent. Let <inline-formula id="j_info1148_ineq_208"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${M_{{t^{\prime }}{t^{\prime }}}}$]]></tex-math></alternatives></inline-formula> indicate the <inline-formula id="j_info1148_ineq_209"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${t^{\prime }}$]]></tex-math></alternatives></inline-formula>-dimensional vector comprising of the linearly independent elements of <inline-formula id="j_info1148_ineq_210"><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_info1148_ineq_211"><alternatives><mml:math>
<mml:mn>1</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$1\leqslant j\leqslant t)$]]></tex-math></alternatives></inline-formula>. So we observe that <inline-formula id="j_info1148_ineq_212"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo>⩽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msup>
<mml:mo>⩽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${|M_{{t^{\prime }}{t^{\prime }}}}|\leqslant {2^{{t^{\prime }}}}\leqslant {2^{k}}$]]></tex-math></alternatives></inline-formula>. But there are totally <inline-formula id="j_info1148_ineq_213"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="italic">t</mml:mi></mml:math><tex-math><![CDATA[${2^{t}}t$]]></tex-math></alternatives></inline-formula>-dimensional binary vectors, the probability that the simulator <inline-formula id="j_info1148_ineq_214"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> aborts for <inline-formula id="j_info1148_ineq_215"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${V^{\prime }}$]]></tex-math></alternatives></inline-formula> is linear combination of <inline-formula id="j_info1148_ineq_216"><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_info1148_ineq_217"><alternatives><mml:math>
<mml:mn>1</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$1\leqslant j\leqslant t)$]]></tex-math></alternatives></inline-formula> is <inline-formula id="j_info1148_ineq_218"><alternatives><mml:math><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mstyle></mml:math><tex-math><![CDATA[$\frac{1}{{2^{t-k}}}$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1148_ineq_219"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(k<t)$]]></tex-math></alternatives></inline-formula>.</p>
<p>Combining Claims <xref rid="j_info1148_stat_007">1</xref> and <xref rid="j_info1148_stat_009">2</xref>, we have the probability that simulator <inline-formula id="j_info1148_ineq_220"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> aborts at the most <inline-formula id="j_info1148_ineq_221"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>+</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(\frac{1}{\alpha }+\frac{1}{{2^{t-k}}})$]]></tex-math></alternatives></inline-formula>. Therefore, the probability that simulator <inline-formula id="j_info1148_ineq_222"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> does not abort is at least <inline-formula id="j_info1148_ineq_223"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(1-\frac{1}{\alpha }-\frac{1}{{2^{t-k}}})$]]></tex-math></alternatives></inline-formula>. The provisional probability that <inline-formula id="j_info1148_ineq_224"><alternatives><mml:math>
<mml:mi mathvariant="italic">ξ</mml:mi>
<mml:mo>=</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[$\xi ={\xi ^{\prime }}$]]></tex-math></alternatives></inline-formula> on condition that simulator <inline-formula id="j_info1148_ineq_225"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula> does not abort is <inline-formula id="j_info1148_ineq_226"><alternatives><mml:math>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="normal">Pr</mml:mi>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mi mathvariant="italic">ξ</mml:mi>
<mml:mo>=</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:mo stretchy="false">|</mml:mo><mml:mover accent="false">
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mo accent="true">‾</mml:mo></mml:mover>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo 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:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$|\mathrm{Pr}[\xi ={\xi ^{\prime }}|\overline{abort}]-\frac{1}{2}|\geqslant \epsilon (t)$]]></tex-math></alternatives></inline-formula>. To prove Theorem <xref rid="j_info1148_stat_005">1</xref>, we obtain the advantage of the simulator <inline-formula id="j_info1148_ineq_227"><alternatives><mml:math>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\hspace{2.5pt}\mathcal{S}$]]></tex-math></alternatives></inline-formula> by above claim <inline-formula id="j_info1148_ineq_228"><alternatives><mml:math>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mi mathvariant="italic">ξ</mml:mi>
<mml:mo>=</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:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mi mathvariant="italic">ξ</mml:mi>
<mml:mo>=</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:mo stretchy="false">|</mml:mo><mml:mover accent="false">
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mo accent="true">‾</mml:mo></mml:mover>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mi mathvariant="normal">Pr</mml:mi>
<mml:mo fence="true" stretchy="false">[</mml:mo><mml:mover accent="false">
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mi mathvariant="italic">b</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mo accent="true">‾</mml:mo></mml:mover>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo>⩾</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">ϵ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$Pr[\xi ={\xi ^{\prime }}]=Pr[\xi ={\xi ^{\prime }}|\overline{abort}]\mathrm{Pr}[\overline{abort}]\geqslant \frac{\epsilon (t)}{2}(1-\frac{1}{\alpha }-\frac{1}{{2^{t-k}}})$]]></tex-math></alternatives></inline-formula>. This finishes the proof of Theorem <xref rid="j_info1148_stat_005">1</xref>.  □</p></statement> □</p></statement></p>
</sec>
<sec id="j_info1148_s_012">
<label>5</label>
<title>Execution Comparison with Other Protocols</title>
<p>In this area, we have discussed eight record widely-used ID-based cryptographic protocols and analysed their execution. These eight ID-based cryptographic protocols are: Boneh and Franklin’s protocol (Boneh and Franklin, <xref ref-type="bibr" rid="j_info1148_ref_003">2001</xref>), Cocks’s protocol (Cocks, <xref ref-type="bibr" rid="j_info1148_ref_006">2001</xref>), Lynn’s protocol (Lynn, <xref ref-type="bibr" rid="j_info1148_ref_015">2002</xref>), Boneh and Boyen’s protocol (Boneh and Boyen, <xref ref-type="bibr" rid="j_info1148_ref_002">2004b</xref>), Gentry and Silverberg’s protocol (Gentry and Silverberg, <xref ref-type="bibr" rid="j_info1148_ref_010">2002</xref>), Water’s protocol (Waters, <xref ref-type="bibr" rid="j_info1148_ref_022">2005</xref>), Meshram et al.’s protocol (Meshram <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1148_ref_018">2012</xref>), Meshram’s protocol (Meshram, <xref ref-type="bibr" rid="j_info1148_ref_016">2015</xref>), and our proposed protocol based on IFP and GDLP. These ID-based cryptographic protocols have diverse execution on server for assessing encryption process execution, decryption process execution, and computational cost.</p>
<p>Notations utilized as a part of this calculation are as follows:</p>
<p><inline-formula id="j_info1148_ineq_229"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{P}}$]]></tex-math></alternatives></inline-formula> – the time of acting a pairing operation.</p>
<p><inline-formula id="j_info1148_ineq_230"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{M}}$]]></tex-math></alternatives></inline-formula> – the time of acting a modular multiplication.</p>
<p><inline-formula id="j_info1148_ineq_231"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{e}}$]]></tex-math></alternatives></inline-formula> – the time of acting a modular exponentiation in group.</p>
<p><inline-formula id="j_info1148_ineq_232"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{m}}$]]></tex-math></alternatives></inline-formula> – the time of acting a scalar or point multiplication in group.</p>
<p><inline-formula id="j_info1148_ineq_233"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{x}}$]]></tex-math></alternatives></inline-formula> – the time of acting an XOR operation.</p>
<p><inline-formula id="j_info1148_ineq_234"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{H}}$]]></tex-math></alternatives></inline-formula> – the time of acting a map to point hash function.</p>
<p><inline-formula id="j_info1148_ineq_235"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{h}}$]]></tex-math></alternatives></inline-formula> – the time of acting a one way hash function.</p>
<p><inline-formula id="j_info1148_ineq_236"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{a}}$]]></tex-math></alternatives></inline-formula> – the time of acting a modular addition operation.</p>
<p><inline-formula id="j_info1148_ineq_237"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{i}}$]]></tex-math></alternatives></inline-formula> – the time of acting a modular inverses operation.</p>
<p><inline-formula id="j_info1148_ineq_238"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{j}}$]]></tex-math></alternatives></inline-formula> – the time of acting a Jacobi symbol operation.</p>
<p>As we as a whole know, the time of implementing a pairing operation <inline-formula id="j_info1148_ineq_239"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{P}}$]]></tex-math></alternatives></inline-formula> is additional time overriding new operations. Some execution simulation results (Boneh and Franklin, <xref ref-type="bibr" rid="j_info1148_ref_003">2001</xref>; Cui <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1148_ref_007">2006</xref>) demonstrate that <inline-formula id="j_info1148_ineq_240"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{a}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1148_ineq_241"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{h}}$]]></tex-math></alternatives></inline-formula> are insignificant in examination with <inline-formula id="j_info1148_ineq_242"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{e}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1148_ineq_243"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{M}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1148_ineq_244"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{x}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1148_ineq_245"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{H}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1148_ineq_246"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{i}}$]]></tex-math></alternatives></inline-formula>, and <inline-formula id="j_info1148_ineq_247"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{j}}$]]></tex-math></alternatives></inline-formula>.</p>
<p>It is to be noted that encryption algorithmic phase and decryption algorithmic phase are the dominating process in terms of computation cost compared to setup and extract phases as they are executed only once. Thus, we consider only the encryption and decryption phase and accordingly compare the proposed ID-based cryptographic schemes with Cocks (<xref ref-type="bibr" rid="j_info1148_ref_006">2001</xref>), Boneh and Franklin (<xref ref-type="bibr" rid="j_info1148_ref_003">2001</xref>), Boneh and Boyen (<xref ref-type="bibr" rid="j_info1148_ref_002">2004b</xref>), Waters (<xref ref-type="bibr" rid="j_info1148_ref_022">2005</xref>), Meshram <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1148_ref_018">2012</xref>), Meshram (<xref ref-type="bibr" rid="j_info1148_ref_016">2015</xref>), Lynn (<xref ref-type="bibr" rid="j_info1148_ref_015">2002</xref>), Gentry and Silverberg (<xref ref-type="bibr" rid="j_info1148_ref_010">2002</xref>). We demonstrate the comparative result in Table <xref rid="j_info1148_tab_001">1</xref> in terms of computational cost and security properties.</p>
<table-wrap id="j_info1148_tab_001">
<label>Table 1</label>
<caption>
<p>Comparisons among our presented protocol and former protocols.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">ID-based cryptographic schemes</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><inline-formula id="j_info1148_ineq_248"><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:math><tex-math><![CDATA[${F_{1}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><inline-formula id="j_info1148_ineq_249"><alternatives><mml:math>
<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:math><tex-math><![CDATA[${F_{2}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><inline-formula id="j_info1148_ineq_250"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${F_{3}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><inline-formula id="j_info1148_ineq_251"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${F_{4}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><inline-formula id="j_info1148_ineq_252"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${F_{5}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><inline-formula id="j_info1148_ineq_253"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${F_{6}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><inline-formula id="j_info1148_ineq_254"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${F_{7}}$]]></tex-math></alternatives></inline-formula></td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">Boneh and Franklin’s scheme (Boneh and Franklin, <xref ref-type="bibr" rid="j_info1148_ref_003">2001</xref>)</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_255"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</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">H</mml:mi>
</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">h</mml:mi>
</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">e</mml:mi>
</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">m</mml:mi>
</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">x</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{P}}+{T_{H}}+{T_{h}}+{T_{e}}+{T_{m}}+{T_{x}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_256"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</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">h</mml:mi>
</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">x</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{P}}+{T_{h}}+{T_{x}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_257"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">T</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">T</mml:mi>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</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">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${2T_{P}}+T+T+{T_{e}}+{T_{m}}+2{T_{x}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">Yes</td>
<td style="vertical-align: top; text-align: left">No</td>
<td style="vertical-align: top; text-align: left">Yes</td>
<td style="vertical-align: top; text-align: left">Yes</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Cocks’s scheme (Cocks, <xref ref-type="bibr" rid="j_info1148_ref_006">2001</xref>)</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_258"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">J</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{J}}+2{T_{a}}+2{T_{M}}+2{T_{i}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_259"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">J</mml:mi>
</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">a</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{J}}+{T_{a}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_260"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>3</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${2T_{j}}+3{T_{a}}+2{T_{M}}+2{T_{i}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">No</td>
<td style="vertical-align: top; text-align: left">No</td>
<td style="vertical-align: top; text-align: left">No</td>
<td style="vertical-align: top; text-align: left">No</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Lynn’s scheme (Lynn, <xref ref-type="bibr" rid="j_info1148_ref_015">2002</xref>)</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_261"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</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">H</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>3</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</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">x</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{P}}+{T_{H}}+3{T_{h}}+{T_{x}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_262"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</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">H</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>3</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</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">x</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{P}}+{T_{H}}+3{T_{h}}+{T_{x}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_263"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>6</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${2T_{P}}+{2T_{H}}+6{T_{h}}+2{T_{x}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">Yes</td>
<td style="vertical-align: top; text-align: left">No</td>
<td style="vertical-align: top; text-align: left">No</td>
<td style="vertical-align: top; text-align: left">Yes</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Boneh and Boyen’s scheme (Boneh and Boyen, <xref ref-type="bibr" rid="j_info1148_ref_002">2004b</xref>)</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_264"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>4</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{P}}+4{T_{e}}+2{T_{M}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_265"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</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">e</mml:mi>
</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">M</mml:mi>
</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">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{P}}+{T_{e}}+{T_{M}}+{T_{i}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_266"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>5</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>3</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</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">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${2T_{P}}+5{T_{e}}+3{T_{M}}+{T_{i}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">No</td>
<td style="vertical-align: top; text-align: left">No</td>
<td style="vertical-align: top; text-align: left">Yes</td>
<td style="vertical-align: top; text-align: left">No</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Gentry et al.’s scheme (Gentry and Silverberg, <xref ref-type="bibr" rid="j_info1148_ref_010">2002</xref>)</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_267"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</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">H</mml:mi>
</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">h</mml:mi>
</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">e</mml:mi>
</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">m</mml:mi>
</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">x</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{P}}+{T_{H}}+{T_{h}}+{T_{e}}+{T_{m}}+{T_{x}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_268"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</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">h</mml:mi>
</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">x</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{P}}+{T_{h}}+{T_{x}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_269"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</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">H</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</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">e</mml:mi>
</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">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${2T_{P}}+{T_{H}}+2{T_{h}}+{T_{e}}+{T_{m}}+2{T_{x}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">Yes</td>
<td style="vertical-align: top; text-align: left">No</td>
<td style="vertical-align: top; text-align: left">No</td>
<td style="vertical-align: top; text-align: left">Yes</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Water’s scheme (Waters, <xref ref-type="bibr" rid="j_info1148_ref_022">2005</xref>)</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_270"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${2T_{P}}+{3T_{m}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_271"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</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">m</mml:mi>
</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">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${2T_{P}}+{T_{m}}+{T_{i}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_272"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</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">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${4T_{P}}+{4T_{m}}+{T_{i}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">No</td>
<td style="vertical-align: top; text-align: left">No</td>
<td style="vertical-align: top; text-align: left">No</td>
<td style="vertical-align: top; text-align: left">No</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Meshram et al.’s scheme (Meshram <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1148_ref_018">2012</xref>)</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_273"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</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">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${4T_{e}}+{T_{m}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_274"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${3T_{e}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_275"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mn>7</mml:mn>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</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">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${7T_{e}}+{T_{m}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">No</td>
<td style="vertical-align: top; text-align: left">No</td>
<td style="vertical-align: top; text-align: left">No</td>
<td style="vertical-align: top; text-align: left">No</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Meshram’s scheme (Meshram, <xref ref-type="bibr" rid="j_info1148_ref_016">2015</xref>)</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_276"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</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">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${2T_{e}}+{T_{m}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_277"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</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">m</mml:mi>
</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">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{e}}+{T_{m}}+{T_{i}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_info1148_ineq_278"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</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">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${3T_{e}}+{2T_{m}}+{T_{i}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">Yes</td>
<td style="vertical-align: top; text-align: left">No</td>
<td style="vertical-align: top; text-align: left">Yes</td>
<td style="vertical-align: top; text-align: left">No</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Our scheme</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1148_ineq_279"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${2T_{e}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1148_ineq_280"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</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">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${2T_{e}}+{T_{m}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_info1148_ineq_281"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</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">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${4T_{e}}+{T_{m}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Yes</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">No</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Yes</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">No</td>
</tr>
</tbody>
</table>
</table-wrap>
<p><inline-formula id="j_info1148_ineq_282"><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:math><tex-math><![CDATA[${F_{1}}$]]></tex-math></alternatives></inline-formula>: <italic>Computational cost for encryption phase</italic>; <inline-formula id="j_info1148_ineq_283"><alternatives><mml:math>
<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:math><tex-math><![CDATA[${F_{2}}$]]></tex-math></alternatives></inline-formula>: <italic>Computational cost for decryption phase</italic>; <inline-formula id="j_info1148_ineq_284"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${F_{3}}$]]></tex-math></alternatives></inline-formula>: <italic>Overall computational cost for encryption and decryption phases</italic>; <inline-formula id="j_info1148_ineq_285"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${F_{4}}$]]></tex-math></alternatives></inline-formula>: <italic>Provides provable security in random oracle model</italic>; <inline-formula id="j_info1148_ineq_286"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${F_{5}}$]]></tex-math></alternatives></inline-formula>: <italic>Provides security in standard model</italic>; <inline-formula id="j_info1148_ineq_287"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${F_{6}}$]]></tex-math></alternatives></inline-formula>: <italic>Provides security in CPA</italic>; <inline-formula id="j_info1148_ineq_288"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${F_{7}}$]]></tex-math></alternatives></inline-formula>: <italic>Provides security in CCA</italic>.</p>
<p>It may be noted that the presented ID-based cryptographic protocol using IFP and GDLP designed in this paper bears lower computational cost than (Cocks, <xref ref-type="bibr" rid="j_info1148_ref_006">2001</xref>; Boneh and Franklin, <xref ref-type="bibr" rid="j_info1148_ref_003">2001</xref>; Boneh and Boyen, <xref ref-type="bibr" rid="j_info1148_ref_002">2004b</xref>; Waters, <xref ref-type="bibr" rid="j_info1148_ref_022">2005</xref>; Meshram <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1148_ref_018">2012</xref>; Meshram, <xref ref-type="bibr" rid="j_info1148_ref_016">2015</xref>; Lynn, <xref ref-type="bibr" rid="j_info1148_ref_015">2002</xref>; Gentry and Silverberg, <xref ref-type="bibr" rid="j_info1148_ref_010">2002</xref>) and is more provably secure in random oracle than (Cocks, <xref ref-type="bibr" rid="j_info1148_ref_006">2001</xref>; Boneh and Boyen, <xref ref-type="bibr" rid="j_info1148_ref_002">2004b</xref>; Waters, <xref ref-type="bibr" rid="j_info1148_ref_022">2005</xref>; Meshram <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1148_ref_018">2012</xref>).</p>
</sec>
<sec id="j_info1148_s_013">
<label>6</label>
<title>Applications and Future Scope</title>
<p>Various analysts have as of late begun considering the utilization of ID-based cryptographic protocol in grid security. Our proposed ID-based cryptographic protocol has been designed using IFP and GDLP. By using our technique, we will develop an ID-based encryption model based on lightweight public key management techniques. It has small sizes key pair’s private and public keys as contrasted to other ID-based cryptographic protocols available in literature. It is more benefited in grid security architecture. The grid environment may have a huge amount of members that join and leave after some time and that certificates are utilized widely for each employment accommodation. This would definitely muddle key administration and intensification of the bandwidth necessity of a grid system. It was likewise noticed that these issues could be rearranged by utilizing certificate-free ID-based cryptographic protocol. Moreover, in the ID-based cryptographic setting, a user’s public key can be made and utilized promptly without the requirement for a public key certificate to be sent to the expected beneficiary (ordinarily via a Transport Layer Security (TLS) handshake). Be that as it may, as far as anyone knows, the dynamic utilization of ID-based keys was ruined by some conventional impediments of ID-based cryptographic protocol, for example, key escrow and the need to circulate private keys through secure channels. All the more critically, a portion of the fundamental security prerequisites wanted in the Globus Toolkit (GT) requires utilizing proxy qualifications for single sign-on and delegation, but our developed ID-based schemes are free from certificate and key escrow problems.</p>
<p>Pay-TV system broadcasts signals of TV channels to a great number of consumers. To enjoy these TV programs, each customer needs only a television, a set-top box and a smart card (conceivably connected to the decoder box). Since there is just a restricted correspondence channel from the administration supplier to the customer, it is necessary to find ways to make sure that only those consumers who fulfill the payment criteria are able to recover the TV signals. Likewise the service provider needs to make it difficult to duplicate the decoder box and make it easy to trace out the traitors if there are any pirate decoder boxes. We notice that pay-TV system is an application just identical to broadcast encryption.</p>
<p>Pay-TV system is an application identical to broadcast encryption on that just supporters who have satisfied the payment criteria are skilled to decrypt the encrypted TV signals. Any broadcast encryption scheme that is collusion resistant and with revocation ability can be used to construct a pay-TV system. A trivial way for constructing a broadcast encryption scheme (pay-TV system) is encrypting TV programs separately for each subscriber using our ID-based cryptographic protocol using IFP and GDLP. It will be a waste of bandwidth, so we improve the scheme by using the subset-cover framework. We evaluated our broadcast encryption scheme in terms of transmission cost (message header), storage (number of secret keys per user and public key size), as well as computational complexity (encryption and decryption cost) per user. The efficiency of our scheme is comparable to the symmetric Subset Difference (SD) scheme and the asymmetric (public key) SD scheme. The difference is that our scheme relies on tamper resistant smart card to achieve an efficient ID-based cryptographic protocol, so it is applicable to applications where smart cards are preferred. For instance, when subscribing for pay-TV service, what people need is a smart card issued by the providers, while they can buy all kinds of favourite set-top boxes from the market.</p>
<sec id="j_info1148_s_014">
<label>6.1</label>
<title>Proposed Chosen Ciphertext Attack (CCA)-Secure ID-Based Scheme Based on IFP and GDLP</title>
<p>New proposed Chosen Ciphertext Attack (CCA)-secure ID-based scheme based on IFP and GDLP is described in four sub-algorithms such as Setup, Extraction, Encryption and Decryption, which are shown as follows.</p>
<p><bold>Setup:</bold> The <italic>Setup</italic> algorithm is same as only steps 1–5 in Section <xref rid="j_info1148_s_006">3</xref> of the present paper. The different steps from scheme are as follows: 
<list>
<list-item id="j_info1148_li_018">
<label>1.</label>
<p>Construct Hash functions <inline-formula id="j_info1148_ineq_289"><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_info1148_ineq_290"><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 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:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\{0,1\}^{\ast }}\to {\{0,1\}^{k}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1148_ineq_291"><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_info1148_ineq_292"><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:mo>∗</mml:mo>
</mml:mrow>
</mml:msubsup>
<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:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${Z_{q}^{\ast }}\to {\{0,1\}^{t}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1148_ineq_293"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${H_{3}}$]]></tex-math></alternatives></inline-formula>: <inline-formula id="j_info1148_ineq_294"><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:mo>∗</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>×</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:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msup>
<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">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∗</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${Z_{q}^{\ast }}\times {\{0,1\}^{t}}\to {Z_{N}^{\ast }}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
</list> 
The master key of PKG is set to be <inline-formula id="j_info1148_ineq_295"><alternatives><mml:math>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mi mathvariant="italic">p</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">d</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$mk=\{p,q,d,A\}$]]></tex-math></alternatives></inline-formula> and the public parameters of PKG are <inline-formula id="j_info1148_ineq_296"><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">e</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">B</mml:mi>
<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 mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$pp=\{N,e,B,{H_{1}},{H_{2}},{H_{3}}\}$]]></tex-math></alternatives></inline-formula>.</p>
<p><bold>Extract:</bold> The <italic>Extract</italic> algorithm is same as only steps 1–2 in Section <xref rid="j_info1148_s_006">3</xref> of the present paper. The different steps from scheme are as follows: 
<list>
<list-item id="j_info1148_li_019">
<label>1.</label>
<p>Calculate the analogous public key as follows: 
<disp-formula id="j_info1148_eq_010">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ID</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>=</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">k</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">h</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">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ID</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">o</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">N</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[\[ {b_{\mathit{ID}}}={\prod \limits_{i=1}^{K}}{({b_{i}})^{{h_{i}}}}={\prod \limits_{i=1}^{k}}{({e_{i}})^{{h_{i}}{a_{i}}}}={e^{{a_{\mathit{ID}}}}}(mod\hspace{2.5pt}N).\]]]></tex-math></alternatives>
</disp-formula>
</p>
</list-item>
</list> 
<bold>Encryption:</bold> A message <inline-formula id="j_info1148_ineq_297"><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:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$M\in {\{0,1\}^{m}}$]]></tex-math></alternatives></inline-formula> is encrypted for <inline-formula id="j_info1148_ineq_298"><alternatives><mml:math>
<mml:mi mathvariant="italic">ID</mml:mi></mml:math><tex-math><![CDATA[$\mathit{ID}$]]></tex-math></alternatives></inline-formula> as follows: 
<list>
<list-item id="j_info1148_li_020">
<label>1.</label>
<p>Pick random value <inline-formula id="j_info1148_ineq_299"><alternatives><mml:math>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo stretchy="false">∈</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\in {Z_{q}}$]]></tex-math></alternatives></inline-formula> and compute 
<disp-formula id="j_info1148_eq_011">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ID</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">H</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:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {C_{1}}=r{{b_{\mathit{ID}}}^{{H_{3}}(r,M)}}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
</list-item>
<list-item id="j_info1148_li_021">
<label>2.</label>
<p>Compute <inline-formula id="j_info1148_ineq_300"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">H</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:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${C_{2}}={d^{{H_{3}}(r,M)}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1148_ineq_301"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo largeop="false" movablelimits="false">⨁</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">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${C_{3}}=M\textstyle\bigoplus {H_{2}}(r)$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
</list> 
The cipertext is given by <inline-formula id="j_info1148_ineq_302"><alternatives><mml:math>
<mml:mi mathvariant="italic">C</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</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">C</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">C</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:math><tex-math><![CDATA[$C=({C_{1}},{C_{2}},{C_{3}})$]]></tex-math></alternatives></inline-formula>.</p>
<p><bold>Decryption:</bold> To decrypt <inline-formula id="j_info1148_ineq_303"><alternatives><mml:math>
<mml:mi mathvariant="italic">C</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</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">C</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">C</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:math><tex-math><![CDATA[$C=({C_{1}},{C_{2}},{C_{3}})$]]></tex-math></alternatives></inline-formula> under entities identity <inline-formula id="j_info1148_ineq_304"><alternatives><mml:math>
<mml:mi mathvariant="italic">ID</mml:mi></mml:math><tex-math><![CDATA[$\mathit{ID}$]]></tex-math></alternatives></inline-formula>, the user can decrypt <italic>C</italic> utilizing his <inline-formula id="j_info1148_ineq_305"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ID</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${a_{\mathit{ID}}}$]]></tex-math></alternatives></inline-formula> as follows: 
<disp-formula id="j_info1148_eq_012">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub><mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">⨁</mml:mo></mml:mstyle>
<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 maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>∗</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ID</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {C_{3}}\bigoplus {H_{2}}\big({C_{1}}\ast \hspace{2.5pt}{C_{2}^{{a_{\mathit{ID}}}}}\big).\]]]></tex-math></alternatives>
</disp-formula>
</p>
</sec>
</sec>
<sec id="j_info1148_s_015">
<label>7</label>
<title>Conclusion</title>
<p>In the present study, we deal with innovative development model for ID-based cryptographic protocol, its unforgeability can be lessened to the complexity of the IFP and GDLP. IFP and GDLP are major obstinate issues in cryptography. The time execution costs of our presented ID-based cryptographic protocol are nearly as low as the ElGamal cryptosystem using ID-based cryptographic protocol. Moreover, it has a very low computational cost. It is anything but difficult to observe that proposed ID-based cryptographic protocol requires that <inline-formula id="j_info1148_ineq_306"><alternatives><mml:math>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi></mml:math><tex-math><![CDATA[$t<k$]]></tex-math></alternatives></inline-formula>, i.e. that the general number of secret key extraction inquiries ought to be not as much as <italic>k</italic>. The remarkable open problem is whether we can develop an ID-based cryptographic protocol that has comparable efficiency, however does not require <inline-formula id="j_info1148_ineq_307"><alternatives><mml:math>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi></mml:math><tex-math><![CDATA[$t<k$]]></tex-math></alternatives></inline-formula>.</p>
</sec>
</body>
<back>
<ack id="j_info1148_ack_001">
<title>Acknowledgements</title>
<p>The author would like to thank both anonymous reviewers for their helpful advice. This work was supported by Dr. D.S. Kothari fellowship awarded by University Grants Commission, New Delhi, India.</p></ack>
<ref-list id="j_info1148_reflist_001">
<title>References</title>
<ref id="j_info1148_ref_001">
<mixed-citation publication-type="journal"><string-name><surname>Boneh</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Boyen</surname>, <given-names>X.</given-names></string-name> (<year>2004</year>a). <article-title>Secure identity based encryption without random oracles</article-title>. <source>Lecture Notes in Computer Science</source>, <volume>3152</volume>, <fpage>443</fpage>–<lpage>459</lpage>.</mixed-citation>
</ref>
<ref id="j_info1148_ref_002">
<mixed-citation publication-type="journal"><string-name><surname>Boneh</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Boyen</surname>, <given-names>X.</given-names></string-name> (<year>2004</year>b). <article-title>Efficient selective-id secure identity based encryption without random oracles</article-title>. <source>Lecture Notes in Computer Science</source>, <volume>3027</volume>, <fpage>223</fpage>–<lpage>238</lpage>.</mixed-citation>
</ref>
<ref id="j_info1148_ref_003">
<mixed-citation publication-type="journal"><string-name><surname>Boneh</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Franklin</surname>, <given-names>M.K.</given-names></string-name> (<year>2001</year>). <article-title>Identity-based encryption from the weil pairing</article-title>. <source>Lecture Notes in Computer Science</source>, <volume>2193</volume>, <fpage>213</fpage>–<lpage>229</lpage>.</mixed-citation>
</ref>
<ref id="j_info1148_ref_004">
<mixed-citation publication-type="journal"><string-name><surname>Boneh</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Franklin</surname>, <given-names>M.K.</given-names></string-name> (<year>2003</year>). <article-title>Identity based encryption from the weil pairing</article-title>. <source>SIAM Journal on Computing</source>, <volume>32</volume>(<issue>3</issue>), <fpage>586</fpage>–<lpage>615</lpage>.</mixed-citation>
</ref>
<ref id="j_info1148_ref_005">
<mixed-citation publication-type="journal"><string-name><surname>Boneh</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Canetti</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Halevi</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Katz</surname>, <given-names>J.</given-names></string-name> (<year>2003</year>). <article-title>Chosen-ciphertext security from identity-based encryption</article-title>. <source>SIAM Journal on Computing</source>, <volume>36</volume>(<issue>5</issue>), <fpage>1301</fpage>–<lpage>1328</lpage>.</mixed-citation>
</ref>
<ref id="j_info1148_ref_006">
<mixed-citation publication-type="journal"><string-name><surname>Cocks</surname>, <given-names>C.</given-names></string-name> (<year>2001</year>). <article-title>An identity based encryption scheme based on quadratic residues</article-title>. <source>Lecture Notes in Computer Science</source>, <volume>2260</volume>, <fpage>360</fpage>–<lpage>363</lpage>.</mixed-citation>
</ref>
<ref id="j_info1148_ref_007">
<mixed-citation publication-type="chapter"><string-name><surname>Cui</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Duan</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Chan</surname>, <given-names>C.W.</given-names></string-name> (<year>2006</year>). <chapter-title>An efficient identity-based signature scheme with batch verifications</chapter-title>. In: <source>Proceedings of the 1st ACM International Conference on Scalable Information Systems</source>, <conf-loc>Hong Kong</conf-loc>, p. <fpage>22</fpage>.</mixed-citation>
</ref>
<ref id="j_info1148_ref_008">
<mixed-citation publication-type="other"><string-name><surname>Galindo</surname>, <given-names>D.</given-names></string-name> (2004). The exact security of pairing based encryption and signature schemes. <italic>Working Draft</italic>. Available at <uri>http://www.cs.ru.nl/dgalindo/galindoEcrypt.pdf</uri>.</mixed-citation>
</ref>
<ref id="j_info1148_ref_009">
<mixed-citation publication-type="journal"><string-name><surname>Gangishetti</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Gorantla</surname>, <given-names>M.C.</given-names></string-name>, <string-name><surname>Das</surname>, <given-names>M.L.</given-names></string-name>, <string-name><surname>Saxena</surname>, <given-names>A.</given-names></string-name> (<year>2007</year>). <article-title>Threshold key issuing in identity-based cryptosystems</article-title>. <source>Computer Standards &amp; Interfaces</source>, <volume>29</volume>, <fpage>260</fpage>–<lpage>264</lpage>.</mixed-citation>
</ref>
<ref id="j_info1148_ref_010">
<mixed-citation publication-type="journal"><string-name><surname>Gentry</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Silverberg</surname>, <given-names>A.</given-names></string-name> (<year>2002</year>). <article-title>Hierarchical ID-based cryptography</article-title>. <source>Lecture Notes in Computer Science</source>, <volume>2501</volume>, <fpage>548</fpage>–<lpage>566</lpage>.</mixed-citation>
</ref>
<ref id="j_info1148_ref_011">
<mixed-citation publication-type="journal"><string-name><surname>Heng</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Kurosawa</surname>, <given-names>K.</given-names></string-name> (<year>2004</year>). <article-title>k-Resilient identity-based encryption in the standard model</article-title>. <source>Lecture Notes in Computer Science</source>, <volume>2964</volume>, <fpage>67</fpage>–<lpage>80</lpage>.</mixed-citation>
</ref>
<ref id="j_info1148_ref_012">
<mixed-citation publication-type="journal"><string-name><surname>Heng</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Kurosawa</surname>, <given-names>K.</given-names></string-name> (<year>2006</year>). <article-title>k-Resilient identity-based encryption in the standard model</article-title>. <source>IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences E</source>, <volume>89CA</volume>(<issue>1</issue>), <fpage>39</fpage>–<lpage>46</lpage>.</mixed-citation>
</ref>
<ref id="j_info1148_ref_013">
<mixed-citation publication-type="journal"><string-name><surname>Kiltz</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Vahlis</surname>, <given-names>Y.</given-names></string-name> (<year>2008</year>). <article-title>CCA2 secure IBE: standard model efficiency through authenticated symmetric encryption</article-title>. <source>Lecture Notes in Computer Science</source>, <volume>4964</volume>, <fpage>221</fpage>–<lpage>239</lpage>.</mixed-citation>
</ref>
<ref id="j_info1148_ref_014">
<mixed-citation publication-type="journal"><string-name><surname>Lee</surname>, <given-names>W.C.</given-names></string-name>, <string-name><surname>Liao</surname>, <given-names>K.C.</given-names></string-name> (<year>2004</year>). <article-title>Constructing identity-based cryptosystems for discrete logarithm based cryptosystems</article-title>. <source>Journal of Network and Computer Applications</source>, <volume>22</volume>, <fpage>191</fpage>–<lpage>199</lpage>.</mixed-citation>
</ref>
<ref id="j_info1148_ref_015">
<mixed-citation publication-type="other"><string-name><surname>Lynn</surname>, <given-names>B.</given-names></string-name> (2002). <italic>Authenticated ID-based encryption</italic>. Crypt. ePrint Archive, Report 2002/072. <ext-link ext-link-type="uri" xlink:href="http://eprint.iacr.org/2002/072">http://eprint.iacr.org/2002/072</ext-link>.</mixed-citation>
</ref>
<ref id="j_info1148_ref_016">
<mixed-citation publication-type="journal"><string-name><surname>Meshram</surname>, <given-names>C.</given-names></string-name> (<year>2015</year>). <article-title>An efficient ID-based cryptographic encryption based on discrete logarithm problem and integer factorization problem</article-title>. <source>Information Processing Letters</source>, <volume>115</volume>(<issue>2</issue>), <fpage>351</fpage>–<lpage>358</lpage>.</mixed-citation>
</ref>
<ref id="j_info1148_ref_017">
<mixed-citation publication-type="journal"><string-name><surname>Meshram</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Meshram</surname>, <given-names>S.</given-names></string-name> (<year>2013</year>). <article-title>An identity-based cryptographic model for discrete logarithm and integer factoring based cryptosystem</article-title>. <source>Information Processing Letters</source>, <volume>113</volume>(<issue>10–11</issue>), <fpage>375</fpage>–<lpage>380</lpage>.</mixed-citation>
</ref>
<ref id="j_info1148_ref_018">
<mixed-citation publication-type="journal"><string-name><surname>Meshram</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Meshram</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>M.</given-names></string-name> (<year>2012</year>). <article-title>An ID-based cryptographic mechanisms based on GDLP and IFP</article-title>. <source>Information Processing Letters</source>, <volume>112</volume>(<issue>19</issue>), <fpage>753</fpage>–<lpage>758</lpage>.</mixed-citation>
</ref>
<ref id="j_info1148_ref_019">
<mixed-citation publication-type="journal"><string-name><surname>Rivest</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Shamir</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Adelman</surname>, <given-names>L.</given-names></string-name> (<year>1978</year>). <article-title>A method for obtaining digital signature and public key cryptosystems</article-title>. <source>Communications of the ACM</source>, <volume>21</volume>, <fpage>120</fpage>–<lpage>126</lpage>.</mixed-citation>
</ref>
<ref id="j_info1148_ref_020">
<mixed-citation publication-type="journal"><string-name><surname>Shamir</surname>, <given-names>A.</given-names></string-name> (<year>1984</year>). <article-title>Identity-based cryptosystems and signature schemes</article-title>. <source>Lecture Notes in Computer Science</source>, <volume>196</volume>, <fpage>47</fpage>–<lpage>53</lpage>.</mixed-citation>
</ref>
<ref id="j_info1148_ref_021">
<mixed-citation publication-type="journal"><string-name><surname>Sun</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Fang</surname>, <given-names>Y.</given-names></string-name> (<year>2010</year>). <article-title>An identity-based security system for user privacy in vehicular ad hoc networks</article-title>. <source>IEEE Transactions on Power Systems</source>, <volume>27</volume>(<issue>9</issue>), <fpage>1227</fpage>–<lpage>1239</lpage>.</mixed-citation>
</ref>
<ref id="j_info1148_ref_022">
<mixed-citation publication-type="journal"><string-name><surname>Waters</surname>, <given-names>B.</given-names></string-name> (<year>2005</year>). <article-title>Efficient identity-based encryption without random oracles</article-title>. <source>Lecture Notes in Computer Science</source>, <volume>3494</volume>, <fpage>114</fpage>–<lpage>127</lpage>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>