<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xml:lang="en" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMC</journal-id>
<journal-id journal-id-type="nlm-ta">CMC</journal-id>
<journal-id journal-id-type="publisher-id">CMC</journal-id>
<journal-title-group>
<journal-title>Computers, Materials &#x0026; Continua</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-2226</issn>
<issn pub-type="ppub">1546-2218</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">54676</article-id>
<article-id pub-id-type="doi">10.32604/cmc.2024.054676</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>End-To-End Encryption Enabled Lightweight Mutual Authentication Scheme for Resource Constrained IoT Network</article-title>
<alt-title alt-title-type="left-running-head">End-To-End Encryption Enabled Lightweight Mutual Authentication Scheme for Resource Constrained IoT Network</alt-title>
<alt-title alt-title-type="right-running-head">End-To-End Encryption Enabled Lightweight Mutual Authentication Scheme for Resource Constrained IoT Network</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Ullah</surname><given-names>Shafi</given-names></name><xref ref-type="aff" rid="aff-1">1</xref><email>shafi.ullah@buitms.edu.pk</email></contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western"><surname>Nasir</surname><given-names>Haidawati Muhammad</given-names></name><xref ref-type="aff" rid="aff-2">2</xref></contrib>
<contrib id="author-3" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Kadir</surname><given-names>Kushsairy</given-names></name><xref ref-type="aff" rid="aff-3">3</xref><email>kushsairy.kadir@unikl.edu.my</email></contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western"><surname>Khan</surname><given-names>Akbar</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-5" contrib-type="author">
<name name-style="western"><surname>Memon</surname><given-names>Ahsanullah</given-names></name><xref ref-type="aff" rid="aff-4">4</xref></contrib>
<contrib id="author-6" contrib-type="author">
<name name-style="western"><surname>Azhar</surname><given-names>Shanila</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-7" contrib-type="author">
<name name-style="western"><surname>Khan</surname><given-names>Ilyas</given-names></name><xref ref-type="aff" rid="aff-5">5</xref></contrib>
<contrib id="author-8" contrib-type="author">
<name name-style="western"><surname>Ashraf</surname><given-names>Muhammad</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<aff id="aff-1"><label>1</label><institution>Department of Computer Engineering, Balochistan University of Information Technology, Engineering and Management Sciences</institution>, <addr-line>Quetta, 87300</addr-line>, <country>Pakistan</country></aff>
<aff id="aff-2"><label>2</label><institution>Computer Engineering Section Malaysian Institute of Technology, Universiti Kuala Lumpur</institution>, <addr-line>Kuala Lumpur, 50250</addr-line>, <country>Malaysia</country></aff>
<aff id="aff-3"><label>3</label><institution>Electrical Engineering Section, Universiti Kuala Lumpur, British Malaysian Institute</institution>, <addr-line>Salengor, 53100</addr-line>, <country>Malaysia</country></aff>
<aff id="aff-4"><label>4</label><institution>Electrical Engineering Department, Mehran University</institution>, <addr-line>Khairpur-Mirs, 76062</addr-line>, <country>Pakistan</country></aff>
<aff id="aff-5"><label>5</label><institution>Department of Mathematics, College of Science Al-Zulfi, Majmaah University</institution>, <addr-line>Al-Majmaah, 11952</addr-line>, <country>Saudi Arabia</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Authors: Shafi Ullah. Email: <email>shafi.ullah@buitms.edu.pk</email>; Kushsairy Kadir. Email: <email>kushsairy.kadir@unikl.edu.my</email></corresp>
</author-notes>
<pub-date date-type="collection" publication-format="electronic">
<year>2025</year></pub-date>
<pub-date date-type="pub" publication-format="electronic">
<day>17</day>
<month>02</month>
<year>2025</year></pub-date>
<volume>82</volume>
<issue>2</issue>
<fpage>3223</fpage>
<lpage>3249</lpage>
<history>
<date date-type="received">
<day>04</day>
<month>6</month>
<year>2024</year>
</date>
<date date-type="accepted">
<day>14</day>
<month>9</month>
<year>2024</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2025 The Authors.</copyright-statement>
<copyright-year>2025</copyright-year>
<copyright-holder>Published by Tech Science Press.</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_54676.pdf"></self-uri>
<abstract>
<p>Machine-to-machine (M2M) communication networks consist of resource-constrained autonomous devices, also known as autonomous Internet of things (IoTs) or machine-type communication devices (MTCDs) which act as a backbone for Industrial IoT, smart cities, and other autonomous systems. Due to the limited computing and memory capacity, these devices cannot maintain strong security if conventional security methods are applied such as heavy encryption. This article proposed a novel lightweight mutual authentication scheme including elliptic curve cryptography (ECC) driven end-to-end encryption through curve25519 such as (i): efficient end-to-end encrypted communication with pre-calculation strategy using curve25519; and (ii): elliptic curve Diffie-Hellman (ECDH) based mutual authentication technique through a novel lightweight hash function. The proposed scheme attempts to efficiently counter all known perception layer security threats. Moreover, the pre-calculated key generation strategy resulted in cost-effective encryption with 192-bit curve security. It showed comparative efficiency in key strength, and curve strength compared with similar authentication schemes in terms of computational and memory cost, communication performance and encryption robustness.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Mutual authentication</kwd>
<kwd>lightweight end-to-end encryption</kwd>
<kwd>elliptic curve cryptography</kwd>
<kwd>industrial internet of things</kwd>
<kwd>curve25519</kwd>
<kwd>machine-to-machine communication</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>Resource-constrained MTCDs also known as autonomous IoT devices, are inexpensive, tiny, and autonomous, feasible to operate in environments where no or little human intervention is required. There are approx. 5 billion such devices are connected to wireless sensor networks (WSN), with 48% of the population using the internet and the amount is expected to reach 50 billion by 2025 [<xref ref-type="bibr" rid="ref-1">1</xref>&#x2013;<xref ref-type="bibr" rid="ref-4">4</xref>]. These devices are heterogeneous, resource-constrained, and communicate in autonomously without human intervention such as monitoring events, synchronous data sharing, communicating remote instructions, autonomous driving assistance, environmental and security surveillance, smart cities and industrial IoTs are the main drivers of autonomous devices.</p>
<p>IoT devices lack the processing power and memory to function remotely and independently. Instead, they rely on external security solutions as they are unable to implement standard security protocols whereas the external security is embedded via software-based protocols. Additionally, these devices operate securely in an environment where every device must be a trusted entity to ensure security with optimal performance. Many experts established such trust by authenticating all devices within the network. However, the authentication schemes lack cost efficiency in performance and fail to acquire robust security against many identified security threats, as presented in <xref ref-type="table" rid="table-1">Table 1</xref>.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Summary of the related work in the presented literature</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>Article</th>
<th>Method</th>
<th>Security features</th>
<th>Limitations</th>
<th>Achievements</th>
<th>Future aspects</th>
<th>Vulnerability</th>
</tr>
</thead>
<tbody>
<tr>
<td>[<xref ref-type="bibr" rid="ref-5">5</xref>]</td>
<td>Robust and energy-efficient authentication protocol for industrial internet of things</td>
<td><list list-type="bullet">
<list-item>
<p>Authentication</p></list-item>
<list-item>
<p>Integrity</p></list-item>
</list></td>
<td>Higher complexity in protocol design</td>
<td>Strong security and energy efficiency for industrial IoTs</td>
<td>Simplify protocol design, enhance usability</td>
<td>Potential vulnerabilities due to higher complexity in protocol design affecting efficiency and usability.</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-6">6</xref>]</td>
<td>Dynamic group-based efficient and secure authentication and key agreement protocol for MTC in LTE/LTE-A networks</td>
<td><list list-type="bullet">
<list-item>
<p>Authentication</p></list-item>
<list-item>
<p>Integrity</p></list-item>
</list></td>
<td>Potential for increased complexity and overhead</td>
<td>Dynamic and efficient authentication for MTC in LTE/LTE-A networks</td>
<td>Reduce complexity and overhead, enhance scalability</td>
<td>Vulnerable to complexity issues impacting efficiency and scalability.</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-7">7</xref>]</td>
<td>Security-enhanced group-based AKA protocol for M2M communication in IoT-enabled LTE/LTE-A network</td>
<td><list list-type="bullet">
<list-item>
<p>Authentication</p></list-item>
<list-item>
<p>Integrity</p></list-item>
</list></td>
<td>Require more computational resources</td>
<td>Enhanced security for M2M communication in IoT-enabled LTE/LTE-A networks</td>
<td>Optimize computational resource usage, improve efficiency</td>
<td>Vulnerable to resource constraints affecting computational performance.</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-9">9</xref>]</td>
<td>Three-factor anonymous authentication scheme for wireless sensor networks in internet of things environments</td>
<td><list list-type="bullet">
<list-item>
<p>Authentication</p></list-item>
<list-item>
<p>Integrity</p></list-item>
</list></td>
<td>Potentially higher complexity and overhead</td>
<td>Enhanced security and anonymity for WSNs in IoT environments</td>
<td>Simplify implementation, reduce overhead</td>
<td>Vulnerable to complexity issues affecting overhead and usability.</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-10">10</xref>]</td>
<td>Lightweight authentication protocol for e-health clouds in IoT based applications through 5G technology</td>
<td><list list-type="bullet">
<list-item>
<p>Authentication</p></list-item>
<list-item>
<p>Integrity</p></list-item>
</list></td>
<td>Not scalable to larger networks</td>
<td>Lightweight and efficient authentication for e-health clouds in IoT applications</td>
<td>Enhance scalability, adapt to diverse healthcare scenarios</td>
<td>Vulnerable to scalability issues in larger network deployments.</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-19">19</xref>]</td>
<td>Medical image encryption by content-aware DNA computing for secure healthcare</td>
<td><list list-type="bullet">
<list-item>
<p>Confidentiality</p></list-item>
<list-item>
<p>Integrity</p></list-item>
</list></td>
<td>Complex implementation and high computational requirements</td>
<td>Enhanced security for medical image encryption in healthcare</td>
<td>Simplify implementation, reduce computational requirements</td>
<td>Vulnerable to complexity in implementation and high computational requirements.</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-21">21</xref>]</td>
<td>Robust and energy-efficient authentication protocol for industrial internet of things</td>
<td><list list-type="bullet">
<list-item>
<p>Authentication,</p></list-item>
<list-item>
<p>Integrity</p></list-item>
</list></td>
<td>Higher complexity in protocol design</td>
<td>Robust security and energy efficiency for industrial IoT</td>
<td>Simplify protocol design</td>
<td>&#x2013;</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>This research proposes a lightweight mutual authentication scheme with a pre-calculation strategy to address resilient security and efficient performance. Moreover, the scheme pioneered the following novel functionalities:
<list list-type="simple">
<list-item><label>1)</label><p>The lightweight ash function applied one of the fastest curves &#x201C;Curve25519&#x201D; with a pre-calculated reference-list strategy where we assigned unique curve points to every American standard code for information interchange (ASCII) character through GNU (collection of freeware application used s an operating system) multiple precision (GMP) library. It performed efficiently in acquiring less code size read only memory and occupying less random-access memory.</p></list-item>
<list-item><label>2)</label><p>ECC based 192-bit curve security is achieved through lightweight hash function for an 8-bit CPU based IoT devices.</p></list-item>
<list-item><label>3)</label><p>Due to end-to-end encryption, the proposed scheme can work with IoT devices through all data transmission protocols such as local area network (LAN), wide area network (WAN), long term-evaluation (LTE), 3rd generation partnership project (3GPP), long range wide area network (LoRaWAN) types of networks due to its adequate data-block and code-size that includes the one-to-many (one master-many slaves) and many-to-many (many masters-many slaves) type of communication configurations.</p></list-item>
</list></p>
<p>The results shown in <xref ref-type="sec" rid="s5">Section 5</xref> prove that the proposed security scheme can be used in all types of autonomous network environments with minimum cost and optimum security.</p>
<p><bold><italic>Structure of the Article</italic></bold></p>
<p>The structure of the article is as followed: 
<list list-type="bullet">
<list-item>
<p><xref ref-type="sec" rid="s2">Section 2</xref> presents literature review with related works.</p></list-item>
<list-item>
<p><xref ref-type="sec" rid="s3">Section 3</xref> presents proposed methodology and important parts of the mechanism including the novel has function, secret key generation and the lightweight encryption technique.</p></list-item>
<list-item>
<p><xref ref-type="sec" rid="s4">Section 4</xref> presents threat modeling where the proposed technique is explained in countering ten different attacks.</p></list-item>
<list-item>
<p><xref ref-type="sec" rid="s5">Section 5</xref> explains the proposed mechanism performance in terms of communication, storage and computational costs.</p></list-item>
<list-item>
<p><xref ref-type="sec" rid="s6">Section 6</xref> explains the limitations and future directions of the presented technique followed by conclusion.</p></list-item>
</list></p>
</sec>
<sec id="s2">
<label>2</label>
<title>Related Studies on Authentication Techniques</title>
<p>This section offers a variety of studies on local, group-based, and factor-based authentication. These studies aim to counter threats that have been identified, as indicated in <xref ref-type="table" rid="table-1">Table 1</xref>, and to achieve efficient computational and communication performance in addition to basic security features like data integrity, privacy, and authentication.</p>

