<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMC</journal-id>
<journal-id journal-id-type="nlm-ta">CMC</journal-id>
<journal-id journal-id-type="publisher-id">CMC</journal-id>
<journal-title-group>
<journal-title>Computers, Materials &#x0026; Continua</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-2226</issn>
<issn pub-type="ppub">1546-2218</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">29711</article-id>
<article-id pub-id-type="doi">10.32604/cmc.2023.029711</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Identity-Based Edge Computing Anonymous Authentication Protocol</article-title>
<alt-title alt-title-type="left-running-head">Identity-Based Edge Computing Anonymous Authentication Protocol</alt-title>
<alt-title alt-title-type="right-running-head">Identity-Based Edge Computing Anonymous Authentication Protocol</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author">
<name name-style="western"><surname>Kang</surname><given-names>Naixin</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-2" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Ning</surname><given-names>Zhenhu</given-names></name><xref ref-type="aff" rid="aff-1">1</xref><email>nzh41034@163.com</email></contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western"><surname>Zhang</surname><given-names>Shiqiang</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western"><surname>Sadaqat ur Rehman</surname></name><xref ref-type="aff" rid="aff-2">2</xref></contrib>
<contrib id="author-5" contrib-type="author">
<name name-style="western"><surname>Waqas</surname><given-names>Muhammad</given-names></name><xref ref-type="aff" rid="aff-1">1</xref>
<xref ref-type="aff" rid="aff-3">3</xref></contrib>
<aff id="aff-1"><label>1</label><institution>Beijing University of Technology</institution>, <addr-line>Beijing, 100124</addr-line>, <country>China</country></aff>
<aff id="aff-2"><label>2</label><institution>Department of Natural and Computing Science University of Aberdeen</institution>, <country>UK</country></aff>
<aff id="aff-3"><label>3</label><institution>School of Engineering, Edith Cowan University</institution>, <addr-line>Perth, 6027</addr-line>, <country>Australia</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Zhenhu Ning. Email: <email>nzh41034@163.com</email></corresp>
</author-notes>
<pub-date date-type="collection" publication-format="electronic">
<year>2022</year></pub-date>
<pub-date date-type="pub" publication-format="electronic"><day>16</day><month>8</month><year>2022</year></pub-date>
<volume>74</volume>
<issue>2</issue>
<fpage>3931</fpage>
<lpage>3943</lpage>
<history>
<date date-type="received"><day>10</day><month>3</month><year>2022</year></date>
<date date-type="accepted"><day>25</day><month>5</month><year>2022</year></date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2023 Kang et al.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Kang et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMC_29711.pdf"></self-uri>
<abstract>
<p>With the development of sensor technology and wireless communication technology, edge computing has a wider range of applications. The privacy protection of edge computing is of great significance. In the edge computing system, in order to ensure the credibility of the source of terminal data, mobile edge computing (MEC) needs to verify the signature of the terminal node on the data. During the signature process, the computing power of edge devices such as wireless terminals can easily become the bottleneck of system performance. Therefore, it is very necessary to improve efficiency through computational offloading. Therefore, this paper proposes an identity-based edge computing anonymous authentication protocol. The protocol realizes mutual authentication and obtains a shared key by encrypting the mutual information. The encryption algorithm is implemented through a thresholded identity-based proxy ring signature. When a large number of terminals offload computing, MEC can set the priority of offloading tasks according to the user&#x2019;s identity and permissions, thereby improving offloading efficiency. Security analysis shows that the scheme can guarantee the anonymity and unforgeability of signatures. The probability of a malicious node forging a signature is equivalent to cracking the discrete logarithm puzzle. According to the efficiency analysis, in the case of MEC offloading, the computational complexity is significantly reduced, the computing power of edge devices is liberated, and the signature efficiency is improved.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Identity authentication</kwd>
<kwd>anonymous authentication</kwd>
<kwd>edge computing</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1"><label>1</label><title>Introduction</title>
<p>With sensor technology and wireless communication technology development, the application range of edge computing has become more extensive [<xref ref-type="bibr" rid="ref-1">1</xref>]. In an edge computing system, the computing power of edge devices such as wireless terminals may become the bottleneck of system performance. It is often necessary to offload to improve computing efficiency. When many terminals are offloading computing, the MEC server must process the offloaded task according to priority [<xref ref-type="bibr" rid="ref-2">2</xref>&#x2013;<xref ref-type="bibr" rid="ref-4">4</xref>]. However, the data of some terminals have the characteristics of information sensitivity and timeliness, which requires faster offloading of computing tasks and higher priority [<xref ref-type="bibr" rid="ref-5">5</xref>]. Such terminals are privileged users. Since wireless terminals are bound to user identities, privileged users will authorize signatures to other terminals in order to complete the signatures together more efficiently [<xref ref-type="bibr" rid="ref-6">6</xref>]. How to protect the privacy of the wireless terminal&#x2019;s identity while completing the data transmission between the wireless terminal and the MEC, which has essential research significance [<xref ref-type="bibr" rid="ref-7">7</xref>,<xref ref-type="bibr" rid="ref-8">8</xref>]. At present, the common methods mainly include group signature, ring signature, proxy signature, etc.</p>
<p>An identity-based proxy threshold ring signature for edge computing is proposed in this paper. The original signature scheme is optimized, and the proxy signature is combined with the ring signature to improve the efficiency of signatures and ensure the identity privacy of the proxy signer and use the threshold method prevents the influence of a single node&#x2019;s malicious actions on the signature; combined with edge computing, the computing power of the MEC server is used to reduce the burden on the wireless terminal further.</p>
<p>The arrangement of the remaining chapters of this article: Section 2 introduces the research work related to this article and briefly introduces and analyzes these results. Section 3 describes the authentication process between the original signer, the proxy signer, and the MEC server. Section 4 describes in detail the identity-based anonymous authentication protocol in the context of edge computing. Sections 5 and 6 analyze the scheme from three aspects: correctness, security and computational efficiency. The Section 7 summarizes the content of the full text, and puts forward the research direction of the follow-up work.</p>
</sec>
<sec id="s2"><label>2</label><title>Related Work</title>
<p>Edge computing is a distributed service architecture that migrates computing and storage resources from the cloud platform to the network edge. It consists of multiple edge nodes located between cloud servers and local devices to complete data analysis tasks. Because it is closer to the local device, it can provide services with less latency, such as autonomous driving, virtual reality, smart cities, etc. But since edge nodes are usually located in untrusted environments, they also face various security and privacy threats. For example, the local device may add poisoned samples or send low-quality data to the edge node, and the edge node may speculate the data privacy of the local device, or tamper with the calculation result to destroy the execution of the protocol. Therefore, it is very important to build a more robust privacy protection and information security mechanism. The following mainly introduces the literature related to privacy protection and anonymous authentication in the edge computing environment.</p>
<p>Elliptic curve is a commonly used encryption method at present. It has high security, but it also consumes a lot of computation. Literature [<xref ref-type="bibr" rid="ref-9">9</xref>] proposed a lightweight anonymous authentication protocol for Internet of things terminals. The protocol uses certificateless signature, elliptic curve and signcryption technology. Through random oracle analysis, the model can realize anonymous authentication and privacy protection, and has low computing and communication costs. Literature [<xref ref-type="bibr" rid="ref-10">10</xref>] combined ring signature and elliptic curve cryptosystem and proposed a verifiable ring signature scheme using ECC anonymous sign-crypt. This scheme has the advantages of anonymity of ring signature, low computational cost, and high security of elliptic curve cryptosystem. Literature [<xref ref-type="bibr" rid="ref-11">11</xref>] combines the characteristics of group signature and threshold signature. This paper proposes a threshold group signature scheme based on the elliptic curve and realized the group members and administrators of two-way authentication. The program has anonymity and traceability also can resist collusion attacks to solve the Internet of things terminal, tampered with, such as counterfeiting threats are easy to be tapped. According to the characteristics of group signature and threshold signature, the scheme in reference [<xref ref-type="bibr" rid="ref-12">12</xref>] proposes a threshold group signature scheme based on elliptic curve, which realizes the two-way authentication between group members and group administrators. This method has anonymity and traceability, and solves the threat that the Internet of things terminal is easy to be eavesdropped, tampered and forged. However, the improvement of security has a certain impact on the efficiency of computing and communication.</p>
<p>Group signature scheme is a common method of anonymous authentication. Literature [<xref ref-type="bibr" rid="ref-13">13</xref>] proposes a group signature scheme that can be modified to provide privacy protection certification. For many revocable group signature schemes, this scheme introduces a contained backward security model of the definition of safety compared with previous schemes. This scheme is efficient and scalable, and more practical in actual application. Literature [<xref ref-type="bibr" rid="ref-14">14</xref>] proposed an efficient full-dynamic group signature scheme for the group signature that allows users to register and cancel within the group. The technology uses a merkle tree to record the information of registered users and uses a trusted third party to generate public and private keys. Thus, the computational efficiency of the scheme is improved. Literature [<xref ref-type="bibr" rid="ref-15">15</xref>] proposes an anonymous authentication scheme suitable for doctor-patient relationship. The scheme uses single hash function and user behavior tracking system to protect user privacy and improve system performance. At the same time, through experimental analysis, the scheme can resist most attacks and has high security.</p>
<p>Proxy signature is often used to reduce the consumption of self-signature. Literature [<xref ref-type="bibr" rid="ref-16">16</xref>] puts forward a kind of according to industrial IoT environment efficiently and to prove that the proxy signature scheme based on the certificate without pairing, this scheme can solve common password scheme based on certification of identity or secret key escrow and secret key distribution problems, at the same time, at different stages of the cost and the length of the signature than other signature schemes have reduced. Reference [<xref ref-type="bibr" rid="ref-17">17</xref>] proposed a lattice-based quantum proof anonymous proxy signature. Anonymity is achieved by using ring signatures. The experimental analysis proves that the scheme has adaptive security against the stability of the selected message attack on the small integer solution problem. Reference [<xref ref-type="bibr" rid="ref-18">18</xref>] proposes a decentralized electronic reporting scheme based on proxy signature and blockchain privacy protection. The scheme uses lattice ciphers to protect privacy while also resisting quantum attacks. Reference [<xref ref-type="bibr" rid="ref-19">19</xref>] proposed an efficient heterogeneous cross-domain authentication scheme based on proxy blind signature in cloud environment. This scheme gives the authority of the third-party legal agent by introducing a trusted certification center between the clouds. The authentication process is optimized by a trusted third party, but is prone to a single point of failure.</p>
</sec>
<sec id="s3"><label>3</label><title>Identity Authentication Protocol</title>
<sec id="s3_1"><label>3.1</label><title>Protocol Description</title>
<p>The specific process of the scheme is shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref> below.</p>
<fig id="fig-1"><label>Figure 1</label><caption><title>Anonymous authentication protocol structure diagram</title></caption><graphic mimetype="image" mime-subtype="png" xlink:href="CMC_29711-fig-1.png"/></fig>
<p>The original signer hides his identity information by constructing a ring, sends the entrusting certificate to the proxy signer as a ring, and distributes the information that can represent his identity to the proxy signer in the way of the threshold. After receiving the entrusting certificate and key fragment, the proxy signer shares the information with the members in the ring to calculate and generate the proxy threshold ring signature.</p>
<p>Privileged member A, proxy signature terminal N, edge computing server MEC and key generation center (KGC) have shared keys, but they do not have identity authentication keys between them. Therefore, through the following protocol process, privileged members can be made A shared identity key <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is obtained between A and the proxy signature terminal N, and a shared identity key <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is obtained between the proxy signature terminal N and the edge computing server MEC. The specific process is as follows:</p>
<list list-type="simple">
<list-item><label>(1)</label><p>Privileged member A sends his identity information <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and request <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> to obtain the shared identity key to the proxy signature terminal N.</p></list-item>
<list-item><label>(2)</label><p>N packs the received information of A with its own identity information <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and request <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> and sends it to the edge server MEC.</p></list-item>
<list-item><label>(3)</label><p>MEC packs the received information of N with its own identity information <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and request <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi><mml:mn>3</mml:mn></mml:math></inline-formula> and sends it to the key generation center KGC.</p></list-item>
<list-item><label>(4)</label><p>After the KGC receives the information from the MEC, it generates three random numbers <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and returns it to the MEC. The MEC keeps one of its own and sends the remaining two to N, and N repeats the above steps. MEC, N, and A obtain the random number <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> generated by KGC, respectively.</p></list-item>
<list-item><label>(5)</label><p>A generates a random number <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, encrypts the shared identity key information that it wants to obtain with the shared key between KGC and sends it to N together with the random number. N is the same as above, packs its random number <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, encrypted information, and received information to MEC. MEC sends <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:math></inline-formula> <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> to KGC.</p></list-item>
<list-item><label>(6)</label><p>After receiving the information, the KGC obtains the needs of different users through decryption and returns the requested information <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:math></inline-formula><inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> to the MEC.</p></list-item>
<list-item><label>(7)</label><p>After MEC receives the information, it sends the information to N and A layer by layer.</p></list-item>
<list-item><label>(8)</label><p>After A, N, and MEC decrypt the received information, they obtain the identity keys <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
</list>
</sec>
<sec id="s3_2"><label>3.2</label><title>Safety Analysis</title>
<p>The security analysis of this scheme can be proved by formal methods (including BAN logic, model checking (CSP), theorem-proof (string space) and other methods). BAN logic is mainly used to analyze whether the cryptographic protocol can normally work, what content has been completed by the protocol, the assumptions required by the protocol, and the rationality of the assumptions [<xref ref-type="bibr" rid="ref-20">20</xref>]. BAN logic is a logical analysis method based on knowledge and belief. The BAN logic definition and derivation formula used in the proof of this article are as follows.</p>
<sec id="s3_2_1"><label>3.2.1</label><title>Protocol Description</title>
<disp-formula id="ueqn-1">
<mml:math id="mml-ueqn-1" display="block"><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>A</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mo>&#x003E;</mml:mo><mml:mi>N</mml:mi><mml:mo>:</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>N</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mo>&#x003E;</mml:mo><mml:mi>M</mml:mi><mml:mo>:</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi><mml:mn>2</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>M</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mo>&#x003E;</mml:mo><mml:mi>K</mml:mi><mml:mo>:</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi><mml:mn>3</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>K</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mo>&#x003E;</mml:mo><mml:mi>M</mml:mi><mml:mo>:</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>M</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mo>&#x003E;</mml:mo><mml:mi>N</mml:mi><mml:mo>:</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>N</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mo>&#x003E;</mml:mo><mml:mi>A</mml:mi><mml:mo>:</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>A</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mo>&#x003E;</mml:mo><mml:mi>N</mml:mi><mml:mo>:</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>N</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mo>&#x003E;</mml:mo><mml:mi>M</mml:mi><mml:mo>:</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>M</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mo>&#x003E;</mml:mo><mml:mi>K</mml:mi><mml:mo>:</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>K</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mo>&#x003E;</mml:mo><mml:mi>M</mml:mi><mml:mo>:</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>M</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mo>&#x003E;</mml:mo><mml:mi>N</mml:mi><mml:mo>:</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>N</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mo>&#x003E;</mml:mo><mml:mi>A</mml:mi><mml:mo>:</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
</sec>
<sec id="s3_2_2"><label>3.2.2</label><title>Inference Rules</title>
<p>
<list list-type="simple">
<list-item><label>(1)</label><p>Message meaning rules
<disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi>P</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>Q</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:mi>K</mml:mi></mml:mover><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:mo>&#x22B2;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mi>X</mml:mi><mml:mo>}</mml:mo></mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mi>P</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>Q</mml:mi><mml:mo>&#x223C;</mml:mo><mml:mi>X</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:math></disp-formula></p></list-item>
<list-item><label>(2)</label><p>Temporary value validation rules
<disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi>P</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x0023;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>X</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>Q</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo>&#x223C;</mml:mo><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>P</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>Q</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>X</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:math></disp-formula></p></list-item>
<list-item><label>(3)</label><p>Arbitration rules
<disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi>P</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>Q</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo stretchy="false">&#x21D2;</mml:mo><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>Q</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>X</mml:mi></mml:mrow><mml:mrow><mml:mi>P</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>X</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:math></disp-formula></p></list-item>
<list-item><label>(4)</label><p>Freshness rules
<disp-formula id="eqn-4"><label>(4)</label><mml:math id="mml-eqn-4" display="block"><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi>P</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x0023;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>X</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mi>P</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x0023;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>X</mml:mi><mml:mo>,</mml:mo><mml:mi>Y</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:math></disp-formula></p></list-item>
</list></p>
<p>According to the logic initialization hypothesis:
<list list-type="simple">
<list-item><label>(1)</label><p><inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:mi>A</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>A</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>K</mml:mi></mml:math></inline-formula></p></list-item>
<list-item><label>(2)</label><p><inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>A</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>K</mml:mi></mml:math></inline-formula></p></list-item>
<list-item><label>(3)</label><p><inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:mi>N</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>N</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>K</mml:mi></mml:math></inline-formula></p></list-item>
<list-item><label>(4)</label><p><inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>N</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>K</mml:mi></mml:math></inline-formula></p></list-item>
<list-item><label>(5)</label><p><inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:mi>M</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>M</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>K</mml:mi></mml:math></inline-formula></p></list-item>
<list-item><label>(6)</label><p><inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>M</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>K</mml:mi></mml:math></inline-formula></p></list-item>
<list-item><label>(7)</label><p><inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x0023;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></p></list-item>
<list-item><label>(8)</label><p><inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x0023;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></p></list-item>
<list-item><label>(9)</label><p><inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x0023;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></p></list-item>
<list-item><label>(10)</label><p><inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:mi>A</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x0023;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></p></list-item>
<list-item><label>(11)</label><p><inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:mi>N</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x0023;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></p></list-item>
<list-item><label>(12)</label><p><inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:mi>M</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x0023;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></p></list-item>
<list-item><label>(13)</label><p><inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:mi>A</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo stretchy="false">&#x21D2;</mml:mo><mml:mi>A</mml:mi></mml:math></inline-formula></p></list-item>
<list-item><label>(14)</label><p><inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mi>N</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo stretchy="false">&#x21D2;</mml:mo><mml:mi>N</mml:mi></mml:math></inline-formula></p></list-item>
<list-item><label>(15)</label><p><inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:mi>M</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo stretchy="false">&#x21D2;</mml:mo><mml:mi>M</mml:mi></mml:math></inline-formula></p></list-item>
</list></p>
</sec>
<sec id="s3_2_3"><label>3.2.3</label><title>Logical Inference</title>
<list list-type="simple">   
<list-item><label>(1)</label><p>Proof of <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>A</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>N</mml:mi></mml:math></inline-formula>:</p></list-item></list>
<disp-formula id="ueqn-2"><mml:math id="mml-ueqn-2" display="block"><mml:mi>K</mml:mi><mml:mo>&#x22B2;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></disp-formula>
<p>From the initialization assumptions (2), (4) and rule (1), we can get:
<disp-formula id="ueqn-3">
<mml:math id="mml-ueqn-3" display="block"><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>A</mml:mi><mml:mo>&#x223C;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>N</mml:mi><mml:mo>&#x223C;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></disp-formula></p>
<p>From the initialization assumptions (7), (8) and rule (4), we can get:
<disp-formula id="ueqn-4">
<mml:math id="mml-ueqn-4" display="block"><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x0023;</mml:mi><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x0023;</mml:mi><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></disp-formula></p>
<p>From the above results and rule (2), we can get:
<disp-formula id="ueqn-5">
<mml:math id="mml-ueqn-5" display="block"><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>A</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>N</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></disp-formula></p>
<p>So: <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>A</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>N</mml:mi></mml:math></inline-formula></p>

<list list-type="simple">
<list-item><label>(2)</label><p>Proof of <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>M</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>N</mml:mi></mml:math></inline-formula>:</p></list-item></list>
<disp-formula id="ueqn-6"><mml:math id="mml-ueqn-6" display="block"><mml:mi>K</mml:mi><mml:mo>&#x22B2;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></disp-formula>
<p>From the initialization assumptions (4), (6) and rule (1), we can get:
<disp-formula id="ueqn-7">
<mml:math id="mml-ueqn-7" display="block"><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>N</mml:mi><mml:mo>&#x223C;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>M</mml:mi><mml:mo>&#x223C;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></disp-formula></p>
<p>From the initialization assumptions (8), (9) and rule (4), we can get:
<disp-formula id="ueqn-8">
<mml:math id="mml-ueqn-8" display="block"><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x0023;</mml:mi><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x0023;</mml:mi><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></disp-formula></p>
<p>From the above results and rule (2), we can get:
<disp-formula id="ueqn-9">
<mml:math id="mml-ueqn-9" display="block"><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>N</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>M</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></disp-formula></p>
<p>So: <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>M</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>N</mml:mi></mml:math></inline-formula></p>

<list list-type="simple">
<list-item><label>(3)</label><p>Proof of <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:mi>M</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>M</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>N</mml:mi></mml:math></inline-formula>:</p></list-item></list>
<p><disp-formula id="ueqn-10">
<mml:math id="mml-ueqn-10" display="block"><mml:mi>M</mml:mi><mml:mo>&#x22B2;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></disp-formula></p>
<p>From the initialization assumptions (5) and rule (1), we can get:
<disp-formula id="ueqn-11">
<mml:math id="mml-ueqn-11" display="block"><mml:mi>M</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>K</mml:mi><mml:mo>&#x223C;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></disp-formula></p>
<p>From the initialization assumptions (12) and rule (4), we can get:
<disp-formula id="ueqn-12">
<mml:math id="mml-ueqn-12" display="block"><mml:mi>M</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x0023;</mml:mi><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></disp-formula></p>
<p>From rule (2), we can get:
<disp-formula id="ueqn-13">
<mml:math id="mml-ueqn-13" display="block"><mml:mi>M</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>M</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>N</mml:mi></mml:math></disp-formula></p>
<p>From the initialization assumptions (15) and rule (3), we can get:
<disp-formula id="ueqn-14">
<mml:math id="mml-ueqn-14" display="block"><mml:mi>M</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>M</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>N</mml:mi></mml:math></disp-formula></p>

<list list-type="simple">
<list-item><label>(4)</label><p>Proof of <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:mi>N</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>M</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>A</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>N</mml:mi></mml:math></inline-formula>:</p></list-item></list>
<p><disp-formula id="ueqn-15">
<mml:math id="mml-ueqn-15" display="block"><mml:mi>N</mml:mi><mml:mo>&#x22B2;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></disp-formula></p>
<p>From the initialization assumptions (3) and rule (1), we can get:
<disp-formula id="ueqn-16">
<mml:math id="mml-ueqn-16" display="block"><mml:mi>N</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>K</mml:mi><mml:mo>&#x223C;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></disp-formula></p>
<p>From the initialization assumptions (11) and rule (4), we can get:
<disp-formula id="ueqn-17">
<mml:math id="mml-ueqn-17" display="block"><mml:mi>N</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x0023;</mml:mi><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></disp-formula></p>
<p>From rule (2), we can get:
<disp-formula id="ueqn-18">
<mml:math id="mml-ueqn-18" display="block"><mml:mi>N</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>M</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>N</mml:mi><mml:mrow><mml:mspace width="1em" /></mml:mrow><mml:mi>N</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>A</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>N</mml:mi></mml:math></disp-formula></p>
<p>From the initialization assumptions (14) and rule (3), we can get:
<disp-formula id="ueqn-19">
<mml:math id="mml-ueqn-19" display="block"><mml:mi>N</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>M</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>N</mml:mi><mml:mrow><mml:mspace width="1em" /></mml:mrow><mml:mi>N</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>A</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>N</mml:mi></mml:math></disp-formula></p>
<list list-type="simple">
<list-item><label>(5)</label><p>Proof of <inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:mi>A</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>A</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>N</mml:mi></mml:math></inline-formula>:</p></list-item></list>
<p><disp-formula id="ueqn-20">
<mml:math id="mml-ueqn-20" display="block"><mml:mi>A</mml:mi><mml:mo>&#x22B2;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></disp-formula></p>
<p>From the initialization assumptions (1) and rule (1), we can get:
<disp-formula id="ueqn-21">
<mml:math id="mml-ueqn-21" display="block"><mml:mi>A</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>K</mml:mi><mml:mo>&#x223C;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></disp-formula></p>
<p>From the initialization assumptions (10) and rule (4), we can get:
<disp-formula id="ueqn-22">
<mml:math id="mml-ueqn-22" display="block"><mml:mi>M</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x0023;</mml:mi><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></disp-formula></p>
<p>From rule (2), we can get:
<disp-formula id="ueqn-23">
<mml:math id="mml-ueqn-23" display="block"><mml:mi>A</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>K</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>A</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>N</mml:mi></mml:math></disp-formula></p>
<p>From the initialization assumptions (13) and rule (3), we can get:
<disp-formula id="ueqn-24">
<mml:math id="mml-ueqn-24" display="block"><mml:mi>A</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mrow><mml:mo>&#x2261;</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>A</mml:mi><mml:mover><mml:mo stretchy="false">&#x27F7;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mover><mml:mi>N</mml:mi></mml:math></disp-formula></p>
</sec>
</sec>
</sec>
<sec id="s4"><label>4</label><title>Signature Scheme</title>
<sec id="s4_1"><label>4.1</label><title>Key Generation Algorithm</title>
<p>Let <italic>q</italic> be a large prime number, point <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:mi>P</mml:mi></mml:math></inline-formula> be the generator of the additive cyclic group <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> of order <italic>q</italic>, <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> be the multiplicative cyclic group of the same order, and bilinear mapping <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:mrow><mml:mtext>e</mml:mtext></mml:mrow><mml:mo>:</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. <inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:mi>H</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>h</mml:mi><mml:mo>:</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:mi>H</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>h</mml:mi><mml:mo>:</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msubsup><mml:mrow><mml:mi>Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:math></inline-formula> is a hash function, <inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> maps any bit string to a point in the group <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> maps any bit string to a number in <inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. Select <italic>s</italic> as the primary key and <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>s</mml:mi><mml:mi>P</mml:mi></mml:math></inline-formula> as the system public key randomly. Expose the system parameter <inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:mo>&#x003C;</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>e</mml:mi><mml:mo>,</mml:mo><mml:mi>q</mml:mi><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x003E;</mml:mo></mml:math></inline-formula>.</p>
<p>The signer can send his identity information to the Key Generation Center (KGC) to obtain his private key. After KGC confirms his identity, it hashes the <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:mi>I</mml:mi><mml:mi>D</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:mi>D</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, which can be used as his public key, and then calculates his private key <inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>D</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. KGC sends the public and private key pair <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> to the corresponding member through the private channel.</p>
</sec>
<sec id="s4_2"><label>4.2</label><title>Agent Generation Algorithm</title>
<sec id="s4_2_1"><label>4.2.1</label><title>Pretreatment Stage</title>
<p>The original signer <italic>A</italic> is a privileged user whose identity information is <inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. The proxy signer is a wireless terminal device. The ring <inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:mi>L</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> has n members and consists of a wireless terminal device. The identity information of <italic>L</italic> is <inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. At this time, the private keys of the original signer and the proxy signer are <inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>s</mml:mi><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>. N members hold a private key fragment of the proxy signer&#x2019;s private key in a threshold manner. The KGC selection threshold polynomial is generated as follows:
<disp-formula id="eqn-5"><label>(5)</label><mml:math id="mml-eqn-5" display="block"><mml:mi>f</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></disp-formula></p>
<p>Each proxy signer <inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>n</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> gets the corresponding key fragment <inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p>
</sec>
<sec id="s4_2_2"><label>4.2.2</label><title>Agent Phase</title>
<p>
<list list-type="simple">
<list-item><label>(1)</label><p>The signature information is <italic>m</italic>, and the original signature is generated into a delegation certificate <italic>m</italic>. The delegation certificate includes the ring&#x2019;s information where the original signer and the proxy signer are, the time stamp, the information of the file to be signed, etc. The timestamp is used to limit the validity of the signature. Calculate <inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:mi>h</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>m</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>W</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>L</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p></list-item>
<list-item><label>(2)</label><p>The original signer <italic>A</italic> randomly selects <inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:mi>r</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mtext>Z</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, calculates and publishes the <inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:mi>r</mml:mi><mml:mi>P</mml:mi></mml:math></inline-formula>, then calculates the <inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:mi>r</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and sends it to the member MEC server <inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
<p>Original signer selection threshold polynomial:</p></list-item></list></p>
<disp-formula id="eqn-6"><label>(6)</label><mml:math id="mml-eqn-6" display="block"><mml:mi>h</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>r</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></disp-formula>

<p>Each proxy signer <inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>n</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> obtains the corresponding fragment <inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:mi>h</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p>
</sec>
</sec>
<sec id="s4_3"><label>4.3</label><title>Signature Generation Algorithm</title>
<p>
<list list-type="simple">
<list-item><label>(1)</label><p>The proxy signer <inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2260;</mml:mo><mml:mi>c</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> participating in the signing selects <inline-formula id="ieqn-71"><mml:math id="mml-ieqn-71"><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and calculates <inline-formula id="ieqn-72"><mml:math id="mml-ieqn-72"><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mo fence="false" stretchy="false">|</mml:mo><mml:mi>W</mml:mi><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mi>L</mml:mi><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-73"><mml:math id="mml-ieqn-73"><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>t</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mi mathvariant="normal">&#x2216;</mml:mi><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>c</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula></p></list-item>
<list-item><label>(2)</label><p>MEC server <inline-formula id="ieqn-74"><mml:math id="mml-ieqn-74"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> selects a random <inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mrow><mml:mi>Z</mml:mi></mml:mrow><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, calculates <inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:munder><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2260;</mml:mo><mml:mi>c</mml:mi></mml:mrow></mml:munder><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mi>W</mml:mi><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mi>L</mml:mi><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. The MEC calculates <inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and returns it to the proxy signer <inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>(3)</label><p>Proxy signer <inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> calculates <inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mi>h</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and sends it to MEC server <inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>(4)</label><p>The MEC server <inline-formula id="ieqn-83"><mml:math id="mml-ieqn-83"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> calculates <inline-formula id="ieqn-84"><mml:math id="mml-ieqn-84"><mml:mi>V</mml:mi><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-85"><mml:math id="mml-ieqn-85"><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> as Lagrange multipliers and outputs the proxy signature <inline-formula id="ieqn-86"><mml:math id="mml-ieqn-86"><mml:mi>&#x03C3;</mml:mi></mml:math></inline-formula> of the message <inline-formula id="ieqn-87"><mml:math id="mml-ieqn-87"><mml:mi>m</mml:mi></mml:math></inline-formula>:<inline-formula id="ieqn-88"><mml:math id="mml-ieqn-88"><mml:mi>&#x03C3;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:mo>,</mml:mo></mml:mrow><mml:mi>V</mml:mi><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>.</p></list-item>
</list></p>
</sec>
</sec>
<sec id="s5"><label>5</label><title>Signature Verification</title>
<p>The MEC performs the following verification after receiving the signature information:</p>
<p>Verify that <inline-formula id="ieqn-89"><mml:math id="mml-ieqn-89"><mml:mi>e</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:munderover><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mi>r</mml:mi><mml:mi>P</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>e</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>V</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is valid. If yes, the signature is accepted. The specific process is as follows:
<disp-formula id="eqn-7"><label>(7)</label><mml:math id="mml-eqn-7" display="block"><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>e</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:munderover><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mi>r</mml:mi><mml:mi>P</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>=</mml:mo><mml:mi>e</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2260;</mml:mo><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:munderover><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mi>r</mml:mi><mml:mi>P</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>=</mml:mo><mml:mi>e</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>r</mml:mi><mml:mi>P</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>=</mml:mo><mml:mi>e</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>V</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
</sec>
<sec id="s6"><label>6</label><title>Performance Analysis</title>
<sec id="s6_1"><label>6.1</label><title>Security Analysis</title>
<p>The scheme in this paper is based on the typical Shamir threshold and bilinear technique to construct the signature. According to the characteristics of the threshold, the following conclusions can be drawn: any node whose weight sum is less than the threshold value cannot complete the signature, and any node whose weight sum is greater than or equal to the threshold value can complete the signature. Therefore, the scheme can resist the collusive attack of any member whose sum is less than the threshold. At the same time, a typical security analysis scheme is adopted, and the security of this scheme can be reduced to a discrete logarithm problem. The difficulty of the proposed scheme is equivalent to solving the discrete logarithm problem.</p>
<p>Discrete logarithm problem: given a random number <inline-formula id="ieqn-90"><mml:math id="mml-ieqn-90"><mml:mi>Z</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>G</mml:mi></mml:math></inline-formula>, the finding <inline-formula id="ieqn-91"><mml:math id="mml-ieqn-91"><mml:mi>r</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>r</mml:mi><mml:mo>&#x003E;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> makes <inline-formula id="ieqn-92"><mml:math id="mml-ieqn-92"><mml:mi>r</mml:mi><mml:mi>P</mml:mi><mml:mo>=</mml:mo><mml:mi>Z</mml:mi></mml:math></inline-formula> difficult for the group. The variant form is as follows: Given <inline-formula id="ieqn-93"><mml:math id="mml-ieqn-93"><mml:mi>R</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>G</mml:mi><mml:mo>,</mml:mo><mml:mi>h</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mi>Z</mml:mi><mml:mrow><mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, it is difficult to find <inline-formula id="ieqn-94"><mml:math id="mml-ieqn-94"><mml:mi>T</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>G</mml:mi></mml:math></inline-formula> that satisfies <inline-formula id="ieqn-95"><mml:math id="mml-ieqn-95"><mml:mi>h</mml:mi><mml:mo>=</mml:mo><mml:mi>e</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>R</mml:mi><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p>
<p>Theorem 1: Suppose there is an adaptive selection message and identity of the attacker F with a non-negligible probability <inline-formula id="ieqn-96"><mml:math id="mml-ieqn-96"><mml:mi>&#x03B5;</mml:mi></mml:math></inline-formula> to break the scheme within PPT time. Then, algorithm C solves the discrete logarithm problem with a non-negligible probability <inline-formula id="ieqn-97"><mml:math id="mml-ieqn-97"><mml:msup><mml:mi>&#x03B5;</mml:mi><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>O</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B5;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> in PPT time. Where <inline-formula id="ieqn-98"><mml:math id="mml-ieqn-98"><mml:mi>O</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B5;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> represents the quantity that <inline-formula id="ieqn-99"><mml:math id="mml-ieqn-99"><mml:mi>&#x03B5;</mml:mi></mml:math></inline-formula> is not less than a certain constant (which is related to the capability of the random predictor <inline-formula id="ieqn-100"><mml:math id="mml-ieqn-100"><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-101"><mml:math id="mml-ieqn-101"><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-102"><mml:math id="mml-ieqn-102"><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, but independent of the safety parameter K).</p>
<p>Proof: Assuming C is a challenger, C&#x2019;s goal is to call F to solve the discrete logarithm problem eventually.
<list list-type="simple">
<list-item><label>(1)</label><p>Setup: C runs the setup algorithm. C maintains T signature <inline-formula id="ieqn-103"><mml:math id="mml-ieqn-103"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> public keys and constructs two predictors <inline-formula id="ieqn-104"><mml:math id="mml-ieqn-104"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-105"><mml:math id="mml-ieqn-105"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> (see the structure below for the structure of <inline-formula id="ieqn-106"><mml:math id="mml-ieqn-106"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-107"><mml:math id="mml-ieqn-107"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>). C sends data <inline-formula id="ieqn-108"><mml:math id="mml-ieqn-108"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> to attacker F as a public parameter.</p></list-item>
<list-item><label>(2)</label><p><inline-formula id="ieqn-109"><mml:math id="mml-ieqn-109"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> Query: C maintains a list <inline-formula id="ieqn-110"><mml:math id="mml-ieqn-110"><mml:msup><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> with the array <inline-formula id="ieqn-111"><mml:math id="mml-ieqn-111"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>. C prepared <inline-formula id="ieqn-112"><mml:math id="mml-ieqn-112"><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> responses <inline-formula id="ieqn-113"><mml:math id="mml-ieqn-113"><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> randomly. When F accesses the value <inline-formula id="ieqn-114"><mml:math id="mml-ieqn-114"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> of <inline-formula id="ieqn-115"><mml:math id="mml-ieqn-115"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, C retrieves <inline-formula id="ieqn-116"><mml:math id="mml-ieqn-116"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> from the list <inline-formula id="ieqn-117"><mml:math id="mml-ieqn-117"><mml:msup><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> and sends <inline-formula id="ieqn-118"><mml:math id="mml-ieqn-118"><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> to F.</p></list-item>
<list-item><label>(3)</label><p><inline-formula id="ieqn-119"><mml:math id="mml-ieqn-119"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> Query: C maintains a list <inline-formula id="ieqn-120"><mml:math id="mml-ieqn-120"><mml:msup><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> with <inline-formula id="ieqn-121"><mml:math id="mml-ieqn-121"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>. C prepared <inline-formula id="ieqn-122"><mml:math id="mml-ieqn-122"><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> responses to <inline-formula id="ieqn-123"><mml:math id="mml-ieqn-123"><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> randomly. When F accesses <inline-formula id="ieqn-124"><mml:math id="mml-ieqn-124"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> value of <inline-formula id="ieqn-125"><mml:math id="mml-ieqn-125"><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, C retrieves <inline-formula id="ieqn-126"><mml:math id="mml-ieqn-126"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> from the list <inline-formula id="ieqn-127"><mml:math id="mml-ieqn-127"><mml:msup><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> and sends <inline-formula id="ieqn-128"><mml:math id="mml-ieqn-128"><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> to F.</p></list-item>
<list-item><label>(4)</label><p>Signature Query: C maintains a list <inline-formula id="ieqn-129"><mml:math id="mml-ieqn-129"><mml:msup><mml:mi>L</mml:mi><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> containing <inline-formula id="ieqn-130"><mml:math id="mml-ieqn-130"><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> an array <inline-formula id="ieqn-131"><mml:math id="mml-ieqn-131"><mml:msup><mml:mi>L</mml:mi><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>. F makes a signature query to <inline-formula id="ieqn-132"><mml:math id="mml-ieqn-132"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, C first checks whether <inline-formula id="ieqn-133"><mml:math id="mml-ieqn-133"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is in the list <inline-formula id="ieqn-134"><mml:math id="mml-ieqn-134"><mml:msup><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, then restores <inline-formula id="ieqn-135"><mml:math id="mml-ieqn-135"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> and sends <inline-formula id="ieqn-136"><mml:math id="mml-ieqn-136"><mml:msub><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> to F.</p></list-item>
</list></p>
<p>Attacker F interacts with attacker C and C outputs based on the preceding policy.</p>
<p>When F stops asking, F outputs a signature <inline-formula id="ieqn-137"><mml:math id="mml-ieqn-137"><mml:msub><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> about <inline-formula id="ieqn-138"><mml:math id="mml-ieqn-138"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> (whose signature was never asked) that satisfies <inline-formula id="ieqn-139"><mml:math id="mml-ieqn-139"><mml:mi>V</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>. C restores <inline-formula id="ieqn-140"><mml:math id="mml-ieqn-140"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> from the list <inline-formula id="ieqn-141"><mml:math id="mml-ieqn-141"><mml:msup><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> and <inline-formula id="ieqn-142"><mml:math id="mml-ieqn-142"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> from the list <inline-formula id="ieqn-143"><mml:math id="mml-ieqn-143"><mml:msup><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>. Set <inline-formula id="ieqn-144"><mml:math id="mml-ieqn-144"><mml:mi>h</mml:mi><mml:mo>=</mml:mo><mml:mi>e</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:munderover><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mi>r</mml:mi><mml:mi>P</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, then <inline-formula id="ieqn-145"><mml:math id="mml-ieqn-145"><mml:mi>e</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mi>V</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mi>h</mml:mi></mml:math></inline-formula>. Since <italic>h</italic> has not been asked, the discrete logarithm problem is solved correctly.</p>
<p>If <italic>h</italic> is equal to some value that has already been queried, the probability is <inline-formula id="ieqn-146"><mml:math id="mml-ieqn-146"><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:mfrac></mml:mstyle></mml:math></inline-formula> according to the drawer principle. So the probability that C successfully solves the discrete logarithm problem is still <inline-formula id="ieqn-147"><mml:math id="mml-ieqn-147"><mml:msup><mml:mi>&#x03B5;</mml:mi><mml:mrow><mml:msup><mml:mi></mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>O</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03B5;</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mi>O</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03B5;</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
</sec>
<sec id="s6_2"><label>6.2</label><title>Efficiency Analysis</title>
<p><xref ref-type="table" rid="table-1">Tab. 1</xref> shows the time complexity of each operation.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption><title>Comparison of various operation time complexity</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Operation</th>
<th align="left">Time complexity</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Scalar multiplication operation <italic>S</italic></td>
<td align="left">1<italic>S</italic>&#x2009;&#x2248;&#x2009;29&#x2005;M</td>
</tr>
<tr>
<td align="left">The addition of points <italic>A</italic></td>
<td align="left">1<italic>A</italic>&#x2009;&#x2248;&#x2009;0.11&#x2005;M</td>
</tr>
<tr>
<td align="left">Bilinear pair operation <italic>P</italic></td>
<td align="left">1<italic>P</italic>&#x2009;&#x2248;&#x2009;87&#x2005;M</td>
</tr>
<tr>
<td align="left">Power by computing <italic>E</italic></td>
<td align="left">1<italic>E</italic>&#x2009;&#x2248;&#x2009;21&#x2005;M</td>
</tr>
<tr>
<td align="left">Ordinary hash operation <italic>H</italic></td>
<td align="left">Ignore</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Comparison data refer to reference [<xref ref-type="bibr" rid="ref-21">21</xref>]. And <italic>P</italic> represents the bilinear pair operation, <italic>S</italic> represents the scalar multiplication operation on the elliptic curve, <italic>A</italic> represents the addition operation of two points on the elliptic curve, <italic>E</italic> represents the power multiplication operation, and <italic>M</italic> represents the dot multiplication operation. Reference [<xref ref-type="bibr" rid="ref-22">22</xref>] tested the calculation time of number multiplication on an elliptic curve on a 900&#x2005;KHz sensor is about 2.6&#x2005;s. Considering the intelligent terminal of the latest CortexA9 1.2&#x2005;GHz microprocessor, the calculation time of number multiplication on the elliptic curve is about 0.00195 s (1S). The efficiency of each stage of the scheme is as <xref ref-type="table" rid="table-1">Tab. 1</xref>.</p>

