<?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">36437</article-id>
<article-id pub-id-type="doi">10.32604/cmc.2023.036437</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Blockchain-Enabled Secure and Privacy-Preserving Data Aggregation for Fog-Based ITS</article-title>
<alt-title alt-title-type="left-running-head">Blockchain-Enabled Secure and Privacy-Preserving Data Aggregation for Fog-Based ITS</alt-title>
<alt-title alt-title-type="right-running-head">Blockchain-Enabled Secure and Privacy-Preserving Data Aggregation for Fog-Based ITS</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Chen</surname><given-names>Siguang</given-names></name><xref ref-type="aff" rid="aff-1">1</xref><xref ref-type="aff" rid="aff-2">2</xref><email>sgchen@njupt.edu.cn</email></contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western"><surname>Yang</surname><given-names>Li</given-names></name><xref ref-type="aff" rid="aff-1">1</xref><xref ref-type="aff" rid="aff-2">2</xref></contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western"><surname>Shi</surname><given-names>Yanhang</given-names></name><xref ref-type="aff" rid="aff-1">1</xref><xref ref-type="aff" rid="aff-2">2</xref></contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western"><surname>Wang</surname><given-names>Qian</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<aff id="aff-1"><label>1</label><institution>Jiangsu Key Lab of Broadband Wireless Communication and Internet of Things, Nanjing University of Posts and Telecommunications</institution>, <addr-line>Nanjing, 210003</addr-line>, <country>China</country></aff>
<aff id="aff-2"><label>2</label><institution>School of Internet of Things, Nanjing University of Posts and Telecommunications</institution>, <addr-line>Nanjing, 210003</addr-line>, <country>China</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Siguang Chen. Email: <email>sgchen@njupt.edu.cn</email></corresp>
</author-notes>
<pub-date date-type="collection" publication-format="electronic">
<year>2023</year></pub-date>
<pub-date date-type="pub" publication-format="electronic"><day>27</day><month>3</month><year>2023</year></pub-date>
<volume>75</volume>
<issue>2</issue>
<fpage>3781</fpage>
<lpage>3796</lpage>
<history>
<date date-type="received">
<day>30</day><month>9</month><year>2022</year>
</date>
<date date-type="accepted">
<day>08</day><month>2</month><year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2023 Chen et al.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Chen et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMC_36437.pdf"></self-uri>
<abstract>
<p>As an essential component of intelligent transportation systems (ITS), electric vehicles (EVs) can store massive amounts of electric power in their batteries and send power back to a charging station (CS) at peak hours to balance the power supply and generate profits. However, when the system collects the corresponding power data, several severe security and privacy issues are encountered. The identity and private injection data may be maliciously intercepted by network attackers and be tampered with to damage the services of ITS and smart grids. Existing approaches requiring high computational overhead render them unsuitable for the resource-constrained Internet of Things (IoT) environment. To address above problems, this paper proposes a blockchain-enabled secure and privacy-preserving data aggregation scheme for fog-based ITS. First, a fog computing and blockchain co-aware aggregation framework of power injection data is designed, which provides strong support for ITS to achieve secure and efficient power injection. Second, Paillier homomorphic encryption, the batch aggregation signature mechanism and a Bloom filter are effectively integrated with efficient aggregation of power injection data with security and privacy guarantees. In addition, the fine-grained homomorphic aggregation is designed for power injection data generated by all EVs, which provides solid data support for accurate power dispatching and supply management in ITS. Experiments show that the total computational cost is significantly reduced in the proposed scheme while providing security and privacy guarantees. The proposed scheme is more suitable for ITS with latency-sensitive applications and is also adapted to deploying devices with limited resources.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Blockchain</kwd>
<kwd>fog computing</kwd>
<kwd>security</kwd>
<kwd>privacy-preserving</kwd>
<kwd>ITS</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>Electric vehicles (EVs) are highly favored by governments worldwide and can significantly reduce the air pollution generated by fuel-driven vehicles (account for 17% of global CO2 emissions). Research indicates that using EVs instead of traditional fuel-powered vehicles can reduce CO2 emissions by 70% [<xref ref-type="bibr" rid="ref-1">1</xref>]. With popularity of energy-saving and environmentally friendly EVs, they become an essential component of intelligent transportation systems (ITS). Due to the rapid development of ITS, vehicle-to-grid (V2G) is emerging as a promising service in ITS [<xref ref-type="bibr" rid="ref-2">2</xref>&#x2013;<xref ref-type="bibr" rid="ref-4">4</xref>]. V2G provides mobile and distributed power for ITS and smart grid systems and reduces their dependence on nonrenewable energy. Furthermore, in V2G networks, as distributed energy storage elements, EVs can purchase power at valley hours and send power back to the smart grid at peak hours to achieve &#x2018;peak shaving and valley filling&#x2019; to stabilize the power supply of ITS [<xref ref-type="bibr" rid="ref-5">5</xref>&#x2013;<xref ref-type="bibr" rid="ref-7">7</xref>]. EVs can also generate profits by buying at a low price and selling at a high price [<xref ref-type="bibr" rid="ref-8">8</xref>]. This bidirectional power transmission produces many records, which can be analyzed by the control center to provide valuable services, such as charging/discharging scheduling, dynamic pricing, and optimal power dispatching [<xref ref-type="bibr" rid="ref-9">9</xref>&#x2013;<xref ref-type="bibr" rid="ref-11">11</xref>].</p>
<p>However, these records can also cause a series of security and privacy issues, for example, the identities and locations of EVs and the amounts of charging and discharging [<xref ref-type="bibr" rid="ref-12">12</xref>,<xref ref-type="bibr" rid="ref-13">13</xref>]. These security and privacy issues are significant obstacles to the development of V2G in ITS. Especially when power is injected into the grid, information about power injection is highly sensitive. For example, network attackers may maliciously intercept relevant information, and power injection data may be tampered with to damage the ITS and smart grid services. In addition, each link from EVs to the control center is likely to be threatened by attacks. Measures should be taken to ensure the availability, integrity, confidentiality, and immutability of information in V2G networks.</p>
<p>Related studies have been conducted on the privacy and security issues of V2G networks. For example, from the perspective of identity authentication, Saxena et al. [<xref ref-type="bibr" rid="ref-14">14</xref>] presented a mutual authentication scheme for protecting the privacy of EV information by employing bilinear pairing technology. Still, its bilinear pairing implementation is costly. Abdallah et al. [<xref ref-type="bibr" rid="ref-15">15</xref>] constructed a secure authentication and privacy-preserving V2G connection scheme that leverages symmetric and public-private keys to authenticate identity. Tao et al. [<xref ref-type="bibr" rid="ref-16">16</xref>] investigated a lightweight protocol and developed capacity-based secure access authentication for the IoT that can efficiently satisfy security and privacy preservation requirements. Elliptic curve cryptography (ECC)-based schemes were also used in V2G networks. For example, Liang et al. [<xref ref-type="bibr" rid="ref-17">17</xref>] proposed a group authentication protocol by employing elliptic curve Diffie-Hellman and bilinear pairing, which effectively realizes security authentication in a V2G network. Fan et al. [<xref ref-type="bibr" rid="ref-18">18</xref>] developed a three-factor user authentication scheme, which significantly improves the robustness of the network by integrating one-way hash functions, bitwise exclusive OR (XOR) operations and ECC. Work [<xref ref-type="bibr" rid="ref-19">19</xref>] studied an anonymous key distribution scheme based on ECC, but its high computational overhead is unadaptable for the resource-constrained IoT environment.</p>
<p>The traditional centralized mechanism relies on a trusted third party to manage every energy transaction. Each transaction is vulnerable to a series of security threats in this scenario, such as single-point failure, denial of service attacks, and privacy leakage. Therefore, some schemes, such as [<xref ref-type="bibr" rid="ref-20">20</xref>&#x2013;<xref ref-type="bibr" rid="ref-22">22</xref>], introduced blockchain technology for energy transactions because blockchains have the properties of decentralization, anonymity and immutability to provide an effective solution for V2G networks. Liu et al. [<xref ref-type="bibr" rid="ref-23">23</xref>] proposed a cross-domain identity authentication scheme based on a blockchain, which utilizes the encryption algorithm SM9 to guarantee the security and privacy required by V2G networks. Similarly, Kang et al. [<xref ref-type="bibr" rid="ref-24">24</xref>] addressed security and privacy issues in peer-to-peer (P2P) energy transactions by employing a consortium blockchain. Garg et al. [<xref ref-type="bibr" rid="ref-25">25</xref>] studied a combination mechanism of an ECC encryption algorithm and blockchain technology, which provides secure and anonymous energy transactions in V2G.</p>
<p>Although a secure identity authentication protocol can provide privacy preservation for users, fine-grained power consumption data are also sensitive due to their correlation with users&#x2019; activities when EVs inject power into the grid. From the perspective of power consumption data, Tonyali et al. [<xref ref-type="bibr" rid="ref-26">26</xref>] developed a meter data confusion scheme for protecting consumer privacy by concealing meter data. However, it does not involve specified V2G networks. Mahmoud et al. [<xref ref-type="bibr" rid="ref-27">27</xref>] presented a power injection scheme for smart grid system that utilizes homomorphic encryption to aggregate power injection bids from the storage unit at the local gateway. Unfortunately, this scheme cannot ensure the privacy of power injection data. Accordingly, Zhang et al. [<xref ref-type="bibr" rid="ref-28">28</xref>] constructed a privacy-aware sensing data aggregation scheme for protecting the power injection information, but it involves many expensive bilinear pairing operations. Next, Zhang et al. [<xref ref-type="bibr" rid="ref-29">29</xref>] proposed a 5G-based communication and power injection scheme for privacy protection in V2G networks, which adopts the novel aggregation technology named &#x2018;hash-then-homomorphic&#x2019; to further aggregate blinded bids in various time slots. The above schemes focus on the bidding prices of users but fail to consider the amounts of power that users can inject into the grid. Although they protect users&#x2019; power injection and consumption data, security remains the major challenge of V2G networks.</p>
<p>In contrast to the previously established solutions, from the perspective of security and privacy preservations of identity and private injection data, this paper proposes a blockchain-enabled secure and privacy-preserving data aggregation scheme for fog-based ITS by combining blockchain technology and fog computing. The significant contributions are summarized as follows:
<list list-type="bullet">
<list-item>
<p>A fog computing and blockchain co-aware three-tier aggregation framework for power injection data is constructed, which provides firm support for the V2G network to realize secure, reliable and efficient power injection.</p></list-item>
<list-item>
<p>A secure and privacy-preserving data aggregation mechanism is designed by jointly integrating Paillier homomorphic encryption, the batch aggregation signature mechanism and a Bloom filter, which can effectively ensure the security of power injection data and the identity privacy of V2G users.</p></list-item>
<list-item>
<p>Fine-grained homomorphic aggregation of the power injection data generated by all EVs is realized, which provides accurate data support for flexible power dispatching and effectively stabilizes the power supply of the ITS.</p></list-item>
</list></p>
<p>Finally, extensive simulation results show that the proposed scheme has lower computational costs than the previously established schemes while providing security and privacy protections. It is more suitable for ITS with latency-sensitive applications and limited resources.</p>
<p>The remainder of this paper is structured as follows. Section 2 describes the fog computing and blockchain co-aware three-tier aggregation network model for ITS. Section 3 presents a blockchain-enabled secure and privacy-preserving data aggregation scheme. Then, a simple security analysis and detailed performance evaluation of the experimental results are conducted in Section 4. Finally, Section 5 presents the conclusions of this study.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Network Model</title>
<p>This section constructs a fog computing and blockchain co-aware three-tier aggregation network model for ITS, consisting of five types of entities: EVs, charging stations (CSs), fog nodes, a data center and a trusted authority (TA). Consider a city as an example. The city is divided into <italic>m</italic> subareas, and each subarea usually has <italic>w</italic> EVs. For simplicity, this paper uses symbol <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mi>E</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mi>w</mml:mi><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> to represent the <italic>i</italic><sup>th</sup> EV in the <italic>j</italic><sup>th</sup> region. All <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mi>m</mml:mi><mml:mo>&#x2217;</mml:mo><mml:mi>w</mml:mi></mml:math></inline-formula> EVs constitute the data sensing layer. Meanwhile, each subarea employs a fog node which is responsible for collecting and aggregating power injection data from the sensing layer. The symbol <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mi>F</mml:mi><mml:mi>o</mml:mi><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> represents the fog node deployed in subarea <italic>j</italic>, and all <italic>m</italic> fog nodes constitute the data aggregation layer, which is located at the edge of the ITS. <xref ref-type="fig" rid="fig-1">Fig. 1</xref> illustrates this framework.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Three-tier aggregation framework for the ITS</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_36437-fig-1.tif"/>
</fig>
<p><bold>Data Sensing Layer:</bold> The data sensing layer is located on the user side and includes EVs and CSs. EVs mainly refer to automobiles, motorcycles, ships, aircraft and other vehicles powered by batteries. CSs can provide charging or discharging services for vehicle batteries equipped with smart meters to record the corresponding data. In this layer, EVs can buy energy from the grid at a low price and inject the remaining power into the grid at a higher price to earn profits.</p>
<p><bold>Data Aggregation Layer:</bold> The data aggregation layer is located on the edge side of the ITS. It is mainly composed of many fog nodes in all subareas. This layer selects an aggregation node in each time slot according to the remaining energy, and the remaining nodes are regarded as ordinary fog nodes. When the CS uploads the power injection data of an EV, the corresponding ordinary fog node is responsible for aggregating these data, generating a block, adding it to the blockchain through the consensus mechanism, and subsequently transmitting it to an aggregation node. The aggregation node is responsible for aggregating the received data from ordinary fog nodes (namely, for executing secondary aggregation of the power injection data) in this layer and encapsulating the data into a block with other relevant information. Then, the newly generated block is appended to the blockchain through a consensus mechanism and uploaded to the application supporting layer, where it awaits the decryption and analysis operations on the data center.</p>
<p><bold>Application Supporting Layer:</bold> The application supporting layer refers to the data and control center, which contains a cloud server and is mainly responsible for decrypting and analyzing the data uploaded from the lower layer.</p>
<p><bold>TA:</bold> TA is mainly used to generate and allocate public parameters and keys for entities. At the same time, it generates a Bloom filter by collecting the pseudonyms of EVs and fog nodes and sends the Bloom filter to the corresponding entities.</p>
<p>The network model mainly considers the following three types of network threats: (1) threats on fog nodes and the data center: fog nodes and the cloud server are considered honest but curious. Namely, they strictly abide by the service protocol, but at the same time, they will attempt to learn all detailed information from received data. In addition, fog nodes and the cloud server are easy to capture; (2) threats on the communication link: there is a potential hazard that an attacker may obtain private user data through eavesdropping on communication links; (3) threats of active attacks: an attacker may damage the authenticity and integrity of transmission data by launching active attacks (such as tampering, forgery, or replay).</p>
</sec>
<sec id="s3">
<label>3</label>
<title>Blockchain-Enabled Secure and Privacy-Preserving Data Aggregation</title>
<p>This section presents a blockchain-enabled secure and privacy-preserving data aggregation scheme for fog-based ITS. This scheme includes five parts: system initialization, power injection request, EV-chain generation, fog-chain generation and application support.</p>
<sec id="s3_1">
<label>3.1</label>
<title>System Initialization</title>
<p>The TA is used to perform system initialization, including two procedures: the generation and distribution of parameters and the registration of devices.</p>
<sec id="s3_1_1">
<label>3.1.1</label>
<title>The Generation and Distribution of Parameters</title>
<p>In the generation phase, the TA selects security parameter <italic>k</italic> and generates <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>f</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>according to <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mi>g</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. Then the TA selects the security parameter <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> to calculate two safe large primes <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>p</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>q</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:math></inline-formula>. The prime numbers have to be different from each other. Accordingly, it can obtain the public and private keys of Paillier homomorphic encryption by calculating <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mi>p</mml:mi><mml:mi>q</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:mi>&#x03BB;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mtext>lcm</mml:mtext></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>p</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>q</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, respectively. Similarly, the TA randomly selects a random integer <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:mi>r</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mi>Z</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> and calculates <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>. Setting <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:mi>g</mml:mi><mml:mo>=</mml:mo><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> and the function <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:mi>L</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>u</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>u</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>n</mml:mi></mml:math></inline-formula> is obtained. Furthermore, the TA chooses a secure cryptographic hash function for the signature of private data: <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:mi>h</mml:mi><mml:mo>&#x003A;</mml:mo><mml:msup><mml:mrow><mml:mo>{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msup><mml:mrow><mml:mo>{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, and selects two secure cryptographic hash functions: <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x003A;</mml:mo><mml:msup><mml:mrow><mml:mo>{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msup><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msubsup><mml:mi>Z</mml:mi><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x003A;</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msubsup><mml:mi>Z</mml:mi><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>.</p>
<p>Each EV chooses a random secure key <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and calculates <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> that satisfies <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mtext>&#xA0;mod&#xA0;</mml:mtext></mml:mrow><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>. This public key is used to calculate the EV&#x2019;s pseudonym <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> (<inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>). Similarly, the fog node selects a random secure key <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and calculates <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> with <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mtext>&#xA0;mod&#xA0;</mml:mtext></mml:mrow><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> to represent the fog&#x2019;s pseudonym <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>. The cloud server in the data center selects a random secure key <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:mi>&#x03B1;</mml:mi></mml:math></inline-formula> and calculates <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:mi>&#x03B2;</mml:mi></mml:math></inline-formula> with <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:mi>&#x03B1;</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mtext>&#xA0;mod&#xA0;</mml:mtext></mml:mrow><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>.</p>
<p>Finally, after the generation of system parameters <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03BB;</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>&#x03B1;</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, the public parameters <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:mrow><mml:mo>(</mml:mo><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>e</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> are released online, and others are distributed to the corresponding entities. For example, the keys <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03BB;</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> are allocated to the electric vehicle <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:mi>E</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, fog node <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and data center, respectively.</p>
</sec>
<sec id="s3_1_2">
<label>3.1.2</label>
<title>Device Registration</title>
<p>The EVs need to be registered, and the registration process is illustrated in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>Registration process of EVs</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_36437-fig-2.tif"/>
</fig>
<p><bold><italic>Step-1</italic></bold>: First, in a certain subarea, every new EV will generate information <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> through its built-in algorithm, and <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> mainly contains the <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:mi>E</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, vehicle information, positioning information, etc. Remarkably, the registration information is uniquely identified.</p>
<p><bold><italic>Step-2</italic></bold>: Then, in the such subarea, <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:mi>E</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> will select a random element <inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> as its secret key and calculate <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> as its public key.</p>
<p><bold><italic>Step-3</italic></bold>: Subsequently, <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:mi>E</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> selects a random element <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mi>Z</mml:mi><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, calculates <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:msub><mml:mi>&#x03BD;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mtext>&#xA0;mod&#xA0;</mml:mtext></mml:mrow><mml:mi>q</mml:mi></mml:math></inline-formula>.</p>
<p><bold><italic>Step-4</italic></bold>: Next, the EV sends the parameters <inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:mrow><mml:mo>(</mml:mo><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03BD;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> to the TA, the TA will verify <inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03BD;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> to ensure <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is correct after receiving the parameters. If it passes the verification, <inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:mi>E</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> will store the parameter <inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:mrow><mml:mo>(</mml:mo><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, and simultaneously TA stores the parameter <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:mrow><mml:mo>(</mml:mo><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. Otherwise, it will refuse this registration.</p>
<p><bold><italic>Step-5</italic></bold>: Finally, the TA creates a Bloom filter based on the stored parameter <inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:mrow><mml:mo>(</mml:mo><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> for each subarea. Specifically, the TA sets a <italic>&#x03B8;</italic>-bit string at the data sensing layer, then calculates the hash value of all pseudonyms in the same area. Next, it specifies the value of the string element to 1 when its index value is equal to <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:mi>H</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mtext>&#xA0;mod&#xA0;</mml:mtext></mml:mrow><mml:mi>&#x03B8;</mml:mi></mml:math></inline-formula>. Finally, to achieve anonymous identity authentication, TA sends the generated Bloom filter to the <inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:mi>E</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> in the subarea.</p>
<p>Similarly, the fog node also needs to be registered, and the process is the same as that for the EV. Specifically, the fog node generates parameters <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:mrow><mml:mo>(</mml:mo><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03BD;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> similarly and sends them to the TA. After receiving these parameters, the TA needs to determine whether the equation <inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03BD;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> holds. If so, it stores the parameter <inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:mrow><mml:mo>(</mml:mo><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, and the fog node stores the parameter <inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:mrow><mml:mo>(</mml:mo><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>S</mml:mi><mml:msub><mml:mi>K</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. After that, the TA creates a Bloom filter for the data aggregation layer by using the collected parameters, which are the same as the data sensing layer. Finally, the TA sends the generated Bloom filter to all fog nodes in the layer and the data center.</p>
</sec>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Power Injection Request</title>
<p>During peak hours of power consumption, the cloud server in the data and control center will perform the following operations.</p>
<p><bold><italic>Step-1</italic></bold>: First, the cloud server will select a random element <inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:mi>&#x03BE;</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mi>Z</mml:mi><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> and obtain the signature <italic>MAC</italic> with the current timestamp <inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
<p><disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:mi>C</mml:mi><mml:mo>=</mml:mo><mml:mi>h</mml:mi><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>&#x03BE;</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x03B1;</mml:mi></mml:mrow></mml:msup><mml:mspace width="negativethinmathspace" /><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>Then, it obtains the power injection request packet <inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:mo>&#x003C;</mml:mo><mml:mrow><mml:mi mathvariant="italic">P</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">w</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mo>&#x003E;=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mi>&#x03BE;</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:mi>C</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, in which <italic>MAC</italic> is used to verify the identity of the cloud server and <inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the power price of the current slot. The cloud server sends the power injection request packet <inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:mo>&#x003C;</mml:mo><mml:mrow><mml:mi mathvariant="italic">P</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">w</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mo>&#x003E;</mml:mo></mml:math></inline-formula> to the fog node at the data aggregation layer.</p>
<p><bold><italic>Step-2</italic></bold>: After the fog node <inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> receives the packet <inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:mo>&#x003C;</mml:mo><mml:mrow><mml:mi mathvariant="italic">P</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">w</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mo>&#x003E;</mml:mo></mml:math></inline-formula>, it checks whether the timestamp <inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is within the validity period. If yes, the fog node <inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> further checks the authenticity of the signed <italic>MAC</italic>.</p>
<p><disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:msup><mml:mi>C</mml:mi><mml:mrow><mml:mi>&#x03B2;</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>h</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03BE;</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>According to the equation <inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:mi>&#x03B1;</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mtext>&#x00A0;</mml:mtext><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>, the received signature is valid if the above equation holds. Next, the fog node in another subarea at the data aggregation layer will generate packet <inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:mo>&#x003C;</mml:mo><mml:mrow><mml:mi mathvariant="italic">P</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">w</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mo>&#x003E;</mml:mo></mml:math></inline-formula> and broadcast it to EVs in its region.</p>
<p><bold><italic>Step-3</italic></bold>: To protect the identity information of the fog node <inline-formula id="ieqn-71"><mml:math id="mml-ieqn-71"><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, the fog node generates the signature <inline-formula id="ieqn-72"><mml:math id="mml-ieqn-72"><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> by combining the pseudonym <inline-formula id="ieqn-73"><mml:math id="mml-ieqn-73"><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> generated during the registration phase and the current timestamp <inline-formula id="ieqn-74"><mml:math id="mml-ieqn-74"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula><sub>.</sub></p>
<p><disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>h</mml:mi><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mspace width="negativethinmathspace" /><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>Then, it obtains the packet <inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:mo>&#x003C;</mml:mo><mml:mrow><mml:mi mathvariant="italic">P</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">w</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>E</mml:mi><mml:mi>V</mml:mi><mml:mo>&#x003E;=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, where <inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> <italic>is</italic> used to verify the authenticity and integrity of the packet. Subsequently, the fog node broadcasts the packet <inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:mo>&#x003C;</mml:mo><mml:mrow><mml:mi mathvariant="italic">P</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">w</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>E</mml:mi><mml:mi>V</mml:mi><mml:mo>&#x003E;</mml:mo></mml:math></inline-formula> to the <inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:mi>E</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
<p><bold><italic>Step-4</italic></bold>: After receiving the data packet <inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:mo>&#x003C;</mml:mo><mml:mrow><mml:mi mathvariant="italic">P</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">w</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>E</mml:mi><mml:mi>V</mml:mi><mml:mo>&#x003E;</mml:mo></mml:math></inline-formula>, <inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:mi>E</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is ready to participate in the power injection; this packet also indicates the amount of power that can be injected into the grid. Precisely, similar to the fog node phase, the <inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:mi>E</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> checks the validity of the timestamp <inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, if the time is still within the validity period, <inline-formula id="ieqn-83"><mml:math id="mml-ieqn-83"><mml:mi>E</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> further verifies the authenticity of <inline-formula id="ieqn-84"><mml:math id="mml-ieqn-84"><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
<p><disp-formula id="eqn-4"><label>(4)</label><mml:math id="mml-eqn-4" display="block"><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:msup><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>h</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>If the above equation holds, the packet&#x2019;s source is legal, and the EV prepares for a power injection operation. Next, the generation processes of EV chains and fog chains are illustrated in <xref ref-type="fig" rid="fig-3">Fig. 3</xref>.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Generation processes of an EV chain and a fog chain</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_36437-fig-3.tif"/>
</fig>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Generation of an EV Chain</title>
<p>The electric vehicle <inline-formula id="ieqn-85"><mml:math id="mml-ieqn-85"><mml:mi>E</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> prepares for power injection. This process is described in detail as follows. For example, in subarea <italic>j</italic>, the amount of power to be injected by an <inline-formula id="ieqn-86"><mml:math id="mml-ieqn-86"><mml:mi>E</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is <inline-formula id="ieqn-87"><mml:math id="mml-ieqn-87"><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. The EV uploads these data to the data aggregation layer, so the ITS can know the EV&#x2019;s injection power to conduct the flexible dispatching and pricing of the power. This process is realized through the generation of EV-chain. The generation of EV-chain consists of three procedures: the generation of transaction, the creation of the EV-block and the generation of the EV-chain. The details are presented as follows.</p>
<sec id="s3_3_1">
<label>3.3.1</label>
<title>Generation of a Transaction</title>
<p><bold><italic>Step-1</italic>: <italic>Generation of injection power ciphertext</italic></bold>. The uploaded injection data of <inline-formula id="ieqn-88"><mml:math id="mml-ieqn-88"><mml:mi>E</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> may expose the personal privacy of the user, so the injected power <inline-formula id="ieqn-89"><mml:math id="mml-ieqn-89"><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> must be encrypted. The encrypted power injection data <inline-formula id="ieqn-90"><mml:math id="mml-ieqn-90"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> can be obtained by using the extended Paillier homomorphic encryption.</p>
<p><disp-formula id="eqn-5"><label>(5)</label><mml:math id="mml-eqn-5" display="block"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mi>n</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x22C5;</mml:mo><mml:mi>s</mml:mi><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p><bold><italic>Step-2</italic>: <italic>Generation of ciphertext signature</italic></bold>. This signature is mainly used to verify the integrity and authenticity of the ciphertext.</p>
<p><disp-formula id="eqn-6"><label>(6)</label><mml:math id="mml-eqn-6" display="block"><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>h</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:math></disp-formula></p>
<p><disp-formula id="eqn-7"><label>(7)</label><mml:math id="mml-eqn-7" display="block"><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>h</mml:mi><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mspace width="negativethinmathspace" /><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p><bold><italic>Step-3</italic>: <italic>Verification of EV&#x2019;s pseudonym and timestamp</italic></bold>. After the <inline-formula id="ieqn-91"><mml:math id="mml-ieqn-91"><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> receives the reports <inline-formula id="ieqn-92"><mml:math id="mml-ieqn-92"><mml:mrow><mml:mo>(</mml:mo><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, it checks the validity of timestamp <inline-formula id="ieqn-93"><mml:math id="mml-ieqn-93"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. If <inline-formula id="ieqn-94"><mml:math id="mml-ieqn-94"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is valid, then <inline-formula id="ieqn-95"><mml:math id="mml-ieqn-95"><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> further checks whether the pseudonym of the <inline-formula id="ieqn-96"><mml:math id="mml-ieqn-96"><mml:mi>E</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is legal. This step is primarily completed through a Bloom filter.</p>
<p><bold><italic>Step-4</italic>: <italic>Verification of the ciphertext signature</italic>.</bold> If <inline-formula id="ieqn-97"><mml:math id="mml-ieqn-97"><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and the current timestamp <inline-formula id="ieqn-98"><mml:math id="mml-ieqn-98"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> are both valid, then it verifies the signature <inline-formula id="ieqn-99"><mml:math id="mml-ieqn-99"><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> of the ciphertext by batch verification.</p>
<p><disp-formula id="eqn-8"><label>(8)</label><mml:math id="mml-eqn-8" display="block"><mml:mspace width="thinmathspace" /><mml:munderover><mml:mo>&#x220F;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:munderover><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:msup><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x220F;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:munderover><mml:mi>h</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>h</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p><bold><italic>Step-5</italic>: <italic>Generation of fine-grained aggregated ciphertext</italic>.</bold> The fog node <inline-formula id="ieqn-100"><mml:math id="mml-ieqn-100"><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> aggregates the injection power of all <italic>w</italic> EVs in the subarea <inline-formula id="ieqn-101"><mml:math id="mml-ieqn-101"><mml:mi>j</mml:mi></mml:math></inline-formula> to obtain the fine-grained aggregated ciphertext <inline-formula id="ieqn-102"><mml:math id="mml-ieqn-102"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
<p><disp-formula id="eqn-9"><label>(9)</label><mml:math id="mml-eqn-9" display="block"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x220F;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p><bold><italic>Step-6</italic>: <italic>Generation of aggregated ciphertext signature</italic>.</bold></p>
<p><disp-formula id="eqn-10"><label>(10)</label><mml:math id="mml-eqn-10" display="block"><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>h</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:math></disp-formula></p>
<p><disp-formula id="eqn-11"><label>(11)</label><mml:math id="mml-eqn-11" display="block"><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>h</mml:mi><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mspace width="negativethinmathspace" /><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p><bold><italic>Step-7</italic>: <italic>Transaction generation</italic>.</bold> After the above operations are completed, it generates the transaction information <inline-formula id="ieqn-103"><mml:math id="mml-ieqn-103"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
</sec>
<sec id="s3_3_2">
<label>3.3.2</label>
<title>Creation of an EV Block</title>
<p>The fog node records the generated transaction <inline-formula id="ieqn-104"><mml:math id="mml-ieqn-104"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> in a new block and broadcasts it for information authentication in the subarea <italic>j</italic>. This new block also contains Markel root, the hash value of previous block, and the hash value of current block. The value of Markel root is calculated by hashing the aggregated injection power ciphertext and the related pseudonym in the Markel tree. The calculation of the hash value of current block always involves the previous block, which indicates that once a new block is added to the EV chain, the content of this block is difficult to tamper with successfully because once a block has been tampered with maliciously, the subsequent blocks will be affected, which can be easily identified.</p>
</sec>
<sec id="s3_3_3">
<label>3.3.3</label>
<title>EV-Chain Generation</title>
<p>After the fog node creates a new EV block, this new block will be broadcast to all EVs in this subarea. These EVs will verify the records in the new block, and each EV only verifies the data with which it is associated to save computing resources. If the new block passes the verification, it will broadcast the verification result to other EVs in the same subarea. It is assumed that the number of malicious EVs is less than <inline-formula id="ieqn-105"><mml:math id="mml-ieqn-105"><mml:mi>w</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>3</mml:mn></mml:math></inline-formula> in the network scenario. Therefore, the new block is regarded as a valid block after passing the verification of <inline-formula id="ieqn-106"><mml:math id="mml-ieqn-106"><mml:mn>2</mml:mn><mml:mi>w</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>3</mml:mn><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> EVs or more EVs; then, it will be added to the EV chain.</p>
</sec>
</sec>
<sec id="s3_4">
<label>3.4</label>
<title>Generation of the Fog-chain</title>
<p>When the system generates the EV chain, the fog node transmits the EV chain to the aggregation node for secondary aggregation at the data aggregation layer. Subsequently, the aggregation node generates a new block based on the result of the secondary aggregation and adds it to the fog chain. The specific process is similar to the generation of the EV chain.</p>
<sec id="s3_4_1">
<label>3.4.1</label>
<title>Generation of the Transaction</title>
<p><bold><italic>Step-1: Verification of information</italic>.</bold> The aggregation node queries the transaction information <inline-formula id="ieqn-107"><mml:math id="mml-ieqn-107"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> from the EV-chain. First, to verify the <inline-formula id="ieqn-108"><mml:math id="mml-ieqn-108"><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and timestamp <inline-formula id="ieqn-109"><mml:math id="mml-ieqn-109"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, the method is similar to that in the previous subsection. If it passes the pseudonym and timestamp verifications, the ciphertext signature <inline-formula id="ieqn-110"><mml:math id="mml-ieqn-110"><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is further verified to ensure the authenticity and integrity of ciphertext <inline-formula id="ieqn-111"><mml:math id="mml-ieqn-111"><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<p><disp-formula id="eqn-12"><label>(12)</label><mml:math id="mml-eqn-12" display="block"><mml:mspace width="thinmathspace" /><mml:munderover><mml:mo>&#x220F;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:munderover><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:msup><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x220F;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:munderover><mml:mi>h</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>h</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mtext>&#x00A0;</mml:mtext><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p><bold><italic>Step-2: Generation of coarse-grained aggregated ciphertext</italic>.</bold> After the aggregation node completes the above verifications, it will perform a secondary aggregation to collect the injection power from <italic>m</italic> subareas.</p>
<p><disp-formula id="eqn-13"><label>(13)</label><mml:math id="mml-eqn-13" display="block"><mml:mi>C</mml:mi><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x220F;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mtext>&#x00A0;</mml:mtext><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p><bold><italic>Step-3: Generation of the ciphertext signature</italic>.</bold> After the coarse-grained aggregated ciphertext is generated, the aggregation node signs the aggregated ciphertext <italic>C</italic>, as expressed below.</p>
<p><disp-formula id="eqn-14"><label>(14)</label><mml:math id="mml-eqn-14" display="block"><mml:mi>y</mml:mi><mml:mo>=</mml:mo><mml:mi>h</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:math></disp-formula></p>
<p><disp-formula id="eqn-15"><label>(15)</label><mml:math id="mml-eqn-15" display="block"><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:mi>C</mml:mi><mml:mo>=</mml:mo><mml:mi>h</mml:mi><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>C</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>y</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p><bold><italic>Step-4</italic></bold>: <bold><italic>Transaction generation</italic>.</bold> After the above operations are completed, the aggregation node will generate the transaction <inline-formula id="ieqn-112"><mml:math id="mml-ieqn-112"><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mi>C</mml:mi><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:mi>C</mml:mi><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
</sec>
<sec id="s3_4_2">
<label>3.4.2</label>
<title>Addition to the Fog-chain</title>
<p>The aggregation node at the data aggregation layer records the transaction in a new block and broadcasts this new block to other fog nodes for information authentication. Similar to the creation of the EV chain, a new fog block at the aggregation node mainly includes transactions, timestamps, pseudonyms, Merkle roots, and the hash values of the previous block and the current block. After the execution of the consensus mechanism, the verified block is added to the fog chain, and the aggregation node sends the newly generated fog chain to the data center at the application supporting layer for further processing.</p>
</sec>
</sec>
<sec id="s3_5">
<label>3.5</label>
<title>Application Supporting</title>
<p>At the application supporting layer, the cloud server reads the transaction information <italic>T</italic> of the received fog chain and verifies the identity of the aggregation node. If the node&#x2019;s identity is correct, it further checks the signature of the ciphertext. If it also passes the signature verification, the Paillier decryption algorithm is used to decrypt the aggregated ciphertext, and the steps are as follows.</p>
<p><bold><italic>Step-1: Verification of information</italic>.</bold> After the cloud server queries the transaction information <inline-formula id="ieqn-113"><mml:math id="mml-ieqn-113"><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mi>C</mml:mi><mml:mo>,</mml:mo><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:mi>C</mml:mi><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> from the fog chain, it verifies <inline-formula id="ieqn-114"><mml:math id="mml-ieqn-114"><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and timestamp <inline-formula id="ieqn-115"><mml:math id="mml-ieqn-115"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, the method is similar to that in the previous subsection; if the verifications of pseudonym and timestamp are both passed, and then the ciphertext signature is verified to ensure the authenticity and integrity of ciphertext <italic>C</italic>.</p>
<p><disp-formula id="eqn-16"><label>(16)</label><mml:math id="mml-eqn-16" display="block"><mml:mi>M</mml:mi><mml:mi>A</mml:mi><mml:msup><mml:mi>C</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03B2;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>h</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>h</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mi>C</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mtext>mod</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p><bold><italic>Step-2: Decryption of the aggregated ciphertext</italic>.</bold> If all the verifications are passed, the decryption operation of the Paillier algorithm is applied to decrypt the aggregated ciphertext using the private key, and it can obtain the total amount of plaintext injection power of the whole area. Meanwhile, the amount of injection power of each subarea can be derived by employing Horner&#x2019;s rule; namely, the fine-grained aggregation result can be recovered. Based on these coarse-grained and fine-grained results, the ITS can flexibly regulate the power supply during peak hours to maintain the supply-demand balance. It can also realize peak shaving and valley filling by a historical data-based time-of-use pricing mechanism. Thus, these data can provide strong support for various application services in ITS.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Performance Evaluation</title>
<p>The focus of this section is to analyze the security and privacy of the developed scheme and evaluate its performance while guaranteeing the security and privacy of collected data.</p>
<p>As described in Section 2, there are three main types of network threats: honest-but-curious processing nodes, link eavesdropping and active attacks. To resist first two types of threats, Paillier homomorphic encryption is utilized to encrypt the power injection data to counteract eavesdropping attacks and prevent information from leaking to honest-but-curious fog and cloud nodes. Although the cloud server can derive the aggregation result of each subarea, it cannot recover the power injection data of each EV. Consequently, the proposed scheme can guarantee confidentiality for EV power injection data. Intending to resist active attacks from attackers, the signature mechanism with a timestamp in the proposed scheme guarantees the integrity and validity of private data. Furthermore, the Bloom filter can ensure the identity anonymity and authenticity of valid nodes. As a result, the developed scheme guarantees the integrity and validity of private data and provides identity protection for EVs and fog nodes.</p>
<p>To analyze the performance of the proposed scheme, this paper compares the computational costs of this scheme with two previously established schemes: privacy-aware data aggregation (PADA) [<xref ref-type="bibr" rid="ref-28">28</xref>] and efficient privacy-preserving communication and power injection (ePPCP) [<xref ref-type="bibr" rid="ref-29">29</xref>]. To facilitate the explanation, with the same definitions in reference [<xref ref-type="bibr" rid="ref-30">30</xref>], it represents <inline-formula id="ieqn-116"><mml:math id="mml-ieqn-116"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-117"><mml:math id="mml-ieqn-117"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-118"><mml:math id="mml-ieqn-118"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-119"><mml:math id="mml-ieqn-119"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> as the exponential operation in <inline-formula id="ieqn-120"><mml:math id="mml-ieqn-120"><mml:msubsup><mml:mi>z</mml:mi><mml:mrow><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, the exponential operations, multiplication operations and bilinear pairings <inline-formula id="ieqn-121"><mml:math id="mml-ieqn-121"><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>, respectively. In our simulation scenario, it assumes that there is one control center in the application supporting layer. The number of fog nodes is 50, and the number of EVs in each subarea ranges from 0 to 1000. The parameters are randomly generated within their ranges. The experiment is performed 1000 times to evaluate the average value of the simulation results. The code is implemented using the pairing-based cryptography (PBC) library, and all the simulations are performed on a laptop with an Intel Core i5-7200U 2.5 GHz CPU and 8.00 GB RAM. <xref ref-type="table" rid="table-1">Table 1</xref> lists their time costs in the execution process.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Operations and time costs</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>Notations</th>
<th>Descriptions</th>
<th>Time cost (ms)</th>
</tr>
</thead>
<tbody>
<tr>
<td><italic>T</italic><sub><italic>E</italic>1</sub></td>
<td>Exponentiation operation in <inline-formula id="ieqn-122"><mml:math id="mml-ieqn-122"><mml:msubsup><mml:mi>z</mml:mi><mml:mrow><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
<td>1.60</td>
</tr>
<tr>
<td><italic>T</italic><sub><italic>E</italic>2</sub></td>
<td>Exponentiation operation in <inline-formula id="ieqn-123"><mml:math id="mml-ieqn-123"><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula></td>
<td>1.62</td>
</tr>
<tr>
<td><italic>T</italic><sub><italic>M</italic></sub></td>
<td>Multiplication operation in <inline-formula id="ieqn-124"><mml:math id="mml-ieqn-124"><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula></td>
<td>0.06</td>
</tr>
<tr>
<td><italic>T</italic><sub><italic>P</italic></sub></td>
<td>Pairing operation in <inline-formula id="ieqn-125"><mml:math id="mml-ieqn-125"><mml:mrow><mml:mrow><mml:mi mathvariant="double-struck">G</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula></td>
<td>17.70</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In the PADA scheme, the generation of a power request packet <inline-formula id="ieqn-126"><mml:math id="mml-ieqn-126"><mml:mo>&#x003C;</mml:mo><mml:mrow><mml:mi mathvariant="italic">P</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">w</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>U</mml:mi><mml:mi>C</mml:mi><mml:mo>&#x003E;</mml:mo></mml:math></inline-formula> requires a computational cost of <inline-formula id="ieqn-127"><mml:math id="mml-ieqn-127"><mml:mn>2</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>; in the privacy aggregation stage, the required computational cost is <inline-formula id="ieqn-128"><mml:math id="mml-ieqn-128"><mml:mrow><mml:mo>(</mml:mo><mml:mn>2</mml:mn><mml:mi>w</mml:mi><mml:mo>+</mml:mo><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. After receiving the packet <inline-formula id="ieqn-129"><mml:math id="mml-ieqn-129"><mml:mo>&#x003C;</mml:mo><mml:mrow><mml:mi mathvariant="italic">P</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">w</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>U</mml:mi><mml:mi>C</mml:mi><mml:mo>&#x003E;</mml:mo></mml:math></inline-formula>, the gateway needs <inline-formula id="ieqn-130"><mml:math id="mml-ieqn-130"><mml:mn>2</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> to verify the packet and generate a new packet. Meanwhile, a computational cost of <inline-formula id="ieqn-131"><mml:math id="mml-ieqn-131"><mml:mi>w</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>+</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is required during the privacy aggregation phase. Next, each storage unit incurs a computational cost of <inline-formula id="ieqn-132"><mml:math id="mml-ieqn-132"><mml:mn>2</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>4</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, where <italic>k</italic> represents the number of time slots. Since this scheme focuses only on the power supply of a specified time slot, it sets <italic>k</italic> &#x003D; 1 for comparison. Therefore, the computational costs at the utility company (UC), gateway (GW) and power storage unit (PSU) are <inline-formula id="ieqn-133"><mml:math id="mml-ieqn-133"><mml:mrow><mml:mo>(</mml:mo><mml:mn>2</mml:mn><mml:mi>w</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>+</mml:mo><mml:mn>4</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-134"><mml:math id="mml-ieqn-134"><mml:mrow><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>+</mml:mo><mml:mn>3</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-135"><mml:math id="mml-ieqn-135"><mml:mn>2</mml:mn><mml:mi>w</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>4</mml:mn><mml:mi>w</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>w</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>3</mml:mn><mml:mi>w</mml:mi><mml:mi>t</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, respectively.</p>
<p>In the ePPCP scheme, to generate power requests, a computational cost of <inline-formula id="ieqn-136"><mml:math id="mml-ieqn-136"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is incurred. In the privacy aggregation phase, the computational cost is <inline-formula id="ieqn-137"><mml:math id="mml-ieqn-137"><mml:mrow><mml:mo>(</mml:mo><mml:mn>3</mml:mn><mml:mi>w</mml:mi><mml:mo>+</mml:mo><mml:mn>6</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. After receiving the data packet <inline-formula id="ieqn-138"><mml:math id="mml-ieqn-138"><mml:mo>&#x003C;</mml:mo><mml:mrow><mml:mi mathvariant="italic">P</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">w</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>U</mml:mi><mml:mi>C</mml:mi><mml:mo>&#x003E;</mml:mo></mml:math></inline-formula>, the gateway incurs a computational cost of <inline-formula id="ieqn-139"><mml:math id="mml-ieqn-139"><mml:mn>3</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> to verify the packet. In the privacy aggregation stage, the gateway incurs the computational cost of <inline-formula id="ieqn-140"><mml:math id="mml-ieqn-140"><mml:mrow><mml:mo>(</mml:mo><mml:mn>5</mml:mn><mml:mi>w</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. To successfully bid, each PSU incurs a computational cost of <inline-formula id="ieqn-141"><mml:math id="mml-ieqn-141"><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn>8</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. Then, the computational costs at UC, GW, and PSU are <inline-formula id="ieqn-142"><mml:math id="mml-ieqn-142"><mml:mrow><mml:mo>(</mml:mo><mml:mn>3</mml:mn><mml:mi>w</mml:mi><mml:mo>+</mml:mo><mml:mn>7</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-143"><mml:math id="mml-ieqn-143"><mml:mrow><mml:mo>(</mml:mo><mml:mn>5</mml:mn><mml:mi>w</mml:mi><mml:mo>+</mml:mo><mml:mn>5</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-144"><mml:math id="mml-ieqn-144"><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn>8</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, respectively.</p>
<p>To generate the power request <inline-formula id="ieqn-145"><mml:math id="mml-ieqn-145"><mml:mo>&#x003C;</mml:mo><mml:mrow><mml:mi mathvariant="italic">P</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">w</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mo>&#x003E;</mml:mo></mml:math></inline-formula>, the cloud server incurs a computational cost of <inline-formula id="ieqn-146"><mml:math id="mml-ieqn-146"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>; while in the privacy aggregation stage, the required computational cost is <inline-formula id="ieqn-147"><mml:math id="mml-ieqn-147"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. Here the cloud server is equivalent to the UC of the above solutions, and the scheme transfers this part to be implemented in the cloud server. After receiving the data packet <inline-formula id="ieqn-148"><mml:math id="mml-ieqn-148"><mml:mo>&#x003C;</mml:mo><mml:mrow><mml:mi mathvariant="italic">P</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">w</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mo>&#x003E;</mml:mo></mml:math></inline-formula>, the fog node needs the cost of <inline-formula id="ieqn-149"><mml:math id="mml-ieqn-149"><mml:mn>2</mml:mn><mml:mi>w</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> to verify the packet and generate a new signature. During the aggregation phase, the fog node incurs the cost of <inline-formula id="ieqn-150"><mml:math id="mml-ieqn-150"><mml:mn>2</mml:mn><mml:mi>w</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>w</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. Here the fog node is equivalent to the gateway in the above solutions. Subsequently, the data packet is received at the EV. A cost of <inline-formula id="ieqn-151"><mml:math id="mml-ieqn-151"><mml:mi>w</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is required to verify the packet, and the EV incurs a cost of <inline-formula id="ieqn-152"><mml:math id="mml-ieqn-152"><mml:mn>2</mml:mn><mml:mi>w</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>w</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> to protect the privacy of EV. Here the EV is equivalent to the PSU in above schemes. The computational costs at the cloud server, fog node, and EV are <inline-formula id="ieqn-153"><mml:math id="mml-ieqn-153"><mml:mi>w</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-154"><mml:math id="mml-ieqn-154"><mml:mn>2</mml:mn><mml:mi>w</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mn>3</mml:mn><mml:mi>w</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-155"><mml:math id="mml-ieqn-155"><mml:mi>w</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, respectively. The cost comparisons are compared in <xref ref-type="table" rid="table-2">Table 2</xref>. It can be observed that the developed scheme outperforms the other two benchmark schemes.</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>The computational costs of different schemes</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th></th>
<th>PADA</th>
<th>ePPCP</th>
<th>Our scheme</th>
</tr>
</thead>
<tbody>
<tr>
<td>UC</td>
<td>(2<italic>w &#x002B;</italic> 1) <italic>T</italic><sub><italic>P</italic></sub> <italic>&#x002B;</italic> (<italic>w &#x002B;</italic> 4) <italic>T</italic><sub><italic>M</italic></sub> <italic>&#x002B; T</italic><sub><italic>E</italic>2</sub> <italic>&#x002B;</italic> 2<italic>T</italic><sub><italic>E</italic>1</sub></td>
<td>(3<italic>w &#x002B;</italic> 7)<italic>T</italic><sub><italic>E</italic>1</sub></td>
<td><italic>wT</italic><sub><italic>M</italic></sub> <italic>&#x002B;</italic> (<italic>w &#x002B;</italic> 1) <italic>T</italic><sub><italic>E</italic>1</sub></td>
</tr>
<tr>
<td>GW</td>
<td>(<italic>w &#x002B;</italic> 2) <italic>T</italic><sub><italic>P</italic></sub> <italic>&#x002B;</italic> (<italic>w &#x002B;</italic> 3) <italic>T</italic><sub><italic>M</italic></sub> <italic>&#x002B; T</italic><sub><italic>E</italic>1</sub></td>
<td>(5<italic>w &#x002B;</italic> 5)<italic>T</italic><sub><italic>E</italic>1</sub></td>
<td>2<italic>wT</italic><sub><italic>M</italic></sub> <italic>&#x002B;</italic> 3<italic>wT</italic><sub><italic>E</italic>1</sub></td>
</tr>
<tr>
<td>PSU</td>
<td><italic>w</italic> (2<italic>T</italic><sub><italic>P</italic></sub> <italic>&#x002B;</italic> 4<italic>T</italic><sub><italic>M</italic></sub> <italic>&#x002B; T</italic><sub><italic>E</italic>2</sub> <italic>&#x002B;</italic> 3<italic>T</italic><sub><italic>E</italic>1</sub>)</td>
<td>9<italic>wT</italic><sub><italic>E</italic>1</sub></td>
<td><italic>wT</italic><sub><italic>M</italic></sub> <italic>&#x002B;</italic> 2<italic>wT</italic><sub><italic>E</italic>1</sub></td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Through the above analysis, the developed solution has advantages over computational costs, but these advantages are not unconditional. For example, to achieve secure and reliable power injection, this paper adopts blockchain technology which usually associates with specific memory and bandwidth consumptions, but this trade-off is acceptable and well worth for the security and privacy preservation improvements. To show the above results more intuitively, the following figures are shown.</p>
<p>As shown in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>, the computational cost at the UC is directly proportional to the number of EVs. Compared with PADA and ePPCP, the computational cost at the UC of the proposed scheme is lower, and as the number of EVs increases, this advantage is enhanced. This is mainly because PADA uses expensive bilinear pairing calculations to generate packets, and ePPCP uses many exponential operations. Compared to PADA and ePPCP, the proposed scheme effectively avoids these operations, thereby reducing computational costs.</p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Comparison of computational costs of the cloud (UC)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_36437-fig-4.tif"/>
</fig>
<p>As shown in <xref ref-type="fig" rid="fig-5">Fig. 5</xref>, the computational cost at the fog (GW) is also proportional to the number of EVs. Meanwhile, compared with those of schemes PADA and ePPCP, the computational cost of the proposed scheme is lower, and this advantage is strengthened with the increase in the number of EVs. This is mainly because PADA uses pairing calculations to verify the data packets generated by the UC in the privacy aggregation phase, the PADA scheme also uses pairing operations and many multiplication operations. At the same time, ePPCP uses many exponential operations to verify data packets and aggregate private data. Compared to PADA and ePPCP, the proposed scheme effectively avoids pairing operations and simplifies the operations as much as possible; thus, it can reduce the computational costs significantly.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Comparison of computational costs of the fog (GW)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_36437-fig-5.tif"/>
</fig>
<p>Results similar to those in the above two figures are presented in <xref ref-type="fig" rid="fig-6">Fig. 6</xref>, which shows the computational cost of the proposed scheme is lower than those of the other two schemes at the EV. PADA utilizes many bilinear pairing operations to protect private data and verify the integrity and authenticity of packets broadcasted by the gateway. Meanwhile, in ePPCP, many exponential operations are used, which consume a substantial amount of time.</p>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>Comparison of computational costs of the EV (PSU)</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_36437-fig-6.tif"/>
</fig>
<p>As depicted in <xref ref-type="fig" rid="fig-7">Fig. 7</xref>, the total computational cost is significantly reduced in our proposed scheme while providing security and privacy protections. The proposed scheme is more suitable for ITS with latency-sensitive applications and is also adapted to deploying devices with limited resources.</p>
<fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>Total computational costs comparison</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_36437-fig-7.tif"/>
</fig>
</sec>
<sec id="s5">
<label>5</label>
<title>Conclusions</title>
<p>Existing privacy protection schemes tend to focus on the security of identity, while ignoring that fine-grained power consumption data are also sensitive. And many privacy protection schemes of power consumption data require high computational costs. To achieve the efficient aggregation of EV injection data with security and privacy guarantees, this paper proposes a blockchain-enabled secure and privacy-preserving data aggregation scheme for fog-based ITS. The proposed scheme constructs a secure and efficient aggregation framework by combining fog computing and blockchain technology. Then, it uses the Bloom filter and lightweight signature mechanism to build a secure and anonymous registration and authentication mechanism for preventing forgery attacks from malicious nodes. Furthermore, Paillier homomorphic encryption is implemented to encrypt the power injection data to ensure the confidentiality of the data. Finally, the performance evaluation shows that the proposed scheme has a lower computational cost with security and privacy guarantees. It is assumed that all EVs are benign and do not consider the impact of malicious EVs uploading fake private data on system performance. In the future, this paper will combine blockchain and smart contract technology to defend against malicious poisoning attacks.</p>
</sec>
</body>
<back>
<sec><title>Funding Statement</title>
<p>The authors received Funding for this study from the <funding-source>National Natural Science Foundation of China</funding-source> (No. <award-id>61971235</award-id>), the <funding-source>China Postdoctoral Science Foundation</funding-source> (No. <award-id>2018M630590</award-id>), the <funding-source>Jiangsu Planned Projects for Postdoctoral Research Funds</funding-source> (No. <award-id>2021K501C</award-id>), the <funding-source>333 High-level Talents Training Project of Jiangsu Province</funding-source>, and the <funding-source>1311 Talents Plan of NJUPT</funding-source>.</p>
</sec>
<sec sec-type="COI-statement"><title>Conflicts of Interest</title>
<p>The authors declare that they have no conflicts of interest to report regarding the present study.</p>
</sec>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Dixon</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Bukhsh</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Edmunds</surname></string-name> and <string-name><given-names>K.</given-names> <surname>Bell</surname></string-name></person-group>, &#x201C;<article-title>Scheduling electric vehicle charging to minimise carbon emissions and wind curtailment</article-title>,&#x201D; <source>Renewable Energy</source>, vol. <volume>161</volume>, no. <issue>4</issue>, pp. <fpage>1072</fpage>&#x2013;<lpage>1091</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Calearo</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Marinelli</surname></string-name> and <string-name><given-names>C.</given-names> <surname>Ziras</surname></string-name></person-group>, &#x201C;<article-title>A review of data sources for electric vehicle integration studies</article-title>,&#x201D; <source>Renewable and Sustainable Energy Reviews</source>, vol. <volume>151</volume>, no. <issue>3</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>18</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Van Mierlo</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Berecibar</surname></string-name>, <string-name><given-names>M.</given-names> <surname>El Baghdadi</surname></string-name>, <string-name><given-names>C.</given-names> <surname>De Cauwer</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Messagie</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>Beyond the state of the art of electric vehicles: A fact-based paper of the current and prospective electric vehicle technologies</article-title>,&#x201D; <source>World Electric Vehicle Journal</source>, vol. <volume>12</volume>, no. <issue>1</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>26</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M. R.</given-names> <surname>Patel</surname></string-name>, <string-name><given-names>A. P.</given-names> <surname>Shah</surname></string-name>, <string-name><given-names>K. J.</given-names> <surname>Chudasama</surname></string-name> and <string-name><given-names>G. J.</given-names> <surname>Jadhav</surname></string-name></person-group>, &#x201C;<article-title>A review of EV converters performance during V2G /G2V mode of operation</article-title>,&#x201D; in <conf-name>Proc. INCET</conf-name>, <publisher-loc>Belgaum, India</publisher-loc>, pp. <fpage>1</fpage>&#x2013;<lpage>7</lpage>, <year>2022</year>. </mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Boni</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Ch</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Alamanda</surname></string-name>, <string-name><given-names>B. V. S. G.</given-names> <surname>Arasada</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Maria</surname></string-name></person-group>, &#x201C;<article-title>An efficient and secure anonymous authentication scheme for V2G networks</article-title>,&#x201D; in <conf-name>Proc. ICDCS</conf-name>, <publisher-loc>Coimbatore, India</publisher-loc>, pp. <fpage>432</fpage>&#x2013;<lpage>436</lpage>, <year>2022</year>. </mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Sharma</surname></string-name>, <string-name><given-names>A. M.</given-names> <surname>Joshi</surname></string-name> and <string-name><given-names>S. P.</given-names> <surname>Mohanty</surname></string-name></person-group>, &#x201C;<article-title>An efficient physically unclonable function based authentication scheme for V2G network</article-title>,&#x201D; in <conf-name>Proc. ISES</conf-name>, <publisher-loc>Jaipur, India</publisher-loc>, pp. <fpage>421</fpage>&#x2013;<lpage>425</lpage>, <year>2021</year>. </mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Ahmed</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Shamshad</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Ghaffar</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Mahmood</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Kumar</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>Signcryption based authenticated and key exchange protocol for EI-based V2G environment</article-title>,&#x201D; <source>IEEE Transactions on Smart Grid</source>, vol. <volume>12</volume>, no. <issue>6</issue>, pp. <fpage>5290</fpage>&#x2013;<lpage>5298</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>F.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Jiao</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Zhu</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Zhu</surname></string-name> and <string-name><given-names>L.</given-names> <surname>Zhang</surname></string-name></person-group>, &#x201C;<article-title>Online edge computing demand response via deadline-aware V2G discharging auctions</article-title>,&#x201D; <source>IEEE Transactions on Mobile Computing</source>, pp. <fpage>1</fpage>&#x2013;<lpage>14</lpage>, <year>2022</year>. <pub-id pub-id-type="doi">10.1109/TMC.2022.3208420</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>B.</given-names> <surname>Bibak</surname></string-name> and <string-name><given-names>H.</given-names> <surname>Tekiner-Mo&#x011F;ulko&#x00E7;</surname></string-name></person-group>, &#x201C;<article-title>A comprehensive analysis of vehicle to grid (V2G) systems and scholarly literature on the application of such systems</article-title>,&#x201D; <source>Renewable Energy Focus</source>, vol. <volume>36</volume>, no. <issue>February (2016)</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>20</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Goyal</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Bhushan</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Kumar</surname></string-name>, <string-name><given-names>A. H. S.</given-names> <surname>Rana</surname></string-name>, <string-name><given-names>M. R.</given-names> <surname>Bhutta</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>An optimized framework for energy-resource allocation in a cloud environment based on the whale optimization algorithm</article-title>,&#x201D; <source>Sensors</source>, vol. <volume>21</volume>, no. <issue>5</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>24</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Rani</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Koundal</surname></string-name>, <string-name><surname>Kavita</surname></string-name>, <string-name><given-names>M. F.</given-names> <surname>Ijaz</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Elhoseny</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>An optimized framework for WSN routing in the context of industry 4. 0</article-title>,&#x201D; <source>Sensors</source>, vol. <volume>21</volume>, no. <issue>19</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>15</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>F.</given-names> <surname>Gao</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Zhu</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Shen</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Sharif</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Wan</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>A blockchain-based privacy-preserving payment mechanism for vehicle-to-grid networks</article-title>,&#x201D; <source>IEEE Network</source>, vol. <volume>32</volume>, no. <issue>6</issue>, pp. <fpage>184</fpage>&#x2013;<lpage>192</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>W.</given-names> <surname>Han</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Xiao</surname></string-name></person-group>, &#x201C;<article-title>Privacy preservation for V2G networks in smart grid: A survey</article-title>,&#x201D; <source>Computer Communications</source>, vol. <volume>91</volume>, no. <issue>1</issue>, pp. <fpage>17</fpage>&#x2013;<lpage>28</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Saxena</surname></string-name> and <string-name><given-names>B. J.</given-names> <surname>Choi</surname></string-name></person-group>, &#x201C;<article-title>Authentication scheme for flexible charging and discharging of mobile vehicles in the V2G networks</article-title>,&#x201D; <source>IEEE Transactions on Information Forensics and Security</source>, vol. <volume>11</volume>, no. <issue>7</issue>, pp. <fpage>1438</fpage>&#x2013;<lpage>1452</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Abdallah</surname></string-name> and <string-name><given-names>X. S.</given-names> <surname>Shen</surname></string-name></person-group>, &#x201C;<article-title>Lightweight authentication and privacy preserving scheme for V2G connections</article-title>,&#x201D; <source>IEEE Transactions on Vehicular Technology</source>, vol. <volume>66</volume>, no. <issue>3</issue>, pp. <fpage>2615</fpage>&#x2013;<lpage>2629</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Tao</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Ota</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Dong</surname></string-name> and <string-name><given-names>Z.</given-names> <surname>Qian</surname></string-name></person-group>, &#x201C;<article-title>AccessAuth: Capacity-aware security access authentication in federated-IoT-enabled V2G networks</article-title>,&#x201D; <source>Journal of Parallel and Distributed Computing</source>, vol. <volume>118</volume>, no. <issue>4</issue>, pp. <fpage>107</fpage>&#x2013;<lpage>117</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Liang</surname></string-name>, <string-name><given-names>S. R.</given-names> <surname>Weller</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Luo</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Zhao</surname></string-name> and <string-name><given-names>Z.</given-names> <surname>Dong</surname></string-name></person-group>, &#x201C;<article-title>Distributed blockchain-based data protection framework for modern power systems against cyber attacks</article-title>,&#x201D; <source>IEEE Transactions on Smart Grid</source>, vol. <volume>10</volume>, no. <issue>3</issue>, pp. <fpage>3162</fpage>&#x2013;<lpage>3173</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Fan</surname></string-name> and <string-name><given-names>X.</given-names> <surname>Zhang</surname></string-name></person-group>, &#x201C;<article-title>Consortium blockchain based data aggregation and regulation mechanism for smart grid</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>7</volume>, pp. <fpage>35929</fpage>&#x2013;<lpage>35940</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Guan</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Si</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Guizani</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>Privacy-preserving and efficient aggregation based on blockchain for power grid communications in smart communities</article-title>,&#x201D; <source>IEEE Communications Magazine</source>, vol. <volume>56</volume>, no. <issue>7</issue>, pp. <fpage>82</fpage>&#x2013;<lpage>88</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L. F. A.</given-names> <surname>Roman</surname></string-name>, <string-name><given-names>P. R. L.</given-names> <surname>Gondim</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Lloret</surname></string-name></person-group>, &#x201C;<article-title>Pairing-based authentication protocol for V2G networks in smart grid</article-title>,&#x201D; <source>Ad Hoc Networks</source>, vol. <volume>90</volume>, no. <issue>3</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>16</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Wazid</surname></string-name>, <string-name><given-names>A. K.</given-names> <surname>Das</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Kumar</surname></string-name> and <string-name><given-names>J. J. P. C.</given-names> <surname>Rodrigues</surname></string-name></person-group>, &#x201C;<article-title>Secure three factor user authentication scheme for renewable energy based smart grid environment</article-title>,&#x201D; <source>IEEE Transactions on Industrial Informatics</source>, vol. <volume>13</volume>, no. <issue>6</issue>, pp. <fpage>3144</fpage>&#x2013;<lpage>3153</lpage>, <year>2017</year>.</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>D.</given-names> <surname>Abbasinezhad-Mood</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Nikooghadam</surname></string-name></person-group>, &#x201C;<article-title>An anonymous ECC-based self-certified key distribution scheme for the smart grid</article-title>,&#x201D; <source>IEEE Transactions on Industrial Electronics</source>, vol. <volume>65</volume>, no. <issue>10</issue>, pp. <fpage>7996</fpage>&#x2013;<lpage>8004</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>D.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Ma</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Yu</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>Research on a cross-domain authentication scheme based on consortium blockchain in V2G networks of smart grid</article-title>,&#x201D; in <conf-name>Proc. EI2</conf-name>, <publisher-loc>Beijing, China</publisher-loc>, pp. <fpage>1</fpage>&#x2013;<lpage>5</lpage>, <year>2018</year>. </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>J.</given-names> <surname>Kang</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Yu</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Huang</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Maharjan</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Zhang</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>Enabling localized peer-to-peer electricity trading among plug-in hybrid electric vehicles using consortium blockchains</article-title>,&#x201D; <source>IEEE Transactions on Industrial Informatics</source>, vol. <volume>13</volume>, no. <issue>6</issue>, pp. <fpage>3154</fpage>&#x2013;<lpage>3164</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Garg</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Kaur</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Kaddoum</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Gagnon</surname></string-name>, <string-name><given-names>J. J. P. C.</given-names> <surname>Rodrigues</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>An efficient blockchain-based hierarchical authentication mechanism for energy trading in V2G environment</article-title>,&#x201D; in <conf-name>Proc. ICC Workshops</conf-name>, <publisher-loc>Shanghai, China</publisher-loc>, pp. <fpage>1</fpage>&#x2013;<lpage>6</lpage>, <year>2019</year>. </mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Tonyali</surname></string-name>, <string-name><given-names>O.</given-names> <surname>Cakmak</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Akkaya</surname></string-name>, <string-name><given-names>M. M. E. A.</given-names> <surname>Mahmoud</surname></string-name>, <string-name><given-names>I.</given-names> <surname>Guvenc</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>Secure data obfuscation scheme to enable privacy-preserving state estimation in smart grid AMI networks</article-title>,&#x201D; <source>IEEE Internet of Things Journal</source>, vol. <volume>3</volume>, no. <issue>5</issue>, pp. <fpage>709</fpage>&#x2013;<lpage>719</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M. M. E. A.</given-names> <surname>Mahmoud</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Saputro</surname></string-name>, <string-name><given-names>P. K.</given-names> <surname>Akula</surname></string-name> and <string-name><given-names>K.</given-names> <surname>Akkaya</surname></string-name></person-group>, &#x201C;<article-title>Privacy-preserving power injection over a hybrid AMI/LTE smart grid network</article-title>,&#x201D; <source>IEEE Internet of Things Journal</source>, vol. <volume>4</volume>, no. <issue>4</issue>, pp. <fpage>870</fpage>&#x2013;<lpage>880</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-28"><label>[28]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Zheng</surname></string-name>, <string-name><given-names>Q.</given-names> <surname>Zhao</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Lai</surname></string-name> and <string-name><given-names>F.</given-names> <surname>Ren</surname></string-name></person-group>, &#x201C;<article-title>PADA: Privacy-aware data aggregation with efficient communication for power injection in 5G smart grid slice</article-title>,&#x201D; in <conf-name>Proc. NaNA</conf-name>, <publisher-loc>Kathmandu, Nepal</publisher-loc>, pp. <fpage>11</fpage>&#x2013;<lpage>16</lpage>, <year>2017</year>. </mixed-citation></ref>
<ref id="ref-29"><label>[29]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Zheng</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Li</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Tian</surname></string-name></person-group>, &#x201C;<article-title>Privacy-preserving communication and power injection over vehicle networks and 5G smart grid slice</article-title>,&#x201D; <source>Journal of Network and Computer Applications</source>, vol. <volume>122</volume>, no. <issue>6</issue>, pp. <fpage>50</fpage>&#x2013;<lpage>60</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-30"><label>[30]</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>L.</given-names> <surname>Yang</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Zhao</surname></string-name>, <string-name><given-names>V.</given-names> <surname>Varadarajan</surname></string-name> and <string-name><given-names>K.</given-names> <surname>Wang</surname></string-name></person-group>, &#x201C;<article-title>Double-blockchain assisted secure and anonymous data aggregation for fog-enabled smart grid</article-title>,&#x201D; <source>Engineering</source>, vol. <volume>8</volume>, no. <issue>1</issue>, pp. <fpage>159</fpage>&#x2013;<lpage>169</lpage>, <year>2022</year>.</mixed-citation></ref>
</ref-list>
</back>
</article>