<p>The group-based authentication constructed key-agreeing protocols target LTE/LTE-A based 3GPP networks. These protocols are presented as authentication key agreeing (AKA) to improve security performance. A novel authentication technique was proposed by Lai et al. [<xref ref-type="bibr" rid="ref-1">1</xref>]. The protocol first used a fully authenticated home subscriber server (HSS) with the IoT device to authenticate other devices. However, it lacked resilience against several security attacks. To resolve the issue, Cao et al. [<xref ref-type="bibr" rid="ref-2">2</xref>] presented group-based access authentication (GBAAM), a group signature protocol in which each group was assigned a specific signature. It generated high computation overheads due to asymmetric cryptosystems including severe privacy preservation issues. Fu et al. [<xref ref-type="bibr" rid="ref-3">3</xref>] introduced a privacy-enforced protocol that generated ECC-based pseudo-identity. It successfully encountered basic security threats but produced high network overheads due to asymmetric key cryptosystem. Lai et al. [<xref ref-type="bibr" rid="ref-4">4</xref>] and Li et al. [<xref ref-type="bibr" rid="ref-5">5</xref>] proposed a similar sort of robust and lightweight technique group-based lightweight authentication scheme for resource-constrained machine-to-machine (GLARM-AKA). It was devised for resource-constrained IoT devices and produced lesser network overheads with unlink-ability but failed to incorporate current devices leaving the system (leakage of data) which endangered nodes against node capture attacks [<xref ref-type="bibr" rid="ref-6">6</xref>,<xref ref-type="bibr" rid="ref-7">7</xref>] proposed security enhanced group-based (SEGB) and dynamic group-based efficient and secure authentication (DGBES), respectively; a public key based group authentication with symmetric cryptosystem. These protocols depended on name server protocol (NSP) which is responsible for main computational tasks including key generation and authentication. Lin et al. [<xref ref-type="bibr" rid="ref-8">8</xref>] recommended offloading of computational tasks to save energy and improve performance for local authentication. The scheme enhanced resource management for resource constrained devices as computation was offloaded to the third party. However, the noisy signals resulted in loss of data and the mechanism did not support the regeneration of lost bytes. Ayub et al. [<xref ref-type="bibr" rid="ref-9">9</xref>] presented robust authentication to maximize security that do not target resource constrained devices. Choi et al. [<xref ref-type="bibr" rid="ref-10">10</xref>] endorse a protocol that incorporated unlink-ability but lacked in preserving device privacy and demonstrated vulnerability against identity theft attacks. Li et al. [<xref ref-type="bibr" rid="ref-11">11</xref>] enhanced unlink-ability problems in enduring policy in LTE-A, included privacy preservation and encountered impersonation attacks.</p>
<p>Wang et al. [<xref ref-type="bibr" rid="ref-12">12</xref>] announced a hybrid authentication through fusing local and remote access control features with lightweight cryptography. The authors aimed to compensate resource constrained device&#x2019;s operations by reducing data privacy related processes as the scheme relied on certificate-based authentication. Qiu et al. [<xref ref-type="bibr" rid="ref-13">13</xref>] proposed an AKA scheme intended for machine-to-machine (M2M) in ipv6-low power wireless personal area network (6LoWPAN) to overcome the insufficiencies referred to authentication and key agreeing encrypted system (AKAES) which is a blend of encryption and shared keys, applied for secure authentication for resource constrained IoT devices and offered tight security support to both static and portable devices in 6LoWPAN systems. Chen et al. [<xref ref-type="bibr" rid="ref-14">14</xref>] proposed authentication via identity-based cryptography without key escrow (AIBCwKE) model of authentication using identity-based cryptography (IBC) in which devices were assigned encrypted identities through ECC with third party key agreeing mechanisms. However, the model was tested on a more powerful machine compared to the small IoT devices.</p>
<p>Jiang et al. [<xref ref-type="bibr" rid="ref-15">15</xref>] integrated a two-factor based authentication in which a user would log in, authenticate and then share data. The authentication greatly suffered from user anonymity. Saqib et al. [<xref ref-type="bibr" rid="ref-16">16</xref>] proposed robust and similar three-factor authentication, an extension to [<xref ref-type="bibr" rid="ref-17">17</xref>,<xref ref-type="bibr" rid="ref-18">18</xref>] work that aimed to achieve user anonymity in smart home environments (a third factor) as pre-shared keys. He et al. [<xref ref-type="bibr" rid="ref-19">19</xref>] compelled IoT devices for complex computation to achieve privacy. Works in [<xref ref-type="bibr" rid="ref-1">1</xref>,<xref ref-type="bibr" rid="ref-19">19</xref>], achieved user privacy in contradiction to the service provider&#x2019;s high energy usage. Wu et al. in [<xref ref-type="bibr" rid="ref-20">20</xref>], demonstrated image encryption through a rule selector in deoxyribonucleic acid (DNA) by cracking semantical information embedded in DNA sequences. The encryption could be used to map secret keys in authentication. A summary of the presented literature is shown in <xref ref-type="table" rid="table-1">Table 1</xref>.</p>
</sec>
<sec id="s3">
<label>3</label>
<title>Proposed Robust Mutual Authentication Scheme</title>
<p>This section describes the essential functions of the proposed scheme. The scheme aimed to enable resource-constrained IoT devices to achieve maximum affordable security with efficient performance in IoT networks. It further attempts to address the basic security features in the perception layer of IoT devices, as discussed in [<xref ref-type="bibr" rid="ref-22">22</xref>]. The process flow between two IoT devices (sender and receiver) is explained in the following:</p>
<p>To establish authentication, a device must authenticate the matching device before sending or receiving actual data to or from that device. To mutually authenticate, the sender and recipient devices will both carry out an Elliptic curve Diffie-Hellman (ECDH)-based authentication key agreement procedure. Once the mutual authentication is established, the receiving device must also ensure that the received data is not mutated during the transmission.</p>
<p>Similarly, data (during the transmission) must be kept secure from main in the middle (MiTM) and eavesdroppers. To achieve this, end-to-end encryption is applied [<xref ref-type="bibr" rid="ref-23">23</xref>] encryption scheme to address critical security issues such attacks by ensuring that both IoT devices and servers can authenticate each other securely before exchanging data. The protocol is optimized for efficiency, employing lightweight cryptographic techniques that reduce computational and communication overhead, which is important for the limited resources of IoT devices. Therefore, we adopted the fastest curve version &#x201C;Curve25519&#x201D; (discussed in <xref ref-type="sec" rid="s3_2">Section 3.2</xref>) from ECC in the proposed lightweight hash function (discussed in <xref ref-type="sec" rid="s3_3">Section 3.3</xref>) to ensure data integrity. The end-to-end encrypted communication (as shown in OK. 1) is conducted between the two IoT devices where the encryption is applied during the key exchange processes. The keys applied during key exchange processes are an embedded network key (<inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mrow><mml:mtext>N</mml:mtext></mml:mrow><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mrow><mml:mtext>k</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and a public key (<inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mi>P</mml:mi><mml:mi>b</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. Reference [<xref ref-type="bibr" rid="ref-24">24</xref>] designed IoT devices that leverage the constrained application protocol (CoAP) to address security and efficiency challenges specific to IoT environments by providing a lightweight, yet robust, method for mutual authentication between devices.</p>
<sec id="s3_1">
<label>3.1</label>
<title>Environmental Assumptions</title>
<p><list list-type="order">
<list-item>
<p>IoT devices are resource constrained and autonomous and operate in a non-lossy network.</p></list-item>
<list-item>
<p>Devices that work in a single network, share identical network ID or a network key (<inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mi>N</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula>).</p></list-item>
<list-item>
<p>We assume that the network has adopted a local authentication environment.</p></list-item>
</list></p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Elliptic Curve End-to-End Encryption on Curve25519</title>
<p>The Curve25519 is a Montgomery curve with equation <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:msup><mml:mi>y</mml:mi><mml:mo>&#x2227;</mml:mo></mml:msup><mml:mn>2</mml:mn><mml:mo>=</mml:mo><mml:msup><mml:mi>x</mml:mi><mml:mo>&#x2227;</mml:mo></mml:msup><mml:mn>3</mml:mn><mml:mo>+</mml:mo><mml:msup><mml:mo stretchy="false">[</mml:mo><mml:mo>&#x2227;</mml:mo></mml:msup><mml:mn>2</mml:mn><mml:mo>+</mml:mo><mml:mi>x</mml:mi><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> [<xref ref-type="bibr" rid="ref-25">25</xref>] over F<inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mi>p</mml:mi></mml:math></inline-formula> (prime field). The <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is specified by 3 &#x003C; <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:mi>p</mml:mi></mml:math></inline-formula> &#x2264; 2<sup>255</sup>&#x2212;19, with initial basepoint of <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn>9</mml:mn></mml:math></inline-formula>. The curve also utilizes flattened x-axis points to let the use of Montgomery ladder on X and Z coordinates. It is 255-bit curve with preceding standard curves of NIST P-256 and NIST-K233 of 128-bit, that calculates up to 256-bit security with fastest and safest ECC curves, presented by [<xref ref-type="bibr" rid="ref-26">26</xref>]. It is intended for ECDH based key agreement protocols to devise strong encrypted keys. In addition, it exhibits robust security [<xref ref-type="bibr" rid="ref-27">27</xref>] and consumes comparatively less memory in terms of key size. <xref ref-type="fig" rid="fig-1">Fig. 1</xref> illustrates end-to-end encryption between two IoT devices (M<sub>1</sub> and M<sub>2</sub>) that share a message. The M<sub>1</sub> encrypts the message through Curve25519 based encryption before the ECDH key exchange process by devising a secret key <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:mi>S</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula>. Additionally, <xref ref-type="fig" rid="fig-2">Fig. 2</xref> shows elliptic curve-based encryption performance on similar IoT devices through calculating ECC processes costs such as point addition (PA), point doubling (PD), Scaler multiplication and key generation processes. The proposed encryption process uses the least encryption time due to pre-calculated curve point strategy through computational offloading as keys are generated before and only referenced from memory during encryption process.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Elliptic curve based comparative secret key performance on similar IoT devices, References: De Santis et al., 2016 [<xref ref-type="bibr" rid="ref-28">28</xref>], Fujii et al., 2018 [<xref ref-type="bibr" rid="ref-29">29</xref>], Oliveira et al., 2018 [<xref ref-type="bibr" rid="ref-30">30</xref>], Armando et al., 2006 [<xref ref-type="bibr" rid="ref-31">31</xref>], Ocenasek et al., 2009 [<xref ref-type="bibr" rid="ref-32">32</xref>]</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_54676-fig-1.tif"/>
</fig><fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>End-to-end encryption process of the proposed scheme</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_54676-fig-2.tif"/>
</fig>
<p>Through <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:mi>P</mml:mi><mml:mi>b</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi><mml:mo>&#x2295;</mml:mo><mml:mi>N</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula> (point addition operation of <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:mi>P</mml:mi><mml:mi>b</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:mi>N</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula>) that results in a large prime positive integer which is considered as a generator curve number <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:mi>G</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>L</mml:mi><mml:mi>R</mml:mi><mml:mi>P</mml:mi><mml:mi>N</mml:mi></mml:math></inline-formula> for that message. After successful ECDH based key exchange, the secret key from <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:mi>G</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>L</mml:mi><mml:mi>R</mml:mi><mml:mi>P</mml:mi><mml:mi>N</mml:mi></mml:math></inline-formula> is considered as the new generator curve point <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:mrow><mml:mtext>G</mml:mtext></mml:mrow><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mrow><mml:mtext>cp</mml:mtext></mml:mrow></mml:math></inline-formula> for that session whereas, <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:mrow><mml:mtext>G</mml:mtext></mml:mrow><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mrow><mml:mtext>cp</mml:mtext></mml:mrow></mml:math></inline-formula> will be renewed for next message.</p>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Secret Key (SK) Generation</title>
<p>Secret key (SK) has a crucial role in the hash function that can be generated from two parts:
<list list-type="simple">
<list-item><label>1)</label><p>SK can be generated from ECDH key exchanging process.</p></list-item>
<list-item><label>2)</label><p>SK can be formed by an integer through random number generator function (RNGF) with a seed input of a built-in timer in AVR in microseconds.</p></list-item>
</list></p>
<p><xref ref-type="table" rid="table-2">Table 2</xref> shows secret key (SK) generated by ECDH key exchange procedures where the resulting keys are considered as generator values (G). The proposed technique&#x2019;s execution cost is calculated using scalar multiplication and encryption process. In <xref ref-type="table" rid="table-2">Table 2</xref>, encryption time (E.T) increases with large mod(p) values. Scalar multiplication calculates large curve points in ECC efficiently by converting the G value into bits. When the bit is 1, P.A is executed and P.D is executed if the bit is 0.</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>Secret key generation performance</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left" />
<col align="left" />
<col align="left" />
<col align="left" />
<col align="left" />
<col align="left" />
<col align="left" />
<col align="left" />
</colgroup>
<thead>
<tr>
<th>mod</th>
<th>G</th>
<th align="center" colspan="2">Secret key</th>
<th rowspan="2">Secret key size</th>
<th>P.A</th>
<th>P.D</th>
<th>E.T (ms)</th>
</tr>
<tr>
<th/>
<th/>
<th>x</th>
<th>y</th>
<th/>
<th/>
<th/>
</tr>
</thead>
<tbody>
<tr>
<td>30-bit</td>
<td>484924606752301</td>
<td>826625966</td>
<td>80435164</td>
<td>30-bit</td>
<td>25</td>
<td>48</td>
<td>1087</td>
</tr>
<tr>
<td/>
<td>2938674132359780000</td>
<td>136996696</td>
<td>68348709</td>
<td>28-bit</td>
<td>31</td>
<td>62</td>
<td>1406</td>
</tr>
<tr>
<td/>
<td>160949512909771</td>
<td>497086896</td>
<td>418609960</td>
<td>29-bit</td>
<td>24</td>
<td>48</td>
<td>1062</td>
</tr>
<tr>
<td>43-bit</td>
<td>484924606752301</td>
<td>198854107681</td>
<td>1226705872672</td>
<td>38-bit</td>
<td>25</td>
<td>48</td>
<td>1891</td>
</tr>
<tr>
<td/>
<td>2938674132359780000</td>
<td>1323613420771</td>
<td>2788657789809</td>
<td>42-bit</td>
<td>31</td>
<td>62</td>
<td>2349</td>
</tr>
<tr>
<td/>
<td>160949512909771</td>
<td>2741618876124</td>
<td>974370806151</td>
<td>42-bit</td>
<td>24</td>
<td>48</td>
<td>1811</td>
</tr>
<tr>
<td>62-bit</td>
<td>484924606752301</td>
<td>775724248908631391</td>
<td>3753518844464014710</td>
<td>62-bit</td>
<td>25</td>
<td>48</td>
<td>2623</td>
</tr>
<tr>
<td/>
<td>2938674132359780000</td>
<td>685910647662771392</td>
<td>3518772554951183129</td>
<td>61-bit</td>
<td>31</td>
<td>62</td>
<td>2907</td>
</tr>
<tr>
<td/>
<td>160949512909771</td>
<td>1295578424185598538</td>
<td>933837696196791576</td>
<td>60-bit</td>
<td>24</td>
<td>48</td>
<td>2523</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3_4">
<label>3.4</label>
<title>Curve Operation Cost</title>
<p>Because elliptic curve key generation requires a lot of work, it determines the cost of computing performance. Curve operations with a maximum size of 255 bits are performed on huge random prime numbers. Fixed-point multiplication, scaler multiplication, point addition, point doubling, multiplicative inverse, and verification are the several operations that make up curves. The two primary curve operations are point-addition and point-doubling, with other operations being their subsets. <xref ref-type="fig" rid="fig-1">Fig. 1</xref> compares the costs of our method with methods based on curve operations in <xref ref-type="table" rid="table-2">Table 2</xref> that used CPUs with higher processing power. The authors in [<xref ref-type="bibr" rid="ref-33">33</xref>], aimed to protect IoT systems from various security threats such as unauthorized access, data breaches, and impersonation attacks by enabling secure verification of identities between IoT devices and servers. The proposed solution employs efficient cryptographic techniques tailored for the resource constraints of IoT devices, ensuring both robust security and minimal computational overhead with an emphasis on side-channel attack defense. In [<xref ref-type="bibr" rid="ref-28">28</xref>], authors investigated the application of the X25519 elliptic curve Diffie-Hellman key exchange on ARM Cortex-M4 processors. The difficulty of securing cryptographic operations on devices with limited resources, such as the ARM Cortex-M4, which is frequently utilized in embedded systems and IoT applications, is discussed in the paper. In [<xref ref-type="bibr" rid="ref-29">29</xref>], a study aimed at enhancing the application of the Curve25519 elliptic curve on ARM microcontrollers was presented which are popular in embedded systems because of their efficiency and low power consumption. The authors suggest methods for improving cryptographic operations&#x2019; performance on these devices with limited resources, guaranteeing the effective execution of safe key exchange protocols. Authors in [<xref ref-type="bibr" rid="ref-30">30</xref>] explored pre-computation strategies, which can greatly improve the performance of cryptographic operations by lowering the computational load during execution. They also discussed methods for optimizing the computation of the Montgomery ladder, a technique widely used in elliptic curve cryptography for performing scalar multiplication securely and efficiently. <xref ref-type="fig" rid="fig-1">Fig. 1</xref> represents encryption time through a secret key based on the research presented in this section.</p>