<p>It can be seen from <xref ref-type="table" rid="table-2">Tab. 2</xref> that the calculation time of the key generation stage is linear with the total number of members. When the number of members increases, the calculation time also increases. The calculation time of the signature generation and verification stage has a linear relationship with the threshold value. The larger the threshold value is, the longer the calculation time is. The calculation time of the agent stage is certain and has nothing to do with the total number of members and the threshold value.</p>
<table-wrap id="table-2"><label>Table 2</label><caption><title>Comparison of various operation time complexity</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Phase</th>
<th align="left">Computational complexity</th>
<th align="left">Total time consuming (M)</th>
<th align="left">Time (ms)</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Key generation phase</td>
<td align="left">n(<italic>H</italic>&#x2009;&#x002B;&#x2009;<italic>S</italic>)</td>
<td align="left">29n</td>
<td align="left">1.95n</td>
</tr>
<tr>
<td align="left">Agent generation phase</td>
<td align="left">2<italic>A</italic>&#x2009;&#x002B;&#x2009;4<italic>S</italic>&#x2009;&#x002B;&#x2009;<italic>H</italic></td>
<td align="left">116.22</td>
<td align="left">7.8</td>
</tr>
<tr>
<td align="left">Signature generation phase</td>
<td align="left">t (<italic>H</italic>&#x2009;&#x002B;&#x2009;3<italic>S</italic>&#x2009;&#x002B;&#x2009;2<italic>A</italic>)</td>
<td align="left">87.22t</td>
<td align="left">5.86t</td>
</tr>
<tr>
<td align="left">Attestation phase</td>
<td align="left">2<italic>P</italic>&#x2009;&#x002B;&#x2009;t(<italic>A</italic>&#x2009;&#x002B;&#x2009;<italic>S</italic>)</td>
<td align="left">174&#x2009;&#x002B;&#x2009;29.11t</td>
<td align="left">12&#x2009;&#x002B;&#x2009;1.95t</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The performance comparison between the proposed scheme and the node without edge computing server is given below to evaluate better the influence of proxy threshold signature in the edge computing environment. As can be seen from <xref ref-type="table" rid="table-3">Tab. 3</xref>, edge computing offloading optimizes the computing structure of the original signature scheme, offloads some high-consumption computations to edge computing servers, and greatly improves the computing efficiency of terminal nodes.</p>
<table-wrap id="table-3"><label>Table 3</label><caption><title>Influence of offload on efficiency</title></caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Scheme</th>
<th align="left">Computational complexity</th>
<th align="left">Total time consuming (M)</th>
<th align="left">Time (ms)</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Our scheme</td>
<td align="left"><italic>S</italic>(n&#x2009;&#x002B;&#x2009;4t)&#x2009;&#x002B;&#x2009;t<italic>A</italic>&#x2009;&#x002B;&#x2009;<italic>H</italic>(n&#x2009;&#x002B;&#x2009;t)</td>
<td align="left">29n&#x2009;&#x002B;&#x2009;145.11t</td>
<td align="left">1.95n&#x2009;&#x002B;&#x2009;7.81t</td>
</tr>
<tr>
<td align="left">No MEC offload scheme</td>
<td align="left"><italic>S</italic>(n&#x2009;&#x002B;&#x2009;8t)&#x2009;&#x002B;&#x2009;<italic>A</italic>(2&#x2009;&#x002B;&#x2009;3t)<break/>&#x2009;&#x002B;&#x2009;<italic>H</italic>(n&#x2009;&#x002B;&#x2009;t)&#x2009;&#x002B;&#x2009;2<italic>P</italic></td>
<td align="left">29n&#x2009;&#x002B;&#x2009;116.33t&#x2009;&#x002B;&#x2009;290.22</td>
<td align="left">1.95n&#x2009;&#x002B;&#x2009;15.6t&#x2009;&#x002B;&#x2009;11.7</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="s7"><label>7</label><title>Conclusion</title>
<p>An identity-based anonymous authentication protocol for edge computing is proposed in this paper. This scheme combines proxy signature and ring signature, and at the same time, incorporates (t, n) threshold into it. And through correctness verification and security analysis, it is concluded that the signature has the characteristics of unforgeability and resistance to collusion attacks, which can provide timely response to information with timeliness and other characteristics, improve the efficiency of the signature, and ensure the identity of the proxy signer privacy. Through efficiency analysis, it can be seen that applying the solution in this paper to an edge computing system can make full use of the computing power of the MEC server, reduce the burden on wireless terminals, and improve system performance. Although the solution in this paper further releases the computing power of the terminal under the premise of ensuring anonymity, ensuring anonymity is redundant and complicated and not concise enough. We will further optimize the program to achieve better efficiency in the future.</p>
</sec>
</body>
<back>
<sec><title>Funding Statement</title>
<p>This paper was sponsored in part by Beijing Postdoctoral Research Foundation (No. 2021-ZZ-077, No. 2020-YJ-006) and Chongqing Industrial Control System Security Situational Awareness Platform, 2019 Industrial Internet Innovation and Development Project-Provincial Industrial Control System Security Situational Awareness Platform, Center for Research and Innovation in Software Engineering, School of Computer and Information Science (Southwest University, Chongqing 400175, China), and Chongqing Graduate Education Teaching Reform Research Project (yjg203032).</p></sec>
<sec sec-type="COI-statement"><title>Conflicts of Interest</title>
<p>The authors declare that they have no conflicts of interest to report regarding the present study.</p></sec>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>T.</given-names> <surname>Shanshan</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Waqas</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Rehman</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Mir</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Halim</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Social phenomena and fog computing networks: A novel perspective for future networks</article-title>,&#x201D; <source>IEEE Transactions on Computational Social Systems</source>, vol. <volume>9</volume>, no. <issue>1</issue>, pp. <fpage>32</fpage>&#x2013;<lpage>44</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Ren</surname></string-name>, <string-name><given-names>Q.</given-names> <surname>Wang</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Xia</surname></string-name></person-group>, &#x201C;<article-title>The development of proxy re-encryption</article-title>,&#x201D; <source>Journal of Cyber Security</source>, vol. <volume>2</volume>, no. <issue>1</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>8</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Ahamed</surname></string-name> and <string-name><given-names>N.</given-names> <surname>Duraipandian</surname></string-name></person-group>, &#x201C;<article-title>Secured data storage using deduplication in cloud computing based on elliptic curve cryptography</article-title>,&#x201D; <source>Computer Systems Science and Engineering</source>, vol. <volume>41</volume>, no. <issue>1</issue>, pp. <fpage>83</fpage>&#x2013;<lpage>94</lpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Tu</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Waqas</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Rehman</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Mir</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Abbas</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Reinforcement learning assisted impersonation attack detection in device-to-device communications</article-title>,&#x201D; <source>IEEE Transactions on Vehicular Technology</source>, vol. <volume>70</volume>, no. <issue>2</issue>, pp. <fpage>1474</fpage>&#x2013;<lpage>1479</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>K.</given-names> <surname>Shankar</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Venkatraman</surname></string-name></person-group>, &#x201C;<article-title>A secure encrypted classified electronic healthcare data for public cloud environment</article-title>,&#x201D; <source>Intelligent Automation &#x0026; Soft Computing</source>, vol. <volume>32</volume>, no. <issue>2</issue>, pp. <fpage>765</fpage>&#x2013;<lpage>779</lpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Berguiga</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Harchay</surname></string-name></person-group>, &#x201C;<article-title>An IoT-based intrusion detection system approach for tcp syn attacks</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source>, vol. <volume>71</volume>, no. <issue>2</issue>, pp. <fpage>3839</fpage>&#x2013;<lpage>3851</lpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Oliver</surname></string-name> and <string-name><given-names>T.</given-names> <surname>Purusothaman</surname></string-name></person-group>, &#x201C;<article-title>Lightweight and secure mutual authentication scheme for IoT devices using coap protocol</article-title>,&#x201D; <source>Computer Systems Science and Engineering</source>, vol. <volume>41</volume>, no. <issue>2</issue>, pp. <fpage>767</fpage>&#x2013;<lpage>780</lpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>P.</given-names> <surname>Ranaweera</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Jurcut</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Liyanage</surname></string-name></person-group>, &#x201C;<article-title>MEC-Enabled 5G use cases: A survey on security vulnerabilities and countermeasures</article-title>,&#x201D; <source>ACM Computing Surveys</source>, vol. <volume>54</volume>, no. <issue>9</issue>, pp. <fpage>186:1</fpage>&#x2013;<lpage>186:37</lpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>X.</given-names> <surname>Ding</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Xie</surname></string-name> and <string-name><given-names>F.</given-names> <surname>Li</surname></string-name></person-group>, &#x201C;<article-title>A lightweight anonymous authentication protocol for resource-constrained devices in internet of things</article-title>,&#x201D; <source>IEEE Internet of Things Journal</source>, vol. <volume>9</volume>, no. <issue>3</issue>, pp. <fpage>1818</fpage>&#x2013;<lpage>1829</lpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>P.</given-names> <surname>Gupta</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Kumar</surname></string-name></person-group>, &#x201C;<article-title>A verifiable ring signature scheme of anonymous signcryption using ECC</article-title>,&#x201D; <source>International Journal of Mathematical Sciences and Computing</source>, vol. <volume>7</volume>, no. <issue>2</issue>, pp. <fpage>24</fpage>&#x2013;<lpage>30</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>B.</given-names> <surname>Gong</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Cao</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Yang</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>A threshold group signature scheme suitable for the internet of things</article-title>,&#x201D; <source>Concurrency and Computation: Practice and Experience</source>, vol. <volume>33</volume>, no. <issue>13</issue>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>T.</given-names> <surname>Preethi</surname></string-name> and <string-name><given-names>B.</given-names> <surname>Amberker</surname></string-name></person-group>, &#x201C;<article-title>Lattice-based group signature scheme without random oracle</article-title>,&#x201D; <source>Information Security Journal: A Global Perspective</source>, vol. <volume>29</volume>, no. <issue>6</issue>, pp. <fpage>366</fpage>&#x2013;<lpage>381</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>X.</given-names> <surname>Yue</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Xi</surname></string-name></person-group>, &#x201C;<article-title>A revocable group signatures scheme to provide privacy-preserving authentications</article-title>,&#x201D; <source>Mobile Networks and Applications</source>, vol. <volume>10</volume>, pp. <fpage>1</fpage>&#x2013;<lpage>5</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Sun</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Liu</surname></string-name> and <string-name><given-names>B.</given-names> <surname>Wu</surname></string-name></person-group>, &#x201C;<article-title>An efficient full dynamic group signature scheme over ring</article-title>,&#x201D; <source>Cyber Security</source>, vol. <volume>1</volume>, no. <issue>1</issue>, pp. <fpage>15</fpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Subramani</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Maria</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Rajasekaran</surname></string-name> and <string-name><given-names>F.</given-names> <surname>Al-Turjman</surname></string-name></person-group>, &#x201C;<article-title>Lightweight privacy and confidentiality preserving anonymous authentication scheme for WBANs</article-title>,&#x201D; <source>IEEE Transactions on Industrial Informatics</source>, vol. <volume>18</volume>, no. <issue>5</issue>, pp. <fpage>3484</fpage>&#x2013;<lpage>3491</lpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Verma</surname></string-name> and <string-name><given-names>B.</given-names> <surname>Singh</surname></string-name></person-group>, &#x201C;<article-title>An efficient and provable certificate-based proxy signature scheme for IIoT environment</article-title>,&#x201D; <source>Information Sciences</source>, vol. <volume>518</volume>, pp. <fpage>142</fpage>&#x2013;<lpage>156</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>R.</given-names> <surname>Swati</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Sahadeo</surname></string-name></person-group>, &#x201C;<article-title>A quantum resistant anonymous poxy signature scheme</article-title>,&#x201D; <source>S&#x0101;dhan&#x0101;</source>, vol. <volume>47</volume>, no. <issue>1</issue>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Zou</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Ren</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Zhu</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Alazab</surname></string-name></person-group>, &#x201C;<article-title>A decentralized electronic reporting scheme with privacy protection based on proxy signature and blockchain</article-title>,&#x201D; <source>Security and Communication Networks</source>, vol. <volume>2022</volume>, pp. <fpage>5424395:1&#x2013;8</fpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>ZeTao</surname></string-name> and <string-name><given-names>X.</given-names> <surname>JuanJuan</surname></string-name></person-group>, &#x201C;<article-title>Efficient heterogeneous cross domain authentication scheme based on proxy blind signature in cloud environment</article-title>,&#x201D; <source>Computer Science</source>, vol. <volume>47</volume>, no. <issue>11</issue>, pp. <fpage>60</fpage>&#x2013;<lpage>67</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Burrows</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Abadi</surname></string-name> and <string-name><given-names>R.</given-names> <surname>Needham</surname></string-name></person-group>, &#x201C;<article-title>A logic of authentication</article-title>,&#x201D; <source>ACM Transactions on Computer Systems</source>, vol. <volume>8</volume>, no. <issue>1</issue>, pp. <fpage>18</fpage>&#x2013;<lpage>36</lpage>, <year>1990</year>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Islam</surname></string-name> and <string-name><given-names>G.</given-names> <surname>Biswas</surname></string-name></person-group>, &#x201C;<article-title>A Pairing-free identity-based authenticated group key agreement protocol for imbalanced mobile networks</article-title>,&#x201D; <source>Annals of Telecommunications</source>, vol. <volume>67</volume>, no. <issue>11</issue>, pp. <fpage>547</fpage>&#x2013;<lpage>558</lpage>, <year>2012</year>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="thesis"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Lin</surname></string-name></person-group>, &#x201C;<article-title>Design and implementation of identity authentication scheme based on elliptic curve cryptography on WSN</article-title>,&#x201D; <comment>Ph.D. Dissertation</comment>, <publisher-name>Zhejiang University of Technology</publisher-name>, <publisher-loc>China</publisher-loc>, <year>2008</year>.</mixed-citation></ref>
</ref-list>
</back></article>