</sec>
<sec id="s3_5">
<label>3.5</label>
<title>Pre-Calculated Ascii Characters&#x2019; Curve Points on Elliptic Curve</title>
<p>This technique is used to pre-calculate curve points for 46 ASCII characters consisting of characters a to z, 0 to 9, and 10 special characters. Other characters are excluded to pre-calculate minimize pre-calculation memory usage. This strategy requires approximately 20% storage in the program memory of IoT devices (for Arduino Mega 2560). <xref ref-type="table" rid="table-3">Table 3</xref> shows ASCII characters&#x2019; dedicated G values and their respective curve points.</p>
<table-wrap id="table-3">
<label>Table 3</label>
<caption>
<title>Pre-calculated ASCII characters&#x2019; curve points on elliptic curve</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>S#</th>
<th>ASCII</th>
<th>Generator no. G</th>
<th>Curve points (x, y)</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>a</td>
<td>111499594558235</td>
<td>6943371436, 703285746</td>
</tr>
<tr>
<td>2</td>
<td>b</td>
<td>2889216970938592</td>
<td>370473331, 9814017275</td>
</tr>
<tr>
<td>3</td>
<td>c</td>
<td>2768383894150671</td>
<td>7591555548, 617465919</td>
</tr>
<tr>
<td>4</td>
<td>d</td>
<td>6752820302129893</td>
<td>1658744261, 842278155</td>
</tr>
<tr>
<td>5</td>
<td>e</td>
<td>9368763179746217</td>
<td>183110606, 1102271714</td>
</tr>
<tr>
<td>6</td>
<td>f</td>
<td>4134484689890461</td>
<td>1179809473, 782626044</td>
</tr>
<tr>
<td>7</td>
<td>g</td>
<td>4398252307637991</td>
<td>1189560000, 939147020</td>
</tr>
<tr>
<td>8</td>
<td>h</td>
<td>701422480221611</td>
<td>920636675, 800025404</td>
</tr>
<tr>
<td>9</td>
<td>j</td>
<td>7708354526621577</td>
<td>731536773, 384990209</td>
</tr>
<tr>
<td>10</td>
<td>k</td>
<td>4971564241326461</td>
<td>211051887, 664479360</td>
</tr>
<tr>
<td>11</td>
<td>l</td>
<td>2858603567224847</td>
<td>1114911791, 95276802</td>
</tr>
<tr>
<td>12</td>
<td>m</td>
<td>4106223294644557</td>
<td>3710347429, 177948275</td>
</tr>
<tr>
<td>13</td>
<td>n</td>
<td>8523275385733039</td>
<td>207177991, 1001485169</td>
</tr>
<tr>
<td>14</td>
<td>o</td>
<td>4418107557274013</td>
<td>4351796402, 461746467</td>
</tr>
<tr>
<td>15</td>
<td>p</td>
<td>2305145081172399</td>
<td>3691263203, 616366034</td>
</tr>
<tr>
<td>16</td>
<td>q</td>
<td>9458794062588701</td>
<td>4491813440, 200940412</td>
</tr>
<tr>
<td>17</td>
<td>r</td>
<td>535381727096971G</td>
<td>548976276, 16443194</td>
</tr>
<tr>
<td>18</td>
<td>s</td>
<td>7496981899680591G</td>
<td>619312283, 712899022</td>
</tr>
<tr>
<td>19</td>
<td>t</td>
<td>1630862487441159G</td>
<td>4027484439, 4545269340</td>
</tr>
<tr>
<td>20</td>
<td>u</td>
<td>262488422772491</td>
<td>182422723, 62605984</td>
</tr>
<tr>
<td>21</td>
<td>v</td>
<td>141698295657533</td>
<td>903414998, 482785657</td>
</tr>
<tr>
<td>22</td>
<td>w</td>
<td>1389325569854634</td>
<td>6059458268, 8931747116</td>
</tr>
<tr>
<td>23</td>
<td>x</td>
<td>20951118215536</td>
<td>3259429426, 7432935628</td>
</tr>
<tr>
<td>24</td>
<td>y</td>
<td>7798576044313577</td>
<td>8634865552, 8564002957</td>
</tr>
<tr>
<td>25</td>
<td>z</td>
<td>4005284346017878</td>
<td>4989425128, 2748185069</td>
</tr>
<tr>
<td>26</td>
<td>0</td>
<td>835827759657194</td>
<td>2691006138, 1523886684</td>
</tr>
<tr>
<td>27</td>
<td>1</td>
<td>8925413191395718</td>
<td>825668282, 9733636287</td>
</tr>
<tr>
<td><bold>&#x2026;</bold></td>
<td><bold>&#x2026;</bold></td>
<td><bold>&#x2026;</bold></td>
<td><bold>&#x2026; </bold><bold>, &#x2026;</bold></td>
</tr>
</tbody>
</table>
</table-wrap>
<p>These dedicated values are used for encryption by the hash function. Every ASCII character in <xref ref-type="table" rid="table-3">Table 3</xref> represents a long random prime integer as generator value (G). These generator values are then applied on ECC to find the respective curve points. These curve points are calculated before runtime to reduce runtime computation.</p>

</sec>
<sec id="s3_6">
<label>3.6</label>
<title>Lightweight Hash Function (<inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:mi mathvariant="bold-italic">l</mml:mi><mml:mi mathvariant="bold-italic">H</mml:mi><mml:mi mathvariant="bold-italic">f</mml:mi></mml:math></inline-formula>)</title>
<p>Lightweight hash function <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:mo stretchy="false">(</mml:mo><mml:mi>l</mml:mi><mml:mi>H</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula>) in the proposed scheme is Curve25519 based lightweight encryption technique. A reference list contains limited 46 ASCII characters, where each character has specific ECC generator value (G). These values contain a unique x and y coordinates&#x2019; curve points. <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:mi>l</mml:mi><mml:mi>H</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> encrypts a message (string) based on the set of characters (<inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:mo>&#x2211;</mml:mo><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:msup><mml:mn>46</mml:mn><mml:mrow><mml:mo>&#x2227;</mml:mo></mml:mrow></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>C</mml:mi><mml:mi>h</mml:mi><mml:mi>i</mml:mi></mml:math></inline-formula>) individually, such that string <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>C</mml:mi><mml:mi>h</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>C</mml:mi><mml:mi>h</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>C</mml:mi><mml:mi>h</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>n</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mi>s</mml:mi></mml:math></inline-formula> where each character <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:mi>C</mml:mi><mml:mi>h</mml:mi><mml:mi>i</mml:mi></mml:math></inline-formula> retains a particular large random prime number <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:mo stretchy="false">(</mml:mo><mml:mi>L</mml:mi><mml:mi>R</mml:mi><mml:mi>P</mml:mi><mml:mi>N</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> as a generator value (G) on an elliptic curve. This (G) value is further applied on curve operations (point addition, point doubling) that resulted into a unique x, y curve points <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:mo stretchy="false">(</mml:mo><mml:mi>G</mml:mi><mml:mi>c</mml:mi><mml:mi>p</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:mo stretchy="false">)</mml:mo></mml:math></inline-formula> for that particular ASCII character such that <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:mi>C</mml:mi><mml:mi>h</mml:mi><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>G</mml:mi><mml:mi>c</mml:mi><mml:mi>p</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>L</mml:mi><mml:mi>R</mml:mi><mml:mi>P</mml:mi><mml:mi>N</mml:mi><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>G</mml:mi><mml:mi>c</mml:mi><mml:mi>p</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>L</mml:mi><mml:mi>R</mml:mi><mml:mi>P</mml:mi><mml:mi>N</mml:mi><mml:mi>i</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi mathvariant="normal">&#x2203;</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>. The <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:mi>G</mml:mi><mml:mi>c</mml:mi><mml:mi>p</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>L</mml:mi><mml:mi>R</mml:mi><mml:mi>P</mml:mi><mml:mi>N</mml:mi><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is precalculated, with a specific <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi></mml:math></inline-formula> coordinate points on the curve as the pre-calculation strategy saves runtime processing of curve operations such as scalar multiplication, point addition, point multiplication, modulus, and fixed-point arithmetic. <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:mi>l</mml:mi><mml:mi>H</mml:mi><mml:mi>f</mml:mi></mml:math></inline-formula> first finds corresponding curve points <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> of every ASCII character <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:mi>C</mml:mi><mml:mi>h</mml:mi><mml:mi>i</mml:mi></mml:math></inline-formula> in a string <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:mi>s</mml:mi></mml:math></inline-formula> and then scatter the points in two steps. The scattering process further mutates the <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi></mml:math></inline-formula> values to decrease chances of discovering the exact points against statistical attacks. The steps are as following:</p>
<p>Step 1:
<list list-type="simple">
<list-item><label>1)</label><p><inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:mi>&#x03B1;</mml:mi><mml:mo>=</mml:mo><mml:mi>x</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mo>&#x2295;</mml:mo><mml:mi>y</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula>, where <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:mi>x</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> are corresponding curve points of first character <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:mi>C</mml:mi><mml:mi>h</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> in string.</p></list-item>
<list-item><label>2)</label><p><inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:mi>&#x03B2;</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi>y</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x22A3;</mml:mo><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>x</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mo>&#x003E;</mml:mo><mml:mi>y</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mo>&#x2228;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>y</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi>x</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>y</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mo>&#x003E;</mml:mo><mml:mi>x</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>, where <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:mi>x</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mtext>&#x00A0;</mml:mtext><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>y</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> are points on curve of <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:mi>C</mml:mi><mml:mi>h</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> in a string <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:mi>s</mml:mi></mml:math></inline-formula>.</p></list-item>
</list></p>
<p>Step 2:
<disp-formula id="ueqn-1"><mml:math id="mml-ueqn-1" display="block"><mml:mi>&#x03B3;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03B3;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>x</mml:mi><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:mi>x</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03B3;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>x</mml:mi><mml:mn>1</mml:mn><mml:mo>=</mml:mo><mml:mi>&#x03B1;</mml:mi><mml:mo>+</mml:mo><mml:mi>x</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2227;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x003E;</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="ueqn-2"><mml:math id="mml-ueqn-2" display="block"><mml:mi>&#x03B3;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>y</mml:mi><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03B3;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>y</mml:mi><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:mi>y</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03B3;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>y</mml:mi><mml:mn>1</mml:mn><mml:mo>=</mml:mo><mml:mi>&#x03B1;</mml:mi><mml:mo>+</mml:mo><mml:mi>y</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2227;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x003E;</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:mi>&#x03B4;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B3;</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03B4;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>&#x03B4;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B3;</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo stretchy="false">]</mml:mo><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>x</mml:mi><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2227;</mml:mo><mml:mi>i</mml:mi><mml:mo>&gt;</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></disp-formula>
<disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:mi>&#x03B4;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>y</mml:mi><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B3;</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo stretchy="false">]</mml:mo><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03B4;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>y</mml:mi><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>&#x03B4;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>y</mml:mi><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B3;</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo stretchy="false">]</mml:mo><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>y</mml:mi><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2227;</mml:mo><mml:mi>i</mml:mi><mml:mo>&gt;</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></disp-formula></p>
<p><inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:mi>&#x03B4;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:mi>&#x03B4;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:math></inline-formula> are mutated <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:math></inline-formula> curve points for <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:mi>C</mml:mi><mml:mi>h</mml:mi><mml:mi>i</mml:mi></mml:math></inline-formula>, respectively.</p>
</sec>
<sec id="s3_7">
<label>3.7</label>
<title>Definition 1: Hash Function</title>
<p>String <italic>s</italic> containing ASCII characters <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:mi>C</mml:mi><mml:mi>h</mml:mi><mml:mi>i</mml:mi></mml:math></inline-formula> such that <inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>C</mml:mi><mml:mi>h</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo stretchy="false">]</mml:mo><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>C</mml:mi><mml:mi>h</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo stretchy="false">]</mml:mo><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>C</mml:mi><mml:mi>h</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo stretchy="false">]</mml:mo><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>n</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x22A3;</mml:mo><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>C</mml:mi><mml:mi>h</mml:mi><mml:mi>i</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi mathvariant="normal">&#x2203;</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>, is encrypted into <inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:mi>H</mml:mi><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> such that <inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:mi>H</mml:mi><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B4;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>&#x03B4;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>&#x03B4;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>n</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x22A3;</mml:mo><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>&#x03B4;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi mathvariant="normal">&#x2203;</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B4;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>&#x03B4;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>y</mml:mi><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>, based on <xref ref-type="disp-formula" rid="eqn-1">Eqs. (1)</xref> &#x0026; <xref ref-type="disp-formula" rid="eqn-2">(2)</xref>. The size of <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:mi>&#x03B4;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>&#x03B4;</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:math></inline-formula> depends on the size of <inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:mi>S</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula> (secret key).</p>
<p><xref ref-type="fig" rid="fig-3">Fig. 3</xref> illustrates the process of mutating curve points of five ASCII characters. Mutation process is performed as explained in Step 1 and Step 2.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Lightweight hash function process of the proposed scheme</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_54676-fig-3.tif"/>
</fig>
</sec>
<sec id="s3_8">
<label>3.8</label>
<title>Authentication Key Agreeing through Novel Lightweight Hash Encryption (NLHE-AKA)</title>
<p>Mutual authentication process is an authentication frame (auth-frame) based authentication key agreeing (AKA) mechanism. Curve25519 is selected for overall elliptic curve encryption because of the speedy calculations during scaler multiplication that best suits the resource constrained devices (as discussed in <xref ref-type="sec" rid="s3_2">Section 3.2</xref>). All devices in the network contain a unique uniform network identification number (<inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:mi>N</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula>&#x2014;Network Key) and a public key <inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:mi>P</mml:mi><mml:mi>b</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula>. Similarly, all devices generate new private keys (<inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:mi>d</mml:mi><mml:mi>P</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>r</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> for sender, <inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:mi>d</mml:mi><mml:mi>P</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>r</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> for receiver) upon newly generated session key. To ensure good security, we suggest renewing session keys after every successful message acknowledgement from sender <inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> as shown in msg#6 in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>. However, to accommodate performance efficiency, the suggested session key renewal time is set to 300 s in this proposed work.</p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Proposed NLHE-mutual authentication process</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_54676-fig-4.tif"/>
</fig>
<p><xref ref-type="fig" rid="fig-4">Fig. 4</xref> represents data flow of proposed NHLE-AKA based mutual authentication between <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mtext>&#x00A0;</mml:mtext><mml:mi mathvariant="normal">&#x0026;</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> whereas <xref ref-type="table" rid="table-4">Table 4</xref> represents notations used in <xref ref-type="fig" rid="fig-1">Fig. 1</xref> with size in bits. The mutual authentication process executes irrespective of network related parameters. The proposed scheme is deployable in all sorts of M2M communication networks.</p>
<table-wrap id="table-4">
<label>Table 4</label>
<caption>
<title>Notations used in proposed scheme</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left" />
<col align="left" />
<col align="left" />
<col align="left" />
</colgroup>
<thead>
<tr>
<th>Notations</th>
<th>Description</th>
<th>Generator size</th>
<th>Key pair size</th>
</tr>
</thead>
<tbody>
<tr>
<td><inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi>S</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Secret key of <inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> device</td>
<td>64</td>
<td>128</td>
</tr>
<tr>
<td><inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mi>S</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Secret key of <inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> device</td>
<td>64</td>
<td>128</td>
</tr>
<tr>
<td><inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:mi>P</mml:mi><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Public key</td>
<td>64</td>
<td>128</td>
</tr>
<tr>
<td><inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:mi>d</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Dynamic private key of device <inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>64</td>
<td>128</td>
</tr>
<tr>
<td><inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:mi>d</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Dynamic private key of device <inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>64</td>
<td>128</td>
</tr>
<tr>
<td><inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Session key/Secret key</td>
<td>64</td>
<td>128</td>
</tr>
<tr>
<td><inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Unique network key</td>
<td>32</td>
<td>64</td>
</tr>
<tr>
<td><inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>p</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Generator curve points of sender</td>
<td>64</td>
<td>128</td>
</tr>
<tr>
<td><inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>p</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Generator curve points of receiver</td>
<td>64</td>
<td>128</td>
</tr>
<tr>
<td><inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>u</mml:mi><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Authentication frame function</td>
<td>128 &#x002A; d</td>
<td>256 &#x002A; d</td>
</tr>
<tr>
<td><inline-formula id="ieqn-71"><mml:math id="mml-ieqn-71"><mml:mrow><mml:mo>|</mml:mo><mml:mi>a</mml:mi><mml:mi>F</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>Authentication frame string</td>
<td>128 &#x002A; d</td>
<td>256 &#x002A; d</td>
</tr>
<tr>
<td><inline-formula id="ieqn-72"><mml:math id="mml-ieqn-72"><mml:mi>H</mml:mi><mml:mi>f</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>Hash function for encryption using <inline-formula id="ieqn-73"><mml:math id="mml-ieqn-73"><mml:mi>i</mml:mi><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:math></inline-formula> generator point</td>
<td>64 &#x002A; c</td>
<td>128c</td>
</tr>
<tr>
<td><inline-formula id="ieqn-74"><mml:math id="mml-ieqn-74"><mml:mi>H</mml:mi><mml:msup><mml:mi>f</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>Hash function for decryption using <inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:mi>i</mml:mi><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:math></inline-formula> generator point</td>
<td>64 &#x002A; c</td>
<td>128c</td>
</tr>
<tr>
<td><inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Sender encrypted data block</td>
<td>64 &#x002A; d</td>
<td>128 &#x002A; d</td>
</tr>
<tr>
<td><inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Receiver encrypted data block</td>
<td>64 &#x002A; d</td>
<td>128 &#x002A; d</td>
</tr>
<tr>
<td><inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula></td>
<td>String of <inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:mi>i</mml:mi><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:math></inline-formula> data block</td>
<td>&#x2013;</td>
<td>&#x2013;</td>
</tr>
<tr>
<td><inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:mo>&#x2295;</mml:mo></mml:math></inline-formula></td>
<td>Scalar multiplication</td>
<td>&#x2013;</td>
<td>&#x2013;</td>
</tr>
</tbody>
</table>
<table-wrap-foot><p>Note: C <inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:mo stretchy="false">&#x2192;</mml:mo></mml:math></inline-formula> no. of ASCII characters; d <inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:mo stretchy="false">&#x2192;</mml:mo></mml:math></inline-formula> no. of data block characters.</p>
</table-wrap-foot>
</table-wrap>
<p>The following steps can elaborate the auth-frame based mutual authentication between sender <inline-formula id="ieqn-83"><mml:math id="mml-ieqn-83"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> and a receiver <inline-formula id="ieqn-84"><mml:math id="mml-ieqn-84"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> as:
<list list-type="simple">
<list-item><label>1)</label><p>All communicating devices contain pre-shared keys i.e., <inline-formula id="ieqn-85"><mml:math id="mml-ieqn-85"><mml:mi>P</mml:mi><mml:mi>b</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula> and a dynamic private key <inline-formula id="ieqn-86"><mml:math id="mml-ieqn-86"><mml:mi>d</mml:mi><mml:mi>P</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>r</mml:mi><mml:mi>x</mml:mi></mml:math></inline-formula>. Dynamic private keys are considered as generator points <inline-formula id="ieqn-87"><mml:math id="mml-ieqn-87"><mml:mo stretchy="false">(</mml:mo><mml:mi>G</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> that contain specific <inline-formula id="ieqn-88"><mml:math id="mml-ieqn-88"><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi></mml:math></inline-formula> coordinate points on a curve such that <inline-formula id="ieqn-89"><mml:math id="mml-ieqn-89"><mml:mi>f</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>s</mml:mi><mml:mi>m</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>G</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>G</mml:mi><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>G</mml:mi><mml:mi>y</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x22A3;</mml:mo><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>G</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>P</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>w</mml:mi><mml:mi>h</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>P</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>P</mml:mi><mml:mi>b</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>d</mml:mi><mml:mi>P</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>r</mml:mi><mml:mn>1</mml:mn><mml:mtext>&#x00A0;</mml:mtext><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mtext>&#x00A0;</mml:mtext><mml:mi mathvariant="normal">&#x0026;</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>d</mml:mi><mml:mi>P</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>r</mml:mi><mml:mn>2</mml:mn><mml:mtext>&#x00A0;</mml:mtext><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></p></list-item>
<list-item><label>2)</label><p><inline-formula id="ieqn-90"><mml:math id="mml-ieqn-90"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-91"><mml:math id="mml-ieqn-91"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> calculates their resultant keys <inline-formula id="ieqn-92"><mml:math id="mml-ieqn-92"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mspace width="thinmathspace" /><mml:mi>S</mml:mi><mml:mi>k</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-93"><mml:math id="mml-ieqn-93"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn><mml:mspace width="thinmathspace" /><mml:mi>S</mml:mi><mml:mi>k</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> which are unique curve points that resulted from a scaler multiplication function <inline-formula id="ieqn-94"><mml:math id="mml-ieqn-94"><mml:mi>f</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>s</mml:mi><mml:mi>m</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>G</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></p></list-item>
<list-item><label>3)</label><p><inline-formula id="ieqn-95"><mml:math id="mml-ieqn-95"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> sends <inline-formula id="ieqn-96"><mml:math id="mml-ieqn-96"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mspace width="thinmathspace" /><mml:mi>S</mml:mi><mml:mi>k</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> to <inline-formula id="ieqn-97"><mml:math id="mml-ieqn-97"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> where <inline-formula id="ieqn-98"><mml:math id="mml-ieqn-98"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> calculates <inline-formula id="ieqn-99"><mml:math id="mml-ieqn-99"><mml:mi>G</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>c</mml:mi><mml:mi>p</mml:mi><mml:mi>r</mml:mi><mml:mo>=</mml:mo><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn><mml:mspace width="thinmathspace" /><mml:mi>S</mml:mi><mml:mi>k</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn><mml:mo>&#x2295;</mml:mo><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mspace width="thinmathspace" /><mml:mi>S</mml:mi><mml:mi>k</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> by adding the two curve points through point addition. (msg#1 in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>)</p></list-item>
<list-item><label>4)</label><p><inline-formula id="ieqn-100"><mml:math id="mml-ieqn-100"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> sends back <inline-formula id="ieqn-101"><mml:math id="mml-ieqn-101"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn><mml:mspace width="thinmathspace" /><mml:mi>S</mml:mi><mml:mi>k</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> so that <inline-formula id="ieqn-102"><mml:math id="mml-ieqn-102"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> can also calculate the same resultant point <inline-formula id="ieqn-103"><mml:math id="mml-ieqn-103"><mml:mi>G</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>c</mml:mi><mml:mi>p</mml:mi><mml:mi>r</mml:mi><mml:mo>=</mml:mo><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mspace width="thinmathspace" /><mml:mi>S</mml:mi><mml:mi>k</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mo>&#x2295;</mml:mo><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn><mml:mspace width="thinmathspace" /><mml:mi>S</mml:mi><mml:mi>k</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula>. (in msg#2 in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>)</p></list-item>
<list-item><label>5)</label><p><inline-formula id="ieqn-104"><mml:math id="mml-ieqn-104"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> sends encrypted pre-defined auth-frame <inline-formula id="ieqn-105"><mml:math id="mml-ieqn-105"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>a</mml:mi><mml:mi>F</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula> to <inline-formula id="ieqn-106"><mml:math id="mml-ieqn-106"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> using a generator point <inline-formula id="ieqn-107"><mml:math id="mml-ieqn-107"><mml:mi>G</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>c</mml:mi><mml:mi>p</mml:mi><mml:mi>s</mml:mi></mml:math></inline-formula>. (msg#3 in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>)</p></list-item>
<list-item><label>6)</label><p><inline-formula id="ieqn-108"><mml:math id="mml-ieqn-108"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> decrypts auth-frame and sends back encrypted authentication acknowledgement frame <inline-formula id="ieqn-109"><mml:math id="mml-ieqn-109"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>a</mml:mi><mml:mi>F</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula> to <inline-formula id="ieqn-110"><mml:math id="mml-ieqn-110"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula>.</p></list-item>
<list-item><label>7)</label><p>Both devices are considered authenticated after receiving and decrypting <inline-formula id="ieqn-111"><mml:math id="mml-ieqn-111"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>k</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula> frame by <inline-formula id="ieqn-112"><mml:math id="mml-ieqn-112"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> using <inline-formula id="ieqn-113"><mml:math id="mml-ieqn-113"><mml:mi>G</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>c</mml:mi><mml:mi>p</mml:mi><mml:mi>s</mml:mi></mml:math></inline-formula>. (msg#4 in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>)</p></list-item>
<list-item><label>8)</label><p><inline-formula id="ieqn-114"><mml:math id="mml-ieqn-114"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> sends <inline-formula id="ieqn-115"><mml:math id="mml-ieqn-115"><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mi>g</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>s</mml:mi><mml:mi>r</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> which is first encrypted message after successful authentication <inline-formula id="ieqn-116"><mml:math id="mml-ieqn-116"><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>t</mml:mi><mml:mi>u</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mi>d</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>a</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> (msg#5 in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>)</p></list-item>
<list-item><label>9)</label><p><inline-formula id="ieqn-117"><mml:math id="mml-ieqn-117"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> decrypts <inline-formula id="ieqn-118"><mml:math id="mml-ieqn-118"><mml:mi>s</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> and sends encrypted message received acknowledgment <inline-formula id="ieqn-119"><mml:math id="mml-ieqn-119"><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>s</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mtext>&#x00A0;</mml:mtext><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>i</mml:mi><mml:mi>v</mml:mi><mml:mi>e</mml:mi></mml:math></inline-formula> <inline-formula id="ieqn-120"><mml:math id="mml-ieqn-120"><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>k</mml:mi><mml:mi>n</mml:mi><mml:mi>o</mml:mi><mml:mi>w</mml:mi><mml:mi>l</mml:mi><mml:mi>e</mml:mi><mml:mi>d</mml:mi><mml:mi>g</mml:mi><mml:mi>e</mml:mi><mml:mi>m</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> (msg#6 in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>)</p></list-item>
</list></p>
<p><inline-formula id="ieqn-121"><mml:math id="mml-ieqn-121"><mml:mi>S</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula> resets whereas <inline-formula id="ieqn-122"><mml:math id="mml-ieqn-122"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula> will renew their respective dynamic private keys <inline-formula id="ieqn-123"><mml:math id="mml-ieqn-123"><mml:mi>d</mml:mi><mml:mi>P</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>r</mml:mi><mml:mi>x</mml:mi></mml:math></inline-formula>.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Threat Modelling</title>
<p>This section describes security analysis of the proposed scheme in terms of threat modelling. The section also provides a summary of comparative analysis of security features in similar AKA schemes. The presented model needs to be analyzed in terms of security by devising a threat model. A comparative summary is presented in <xref ref-type="table" rid="table-5">Table 5</xref> with other similar authentication schemes. <xref ref-type="fig" rid="fig-4">Fig. 4</xref> shows the crucial variables and steps followed in the following threat models. Moreover, Features shown in <xref ref-type="table" rid="table-5">Table 5</xref> can be elaborated through the following scenarios.</p>
<table-wrap id="table-5">
<label>Table 5</label>
<caption>
<title>Comparative analysis of security features with similar techniques</title>
</caption>
<table frame="hsides">
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Techniques</th>
<th>F1</th>
<th>F2</th>
<th>F3</th>
<th>F4</th>
<th>F5</th>
<th>F6</th>
<th>F7</th>
<th>F8</th>
<th>F9</th>
</tr>
</thead>
<tbody>
<tr>
<td>[<xref ref-type="bibr" rid="ref-1">1</xref>]</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2717;</td>
<td>&#x2713;</td>
<td>&#x2717;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2717;</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-2">2</xref>]</td>
<td>&#x2713;</td>
<td>&#x2717;</td>
<td>&#x2713;</td>
<td>&#x2717;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-3">3</xref>]</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2717;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-4">4</xref>]</td>
<td>&#x2713;</td>
<td>&#x2717;</td>
<td>&#x2713;</td>
<td>&#x2717;</td>
<td>&#x2713;</td>
<td>&#x2717;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-5">5</xref>]</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2717;</td>
<td>&#x2713;</td>
<td>&#x2717;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2717;</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-6">6</xref>]</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2717;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-7">7</xref>]</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2717;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-8">8</xref>]</td>
<td>&#x2713;</td>
<td>&#x2717;</td>
<td>&#x2713;</td>
<td>&#x2717;</td>
<td>&#x2713;</td>
<td>&#x2717;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2717;</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-9">9</xref>]</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2717;</td>
<td>&#x2713;</td>
<td>&#x2717;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2717;</td>
</tr>
<tr>
<td><bold>NLHE-AKA</bold></td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
</tr>
</tbody>
</table>
<table-wrap-foot><p>Note: &#x2713;-Achieved, &#x2717;-Not Achieved, F1-MITM, F2-Device Anonymity, F3-Device Privacy, F4-End-End-Encryption, F5-Impersonator Attack, F6-Link&#x2013;Unlink ability, F7-Data Confidentiality, F8-Session Key agreement, F9-DOS/replay attack.</p>
</table-wrap-foot>
</table-wrap>
<sec id="s4_1">
<label>4.1</label>
<title>Impersonator Attack on <inline-formula id="ieqn-124"><mml:math id="mml-ieqn-124"><mml:mi mathvariant="bold-italic">M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mrow><mml:mtext mathvariant="bold">1</mml:mtext></mml:mrow></mml:math></inline-formula></title>
<p>The attacker is in possession of <inline-formula id="ieqn-125"><mml:math id="mml-ieqn-125"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> such that the knowledge of <inline-formula id="ieqn-126"><mml:math id="mml-ieqn-126"><mml:mi>N</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-127"><mml:math id="mml-ieqn-127"><mml:mi>P</mml:mi><mml:mi>b</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula> is known. The attacker then replaces it with a fake device <inline-formula id="ieqn-128"><mml:math id="mml-ieqn-128"><mml:mi>f</mml:mi><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> that calculates <inline-formula id="ieqn-129"><mml:math id="mml-ieqn-129"><mml:mi>d</mml:mi><mml:mi>P</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>r</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> through a random number generator and finds curve points <inline-formula id="ieqn-130"><mml:math id="mml-ieqn-130"><mml:mi>G</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>c</mml:mi><mml:mi>p</mml:mi><mml:mi>s</mml:mi></mml:math></inline-formula>, then sends <inline-formula id="ieqn-131"><mml:math id="mml-ieqn-131"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mspace width="thinmathspace" /><mml:mi>S</mml:mi><mml:mi>k</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> over to <inline-formula id="ieqn-132"><mml:math id="mml-ieqn-132"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula>. The <inline-formula id="ieqn-133"><mml:math id="mml-ieqn-133"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> sends back <inline-formula id="ieqn-134"><mml:math id="mml-ieqn-134"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn><mml:mspace width="thinmathspace" /><mml:mi>S</mml:mi><mml:mi>k</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> and calculates <inline-formula id="ieqn-135"><mml:math id="mml-ieqn-135"><mml:mi>G</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>c</mml:mi><mml:mi>p</mml:mi><mml:mi>r</mml:mi></mml:math></inline-formula>. The Impersonator still need to know <inline-formula id="ieqn-136"><mml:math id="mml-ieqn-136"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>a</mml:mi><mml:mi>F</mml:mi></mml:math></inline-formula>| to confirm authentication. <inline-formula id="ieqn-137"><mml:math id="mml-ieqn-137"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>a</mml:mi><mml:mi>F</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula> is impossible for the impersonator to know as it&#x2019;s embedded in the firmware.</p>
</sec>
<sec id="s4_2">
<label>4.2</label>
<title>Impersonator Attack on <inline-formula id="ieqn-138"><mml:math id="mml-ieqn-138"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula></title>
<p>The attacker is in possession of <inline-formula id="ieqn-139"><mml:math id="mml-ieqn-139"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> and replaces it with a fake device <inline-formula id="ieqn-140"><mml:math id="mml-ieqn-140"><mml:mi>f</mml:mi><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> knowing all parameters as discussed above. Similarly, <inline-formula id="ieqn-141"><mml:math id="mml-ieqn-141"><mml:mi>f</mml:mi><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> calculates <inline-formula id="ieqn-142"><mml:math id="mml-ieqn-142"><mml:mi>d</mml:mi><mml:mi>P</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>r</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> and receives <inline-formula id="ieqn-143"><mml:math id="mml-ieqn-143"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mspace width="thinmathspace" /><mml:mi>S</mml:mi><mml:mi>k</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> from <inline-formula id="ieqn-144"><mml:math id="mml-ieqn-144"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula>. The <inline-formula id="ieqn-145"><mml:math id="mml-ieqn-145"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> then sends back <inline-formula id="ieqn-146"><mml:math id="mml-ieqn-146"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn><mml:mspace width="thinmathspace" /><mml:mi>S</mml:mi><mml:mi>k</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> and calculates <inline-formula id="ieqn-147"><mml:math id="mml-ieqn-147"><mml:mi>G</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>c</mml:mi><mml:mi>p</mml:mi><mml:mi>r</mml:mi></mml:math></inline-formula>. <inline-formula id="ieqn-148"><mml:math id="mml-ieqn-148"><mml:mi>f</mml:mi><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> then receives <inline-formula id="ieqn-149"><mml:math id="mml-ieqn-149"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>a</mml:mi><mml:mi>F</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula> from <inline-formula id="ieqn-150"><mml:math id="mml-ieqn-150"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> and now <inline-formula id="ieqn-151"><mml:math id="mml-ieqn-151"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> will have wait to receive <inline-formula id="ieqn-152"><mml:math id="mml-ieqn-152"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>k</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula> from <inline-formula id="ieqn-153"><mml:math id="mml-ieqn-153"><mml:mi>f</mml:mi><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula>. Without <inline-formula id="ieqn-154"><mml:math id="mml-ieqn-154"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>k</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:math></inline-formula> the authentication process will not proceed. Because of the unavailability of <inline-formula id="ieqn-155"><mml:math id="mml-ieqn-155"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>k</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-156"><mml:math id="mml-ieqn-156"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> will not confirm authentication and the actual data will not be transmitted to <inline-formula id="ieqn-157"><mml:math id="mml-ieqn-157"><mml:mi>f</mml:mi><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> hence the session key <inline-formula id="ieqn-158"><mml:math id="mml-ieqn-158"><mml:mi>S</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula> will expire. Thus, it proves that the proposed scheme is robust against impersonation attacks.</p>
</sec>
<sec id="s4_3">
<label>4.3</label>
<title>MiTM, Data Spoofing and Mutation</title>
<p>Attacker is consistently monitoring messages between <inline-formula id="ieqn-159"><mml:math id="mml-ieqn-159"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-160"><mml:math id="mml-ieqn-160"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> over the transmission channel. MiTM can over time understand and mimic the transmitted data. Similarly in data spoofing, it is possible to analyze <inline-formula id="ieqn-161"><mml:math id="mml-ieqn-161"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn><mml:mspace width="thinmathspace" /><mml:mi>S</mml:mi><mml:mi>k</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-162"><mml:math id="mml-ieqn-162"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn><mml:mspace width="thinmathspace" /><mml:mi>S</mml:mi><mml:mi>k</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> over long period of monitoring and can then predict the keys and eventually discover <inline-formula id="ieqn-163"><mml:math id="mml-ieqn-163"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>a</mml:mi><mml:mi>F</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-164"><mml:math id="mml-ieqn-164"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>k</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula>. However, the proposed scheme is equipped with end-to-end encryption thus it encrypts the authentication frames (<inline-formula id="ieqn-165"><mml:math id="mml-ieqn-165"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>a</mml:mi><mml:mi>F</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-166"><mml:math id="mml-ieqn-166"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>k</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula>). The elliptic curve based end-to-end encryption makes it extremely difficult for MiTM to analyze the transmitted data. Furthermore, a 1-bit mutation in the encrypted data block will produce points at infinity. Thus, <inline-formula id="ieqn-167"><mml:math id="mml-ieqn-167"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> will not be to calculate points at infinity and the whole data block will result in null values in case of a single bit mutation.</p>
</sec>
<sec id="s4_4">
<label>4.4</label>
<title>Device Anonymity and Privacy</title>
<p>The attacker tries to extract data from certain devices by successfully possessing an IoT device. Since the communication pattern of all devices (as shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>) is extremely precise, thus knowing only the pattern, will not allow the impersonator to extract the data or status of other devices despite providing full authorization over <inline-formula id="ieqn-168"><mml:math id="mml-ieqn-168"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> or <inline-formula id="ieqn-169"><mml:math id="mml-ieqn-169"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula>. The scheme is designed such that <inline-formula id="ieqn-170"><mml:math id="mml-ieqn-170"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> will only know <inline-formula id="ieqn-171"><mml:math id="mml-ieqn-171"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> during single session. Once the session expires, <inline-formula id="ieqn-172"><mml:math id="mml-ieqn-172"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-173"><mml:math id="mml-ieqn-173"><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> will have to mutually re-authenticate each other. Moreover, it is also not possible for the network administrator to decrypt certain transmission data blocks without knowing dynamic private keys <inline-formula id="ieqn-174"><mml:math id="mml-ieqn-174"><mml:mi>d</mml:mi><mml:mi>P</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>r</mml:mi><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula> as <inline-formula id="ieqn-175"><mml:math id="mml-ieqn-175"><mml:mi>d</mml:mi><mml:mi>P</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>r</mml:mi><mml:mi>x</mml:mi></mml:math></inline-formula> updates with every session Thus, there exists strong anonymity and privacy for all the devices in the network.</p>

</sec>
<sec id="s4_5">
<label>4.5</label>
<title>DOS/Replay Attack</title>
<p>To apply DOS/Replay attacks, the attacker must first connect the mutated device to the network. Attacker should also know set of parameters <inline-formula id="ieqn-176"><mml:math id="mml-ieqn-176"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>P</mml:mi><mml:mi>b</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mi>G</mml:mi><mml:mi>c</mml:mi><mml:mi>p</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>L</mml:mi><mml:mi>R</mml:mi><mml:mi>P</mml:mi><mml:mi>N</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> to calculate the exact <inline-formula id="ieqn-177"><mml:math id="mml-ieqn-177"><mml:mi>G</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>c</mml:mi><mml:mi>p</mml:mi><mml:mi>x</mml:mi></mml:math></inline-formula> for each dedicated session which is difficult and computationally exhaustive operation. Consequently, either <inline-formula id="ieqn-178"><mml:math id="mml-ieqn-178"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> or <inline-formula id="ieqn-179"><mml:math id="mml-ieqn-179"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> will calculate curve points at infinity thus ECDH process will not proceed. Similar is the case of replay attack, as the message pattern changes in each step as shown in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>. While the attacker sends identical message patterns consecutively, the corresponding device will calculate curve points at infinity thus the message will be rejected, and session will expire.</p>
</sec>
<sec id="s4_6">
<label>4.6</label>
<title>Link-Unlink Ability</title>
<p>The attacker attaches (links) a fake device to extract data and analyze message access code (MAC) pattern. As mentioned previously; to carry out such operation, the attacker must know the exact set of parameters <inline-formula id="ieqn-180"><mml:math id="mml-ieqn-180"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mi>P</mml:mi><mml:mi>b</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mi>G</mml:mi><mml:mi>c</mml:mi><mml:mi>p</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>L</mml:mi><mml:mi>R</mml:mi><mml:mi>P</mml:mi><mml:mi>N</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> to be identified as valid device in the network as <inline-formula id="ieqn-181"><mml:math id="mml-ieqn-181"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> or <inline-formula id="ieqn-182"><mml:math id="mml-ieqn-182"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula>. Secondly, the received messages at malicious device will have to be decrypted based on session key <inline-formula id="ieqn-183"><mml:math id="mml-ieqn-183"><mml:mi>S</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula> which is updated on every dedicated timeframe. Additionally, it is computationally extensive to decrypted ECC based encrypted data block where each data block is encrypted with different session key (<inline-formula id="ieqn-184"><mml:math id="mml-ieqn-184"><mml:mi>S</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula>). Similarly, the attacker will not be able to investigate source code when detached (Unlinked) the device because it is hardcoded into permanent memory (Firmware) as it is extremely difficult to extract and decode data from firmware of a device.</p>
<p>A comparative study of achieving various important security features discovered for M2M communication in a network, is shown in <xref ref-type="table" rid="table-5">Table 5</xref>. The study reflects that existing AKA protocols for M2M communication lack in providing robust security and forfeit link-unlink ability during distinguishable sessions. It can also be observed from <xref ref-type="table" rid="table-5">Table 5</xref> that the proposed scheme contains ECC&#x2019;s Curve25519 based end-to-end encryption that improves communication security. Furthermore, the scheme effectively prevents the known attacks in M2M communication networks.</p>

</sec>
</sec>
<sec id="s5">
<label>5</label>
<title>Results and Analysis</title>
<p>This section represents the implementation and simulation results of the proposed scheme. Additionally, to analyze feasibility of the scheme, a comparative study of similar AKA techniques, is also presented in the following subsections. The technique is implemented by first generating ASCII curve points followed by generating secret keys to initial mutual authentication. The secret keys are also responsible for initiating the encryption process. The devices then mutually authenticate each other followed by encrypting the real message and sending it to a receiver device which then decrypts the message.</p>
<sec id="s5_1">
<label>5.1</label>
<title>Experimental Setup</title>
<p>The proposed scheme is implemented on AVR Atmega2560, a resource-constrained IoT device. The device contains 8-bit @ 16-Mhz CPU capability with 4 Kbytes internal memory. In addition, the device&#x2019;s power ratings are 5 V input with 20 mA current supply. AKA and end-to-end encryption techniques are implemented directly on the specified hardware. However, the networking performance is recorded in Contiki Cooja simulator by using an identical hardware known as SkyMote. In total, 9 different tests were conducted in dynamic topologies for 60 s where every node sends and receives approx. 60 packets.</p>
</sec>
<sec id="s5_2">
<label>5.2</label>
<title>GMP (GNU&#x2014;Multi Precision Arithmetic Library)</title>
<p>The implementation of the proposed scheme on the specified hardware required arithmetic operations on large prime-signed integers, which AVR ATmega coding platforms do not support directly. Therefore, we adopted the GMP library that possesses an embedded support library (mini-GMP) for the AVR ATmega hardware family. The GMP library is freeware and applied mostly for multiple precision arithmetic on 32-to-64 bit signed integers and high precision floating points through fast and precision-capable algorithms. Its loops are partly coded in assembly language to deliver fast results. Additionally, the library works with GNU-gcc and C&#x002B;&#x002B; and C language platforms. We utilized version 6.2.0 equipped with a mini support library consuming minimum code size with limited functionality which is specially designed for resource constraint devices.</p>
</sec>
<sec id="s5_3">
<label>5.3</label>
<title>Secure &#x0026; Performance-Efficient Curve Adoption</title>
<p>Choosing the right curve and <inline-formula id="ieqn-185"><mml:math id="mml-ieqn-185"><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> in elliptic curve cryptography defines the encryption robustness and performance efficiency. The proposed work targets affordable curve performance during ECDH-based AKA protocols that rely on the efficiency of curve operations such as scalar multiplication. In addition, the curve must exhibit completeness, indistinguishability, and resilience against statistical attacks, twisted ladder and side channel attacks. That is why we adopted the Montgomery curve (as discussed in <xref ref-type="sec" rid="s3">Section 3</xref>) based elliptic curve cryptographic technique as it plays a vital role in ensuring optimized performance and complete curve security for encryption. Moreover, we adopted the proven safe mod(<inline-formula id="ieqn-186"><mml:math id="mml-ieqn-186"><mml:mi>p</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> values to test the proposed mothed from [<xref ref-type="bibr" rid="ref-34">34</xref>], where many curves are statistically tested against certain <inline-formula id="ieqn-187"><mml:math id="mml-ieqn-187"><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> values and the results are also made public for research purposes.</p>
</sec>
<sec id="s5_4">
<label>5.4</label>
<title>Contiki Cooja Simulator</title>
<p>Contiki is a Linux-based OS specially designed for resource-constraint IoT devices in WSN. It includes a Cooja simulator which simulates nodes (IoT devices), providing platforms for networked, WSN, and 6LoWPAN types of networks. The platform offers monitoring of several node parameters such as transmission power, low power mode, packet delivery ratio, and routing protocols used in TCP/UDP-IP and sensory data for all nodes. It also provides overall network statistics and code-based node analyses which may contain a mixture of nodes. We used Contiki 2.7v which supports MSP430 and Atmel AVR microcontrollers. <xref ref-type="fig" rid="fig-5">Fig. 5</xref> offers an illustration of simulation in Contiki Cooja of the proposed scheme where network topology, historical and average power consumption and sensor map simulated data charts are illustrated.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Contiki-Cooja simulation of the proposed scheme (a. average power consumption, b. historical power consumption, c. sensor map of communication with devices, d. dynamic topology of devices)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_54676-fig-5.tif"/>
</fig>
<sec id="s5_4_1">
<label>5.4.1</label>
<title>Simulation Parameters</title>
<p>The Cooja provides predefined simulator library files for different types of communication protocols and resource constraint IoT devices. Collector-View is a similar sort of predefined simulator file that is used to collect information from nodes during simulation. Similarly, Cooja provides different types of nodes such as SkyMote with hardware specifications nearly identical to Atmel AVR microcontroller in a Collector-View simulation environment. The proposed simulation mimics WSN communication protocols containing 30 SkyMotes as illustrated in <xref ref-type="fig" rid="fig-5">Fig. 5</xref>. The nodes execute program code separately for both <inline-formula id="ieqn-188"><mml:math id="mml-ieqn-188"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> (sender) and <inline-formula id="ieqn-189"><mml:math id="mml-ieqn-189"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula> (receiver) with {32, 43, 62}-bit <inline-formula id="ieqn-190"><mml:math id="mml-ieqn-190"><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and {30, 43, 51}-bit <inline-formula id="ieqn-191"><mml:math id="mml-ieqn-191"><mml:mi>S</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula> for 60 s.</p>

</sec>
<sec id="s5_4_2">
<label>5.4.2</label>
<title>Simulation Results</title>
<p>This section describes simulation performance of the proposed scheme. The performance is categorized in terms of computational and communication costs, as illustrated in <xref ref-type="fig" rid="fig-6">Figs. 6</xref> &#x0026; <xref ref-type="fig" rid="fig-7">7</xref>. The results are based on 30 nodes in WSN environment with random node placements (random topology). Moreover, the simulation is tested on 9 different parameter values (3 different <inline-formula id="ieqn-192"><mml:math id="mml-ieqn-192"><mml:mi>S</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula> values against 3 different <inline-formula id="ieqn-193"><mml:math id="mml-ieqn-193"><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> values).</p>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>Communication cost performance of the proposed scheme</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_54676-fig-6.tif"/>
</fig><fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>Computational power performance of the proposed scheme</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_54676-fig-7.tif"/>
</fig>
</sec>
<sec id="s5_4_3">
<label>5.4.3</label>
<title>Computational Power Consumption Performance</title>
<p>Development of the proposed scheme is motivated to best suit resource-constrained devices that mostly operate in remote areas under severe conditions and are battery-powered. IoT devices must maintain efficient power consumption to operate for longer hours. Thus, computation power performance depends on the remote operational efficiency of such devices. Power consumptions are further divided into CPU time (where CPU is used) and Low Power Mode time (LPM&#x2014;where CPU waits, halts or goes to sleep if no task is being performed) to save battery power. <xref ref-type="fig" rid="fig-6">Fig. 6</xref> shows the results of the overall average computational power consumption (CPU &#x002B; LPM) of all 9 simulation configurations. The results show that there is merely 100 mill-watt difference between <inline-formula id="ieqn-194"><mml:math id="mml-ieqn-194"><mml:mo>&#x2248;</mml:mo></mml:math></inline-formula>192-bit security (62-bit <inline-formula id="ieqn-195"><mml:math id="mml-ieqn-195"><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> with 51-bit <inline-formula id="ieqn-196"><mml:math id="mml-ieqn-196"><mml:mi>S</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula>, labelled as 4_3 in <xref ref-type="fig" rid="fig-6">Fig. 6</xref>) and <inline-formula id="ieqn-197"><mml:math id="mml-ieqn-197"><mml:mo>&#x2248;</mml:mo></mml:math></inline-formula>96-bit (32-bit <inline-formula id="ieqn-198"><mml:math id="mml-ieqn-198"><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> with 30-bit <inline-formula id="ieqn-199"><mml:math id="mml-ieqn-199"><mml:mi>S</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula>, labelled as 2_1 in <xref ref-type="fig" rid="fig-6">Fig. 6</xref>) security modes.</p>

</sec>
<sec id="s5_4_4">
<label>5.4.4</label>
<title>Communication Power Performance</title>
<p>To communicate seamlessly, the proposed scheme must exhibit decent communication performance. There are two types of modes in communication operations, a device consuming power during data transmitting is considered as transmit power and is considered as listen power during data retrieval.</p>
<p>Hence, transmit and listen power defines overall communication cost of the scheme in a network. <xref ref-type="fig" rid="fig-7">Fig. 7</xref> shows average communication cost of 30 nodes with 9 different <inline-formula id="ieqn-200"><mml:math id="mml-ieqn-200"><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-201"><mml:math id="mml-ieqn-201"><mml:mi>S</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula> values in a WSN configuration. It is observed that large <inline-formula id="ieqn-202"><mml:math id="mml-ieqn-202"><mml:mi>S</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula> values produced large spikes in power consumptions. Thus, the size of <inline-formula id="ieqn-203"><mml:math id="mml-ieqn-203"><mml:mi>S</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula> directly affects cost of communication in the proposed scheme. However, the overall communication cost is affordable for resource constrained devices as <inline-formula id="ieqn-204"><mml:math id="mml-ieqn-204"><mml:mo>&#x2248;</mml:mo></mml:math></inline-formula>192-bit security mode consumes 1.5-to 2 milli-watt while <inline-formula id="ieqn-205"><mml:math id="mml-ieqn-205"><mml:mo>&#x2248;</mml:mo></mml:math></inline-formula>96-bit security consumes 1 to 1.5 milli-watt communication power.</p>
</sec>
<sec id="s5_4_5">
<label>5.4.5</label>
<title>Comparative Analyzes of Communication Overhead</title>
<p>Comparative analysis in terms of communication overhead of the proposed scheme with similar AKA protocols in IoT communication is discussed in this section. These AKA protocols cover different types of networks such as group-based (used in 3GPP &#x0026; LTE) and local (for LAN &#x0026; WAN and LoraWAN) authentication protocols. The proposed scheme serves end-to-end encryption in IoT communication which can be applied on group-based, local, and hybrid networks. Consequently, the communication overhead is analyzed irrespective of network-related parameters. <xref ref-type="table" rid="table-6">Table 6</xref> represents a summary of communication costs during data transmission, comparing with similar authentication schemes. Every data block (<bold>msg</bold><sub><bold>x</bold></sub>) represents communication cost in bits. The scheme consists of authentication protocols with similar patterns of message transmission processes for <italic>n</italic> nodes forming <italic>m</italic> groups. It can be elaborated from <xref ref-type="table" rid="table-7">Table 7</xref> that the proposed scheme costs the least overhead considering one successful AKA for 2 nodes (M<sub>1</sub> &#x0026; M<sub>2</sub>) with five data blocks (d &#x003D; 5); d refers to <inline-formula id="ieqn-206"><mml:math id="mml-ieqn-206"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>a</mml:mi><mml:mi>F</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-207"><mml:math id="mml-ieqn-207"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>k</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula> as shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref> where the messages show mathematical cost of each packet. Similarly, <xref ref-type="fig" rid="fig-8">Fig. 8a</xref>,<xref ref-type="fig" rid="fig-8">b</xref> shows comparison of the proposed scheme with existing AKA protocols in IoT communication networks. In (a), The proposed scheme costs the least in communication overhead while it gets slightly higher for large networks/groups because of end-to-end encryption capability. It is also observable that the transmission is efficiently done in small number of groups, however the efficiency decreases as number of groups increases due to end-to-end encryption capability.</p>
<table-wrap id="table-6">
<label>Table 6</label>
<caption>
<title>Comparative analysis of communication overhead</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>Techniques</th>
<th>msg1</th>
<th>msg2</th>
<th>msg3</th>
<th>msg4</th>
<th>msg5</th>
<th>msg6</th>
<th>Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>[<xref ref-type="bibr" rid="ref-1">1</xref>]</td>
<td>544m</td>
<td>544m</td>
<td>816m</td>
<td>496m</td>
<td>64m</td>
<td>480n</td>
<td>1040 (n &#x2212; m) &#x002B; 2464m</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-2">2</xref>]</td>
<td>128m &#x002B; 128n</td>
<td>128m &#x002B; 128n &#x002B; 128</td>
<td>128n &#x002B; 736m</td>
<td>419n</td>
<td>64m</td>
<td>480n</td>
<td>3363n &#x002B; 1888m &#x002B; 832</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-3">3</xref>]</td>
<td>448n</td>
<td>384n &#x002B; 64m</td>
<td>384n &#x002B; 192m</td>
<td>992m</td>
<td>864m</td>
<td>864m</td>
<td>2144n &#x002B; 2176m</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-4">4</xref>]</td>
<td>448n</td>
<td>384n &#x002B; 64m</td>
<td>384n &#x002B; 104m</td>
<td>1072m</td>
<td>688m</td>
<td>688m</td>
<td>1968n &#x002B; 1992m</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-5">5</xref>]</td>
<td><italic>U</italic><sub><italic>i</italic></sub>, <italic>R</italic><sub><italic>P</italic></sub> <italic>W</italic><sub><italic>i</italic></sub></td>
<td><italic>Bi</italic></td>
<td><italic>{A</italic><sub><italic>i</italic></sub>, <italic>B</italic><sub><italic>i</italic></sub>, <italic>C</italic><sub><italic>i</italic></sub>, <italic>D</italic><sub><italic>i</italic></sub><italic>}</italic></td>
<td>S<sub>j</sub> <sub>calculation</sub></td>
<td><italic>GWN</italic><sub><italic>submission</italic></sub></td>
<td><italic>SK</italic><sub><italic>g</italic></sub> <italic>? &#x003D; SK</italic><sub><italic>j</italic></sub></td>
<td>2688m</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-6">6</xref>]</td>
<td>384nm &#x2212; 1</td>
<td>128nm &#x2212; 1</td>
<td>320mn &#x2212; 1 &#x002B; 168</td>
<td>688</td>
<td>432nm &#x2212; 1</td>
<td>432nm &#x2212; 1</td>
<td>1520n &#x002B; 1480m</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-7">7</xref>]</td>
<td>384n</td>
<td>320n &#x002B; 128m</td>
<td>320n &#x002B; 168m</td>
<td>256n &#x002B; 688m</td>
<td>128n &#x002B; 432m</td>
<td>128n &#x002B; 432m</td>
<td>1600n &#x002B; 1912m</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-8">8</xref>]</td>
<td><italic>UE</italic> reg.</td>
<td><italic>CA</italic> <inline-formula id="ieqn-208"><mml:math id="mml-ieqn-208"><mml:mo stretchy="false">&#x2192;</mml:mo></mml:math></inline-formula> <italic>UE</italic></td>
<td><italic>CA</italic> <inline-formula id="ieqn-209"><mml:math id="mml-ieqn-209"><mml:mo stretchy="false">&#x2192;</mml:mo></mml:math></inline-formula> <italic>Trustee</italic></td>
<td><italic>Trustee</italic> <inline-formula id="ieqn-210"><mml:math id="mml-ieqn-210"><mml:mo stretchy="false">&#x2192;</mml:mo></mml:math></inline-formula> <italic>CA</italic></td>
<td><italic>CA</italic> <inline-formula id="ieqn-211"><mml:math id="mml-ieqn-211"><mml:mo stretchy="false">&#x2192;</mml:mo></mml:math></inline-formula> <italic>UE</italic></td>
<td><italic>U</italic><sub>s</sub></td>
<td>4096 bits max</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-9">9</xref>]</td>
<td><italic>id</italic><sub><bold>u</bold></sub>, <italic>h</italic><sub><bold>(x)</bold></sub></td>
<td>U&#x002A;</td>
<td><italic>X, Y, A, U</italic></td>
<td><italic>auth</italic><sub><bold>s</bold></sub></td>
<td><italic>auth</italic><sub><bold>u</bold></sub></td>
<td><bold><italic>U</italic></bold><sub>new</sub>, <bold><italic>V</italic></bold><sub>new</sub></td>
<td>2112m</td>
</tr>
<tr>
<td><bold>The proposed (NLHE-AKA)</bold></td>
<td><bold>64n</bold></td>
<td><bold>64n</bold></td>
<td><bold>(128) 5n</bold></td>
<td><bold>(128) 5n</bold></td>
<td><bold>(128)</bold> <sup><bold>d</bold></sup></td>
<td><bold>(64 &#x002A; 5)</bold> <sup><bold>d</bold></sup></td>
<td><bold>1720m</bold></td>
</tr>
</tbody>
</table>
<table-wrap-foot><fn><p>Note: n = number of IoT D, d = data block, m = number of groups/networks, msgx = message number.</p></fn></table-wrap-foot>
</table-wrap><table-wrap id="table-7">
<label>Table 7</label>
<caption>
<title>Comparative computational cost of IoT devices</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left" />
<col align="left" />
</colgroup>
<thead>
<tr>
<th>Techniques</th>
<th>Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>[<xref ref-type="bibr" rid="ref-1">1</xref>]</td>
<td>4T<sub>hash</sub> &#x002B; (3T<sub>hash</sub>) &#x002A; (n &#x2212; 1)</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-2">2</xref>]</td>
<td>4T<sub>mul</sub> &#x002B; 2T<sub>hash</sub> &#x002A; n</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-3">3</xref>]</td>
<td>6T<sub>hash</sub> &#x002B; 2T<sub>m</sub> &#x002B; (2T<sub>hash</sub>) &#x002A; n</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-4">4</xref>]</td>
<td>4T<sub>hash</sub> &#x002B; 2T<sub>hash</sub> &#x002A; n</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-5">5</xref>]</td>
<td>19T<sub>hash</sub> &#x002B; (8T<sub>s</sub> &#x002B; 3T<sub>mul</sub>) &#x002A; n</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-6">6</xref>]</td>
<td>4T<sub>hash</sub> &#x002B; 2T<sub>hash</sub> &#x002B; T<sub>aes</sub></td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-7">7</xref>]</td>
<td>4T<sub>hash</sub> &#x002B; 2T<sub>aes</sub> &#x002B; 2T<sub>hash</sub> &#x002A; n</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-8">8</xref>]</td>
<td>(4T<sub>ECC_add</sub> &#x002B; 2T<sub>hash</sub>) &#x002A; n</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-9">9</xref>]</td>
<td>10T<sub>hash</sub> &#x002B; 3T<sub>p</sub> &#x002A; n</td>
</tr>
<tr>
<td><bold>Our</bold></td>
<td><bold>2T</bold><sub><bold>ecdh</bold></sub> <bold>&#x002B; 2T</bold><sub><bold>hash</bold></sub></td>
</tr>
</tbody>
</table>
<table-wrap-foot><p>Note: <bold>hash</bold> <inline-formula id="ieqn-212"><mml:math id="mml-ieqn-212"><mml:mo stretchy="false">&#x2192;</mml:mo></mml:math></inline-formula> hash function, <bold>mul</bold> <inline-formula id="ieqn-213"><mml:math id="mml-ieqn-213"><mml:mo stretchy="false">&#x2192;</mml:mo></mml:math></inline-formula> scalar multiplication, <bold>ecdh</bold> <inline-formula id="ieqn-214"><mml:math id="mml-ieqn-214"><mml:mo stretchy="false">&#x2192;</mml:mo></mml:math></inline-formula> elliptic curve Diffie-Hellman key exchange, <bold>s</bold> <inline-formula id="ieqn-215"><mml:math id="mml-ieqn-215"><mml:mo stretchy="false">&#x2192;</mml:mo></mml:math></inline-formula> fixed point multiplication, <bold>aes</bold> <inline-formula id="ieqn-216"><mml:math id="mml-ieqn-216"><mml:mo stretchy="false">&#x2192;</mml:mo></mml:math></inline-formula> AES algorithm, <bold>p</bold> <inline-formula id="ieqn-217"><mml:math id="mml-ieqn-217"><mml:mo stretchy="false">&#x2192;</mml:mo></mml:math></inline-formula> key pair generation, <bold>m</bold> <inline-formula id="ieqn-218"><mml:math id="mml-ieqn-218"><mml:mo stretchy="false">&#x2192;</mml:mo></mml:math></inline-formula> modulus.</p>
</table-wrap-foot>
</table-wrap><fig id="fig-8">
<label>Figure 8</label>
<caption>
<title>Communication overhead comparison with similar aka protocols (a) m &#x003D; 1, (b) m &#x003D; 50</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_54676-fig-8.tif"/>
</fig>
</sec>
<sec id="s5_4_6">
<label>5.4.6</label>
<title>Comparative Analysis of Computational Overhead</title>
<p>Computational evaluation on one IoT device can be done through Lagrange Time component (L<sub>T</sub>) [<xref ref-type="bibr" rid="ref-11">11</xref>]. The component assigns time cost values to cryptographic functions. In this section, we applied L<sub>T</sub> on the proposed hardware to evaluate time costs. The L<sub>T</sub> at hash function is (<italic>T</italic><sub><italic>hash</italic></sub> &#x003D; 0.75), scalar multiplication forming one key pair (<italic>T</italic><sub><italic>ecc</italic>_<italic>add</italic></sub> &#x003D; 0.5, T<sub>p</sub> &#x003D; 0.15 &#x0026; T<sub>s</sub> &#x003D; 0.1), American encryption system AES at (<italic>T</italic><sub><italic>aes</italic></sub> &#x003D; 1) and ECDH based key exchange at (<italic>T</italic><sub><italic>ecdh</italic></sub> &#x003D; 0.5). The cost of <italic>T</italic><sub><italic>ecdh</italic></sub> is comparatively higher than other ECC operations as key exchange operations can be costly if session key (S<sub>K</sub>) is large. Since we used <inline-formula id="ieqn-219"><mml:math id="mml-ieqn-219"><mml:mo>&#x2248;</mml:mo></mml:math></inline-formula>64-bit <inline-formula id="ieqn-220"><mml:math id="mml-ieqn-220"><mml:mo stretchy="false">[</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>d</mml:mi><mml:mi>P</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mo stretchy="false">]</mml:mo><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>r</mml:mi><mml:mi>x</mml:mi></mml:math></inline-formula> dynamic key generator values to generate 128-bit S<sub>K</sub> pair that is why the computation cost of single IoT device (M<sub>1</sub> or M<sub>2</sub>) costs slightly higher comparatively, in resource constrained hardware specifications. <xref ref-type="table" rid="table-7">Table 7</xref> shows computational comparative analysis costs whereas <xref ref-type="fig" rid="fig-9">Fig. 9</xref> illustrates comparative computational overhead analysis of the proposed scheme with similar AKA protocols. It can be observed that the proposed end-to-end encryption capable scheme costs efficient computation with tight security.</p>
<fig id="fig-9">
<label>Figure 9</label>
<caption>
<title>Comparison analysis of computational overhead of proposed scheme</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_54676-fig-9.tif"/>
</fig>
<p>The proposed scheme is only costly compared to GBAAM-and-Novel AKA protocol as they lack acquiring resilience against statistical and DOS/Replay type attacks, respectively.</p>
</sec>
<sec id="s5_4_7">
<label>5.4.7</label>
<title>Comparative Analysis of Storage Cost</title>
<p>Comparative study of storage cost analysis is presented in this section as shown in <xref ref-type="table" rid="table-8">Table 8</xref>. It refers to minimum storage required by an IoT device as pre-requisite parameters to operate on certain protocols. In the proposed scheme,  of <inline-formula id="ieqn-221"><mml:math id="mml-ieqn-221"><mml:mi>P</mml:mi><mml:mi>b</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:math></inline-formula> and ASCII characters&#x2019; pre-calculated curve point, i.e., <inline-formula id="ieqn-222"><mml:math id="mml-ieqn-222"><mml:mo>&#x2211;</mml:mo><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:msup><mml:mn>46</mml:mn><mml:mrow><mml:mo>&#x2227;</mml:mo></mml:mrow></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mi>C</mml:mi><mml:mi>h</mml:mi><mml:mi>i</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mo stretchy="false">(</mml:mo><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:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. Storage cost of the proposed scheme primarily depends on the size of <inline-formula id="ieqn-223"><mml:math id="mml-ieqn-223"><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, large <inline-formula id="ieqn-224"><mml:math id="mml-ieqn-224"><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> value will result in more storage cost. Additionally, <xref ref-type="table" rid="table-8">Table 8</xref> shows comparative analysis of storage cost. We used <inline-formula id="ieqn-225"><mml:math id="mml-ieqn-225"><mml:mo>&#x2248;</mml:mo></mml:math></inline-formula>64-bit <inline-formula id="ieqn-226"><mml:math id="mml-ieqn-226"><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> value whose storage cost resulted in 896-bits per IoT device. The 896-bits include encrypted <inline-formula id="ieqn-227"><mml:math id="mml-ieqn-227"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>a</mml:mi><mml:mi>F</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-228"><mml:math id="mml-ieqn-228"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>k</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula> which contain five characters each, for <inline-formula id="ieqn-229"><mml:math id="mml-ieqn-229"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-230"><mml:math id="mml-ieqn-230"><mml:mi>M</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math></inline-formula>. Moreover, storage cost is directly affected by <inline-formula id="ieqn-231"><mml:math id="mml-ieqn-231"><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> value. Whereas the size of <inline-formula id="ieqn-232"><mml:math id="mml-ieqn-232"><mml:mi>p</mml:mi></mml:math></inline-formula> is selected based on IoT device&#x2019;s computing and storage capability which is a trade-off between cost-efficiency in performance and security of end-to-end encryption. Extremely large <italic>mod</italic>(<italic>p</italic>) values could result in memory overflow and heavy computation while small <italic>mod</italic>(<italic>p</italic>) values could risk the security strength of cryptography. Hence, the adopted <italic>mod</italic>(<italic>p</italic>) value is selected so that no additional storage is required. <xref ref-type="fig" rid="fig-10">Fig. 10</xref> illustrates storage cost&#x2019;s comparative analysis of operational IoT devices in a network for similar AKA schemes where it shows that the proposed scheme requires additional storage because of large precalculated curve points for ASCII characters on 64-bit <inline-formula id="ieqn-233"><mml:math id="mml-ieqn-233"><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>p</mml:mi></mml:math></inline-formula>) value.</p>
<table-wrap id="table-8">
<label>Table 8</label>
<caption>
<title>Comparative analysis of storage cost</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left" />
<col align="left" />
</colgroup>
<thead>
<tr>
<th>Techniques</th>
<th>Storage cost (Bits)</th>
</tr>
</thead>
<tbody>
<tr>
<td>[<xref ref-type="bibr" rid="ref-1">1</xref>]</td>
<td>816m</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-2">2</xref>]</td>
<td>128n &#x002B; 736m</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-3">3</xref>]</td>
<td>992mn</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-4">4</xref>]</td>
<td>1072mn</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-5">5</xref>]</td>
<td><inline-formula id="ieqn-234"><mml:math id="mml-ieqn-234"><mml:mo>&#x2245;</mml:mo></mml:math></inline-formula>2096mn</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-6">6</xref>]</td>
<td><inline-formula id="ieqn-235"><mml:math id="mml-ieqn-235"><mml:mo>&#x2245;</mml:mo></mml:math></inline-formula>688mn</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-7">7</xref>]</td>
<td>688mn</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-8">8</xref>]</td>
<td>1024nm</td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-9">9</xref>]</td>
<td>672mn</td>
</tr>
<tr>
<td><bold>Our</bold></td>
<td><bold>896mn</bold></td>
</tr>
</tbody>
</table>
</table-wrap><fig id="fig-10">
<label>Figure 10</label>
<caption>
<title>Storage overhead comparison of the proposed scheme with similar techniques in IoT communication</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_54676-fig-10.tif"/>
</fig>
</sec>
</sec>
<sec id="s5_5">
<label>5.5</label>
<title>Formal Security Verification Using AVISPA</title>
<p>Automated validation of Internet security protocols and applications (AVISPA) is a popular tool [<xref ref-type="bibr" rid="ref-31">31</xref>] for formal security verification of cryptographic protocol in a Linux operating system. It uses the high-level protocol specification language (HLPSL) to model and simulate the presented mutual authentication protocol to verify the security properties. CompTIA advanced security (CAS&#x002B;) description of the proposed protocol is first converted into Alice (as M<sub>1</sub>) and Bob (as M<sub>2</sub>) notation which is then applied as input to security protocol animator (SPAN) that simulates the protocol and converts it into HLPSL script. The HLPSL script is then forwarded as input to an intermediate format [<xref ref-type="bibr" rid="ref-32">32</xref>] (IF) translator to analyze it through backend verification models. AVISPA uses the proposed backends, on-the-fly model-checker (OFMC), constraint-logic-based attack searcher (CL-AtSe), satisfiability-based model-checker (SATMC) and tree automata based on automatic approximations for the analysis of security protocols (TA4SP), to verify the goals. Moreover, the proposed backend models execute the protocol via numerous finite iterations until the protocol is deemed safe for the number of sessions or an attack is discovered. We applied three attack models, i.e., OFMC, CLA-AtSe and TASP on the presented security protocol shown in <xref ref-type="fig" rid="fig-11">Figs. 11a</xref>&#x2013;<xref ref-type="fig" rid="fig-11">c</xref>, respectively. It can be observed from the figures that the presented scheme is found safe during all three attack simulations. Additionally, <xref ref-type="fig" rid="fig-12">Figs. 12a</xref>&#x2013;<xref ref-type="fig" rid="fig-12">c</xref> shows the security validation of incoming events (variables before authentication process), in-transit events (variables during the process), and past events (variables after mutual authentication process) of the proposed model.</p>
<fig id="fig-11">
<label>Figure 11</label>
<caption>
<title>Format security verification model attacks on the proposed scheme (a): OFMC, (b): TA4SP, (c): CL-AtSe</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_54676-fig-11.tif"/>
</fig><fig id="fig-12">
<label>Figure 12</label>
<caption>
<title>Formal security validation of mutual authentication events in the proposed protocol (a): incoming event, (b): in-transit event, (c): past event</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_54676-fig-12a.tif"/>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_54676-fig-12b.tif"/>
</fig>
</sec>
</sec>
<sec id="s6">
<label>6</label>
<title>Discussion and Future Directions</title>
<p>The proposed scheme successfully achieved lightweight end-to-end encryption which is a very crucial feature for perception layer security that emphasizes the integrity of data. Moreover, the scheme was able to encrypt and decrypt only limited ASCII characters to limit the usage of limited internal memory. Additionally, the scheme can be used in all sorts of communication protocols as it is designed irrespective of the type of communication system such as master-in-slave-out (MSIO), and master-out-slave-in (MOSI) configurations. Moreover, in this article, we acknowledge this trade-off by analyzing various <italic>mod</italic>(<italic>p</italic>) sizes affects encryption time. Greater security is achieved by increasing the complexity of cryptographic operations through larger <italic>mod</italic>(<italic>p</italic>) sizes at the cost of longer execution times (as shown in <xref ref-type="table" rid="table-2">Table 2</xref>). On the other hand, smaller modulus sizes resulted in less computational overhead, which boosted performance but may jeopardize security. Selecting <italic>mod</italic>(<italic>p</italic>) values were experimented extensively with different sizes to manage the trade-off in practice, trying to find a compromise that provides enough security while preserving respectable performance levels. After several experiments, we determined the ideal configuration by considering both large and small values when choosing the <italic>mod</italic>(<italic>p</italic>) sizes (discussed in [<xref ref-type="bibr" rid="ref-5">5</xref>]). We intend to provide a more thorough examination of this balancing mechanism in subsequent work, including investigating adaptive approaches that dynamically modify the modulus size in accordance with the demands of the environment or application.</p>

<sec id="s6_1">
<label>6.1</label>
<title>Limitations</title>
<p>Since the scheme is specifically designed for resource constrained IoT devices that is why the scheme can only afford limited ASCII characters. The communication performance is not tested in large networks containing numerous nodes and networks where large amount of data is shared. However, the proposed scheme can withstand large networks with limited data blocks in a single session. The scheme provides a maximum of 192-bit curve security. The curve-point table values in <xref ref-type="table" rid="table-3">Table 3</xref> can be increased for stronger security provisions if required.</p>

</sec>
<sec id="s6_2">
<label>6.2</label>
<title>Future Directions</title>
<p>The proposed scheme allows many improvements for specific operations:
<list list-type="order">
<list-item>
<p>Introducing large <italic>mod</italic>(<italic>p</italic>) based pre-calculated curve points, as shown in <xref ref-type="table" rid="table-3">Table 3</xref> can result in stronger 256&#x2013;512-bit curve security for more robust security.</p>
</list-item>
<list-item>
<p>The encrypted data blocks consist of ASCII characters only (as shown in <xref ref-type="table" rid="table-2">Table 2</xref>). Data blocks in images, audio and video files can enlarge the scope of the scheme.</p>
</list-item>
<list-item>
<p>The scheme is limited to local authentication process for limited connectivity. Using the scheme in different authentication environments will enhance the capability of the scheme.</p></list-item>
<list-item>
<p>The scheme lacks communication support during power and communication failures in which case the whole communication terminates. Thus, adding data availability feature will improve robustness against power and communication failures.</p></list-item>
<list-item>
<p>The suggested method can be used and contrasted with current protocols because it is made to be energy-efficient for encryption and authentication procedures on devices with low power supplies.</p></list-item>
<list-item>
<p>Contiki simulator is used to capture networking performance in this article. Concrete measures in lossy IoT networks, like packet loss rates, throughput, and latency, can be further studied.</p></list-item>
</list></p>
</sec>
</sec>
<sec id="s7">
<label>7</label>
<title>Conclusion</title>
<p>The article proposed an end-to-end encryption-enabled lightweight mutual authentication scheme with a lightweight hash function. The proposed scheme achieved known security features in the perception layer of IoT devices. Additionally, the performance analysis proves that the proposed scheme is comparatively more efficient in computation and communication than other similar techniques. Further, the scheme is especially designed for resource-constraint IoT devices to ensure maximum affordable security and performance in terms of less communication overhead, power consumption, internal memory, and cost of computation. For future work, potential improvements could include enhancing data availability in case of communication disruption, ensuring that devices can still authenticate in local authentication environment. Additionally, incorporating group-based and hybrid authentication methods could provide more robust security solutions. Exploring the use of larger size <italic>mod</italic>(<italic>p</italic>) values could further strengthen the cryptographic resilience of the scheme. These enhancements would contribute to a more resilient and versatile authentication framework suitable for a wider range of IoT applications.</p>
</sec>
</body>
<back>
<ack><p>The authors acknowledge that the research was not funded by any significant funding.</p>
</ack>
<sec><title>Funding Statement</title>
<p>This research did not receive any specific grant from funding agencies in the public, commercial, or not-for-profit sectors.</p>
</sec>
<sec><title>Author Contributions</title>
<p>Shafi Ullah conceptualized the study, designed the translation framework, and contributed to the simulation and coding; Haidawati Muhammad Nasir developed the algorithms and implemented the translation model; Akbar Khan collected and performed the encryption and decryption blocks analysis, ensuring its quality and relevance; Ahsanullah Memon conducted the user studies, gathered feedback, and evaluated the system&#x2019;s performance in an IoT framework; Kushsairy Kadir contributed to the literature review, discussing related work; Shanila Azhar assisted in writing and revising the manuscript, ensuring clarity and coherence whereas Ilyas Khan and Muhammad Ashraf oversaw the project, supervised the team, and provided critical insights throughout the research process. All authors reviewed the results and approved the final version of the manuscript.</p>
</sec>
<sec sec-type="data-availability"><title>Availability of Data and Materials</title>
<p>No data or materials are available.</p>
</sec>
<sec><title>Ethics Approval</title>
<p>Not applicable.</p>
</sec>
<sec sec-type="COI-statement"><title>Conflicts of Interest</title>
<p>The authors declare 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>C.</given-names> <surname>Lai</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Li</surname></string-name>, and <string-name><given-names>J.</given-names> <surname>Cao</surname></string-name></person-group>, &#x201C;<article-title>A novel group access authentication and key agreement protocol for machine-type communication</article-title>,&#x201D; <source>Trans. Emerg. Telecomm. Technol.</source>, vol. <volume>26</volume>, no. <issue>3</issue>, pp. <fpage>414</fpage>&#x2013;<lpage>431</lpage>, <year>2015</year>. doi: <pub-id pub-id-type="doi">10.1002/ett.2635</pub-id>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Cao</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Ma</surname></string-name>, and <string-name><given-names>H.</given-names> <surname>Li</surname></string-name></person-group>, &#x201C;<article-title>GBAAM: Group-based access authentication for MTC in LTE networks</article-title>,&#x201D; <source>Secur. Commun. Netw.</source>, vol. <volume>8</volume>, no. <issue>17</issue>, pp. <fpage>3282</fpage>&#x2013;<lpage>3299</lpage>, <year>2015</year>. doi: <pub-id pub-id-type="doi">10.1002/sec.1252</pub-id>.</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>A.</given-names> <surname>Fu</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Song</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Zhang</surname></string-name>, and <string-name><given-names>Y.</given-names> <surname>Zhang</surname></string-name></person-group>, &#x201C;<article-title>A privacy-preserving group authentication protocol for machine-type communication in LTE/LTE-A networks</article-title>,&#x201D; <source>Secur. Commun. Netw.</source>, vol. <volume>9</volume>, no. <issue>13</issue>, pp. <fpage>2002</fpage>&#x2013;<lpage>2014</lpage>, <year>2016</year>. doi: <pub-id pub-id-type="doi">10.1002/sec.1455</pub-id>.</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>C.</given-names> <surname>Lai</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Lu</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Zheng</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Li</surname></string-name>, and <string-name><given-names>X. S.</given-names> <surname>Shen</surname></string-name></person-group>, &#x201C;<article-title>GLARM: Group-based lightweight authentication scheme for resource-constrained machine to machine communications</article-title>,&#x201D; <source>Comput. Netw.</source>, vol. <volume>99</volume>, no. <issue>4</issue>, pp. <fpage>66</fpage>&#x2013;<lpage>81</lpage>, <year>2016</year>. doi: <pub-id pub-id-type="doi">10.1016/j.comnet.2016.02.007</pub-id>.</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>X.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Peng</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Niu</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Liao</surname></string-name> and <string-name><given-names>K. -K. R.</given-names> <surname>Choo</surname></string-name></person-group>, &#x201C;<article-title>A robust and energy efficient authentication protocol for industrial internet of things</article-title>,&#x201D; <source>IEEE Internet Things J.</source>, vol. <volume>5</volume>, no. <issue>3</issue>, pp. <fpage>1606</fpage>&#x2013;<lpage>1615</lpage>, <year>2017</year>. doi: <pub-id pub-id-type="doi">10.1109/JIOT.2017.2787800</pub-id>.</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>S.</given-names> <surname>Gupta</surname></string-name>, <string-name><given-names>B. L.</given-names> <surname>Parne</surname></string-name>, and <string-name><given-names>N. S.</given-names> <surname>Chaudhari</surname></string-name></person-group>, &#x201C;<article-title>DGBES: Dynamic group based efficient and secure authentication and key agreement protocol for MTC in LTE/LTE-A networks</article-title>,&#x201D; <source>Wirel. Pers. Commun.</source>, vol. <volume>98</volume>, no. <issue>3</issue>, pp. <fpage>2867</fpage>&#x2013;<lpage>2899</lpage>, <year>2018</year>. doi: <pub-id pub-id-type="doi">10.1007/s11277-017-5005-6</pub-id>.</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>B. L.</given-names> <surname>Parne</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Gupta</surname></string-name>, and <string-name><given-names>N. S.</given-names> <surname>Chaudhari</surname></string-name></person-group>, &#x201C;<article-title>SEGB: Security enhanced group based AKA protocol for M2M communication in an IoT enabled LTE/LTE-A network</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>6</volume>, pp. <fpage>3668</fpage>&#x2013;<lpage>3684</lpage>, <year>2018</year>. doi: <pub-id pub-id-type="doi">10.1109/ACCESS.2017.2788919</pub-id>.</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>Y. H.</given-names> <surname>Lin</surname></string-name>, <string-name><given-names>J. J.</given-names> <surname>Huang</surname></string-name>, <string-name><given-names>C. I.</given-names> <surname>Fan</surname></string-name>, and <string-name><given-names>W. T.</given-names> <surname>Chen</surname></string-name></person-group>, &#x201C;<article-title>Local authentication and access control scheme in M2M communications with computation offloading</article-title>,&#x201D; <source>IEEE Internet Things J.</source>, vol. <volume>5</volume>, no. <issue>4</issue>, pp. <fpage>3209</fpage>&#x2013;<lpage>3219</lpage>, <year>2018</year>. doi: <pub-id pub-id-type="doi">10.1109/JIOT.2018.2837163</pub-id>.</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>M. F.</given-names> <surname>Ayub</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Mahmood</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Kumari</surname></string-name>, and <string-name><given-names>A. K.</given-names> <surname>Sangaiah</surname></string-name></person-group>, &#x201C;<article-title>Lightweight authentication protocol for e-health clouds in IoT based applications through 5G technology</article-title>,&#x201D; <source>Digit. Commun. Netw.</source>, vol. <volume>7</volume>, no. <issue>2</issue>, pp. <fpage>235</fpage>&#x2013;<lpage>244</lpage>, <year>2020</year>. doi: <pub-id pub-id-type="doi">10.1016/j.dcan.2020.06.003</pub-id>.</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>D.</given-names> <surname>Choi</surname></string-name>, <string-name><given-names>H. K.</given-names> <surname>Choi</surname></string-name>, and <string-name><given-names>S. Y.</given-names> <surname>Lee</surname></string-name></person-group>, &#x201C;<article-title>A group-based security protocol for machine-type communications in LTE-advanced</article-title>,&#x201D; <source>Wirel. Netw.</source>, vol. <volume>21</volume>, no. <issue>2</issue>, pp. <fpage>405</fpage>&#x2013;<lpage>419</lpage>, <year>2015</year>. doi: <pub-id pub-id-type="doi">10.1007/s11276-014-0788-9</pub-id>.</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>J.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Wen</surname></string-name>, and <string-name><given-names>T.</given-names> <surname>Zhang</surname></string-name></person-group>, &#x201C;<article-title>Group-based authentication and key agreement with dynamic policy updating for MTC in LTE-A networks</article-title>,&#x201D; <source>IEEE Internet Things J.</source>, vol. <volume>3</volume>, no. <issue>3</issue>, pp. <fpage>408</fpage>&#x2013;<lpage>417</lpage>, <year>2016</year>. doi: <pub-id pub-id-type="doi">10.1109/JIOT.2015.2495321</pub-id>.</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>H.</given-names> <surname>Wang</surname></string-name> and <string-name><given-names>Q.</given-names> <surname>Li</surname></string-name></person-group>, &#x201C;<article-title>Achieving distributed user access control in sensor networks</article-title>,&#x201D; <source>Ad Hoc Netw.</source>, vol. <volume>10</volume>, no. <issue>3</issue>, pp. <fpage>272</fpage>&#x2013;<lpage>283</lpage>, <year>2012</year>. doi: <pub-id pub-id-type="doi">10.1016/j.adhoc.2011.01.011</pub-id>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Qiu</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Ma</surname></string-name></person-group>, &#x201C;<article-title>A mutual authentication and key establishment scheme for M2M communication in 6LoWPAN networks</article-title>,&#x201D; <source>IEEE Trans. Ind. Inform.</source>, vol. <volume>12</volume>, no. <issue>6</issue>, pp. <fpage>2074</fpage>&#x2013;<lpage>2085</lpage>, <year>2016</year>. doi: <pub-id pub-id-type="doi">10.1109/TII.2016.2604681</pub-id>.</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>S.</given-names> <surname>Chen</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Ma</surname></string-name>, and <string-name><given-names>Z.</given-names> <surname>Luo</surname></string-name></person-group>, &#x201C;<article-title>An authentication scheme with identity-based cryptography for M2M security in cyber-physical systems</article-title>,&#x201D; <source>Secur. Commun. Netw.</source>, vol. <volume>9</volume>, no. <issue>10</issue>, pp. <fpage>1146</fpage>&#x2013;<lpage>1157</lpage>, <year>2016</year>. doi: <pub-id pub-id-type="doi">10.1002/sec.1407</pub-id>.</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>Q.</given-names> <surname>Jiang</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Ma</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Wei</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Tian</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Shen</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Yang</surname></string-name></person-group>, &#x201C;<article-title>An untraceable temporal-credential-based two-factor authentication scheme using ECC for wireless sensor networks</article-title>,&#x201D; <source>J. Netw. Comput. Appl.</source>, vol. <volume>76</volume>, no. <issue>1</issue>, pp. <fpage>37</fpage>&#x2013;<lpage>48</lpage>, <year>2016</year>. doi: <pub-id pub-id-type="doi">10.1016/j.jnca.2016.10.001</pub-id>.</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>M.</given-names> <surname>Saqib</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Jasra</surname></string-name>, and <string-name><given-names>A. H.</given-names> <surname>Moon</surname></string-name></person-group>, &#x201C;<article-title>A lightweight three factor authentication framework for IoT based critical applications</article-title>,&#x201D; <source>J. King Saud Univ.-Comput. Inf. Sci.</source>, vol. <volume>34</volume>, no. <issue>9</issue>, pp. <fpage>6925</fpage>&#x2013;<lpage>6937</lpage>, <year>2022</year>. doi: <pub-id pub-id-type="doi">10.1016/j.jksuci.2021.07.023</pub-id>.</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>M.</given-names> <surname>Fakroon</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Alshahrani</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Gebali</surname></string-name>, and <string-name><given-names>I.</given-names> <surname>Traore</surname></string-name></person-group>, &#x201C;<article-title>Secure remote anonymous user authentication scheme for smart home environment</article-title>,&#x201D; <source>Internet Things</source>, vol. <volume>9</volume>, no. <issue>7</issue>, <year>2020, Art. no. 100158</year>. doi: <pub-id pub-id-type="doi">10.1016/j.iot.2020.100158</pub-id>.</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>S.</given-names> <surname>Banerjee</surname></string-name>, <string-name><given-names>V.</given-names> <surname>Odelu</surname></string-name>, <string-name><given-names>A. K.</given-names> <surname>Das</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Chattopadhyay</surname></string-name>, and <string-name><given-names>Y.</given-names> <surname>Park</surname></string-name></person-group>, &#x201C;<article-title>An efficient, anonymous and robust authentication scheme for smart home environments</article-title>,&#x201D; <source>Sensors</source>, vol. <volume>20</volume>, no. <issue>4</issue>, <year>2020, Art. no. 1215</year>. doi: <pub-id pub-id-type="doi">10.3390/s20041215</pub-id>; <pub-id pub-id-type="pmid">32098448</pub-id></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>D.</given-names> <surname>He</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Chan</surname></string-name>, and <string-name><given-names>M.</given-names> <surname>Guizani</surname></string-name></person-group>, &#x201C;<article-title>Accountable and privacy-enhanced access control in wireless sensor networks</article-title>,&#x201D; <source>IEEE Trans. Wirel. Commun.</source>, vol. <volume>14</volume>, no. <issue>1</issue>, pp. <fpage>389</fpage>&#x2013;<lpage>398</lpage>, <year>2015</year>. doi: <pub-id pub-id-type="doi">10.1109/TWC.2014.2347311</pub-id>.</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>Y.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Berretti</surname></string-name>, and <string-name><given-names>S.</given-names> <surname>Wan</surname></string-name></person-group>, &#x201C;<article-title>Medical image encryption by content-aware dna computing for secure healthcare</article-title>,&#x201D; <source>IEEE Trans. Ind. Inform.</source>, vol. <volume>19</volume>, no. <issue>2</issue>, pp. <fpage>2089</fpage>&#x2013;<lpage>2098</lpage>, <year>2022</year>. doi: <pub-id pub-id-type="doi">10.1109/TII.2022.3194590</pub-id>.</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>X.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Kumari</surname></string-name>, and <string-name><given-names>C. -M.</given-names> <surname>Chen</surname></string-name></person-group>, &#x201C;<article-title>PSAP-WSN: A provably secure authentication protocol for 5G-based wireless sensor networks</article-title>,&#x201D; <source>Comput. Model. Eng. Sci.</source>, vol. <volume>135</volume>, no. <issue>1</issue>, pp. <fpage>711</fpage>&#x2013;<lpage>732</lpage>, <year>2023</year>. doi: <pub-id pub-id-type="doi">10.32604/cmes.2022.022667</pub-id>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>R.</given-names> <surname>Melki</surname></string-name>, <string-name><given-names>H. N.</given-names> <surname>Noura</surname></string-name>, and <string-name><given-names>A.</given-names> <surname>Chehab</surname></string-name></person-group>, &#x201C;<article-title>Lightweight multi-factor mutual authentication protocol for IoT devices</article-title>,&#x201D; <source>Int. J. Inf. Secur.</source>, vol. <volume>19</volume>, no. <issue>6</issue>, pp. <fpage>679</fpage>&#x2013;<lpage>694</lpage>, <year>2020</year>. doi: <pub-id pub-id-type="doi">10.1007/s10207-019-00484-5</pub-id>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>I.</given-names> <surname>Alshawish</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Al-Haj</surname></string-name></person-group>, &#x201C;<article-title>An efficient mutual authentication scheme for IoT systems</article-title>,&#x201D; <source>J. Supercomput.</source>, vol. <volume>78</volume>, no. <issue>14</issue>, pp. <fpage>16056</fpage>&#x2013;<lpage>16087</lpage>, <year>2022</year>. doi: <pub-id pub-id-type="doi">10.1007/s11227-022-04520-5</pub-id>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S. G.</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>Comput. Syst. Sci. Eng.</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-25"><label>[25]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Nguyen</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Hoang</surname></string-name>, and <string-name><given-names>L.</given-names> <surname>Tran</surname></string-name></person-group>, &#x201C;<article-title>Efficient hardware implementation of elliptic-curve diffie-hellman ephemeral on Curve25519</article-title>,&#x201D; <source>Electronics</source>, vol. <volume>12</volume>, no. <issue>21</issue>, <year>2023, Art. no. 4480</year>. doi: <pub-id pub-id-type="doi">10.3390/electronics12214480</pub-id>.</mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M. B.</given-names> <surname>Niasar</surname></string-name>, <string-name><given-names>R. El</given-names> <surname>Khatib</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Azarderakhsh</surname></string-name>, and <string-name><given-names>M.</given-names> <surname>Mozaffari-Kermani</surname></string-name></person-group>, &#x201C;<article-title>Fast, small, and area-time efficient architectures for key-exchange on Curve25519</article-title>,&#x201D; in <conf-name>2020 IEEE 27th Symp. Comput. Arithmet. (ARITH)</conf-name>, <publisher-loc>Portland, OR, USA</publisher-loc>, <publisher-name>IEEE</publisher-name>, <year>2020</year>. pp. <fpage>72</fpage>&#x2013;<lpage>79</lpage>.</mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Chia</surname></string-name>, <string-name><given-names>J. J.</given-names> <surname>Chin</surname></string-name>, and <string-name><given-names>S. C.</given-names> <surname>Yip</surname></string-name></person-group>, &#x201C;<chapter-title>Evaluating pairing-free identity-based identification using curve25519</chapter-title>,&#x201D; in <source>Advances in Cyber Security. ACeS 2020. Communications in Computer and Information Science</source>, <person-group person-group-type="editor"><string-name><given-names>M.</given-names> <surname>Anbar</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Abdullah</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Manickam</surname></string-name></person-group>, Editors, <publisher-loc>Singapore</publisher-loc>: <publisher-name>Springer</publisher-name>, <year>2021</year>, vol. <volume>1347</volume>, pp. <fpage>179</fpage>&#x2013;<lpage>193</lpage>.</mixed-citation></ref>
<ref id="ref-28"><label>[28]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>F.</given-names> <surname>De Santis</surname></string-name> and <string-name><given-names>G.</given-names> <surname>Sigl</surname></string-name></person-group>, &#x201C;<article-title>Towards side-channel protected X25519 on ARM Cortex-M4 processors</article-title>,&#x201D; in <conf-name>Proc. Softw. Perform. Enhan. Encrypt. Decrypt., Benchmark.</conf-name>, <publisher-loc>Utrecht, The Netherlands</publisher-loc>, <year>2016</year>, pp. <fpage>19</fpage>&#x2013;<lpage>21</lpage>.</mixed-citation></ref>
<ref id="ref-29"><label>[29]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Fujii</surname></string-name> and <string-name><given-names>D. F.</given-names> <surname>Aranha</surname></string-name></person-group>, &#x201C;<article-title>Efficient Curve25519 implementation for ARM microcontrollers</article-title>,&#x201D; in <conf-name>Anais Estendidos do XVIII Simp&#x00F3;sio Brasileiro de Seguran&#x00E7;a da Informa&#x00E7;&#x00E3;o e de Sistemas Computacionais</conf-name>, <year>2018</year>, pp. <fpage>57</fpage>&#x2013;<lpage>64</lpage>.</mixed-citation></ref>
<ref id="ref-30"><label>[30]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>T.</given-names> <surname>Oliveira</surname></string-name>, <string-name><given-names>J.</given-names> <surname>L&#x00F3;pez</surname></string-name>, <string-name><given-names>H.</given-names> <surname>H&#x0131;&#x015F;&#x0131;l</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Faz-Hern&#x00E1;ndez</surname></string-name>, and <string-name><given-names>F.</given-names> <surname>Rodr&#x00ED;guez-Henr&#x00ED;quez</surname></string-name></person-group>, &#x201C;<article-title>How to (pre-) compute a ladder: Improving the performance of X25519 and X448</article-title>,&#x201D; in <conf-name>Selected Areas Cryptograp.-SAC 2017: 24th Int. Conf.</conf-name>, <publisher-loc>Ottawa, ON, Canada</publisher-loc>, <publisher-name>Springer</publisher-name>, <year>2018</year>, pp. <fpage>172</fpage>&#x2013;<lpage>191</lpage>.</mixed-citation></ref>
<ref id="ref-31"><label>[31]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Armando</surname></string-name> <etal>et al.</etal></person-group>, &#x201C;<article-title>The AVISPA tool for the automated validation of internet security protocols and applications</article-title>,&#x201D; in <conf-name>Comput. Aided Verif. (CAV 2005)</conf-name>, <year>2005</year>, pp. <fpage>281</fpage>&#x2013;<lpage>285</lpage>.</mixed-citation></ref>
<ref id="ref-32"><label>[32]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>P.</given-names> <surname>Ocenasek</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Sveda</surname></string-name></person-group>, &#x201C;<article-title>AVISPA: Towards practical verification of communication properties</article-title>,&#x201D; <source>IFAC Proc</source>., vol. <volume>42</volume>, no. <issue>1</issue>, pp. <fpage>153</fpage>&#x2013;<lpage>156</lpage>, <year>2009</year>. doi: <pub-id pub-id-type="doi">10.3182/20090210-3-CZ-4002.00032</pub-id>.</mixed-citation></ref>
<ref id="ref-33"><label>[33]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>P. K.</given-names> <surname>Panda</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Chattopadhyay</surname></string-name></person-group>, &#x201C;<article-title>A secure mutual authentication protocol for IoT environment</article-title>,&#x201D; <source>J. Reliab. Intell. Environ.</source>, vol. <volume>6</volume>, no. <issue>2</issue>, pp. <fpage>79</fpage>&#x2013;<lpage>94</lpage>, <year>2020</year>. doi: <pub-id pub-id-type="doi">10.1007/s40860-020-00098-y</pub-id>.</mixed-citation></ref>
<ref id="ref-34"><label>[34]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><given-names>T.</given-names> <surname>Lange</surname></string-name></person-group>, &#x201C;<article-title>SafeCurves: Choosing safe curves for elliptic-curve cryptography</article-title>,&#x201D; <comment>2014. Accessed: Sep. 12, 2024</comment>. [Online]. Available: <ext-link ext-link-type="uri" xlink:href="https://safecurves.cr.yp.to">https://safecurves.cr.yp.to</ext-link></mixed-citation></ref>
</ref-list>
</back></article>