<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article">
 <front>
  <journal-meta>
   <journal-id journal-id-type="publisher-id">
    jcc
   </journal-id>
   <journal-title-group>
    <journal-title>
     Journal of Computer and Communications
    </journal-title>
   </journal-title-group>
   <issn pub-type="epub">
    2327-5219
   </issn>
   <issn publication-format="print">
    2327-5227
   </issn>
   <publisher>
    <publisher-name>
     Scientific Research Publishing
    </publisher-name>
   </publisher>
  </journal-meta>
  <article-meta>
   <article-id pub-id-type="doi">
    10.4236/jcc.2025.133011
   </article-id>
   <article-id pub-id-type="publisher-id">
    jcc-141671
   </article-id>
   <article-categories>
    <subj-group subj-group-type="heading">
     <subject>
      Articles
     </subject>
    </subj-group>
    <subj-group subj-group-type="Discipline-v2">
     <subject>
      Computer Science 
     </subject>
     <subject>
       Communications
     </subject>
    </subj-group>
   </article-categories>
   <title-group>
    An Efficient and Anonymous Multidimensional Data Aggregation Scheme Based on Fog Computing for Smart Grids
   </title-group>
   <contrib-group>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Yu
      </surname>
      <given-names>
       Chen
      </given-names>
     </name>
    </contrib>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Jinmei
      </surname>
      <given-names>
       Fan
      </given-names>
     </name>
    </contrib>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Yanhai
      </surname>
      <given-names>
       Zhang
      </given-names>
     </name>
    </contrib>
   </contrib-group> 
   <aff id="affnull">
    <addr-line>
     aSchool of Mathematics and Statistics, Guilin University of Technology, Guilin, China
    </addr-line> 
   </aff> 
   <pub-date pub-type="epub">
    <day>
     05
    </day> 
    <month>
     03
    </month>
    <year>
     2025
    </year>
   </pub-date> 
   <volume>
    13
   </volume> 
   <issue>
    03
   </issue>
   <fpage>
    156
   </fpage>
   <lpage>
    175
   </lpage>
   <history>
    <date date-type="received">
     <day>
      26,
     </day>
     <month>
      February
     </month>
     <year>
      2025
     </year>
    </date>
    <date date-type="published">
     <day>
      25,
     </day>
     <month>
      February
     </month>
     <year>
      2025
     </year> 
    </date> 
    <date date-type="accepted">
     <day>
      25,
     </day>
     <month>
      March
     </month>
     <year>
      2025
     </year> 
    </date>
   </history>
   <permissions>
    <copyright-statement>
     © Copyright 2014 by authors and Scientific Research Publishing Inc. 
    </copyright-statement>
    <copyright-year>
     2014
    </copyright-year>
    <license>
     <license-p>
      This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/
     </license-p>
    </license>
   </permissions>
   <abstract>
    With the development of smart grid and the diversification of their applications, privacy-preserving multi-dimensional data aggregation has been widely studied because it can analyze users’ electricity consumption more deeply. However, previous multidimensional data aggregation schemes suffer from heavy computational operations either to encrypt or decrypt the data. Additionally, existing fault-tolerant mechanisms require aggregation nodes to identify the IDs of smart meters, which leads to the risk of user privacy leakage. In this paper, we propose an efficient and anonymous multidimensional data aggregation scheme, called EAMA. In the proposed scheme, multidimensional data are encrypted by the Paillier encryption scheme of lower modular exponentiation, which reduces the computational cost. Moreover, to protect users’ privacy, smart meters upload data using pseudonyms in a fog computing-based architecture, which prevents aggregation nodes from accessing smart meters’ real IDs. Furthermore, a key challenge in the fault-tolerant phase is to eliminate blind factors, which EAMA effectively addresses without needing the real IDs of smart meters. Performance analysis demonstrates that EAMA achieves lower computational costs and satisfies security requirements.
   </abstract>
   <kwd-group> 
    <kwd>
     Data Aggregation
    </kwd> 
    <kwd>
      Privacy Protection
    </kwd> 
    <kwd>
      Fault Tolerance
    </kwd> 
    <kwd>
      Fog Computing
    </kwd> 
    <kwd>
      Smart Grid
    </kwd>
   </kwd-group>
  </article-meta>
 </front>
 <body>
  <sec id="s1">
   <title>1. Introduction</title>
   <p>As an advanced power system, the smart grid (SG) makes use of contemporary information and communication technology <xref ref-type="bibr" rid="scirp.141671-1">
     [1]
    </xref> <xref ref-type="bibr" rid="scirp.141671-2">
     [2]
    </xref> to facilitate real-time data exchange and communication, increasing efficiency for better energy management. By integrating traditional power grid infrastructures with advanced technologies such as cloud computing <xref ref-type="bibr" rid="scirp.141671-3">
     [3]
    </xref>, fog computing <xref ref-type="bibr" rid="scirp.141671-4">
     [4]
    </xref> and mobile edge computing <xref ref-type="bibr" rid="scirp.141671-5">
     [5]
    </xref>, the smart grid enables real-time data collection, transmission, and processing. This integration facilitates communication in both directions between companies and consumers, improving the efficiency, affordability, and stability of power management. A fundamental element of the SG is the smart meters (SMs) <xref ref-type="bibr" rid="scirp.141671-6">
     [6]
    </xref>, which are positioned at the consumer’s location to gather real-time electricity usage data and periodically report the data to the control center (CC). SMs are considered the most critical element on the consumer side, since they allow users to report their real-time energy usage actively. Based on the data, various applications are designed to enable the CC to predict power demand, adjust power generation, implement dynamic pricing strategies, and optimize overall grid management, etc. In order to give other organizations relevant data for commercial advertising or decision-making in the energy sector, CC could potentially carry out more statistical research <xref ref-type="bibr" rid="scirp.141671-7">
     [7]
    </xref>. Despite these advantages, the smart grid faces various security and privacy challenges. For example, by analyzing real-time power consumption data, malicious actors could potentially uncover users’ habits and activities, leading to leak privacy. Besides, the aggregated data must be correct, even if certain SMs do not submit data of their own. Consequently, it is essential to adopt robust encryption technologies to safeguard user privacy.</p>
   <p>Privacy-preserving data aggregation <xref ref-type="bibr" rid="scirp.141671-8">
     [8]
    </xref> has been extensively recognized as an effective approach for protecting data security in smart grids. To do this, SMs can employ homomorphic encryption (HE), enabling them to encrypt electrical usage data through Paillier Homomorphic Encryption <xref ref-type="bibr" rid="scirp.141671-9">
     [9]
    </xref>. This allows the aggregator gateway (AG) to safely aggregate the data that is encrypted while ensuring that the CC receives the total from SMs in a manner that preserves privacy <xref ref-type="bibr" rid="scirp.141671-10">
     [10]
    </xref>-<xref ref-type="bibr" rid="scirp.141671-12">
     [12]
    </xref>. Earlier aggregation methods primarily employed one-dimensional data aggregation, which was effective but lacked the fine-grained data required for a more detailed energy consumption analysis. Recent schemes have introduced multidimensional data aggregation techniques in smart grids, offering significant improvements over one-dimensional methods. Multidimensional aggregation enables the collection of electricity consumption data across various appliance categories, such as wall lamp, refrigerators, air conditioners, and dryers. The more fine-grained the data, the more effective the subsequent analysis becomes. However, multidimensional aggregation often involves complex cryptographic operations to ensure data encryption and decryption, adding to the computational complexity of the process. Traditional aggregation schemes rely on low-performance intermediate nodes that are often connected to multiple end nodes, limiting their ability to efficiently handle such cryptographic operations. To address this challenge, fog node (FN) <xref ref-type="bibr" rid="scirp.141671-13">
     [13]
    </xref> has been introduced in smart grids to enhance communication, computation, and storage capabilities, optimizing data aggregation. This transition to fog computing enhances the efficiency and scalability of data aggregation procedures.</p>
   <p>As the data dimensions increase, the communication costs grow. A critical challenge is to minimize communication costs while maintaining user privacy. Previous aggregation schemes have employed masking technology <xref ref-type="bibr" rid="scirp.141671-14">
     [14]
    </xref> <xref ref-type="bibr" rid="scirp.141671-15">
     [15]
    </xref> to mask individual users’ electricity consumption data, which reduces computational and communication overhead. However, these schemes fall short in terms of fault tolerance, as they require retransmission of billing reports in the event of node failures. Fault tolerance is essential for ensuring the robustness of data aggregation in smart grids. When SMs temporarily fail, preventing them from reporting data to FNs, fault tolerance mechanisms can help maintain data integrity. Some mechanisms have been suggested to achieve fault tolerance in response to the challenges presented by faulty SMs. User data is encrypted via a modified variant of the Paillier cryptosystem <xref ref-type="bibr" rid="scirp.141671-16">
     [16]
    </xref>. However, as the quantity of faulty SMs increases, the decryption expense raises substantially. Similarly, the framework suggested by Boudia et al. <xref ref-type="bibr" rid="scirp.141671-17">
     [17]
    </xref> incorporates a fault-tolerant method to guarantee the accuracy of the final aggregated data retrieved at the CC, even though the failure of certain nodes. This scheme employs a masking technique to protect individual user data, where the masks are designed to cancel each other out during aggregation. However, this approach requires the FN to know the real identities of the SMs, which introduces privacy concerns.</p>
   <p>To solve the above problems, we propose EAMA, an efficiency and anonymous multidimensional data aggregation scheme based on fog computing for smart grids. This paper’s primary achievements can be succinctly stated as below.</p>
   <p>1) We have improved the Paillier cryptosystem by designing an encoding function that encodes multiple data items into a single ciphertext. Using this encoding function, the CC successfully obtains the aggregated data in the ciphertext. Additionally, the most computationally resource-intensive operation in Paillier encryption is the higher-order exponentiation of 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msup> 
       <mi>
         r 
       </mi> 
       <mi>
         n 
       </mi> 
      </msup> 
     </mrow> 
    </math>, which we optimize to effectively reduce the computational overhead.</p>
   <p>2) Since the data aggregator, the FN, is honest-and-curious, so we propose a bilinear pair-based batch anonymization authentication algorithm to efficiently verify users’ anonymity and data integrity.</p>
   <p>3) We offer a fault-tolerant approach for ensuring the accurate recovery of the final aggregated data at the CC. When an SM fails, our mechanism solves the problem of blind factor elimination without requiring the real ID of the faulty SM.</p>
   <p>The subsequent sections of this article are structured as follows. Section II introduces related work. Section III introduces preliminary knowledge. Section IV introduces the system design of the EAMA, followed by Section V, which introduces the proposed scheme. Section VI introduces the system analysis of the EAMA, and Section VII discusses performance evaluation. Finally, Section VIII concludes the paper.</p>
  </sec><sec id="s2">
   <title>
    <xref ref-type="bibr" rid="scirp.141671-"></xref>2. Related Work</title>
   <p>In recent years, various data aggregation methods have been introduced for smart grids. Among these, the work presented in <xref ref-type="bibr" rid="scirp.141671-18">
     [18]
    </xref> introduced a secure in-network aggregation approach specifically designed for smart grid environments. This approach leverages HE to ensure that users’ private data remain undisclosed to intermediate aggregator nodes. As smart grids evolve, there is an increasing necessity for CC to obtain detailed data for enhanced services and to optimize demand response strategies. At the same time, it is crucial to preserve the privacy of individual users. HE emerged as a particularly advantageous approach for encrypted data aggregation owing to its homomorphic characteristics, which allow CC to execute statistical analyses effectively on encrypted data, thereby preserving the secrecy of user information.</p>
   <p>In 2012, Lu et al. <xref ref-type="bibr" rid="scirp.141671-19">
     [19]
    </xref> introduced a multidimensional data aggregation framework utilizing the Paillier HE encryption method. Their technique employed a super-increasing sequence to facilitate CC’s computation of the sum of diverse power usage data kinds. However, super-increasing sequences become less efficient for data packing when the dimensionality is high. To tackle this issue, Li et al. <xref ref-type="bibr" rid="scirp.141671-20">
     [20]
    </xref> introduced a multi-subset data aggregation strategy utilizing the Paillier homomorphic encryption algorithm, incorporating two super-increasing sequences. This design allowed the aggregation of data from different ranges, enabling CC to obtain more granular insights, such as the sum of consumption within specific regions and the consumer’s count in each range. Despite these advancements, as noted in <xref ref-type="bibr" rid="scirp.141671-21">
     [21]
    </xref>, the scheme restricts each subset of SMs to predefined data ranges, limiting the flexibility and utility of the aggregated data. Boudia et al. <xref ref-type="bibr" rid="scirp.141671-22">
     [22]
    </xref> proposed a secure multidimensional data aggregation scheme based on elliptic curves and utilizing ElGamal homomorphic encryption (HE) with multiple public keys. Their approach avoided complex encryption operations during data transmission, reducing both computational and communication overhead. However, the scheme required additional elliptic curve scalar multiplication operations for each dimension via the security module, which imposed a significant computational burden. In contrast, Zuo et al. <xref ref-type="bibr" rid="scirp.141671-23">
     [23]
    </xref> employed a super-incremental sequence combined with the ElGamal HE technique for multidimensional data aggregation. Their technique devised two categories of super-increasing sequences: one for computing the aggregate electrical usage of identical types among all users, and the other for verifying the total amount of individuals whose electrical usage resides inside specified intervals.</p>
   <p>The data aggregation schemes proposed in <xref ref-type="bibr" rid="scirp.141671-14">
     [14]
    </xref> <xref ref-type="bibr" rid="scirp.141671-15">
     [15]
    </xref>, and <xref ref-type="bibr" rid="scirp.141671-24">
     [24]
    </xref> employ masking techniques to conceal individual users’ electricity usage data. By aggregating all masks, the values cancel each other out, effectively preserving user privacy while providing the overall power usage data. These schemes are notable for their low computation and communication overhead. However, they lack fault tolerance, necessitating additional billing reports to be transmitted in the event of system failures. Zhang et al. <xref ref-type="bibr" rid="scirp.141671-25">
     [25]
    </xref> established a privacy-preserving billing mechanism that integrates ElGamal’s multidimensional data aggregation algorithm with an anonymous user identity design. This method efficiently safeguards against collusion attacks perpetrated by any two individuals within the system. Additionally, the ciphertexts generated by ElGamal encryption are typically smaller than those produced by Paillier encryption, making ElGamal more efficient in terms of ciphertext storage for multidimensional data. Boudia et al. <xref ref-type="bibr" rid="scirp.141671-17">
     [17]
    </xref> employed the HE approach into a fog computing architecture to encode multidimensional data. For efficient authentication, their scheme employed a batch authentication technique. Although their method, known as ESMA, is fault tolerant, it requires blind factorial updates for all functioning SMs.</p>
   <p>To address these limitations, we introduced encoding functionality into EAMA, utilizing the Paillier homomorphic encryption (HE) technique to efficiently construct and secure multidimensional data. EAMA employs a pseudonymization technique, enabling the CC to read and process aggregated data without requiring blind factor updates for all functioning SMs, even in cases where some SMs are non-functional. This ensures that the CC can continue processing aggregated reports, maintaining fault tolerance and operational efficiency.</p>
  </sec><sec id="s3">
   <title>
    <xref ref-type="bibr" rid="scirp.141671-"></xref>3. Preliminaries</title>
   <sec id="s3_1">
    <title>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>3.1. Bilinear Pairing Maps</title>
    <p>A bilinear pairing map 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mover accent="true"> 
        <mi>
          e 
        </mi> 
        <mo>
          ˜ 
        </mo> 
       </mover> 
       <mo>
         : 
       </mo> 
       <msub> 
        <mi mathvariant="double-struck">
          G 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
       <mo>
         × 
       </mo> 
       <msub> 
        <mi mathvariant="double-struck">
          G 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
       <mo>
         → 
       </mo> 
       <msub> 
        <mi mathvariant="double-struck">
          G 
        </mi> 
        <mn>
          2 
        </mn> 
       </msub> 
      </mrow> 
     </math> is defined on the elliptic curve 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        E 
      </mi> 
     </math> on the finite field 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          F 
        </mi> 
        <mi>
          p 
        </mi> 
       </msub> 
      </mrow> 
     </math>, where 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        p 
      </mi> 
     </math> is a large prime. In this context, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi mathvariant="double-struck">
          G 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
      </mrow> 
     </math> denotes an additive cyclic group of order 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        q 
      </mi> 
     </math> derived from the elliptic curve 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        E 
      </mi> 
     </math>, while 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi mathvariant="double-struck">
          G 
        </mi> 
        <mn>
          2 
        </mn> 
       </msub> 
      </mrow> 
     </math> represents a multiplicative cyclic group of identical order 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        q 
      </mi> 
     </math>. The bilinear pairing map exhibits the following properties:</p>
    <p>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>1) Bilinearity: For every 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         P 
       </mi> 
       <mo>
         , 
       </mo> 
       <mi>
         V 
       </mi> 
       <mo>
         ∈ 
       </mo> 
       <msub> 
        <mi mathvariant="double-struck">
          G 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
      </mrow> 
     </math> and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         a 
       </mi> 
       <mo>
         , 
       </mo> 
       <mi>
         b 
       </mi> 
       <mo>
         ∈ 
       </mo> 
       <msubsup> 
        <mi>
          ℤ 
        </mi> 
        <mi>
          q 
        </mi> 
        <mtext>
          * 
        </mtext> 
       </msubsup> 
      </mrow> 
     </math>, it holds that 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         e 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           a 
         </mi> 
         <mi>
           P 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           b 
         </mi> 
         <mi>
           V 
         </mi> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mi>
         e 
       </mi> 
       <msup> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             P 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             V 
           </mi> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mrow> 
         <mi>
           a 
         </mi> 
         <mi>
           b 
         </mi> 
        </mrow> 
       </msup> 
      </mrow> 
     </math>.</p>
    <p>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>2) Non-degeneracy: There are two elements 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         P 
       </mi> 
       <mo>
         , 
       </mo> 
       <mi>
         V 
       </mi> 
       <mo>
         ∈ 
       </mo> 
       <msub> 
        <mi mathvariant="double-struck">
          G 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
      </mrow> 
     </math> such that 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         e 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           P 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           V 
         </mi> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         ≠ 
       </mo> 
       <mn>
         1 
       </mn> 
      </mrow> 
     </math>, where 1 denotes the identity element of 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi mathvariant="double-struck">
          G 
        </mi> 
        <mn>
          2 
        </mn> 
       </msub> 
      </mrow> 
     </math>.</p>
    <p>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>3) Computability: For any 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         P 
       </mi> 
       <mo>
         , 
       </mo> 
       <mi>
         V 
       </mi> 
       <mo>
         ∈ 
       </mo> 
       <mi mathvariant="double-struck">
         G 
       </mi> 
      </mrow> 
     </math>, there exists an efficient algorithm to compute 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         e 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           P 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           V 
         </mi> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math>.</p>
   </sec>
   <sec id="s3_2">
    <title>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>3.2. Optimization of the Paillier Cryptosystem for Higher Order Polynomial Operations</title>
    <p>The Paillier cryptosystem <xref ref-type="bibr" rid="scirp.141671-9">
      [9]
     </xref>, after optimizing the power operation 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msup> 
        <mi>
          g 
        </mi> 
        <mi>
          m 
        </mi> 
       </msup> 
      </mrow> 
     </math> in its original encryption process, encounters its most resource-intensive computation in the evaluation of the higher-order power function 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msup> 
        <mi>
          r 
        </mi> 
        <mi>
          n 
        </mi> 
       </msup> 
      </mrow> 
     </math>. In 2010, Ivan Damgård <xref ref-type="bibr" rid="scirp.141671-26">
      [26]
     </xref> proposed an optimization strategy to streamline the calculation of 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msup> 
        <mi>
          r 
        </mi> 
        <mi>
          n 
        </mi> 
       </msup> 
      </mrow> 
     </math>, demonstrating that this enhancement preserves the security level of the original Paillier algorithm. Therefore, the security of the modified Paillier encryption algorithm will be analyzed by imitating the original Paillier encryption algorithm.</p>
    <p>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>1) Key Generation: To ensure security, it is required that 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         p 
       </mi> 
       <mo>
         ≡ 
       </mo> 
       <mi>
         q 
       </mi> 
       <mo>
         ≡ 
       </mo> 
       <mn>
         3 
       </mn> 
       <mi>
         mod 
       </mi> 
       <mn>
         4 
       </mn> 
      </mrow> 
     </math>, and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mtext>
         gcd 
       </mtext> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           p 
         </mi> 
         <mo>
           − 
         </mo> 
         <mn>
           1 
         </mn> 
         <mo>
           , 
         </mo> 
         <mi>
           q 
         </mi> 
         <mo>
           − 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mn>
         2 
       </mn> 
      </mrow> 
     </math>.</p>
    <p>Compute 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         λ 
       </mi> 
       <mo>
         = 
       </mo> 
       <mfrac> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             p 
           </mi> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             q 
           </mi> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mn>
          2 
        </mn> 
       </mfrac> 
      </mrow> 
     </math>. Select a random number 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        x 
      </mi> 
     </math> such that 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         x 
       </mi> 
       <mo>
         ∈ 
       </mo> 
       <msubsup> 
        <mi>
          ℤ 
        </mi> 
        <mi>
          n 
        </mi> 
        <mtext>
          * 
        </mtext> 
       </msubsup> 
      </mrow> 
     </math>, and calculate 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         h 
       </mi> 
       <mo>
         = 
       </mo> 
       <mo>
         − 
       </mo> 
       <msup> 
        <mi>
          x 
        </mi> 
        <mn>
          2 
        </mn> 
       </msup> 
       <mi>
         mod 
       </mi> 
       <mi>
         n 
       </mi> 
      </mrow> 
     </math>. Choose a natural number 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        s 
      </mi> 
     </math>. In the original Paillier scheme, this corresponds to setting 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         s 
       </mi> 
       <mo>
         = 
       </mo> 
       <mn>
         1 
       </mn> 
      </mrow> 
     </math>. Compute 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          h 
        </mi> 
        <mi>
          s 
        </mi> 
       </msub> 
       <mo>
         = 
       </mo> 
       <msup> 
        <mi>
          h 
        </mi> 
        <mrow> 
         <msup> 
          <mi>
            n 
          </mi> 
          <mi>
            s 
          </mi> 
         </msup> 
        </mrow> 
       </msup> 
       <mi>
         mod 
       </mi> 
       <msup> 
        <mi>
          n 
        </mi> 
        <mrow> 
         <mi>
           s 
         </mi> 
         <mo>
           + 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
       </msup> 
      </mrow> 
     </math>. The optimized public key is defined as: 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mtext>
         PublicKey 
       </mtext> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           n 
         </mi> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            h 
          </mi> 
          <mi>
            s 
          </mi> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> and the private key is: 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mtext>
         PrivateKey 
       </mtext> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           λ 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           μ 
         </mi> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math>.</p>
    <p>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>2) Encryption: Generate a random number 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        α 
      </mi> 
     </math>, where 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         α 
       </mi> 
       <mo>
         ∈ 
       </mo> 
       <msub> 
        <mi>
          ℤ 
        </mi> 
        <mn>
          2 
        </mn> 
       </msub> 
       <mrow> 
        <mo>
          [ 
        </mo> 
        <mrow> 
         <mrow> 
          <mi>
            k 
          </mi> 
          <mo>
            / 
          </mo> 
          <mn>
            2 
          </mn> 
         </mrow> 
        </mrow> 
        <mo>
          ] 
        </mo> 
       </mrow> 
      </mrow> 
     </math>, and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        k 
      </mi> 
     </math> is the key length. The optimized encryption formula is: 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         c 
       </mi> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           n 
         </mi> 
         <mo>
           × 
         </mo> 
         <mi>
           m 
         </mi> 
         <mo>
           + 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         × 
       </mo> 
       <msubsup> 
        <mi>
          h 
        </mi> 
        <mi>
          s 
        </mi> 
        <mi>
          α 
        </mi> 
       </msubsup> 
       <mi>
         mod 
       </mi> 
       <msup> 
        <mi>
          n 
        </mi> 
        <mrow> 
         <mi>
           s 
         </mi> 
         <mo>
           + 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
       </msup> 
      </mrow> 
     </math>. By choosing 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         α 
       </mi> 
       <mo>
         ≪ 
       </mo> 
       <mi>
         n 
       </mi> 
      </mrow> 
     </math>, the computational efficiency of 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          h 
        </mi> 
        <mi>
          s 
        </mi> 
        <mi>
          α 
        </mi> 
       </msubsup> 
      </mrow> 
     </math> is significantly improved compared to 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msup> 
        <mi>
          r 
        </mi> 
        <mi>
          n 
        </mi> 
       </msup> 
      </mrow> 
     </math> in the original encryption process.</p>
    <p>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>3) Decryption: To decrypt the ciphertext 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        c 
      </mi> 
     </math>, the plaintext 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        m 
      </mi> 
     </math> is recovered using the equation: 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         m 
       </mi> 
       <mo>
         = 
       </mo> 
       <mi>
         D 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          c 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mi>
         L 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msup> 
          <mi>
            c 
          </mi> 
          <mi>
            λ 
          </mi> 
         </msup> 
         <mi>
           mod 
         </mi> 
         <msup> 
          <mi>
            n 
          </mi> 
          <mn>
            2 
          </mn> 
         </msup> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mi>
         μ 
       </mi> 
       <mi>
         mod 
       </mi> 
       <mi>
         n 
       </mi> 
      </mrow> 
     </math>, where 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         L 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          u 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mfrac> 
        <mrow> 
         <mi>
           u 
         </mi> 
         <mo>
           − 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mi>
          n 
        </mi> 
       </mfrac> 
      </mrow> 
     </math> is the decryption function used in the Paillier cryptosystem.</p>
   </sec>
  </sec><sec id="s4">
   <title>
    <xref ref-type="bibr" rid="scirp.141671-"></xref>4. System Design</title>
   <sec id="s4_1">
    <title>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>4.1. System Model</title>
    <p>Our proposed method emphasizes the secure aggregation of sensor data within a Fog computing-based Smart Grid system while ensuring the privacy of sensitive information. Our system model involves four participating entities: a group of SMs, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mi>
           S 
         </mi> 
         <msub> 
          <mi>
            M 
          </mi> 
          <mrow> 
           <mn>
             1 
           </mn> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           S 
         </mi> 
         <msub> 
          <mi>
            M 
          </mi> 
          <mrow> 
           <mn>
             2 
           </mn> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <mi>
           S 
         </mi> 
         <msub> 
          <mi>
            M 
          </mi> 
          <mrow> 
           <mi>
             n 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math> located at the network edge; FNs situated near smart devices; a Remote CC; and a Key Generation Center (KGC), as depicted in <xref ref-type="fig" rid="fig1">
      Figure 1
     </xref>.</p>
    <fig id="fig1" position="float">
     <label>Figure 1</label>
     <caption>
      <title>Figure 1. System model.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/1733100-rId102.jpeg?20250328031239" />
    </fig>
    <p>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>1) SMs: SMs, denoted as 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math>, are terminal devices within the Internet of Things (IoT) network. The meters in question possess sensors, computational parts, to gather real-time data from their environment. The collected data is periodically reported to the nearest FN for further processing.</p>
    <p>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>2) FNs: FNs are positioned nearby smart devices to enable communication between 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> and the CC. FN offers critical services, including data validation, the process, and storage for the CC. In our suggested method, the FN acquires data from 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> within its jurisdiction, authenticates and consolidates the data, and subsequently transmits the aggregated ciphertext to the CC for additional examination.</p>
    <p>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>3) CC: The CC is tasked with producing system parameters during initialization and analyzing the aggregated data uploaded by the FN. The CC is crucial in overseeing and administering the system’s overall functionality, utilizing the consolidated data obtained from the FNs.</p>
    <p>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>4) KGC: The Key Generation Center (KGC) functions as a reliable intermediary in the cryptosystem, tasked with distributing public system parameters and private keys for SMs and CC, while also producing pseudonyms for each SM to safeguard user identity privacy.</p>
   </sec>
   <sec id="s4_2">
    <title>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>4.2. Design Goals</title>
    <p>Our objective is to introduce an effective and anonymous privacy-preserving multidimensional data aggregation scheme for SG based on Fog Computing. The objective is to safeguard critical information transmitted by smart terminal devices while maintaining user privacy. The subsequent objectives must be accomplished:</p>
    <p>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>1) Security: The proposal must ensure the secrecy, integrity, and authenticity of data transition among system entities. Outside adversaries ( 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi mathvariant="double-struck">
        A 
      </mi> 
     </math>) must be denied access to decrypted data. Any modifications to messages should be detectable, and the authentication of transmitting data, along with the verification of legal entity identities, should be performed by FNs and the CC.</p>
    <p>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>2) Privacy Protection: User privacy is paramount in SG. Decryption keys are known only to the CC. Ciphertext computations are performed exclusively by the FN. KGC is aware of users’ real identities, ensuring isolation between keys, ciphertext, and identity. This isolation guarantees that total power consumption can be obtained without revealing user privacy. Individual privacy in IoT applications is crucial. In this proposal, individual privacy is an unrevealed secret to 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi mathvariant="double-struck">
        A 
      </mi> 
     </math>. Even if there is collusion between the FN and CC, individual privacy is protected when user 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> employs anonymous privacy encryption.</p>
    <p>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>3) Fault Tolerance: In Smart Grids, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> may experience communication failures. The proposal must include fault tolerance mechanisms to ensure correct aggregation and decryption in the event of certain 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> failures.</p>
    <p>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>4) Performance: Performance is crucial for both SMs and FNs to meet the practical demands of data aggregation in Smart Grids. This requires keeping computation and communication costs as low as possible to ensure system efficiency. Performance is essential for data aggregation in extensive SG, facilitating the prompt and efficient processing of significant data volumes.</p>
   </sec>
  </sec><sec id="s5">
   <title>
    <xref ref-type="bibr" rid="scirp.141671-"></xref>5. Proposed Scheme</title>
   <p>In this section, we present EAMA for Multidimensional Data Aggregation. <xref ref-type="table" rid="table1">
     Table 1
    </xref> presents a compilation of acronyms and symbols utilized in this article, accompanied by their definitions. The scheme consists of five main components:</p>
   <table-wrap id="table1">
    <label>
     <xref ref-type="table" rid="table1">
      Table 1
     </xref></label>
    <caption>
     <title>
      <xref ref-type="bibr" rid="scirp.141671-"></xref>Table 1. Notations.</title>
    </caption>
    <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
     <tr> 
      <td class="custom-bottom-td acenter" width="20.77%"><p style="text-align:center">Notation</p></td> 
      <td class="custom-bottom-td acenter" width="79.23%"><p style="text-align:center">Definition</p></td> 
     </tr> 
     <tr> 
      <td class="custom-top-td acenter" width="20.77%"><p style="text-align:center">CC</p></td> 
      <td class="custom-top-td acenter" width="79.23%"><p style="text-align:center">The CC</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="20.77%"><p style="text-align:center">FN</p></td> 
      <td class="acenter" width="79.23%"><p style="text-align:center">The FN</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="20.77%"><p style="text-align:center">SM</p></td> 
      <td class="acenter" width="79.23%"><p style="text-align:center">The SM</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="20.77%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
           n 
         </mi> 
        </math></p></td> 
      <td class="acenter" width="79.23%"><p style="text-align:center">The modulus defined as 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <mi>
            n 
          </mi> 
          <mo>
            = 
          </mo> 
          <msub> 
           <mi>
             p 
           </mi> 
           <mn>
             0 
           </mn> 
          </msub> 
          <msub> 
           <mi>
             q 
           </mi> 
           <mn>
             0 
           </mn> 
          </msub> 
         </mrow> 
        </math></p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="20.77%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
           g 
         </mi> 
        </math></p></td> 
      <td class="acenter" width="79.23%"><p style="text-align:center">The generator of the group 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <msub> 
           <mi>
             ℤ 
           </mi> 
           <mrow> 
            <msup> 
             <mi>
               n 
             </mi> 
             <mn>
               2 
             </mn> 
            </msup> 
           </mrow> 
          </msub> 
         </mrow> 
        </math></p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="20.77%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <msub> 
           <mi mathvariant="double-struck">
             G 
           </mi> 
           <mn>
             1 
           </mn> 
          </msub> 
         </mrow> 
        </math></p></td> 
      <td class="acenter" width="79.23%"><p style="text-align:center">An additive group</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="20.77%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <msub> 
           <mi mathvariant="double-struck">
             G 
           </mi> 
           <mn>
             2 
           </mn> 
          </msub> 
         </mrow> 
        </math></p></td> 
      <td class="acenter" width="79.23%"><p style="text-align:center">A multiplicative group</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="20.77%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <mrow> 
           <mo>
             ( 
           </mo> 
           <mrow> 
            <mi>
              n 
            </mi> 
            <mo>
              , 
            </mo> 
            <msub> 
             <mi>
               h 
             </mi> 
             <mn>
               1 
             </mn> 
            </msub> 
           </mrow> 
           <mo>
             ) 
           </mo> 
          </mrow> 
         </mrow> 
        </math></p></td> 
      <td class="acenter" width="79.23%"><p style="text-align:center">The public key pair</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="20.77%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <mrow> 
           <mo>
             ( 
           </mo> 
           <mrow> 
            <mi>
              λ 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              μ 
            </mi> 
           </mrow> 
           <mo>
             ) 
           </mo> 
          </mrow> 
         </mrow> 
        </math></p></td> 
      <td class="acenter" width="79.23%"><p style="text-align:center">The private key pair</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="20.77%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
           e 
         </mi> 
        </math></p></td> 
      <td class="acenter" width="79.23%"><p style="text-align:center">A bilinear pairing</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="20.77%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
           H 
         </mi> 
        </math></p></td> 
      <td class="acenter" width="79.23%"><p style="text-align:center">A secure hash function, 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <mi>
            H 
          </mi> 
          <mo>
            : 
          </mo> 
          <msup> 
           <mrow> 
            <mrow> 
             <mo>
               { 
             </mo> 
             <mrow> 
              <mn>
                0 
              </mn> 
              <mo>
                , 
              </mo> 
              <mn>
                1 
              </mn> 
             </mrow> 
             <mo>
               } 
             </mo> 
            </mrow> 
           </mrow> 
           <mtext>
             * 
           </mtext> 
          </msup> 
          <mo>
            → 
          </mo> 
          <msub> 
           <mi mathvariant="double-struck">
             G 
           </mi> 
           <mn>
             1 
           </mn> 
          </msub> 
         </mrow> 
        </math></p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="20.77%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <msub> 
           <mi>
             H 
           </mi> 
           <mn>
             1 
           </mn> 
          </msub> 
         </mrow> 
        </math></p></td> 
      <td class="acenter" width="79.23%"><p style="text-align:center">A secure hash function 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <msub> 
           <mi>
             H 
           </mi> 
           <mn>
             1 
           </mn> 
          </msub> 
          <mo>
            : 
          </mo> 
          <msup> 
           <mrow> 
            <mrow> 
             <mo>
               { 
             </mo> 
             <mrow> 
              <mn>
                0 
              </mn> 
              <mo>
                , 
              </mo> 
              <mn>
                1 
              </mn> 
             </mrow> 
             <mo>
               } 
             </mo> 
            </mrow> 
           </mrow> 
           <mtext>
             * 
           </mtext> 
          </msup> 
          <mo>
            × 
          </mo> 
          <msub> 
           <mi mathvariant="double-struck">
             G 
           </mi> 
           <mn>
             1 
           </mn> 
          </msub> 
          <mo>
            → 
          </mo> 
          <msub> 
           <mi mathvariant="double-struck">
             G 
           </mi> 
           <mn>
             1 
           </mn> 
          </msub> 
         </mrow> 
        </math></p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="20.77%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <msub> 
           <mi>
             w 
           </mi> 
           <mi>
             j 
           </mi> 
          </msub> 
         </mrow> 
        </math></p></td> 
      <td class="acenter" width="79.23%"><p style="text-align:center">The number of SM covered by 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <mi>
            F 
          </mi> 
          <msub> 
           <mi>
             N 
           </mi> 
           <mi>
             j 
           </mi> 
          </msub> 
         </mrow> 
        </math></p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="20.77%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <msub> 
           <mi>
             a 
           </mi> 
           <mrow> 
            <mi>
              i 
            </mi> 
            <mi>
              j 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
        </math></p></td> 
      <td class="acenter" width="79.23%"><p style="text-align:center">The secret share of 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <mi>
            S 
          </mi> 
          <msub> 
           <mi>
             M 
           </mi> 
           <mrow> 
            <mi>
              i 
            </mi> 
            <mi>
              j 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
        </math></p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="20.77%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <mi>
            s 
          </mi> 
          <msub> 
           <mi>
             k 
           </mi> 
           <mrow> 
            <mi>
              i 
            </mi> 
            <mi>
              j 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
        </math></p></td> 
      <td class="acenter" width="79.23%"><p style="text-align:center">The secret key of 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <mi>
            S 
          </mi> 
          <msub> 
           <mi>
             M 
           </mi> 
           <mrow> 
            <mi>
              i 
            </mi> 
            <mi>
              j 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
        </math></p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="20.77%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <mi>
            p 
          </mi> 
          <msub> 
           <mi>
             k 
           </mi> 
           <mrow> 
            <mi>
              i 
            </mi> 
            <mi>
              j 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
        </math></p></td> 
      <td class="acenter" width="79.23%"><p style="text-align:center">The public key of 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <mi>
            S 
          </mi> 
          <msub> 
           <mi>
             M 
           </mi> 
           <mrow> 
            <mi>
              i 
            </mi> 
            <mi>
              j 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
        </math></p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="20.77%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <msub> 
           <mi>
             m 
           </mi> 
           <mrow> 
            <mi>
              i 
            </mi> 
            <mi>
              j 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              l 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
        </math></p></td> 
      <td class="acenter" width="79.23%"><p style="text-align:center">The data type 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
           l 
         </mi> 
        </math> of 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <mi>
            S 
          </mi> 
          <msub> 
           <mi>
             M 
           </mi> 
           <mrow> 
            <mi>
              i 
            </mi> 
            <mi>
              j 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
        </math></p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="20.77%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <msub> 
           <mi>
             b 
           </mi> 
           <mrow> 
            <mi>
              i 
            </mi> 
            <mi>
              j 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              l 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
        </math></p></td> 
      <td class="acenter" width="79.23%"><p style="text-align:center">The encoded representation of 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <msub> 
           <mi>
             m 
           </mi> 
           <mrow> 
            <mi>
              i 
            </mi> 
            <mi>
              j 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              l 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
        </math></p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="20.77%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
           l 
         </mi> 
        </math></p></td> 
      <td class="acenter" width="79.23%"><p style="text-align:center">The total count of data categories</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="20.77%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <msup> 
           <mn>
             2 
           </mn> 
           <mtext>
             z 
           </mtext> 
          </msup> 
         </mrow> 
        </math></p></td> 
      <td class="acenter" width="79.23%"><p style="text-align:center">The upper limit for a data category’s value</p></td> 
     </tr> 
    </table>
   </table-wrap>
   <sec id="s5_1">
    <title>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>5.1. System Initialization</title>
    <p>Based on the security parameter 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        κ 
      </mi> 
     </math>, KGC is required to generate two 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        κ 
      </mi> 
     </math>-bit prime numbers, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          p 
        </mi> 
        <mn>
          0 
        </mn> 
       </msub> 
      </mrow> 
     </math> and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          q 
        </mi> 
        <mn>
          0 
        </mn> 
       </msub> 
      </mrow> 
     </math>, which satisfy the conditions: 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          p 
        </mi> 
        <mn>
          0 
        </mn> 
       </msub> 
       <mo>
         ≡ 
       </mo> 
       <msub> 
        <mi>
          q 
        </mi> 
        <mn>
          0 
        </mn> 
       </msub> 
       <mo>
         ≡ 
       </mo> 
       <mn>
         3 
       </mn> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           mod 
         </mi> 
         <mn>
           4 
         </mn> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math>, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         gcd 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            p 
          </mi> 
          <mn>
            0 
          </mn> 
         </msub> 
         <mo>
           − 
         </mo> 
         <mn>
           1 
         </mn> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            q 
          </mi> 
          <mn>
            0 
          </mn> 
         </msub> 
         <mo>
           − 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mn>
         2 
       </mn> 
      </mrow> 
     </math>. The KGC subsequently chooses two large 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        κ 
      </mi> 
     </math>-bit primes, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          p 
        </mi> 
        <mn>
          0 
        </mn> 
       </msub> 
      </mrow> 
     </math> and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          q 
        </mi> 
        <mn>
          0 
        </mn> 
       </msub> 
      </mrow> 
     </math>, and calculates the public key of the Paillier encryption system as 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         n 
       </mi> 
       <mo>
         = 
       </mo> 
       <msub> 
        <mi>
          p 
        </mi> 
        <mn>
          0 
        </mn> 
       </msub> 
       <msub> 
        <mi>
          q 
        </mi> 
        <mn>
          0 
        </mn> 
       </msub> 
      </mrow> 
     </math>, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         g 
       </mi> 
       <mo>
         = 
       </mo> 
       <mn>
         1 
       </mn> 
       <mo>
         + 
       </mo> 
       <mi>
         n 
       </mi> 
      </mrow> 
     </math>. The associated private key is expressed as. Subsequently, the 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         λ 
       </mi> 
       <mo>
         = 
       </mo> 
       <mfrac> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <msub> 
            <mi>
              p 
            </mi> 
            <mn>
              0 
            </mn> 
           </msub> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <msub> 
            <mi>
              q 
            </mi> 
            <mn>
              0 
            </mn> 
           </msub> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mn>
          2 
        </mn> 
       </mfrac> 
      </mrow> 
     </math>KGC constructs a function 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         L 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          u 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mfrac> 
        <mrow> 
         <mi>
           u 
         </mi> 
         <mo>
           − 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mi>
          n 
        </mi> 
       </mfrac> 
      </mrow> 
     </math> and computes 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        μ 
      </mi> 
     </math> as 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         μ 
       </mi> 
       <mo>
         = 
       </mo> 
       <msup> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             L 
           </mi> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <msup> 
              <mi>
                g 
              </mi> 
              <mi>
                λ 
              </mi> 
             </msup> 
             <mi>
               mod 
             </mi> 
             <msup> 
              <mi>
                n 
              </mi> 
              <mn>
                2 
              </mn> 
             </msup> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mrow> 
         <mo>
           − 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
       </msup> 
       <mi>
         mod 
       </mi> 
       <mi>
         n 
       </mi> 
      </mrow> 
     </math> A random number 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        x 
      </mi> 
     </math> is then chosen, where 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         x 
       </mi> 
       <mo>
         ∈ 
       </mo> 
       <msubsup> 
        <mi>
          ℤ 
        </mi> 
        <mi>
          n 
        </mi> 
        <mtext>
          * 
        </mtext> 
       </msubsup> 
      </mrow> 
     </math>, and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         h 
       </mi> 
       <mo>
         = 
       </mo> 
       <mo>
         − 
       </mo> 
       <msup> 
        <mi>
          x 
        </mi> 
        <mn>
          2 
        </mn> 
       </msup> 
       <mi>
         mod 
       </mi> 
       <mi>
         n 
       </mi> 
      </mrow> 
     </math>. A natural number 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        s 
      </mi> 
     </math> is chosen, and for the original Paillier system, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         s 
       </mi> 
       <mo>
         = 
       </mo> 
       <mn>
         1 
       </mn> 
      </mrow> 
     </math>. For 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          h 
        </mi> 
        <mi>
          s 
        </mi> 
       </msub> 
       <mo>
         = 
       </mo> 
       <msup> 
        <mi>
          h 
        </mi> 
        <mrow> 
         <msup> 
          <mi>
            n 
          </mi> 
          <mi>
            s 
          </mi> 
         </msup> 
        </mrow> 
       </msup> 
       <mi>
         mod 
       </mi> 
       <msup> 
        <mi>
          n 
        </mi> 
        <mn>
          2 
        </mn> 
       </msup> 
      </mrow> 
     </math>, we have 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          h 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
       <mo>
         = 
       </mo> 
       <msup> 
        <mi>
          h 
        </mi> 
        <mi>
          n 
        </mi> 
       </msup> 
       <mi>
         mod 
       </mi> 
       <msup> 
        <mi>
          n 
        </mi> 
        <mn>
          2 
        </mn> 
       </msup> 
      </mrow> 
     </math>. The public key is denoted as the tuple 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           n 
         </mi> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            h 
          </mi> 
          <mn>
            1 
          </mn> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math>, whereas the associated private key is represented by the tuple 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           λ 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           μ 
         </mi> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math>. The KGC defines a bilinear pairing map 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         e 
       </mi> 
       <mo>
         : 
       </mo> 
       <msub> 
        <mi mathvariant="double-struck">
          G 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
       <mo>
         × 
       </mo> 
       <msub> 
        <mi mathvariant="double-struck">
          G 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
       <mo>
         → 
       </mo> 
       <msub> 
        <mi mathvariant="double-struck">
          G 
        </mi> 
        <mn>
          2 
        </mn> 
       </msub> 
      </mrow> 
     </math>, where 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi mathvariant="double-struck">
          G 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
      </mrow> 
     </math> and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi mathvariant="double-struck">
          G 
        </mi> 
        <mn>
          2 
        </mn> 
       </msub> 
      </mrow> 
     </math> are two multiplicative cyclic groups of identical order 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        p 
      </mi> 
     </math>, and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        P 
      </mi> 
     </math> serves as the generator of 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi mathvariant="double-struck">
          G 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
      </mrow> 
     </math>. The KGC further establishes four collision-resistant hash functions: 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         H 
       </mi> 
       <mo>
         : 
       </mo> 
       <msup> 
        <mrow> 
         <mrow> 
          <mo>
            { 
          </mo> 
          <mrow> 
           <mn>
             0 
           </mn> 
           <mo>
             , 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mo>
            } 
          </mo> 
         </mrow> 
        </mrow> 
        <mtext>
          * 
        </mtext> 
       </msup> 
       <mo>
         → 
       </mo> 
       <msub> 
        <mi mathvariant="double-struck">
          G 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
      </mrow> 
     </math> and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          H 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
       <mo>
         : 
       </mo> 
       <msup> 
        <mrow> 
         <mrow> 
          <mo>
            { 
          </mo> 
          <mrow> 
           <mn>
             0 
           </mn> 
           <mo>
             , 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mo>
            } 
          </mo> 
         </mrow> 
        </mrow> 
        <mtext>
          * 
        </mtext> 
       </msup> 
       <mo>
         × 
       </mo> 
       <msub> 
        <mi mathvariant="double-struck">
          G 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
       <mo>
         → 
       </mo> 
       <msub> 
        <mi mathvariant="double-struck">
          G 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
      </mrow> 
     </math>.</p>
    <p>The KGC establishes the upper limit of FNs at 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        J 
      </mi> 
     </math>, and defines 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         ⊆ 
       </mo> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mn>
           1 
         </mn> 
         <mi>
           j 
         </mi> 
         <mo>
           , 
         </mo> 
         <mn>
           2 
         </mn> 
         <mi>
           j 
         </mi> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <mi>
           N 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math> as the indexed collection of operational SMs. A pseudo-random number producer generates 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         N 
       </mi> 
       <mo>
         × 
       </mo> 
       <mi>
         J 
       </mi> 
      </mrow> 
     </math> secret shares 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          a 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         ∈ 
       </mo> 
       <msubsup> 
        <mi>
          ℤ 
        </mi> 
        <mi>
          n 
        </mi> 
        <mtext>
          * 
        </mtext> 
       </msubsup> 
      </mrow> 
     </math>, where 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         i 
       </mi> 
       <mo>
         = 
       </mo> 
       <mn>
         1 
       </mn> 
       <mo>
         , 
       </mo> 
       <mo>
         ⋯ 
       </mo> 
       <mo>
         , 
       </mo> 
       <mi>
         N 
       </mi> 
      </mrow> 
     </math>, and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         j 
       </mi> 
       <mo>
         = 
       </mo> 
       <mn>
         1 
       </mn> 
       <mo>
         , 
       </mo> 
       <mo>
         ⋯ 
       </mo> 
       <mo>
         , 
       </mo> 
       <mi>
         J 
       </mi> 
      </mrow> 
     </math>. The KGC then computes 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          a 
        </mi> 
        <mrow> 
         <mn>
           0 
         </mn> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math>:</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          a 
        </mi> 
        <mrow> 
         <mn>
           0 
         </mn> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         = 
       </mo> 
       <munder> 
        <mstyle mathsize="140%" displaystyle="true"> 
         <mo>
           ∑ 
         </mo> 
        </mstyle> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mo>
           ∈ 
         </mo> 
         <mi>
           S 
         </mi> 
         <msub> 
          <mi>
            M 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
       </munder> 
       <mtext>
           
       </mtext> 
       <msub> 
        <mi>
          a 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mi>
         mod 
       </mi> 
       <mi>
         n 
       </mi> 
       <mo>
         , 
       </mo> 
       <mtext>
           
       </mtext> 
       <mtext>
           
       </mtext> 
       <mtext>
         where 
       </mtext> 
       <mtext>
           
       </mtext> 
       <mi>
         j 
       </mi> 
       <mo>
         = 
       </mo> 
       <mn>
         1 
       </mn> 
       <mo>
         , 
       </mo> 
       <mo>
         ⋯ 
       </mo> 
       <mo>
         , 
       </mo> 
       <mi>
         J 
       </mi> 
      </mrow> 
     </math>(1)</p>
   </sec>
   <sec id="s5_2">
    <title>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>5.2. Registration</title>
    <p>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>1) 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> Registration and Pseudonym Selection: Each SM 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> produces its unique identity 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         I 
       </mi> 
       <msub> 
        <mi>
          D 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math>, randomly chooses a private key 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         s 
       </mi> 
       <msub> 
        <mi>
          k 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         ∈ 
       </mo> 
       <msubsup> 
        <mi>
          ℤ 
        </mi> 
        <mi>
          q 
        </mi> 
        <mo>
          * 
        </mo> 
       </msubsup> 
      </mrow> 
     </math>, and derives its public key as 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         p 
       </mi> 
       <msub> 
        <mi>
          k 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mi>
         s 
       </mi> 
       <msub> 
        <mi>
          k 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         ⋅ 
       </mo> 
       <mi>
         P 
       </mi> 
      </mrow> 
     </math>, with 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        P 
      </mi> 
     </math> representing the group’s generator. The pseudonym 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         P 
       </mi> 
       <mi>
         I 
       </mi> 
       <msub> 
        <mi>
          D 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> is computed as: 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         P 
       </mi> 
       <mi>
         I 
       </mi> 
       <msub> 
        <mi>
          D 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         = 
       </mo> 
       <msub> 
        <mi>
          H 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           R 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           | 
         </mo> 
         <mo>
           | 
         </mo> 
         <mi>
           s 
         </mi> 
         <msub> 
          <mi>
            k 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> The signature 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mover accent="true"> 
         <mi>
           σ 
         </mi> 
         <mo>
           ¯ 
         </mo> 
        </mover> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> is then calculated as: 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mover accent="true"> 
         <mi>
           σ 
         </mi> 
         <mo>
           ¯ 
         </mo> 
        </mover> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         = 
       </mo> 
       <msub> 
        <mi>
          H 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           ∥ 
         </mo> 
         <mi>
           p 
         </mi> 
         <msub> 
          <mi>
            k 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           ∥ 
         </mo> 
         <mi>
           T 
         </mi> 
         <mi>
           S 
         </mi> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         ⋅ 
       </mo> 
       <mi>
         s 
       </mi> 
       <msub> 
        <mi>
          k 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> The SM 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> sends 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mi>
           R 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           p 
         </mi> 
         <msub> 
          <mi>
            k 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math> to KGC along with the timestamp 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         T 
       </mi> 
       <mi>
         S 
       </mi> 
      </mrow> 
     </math>.</p>
    <p>Upon receiving the registration request, the KGC first verifies the signature:</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mover accent="true"> 
         <mi>
           σ 
         </mi> 
         <mo>
           ¯ 
         </mo> 
        </mover> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         ⋅ 
       </mo> 
       <mi>
         P 
       </mi> 
       <mo>
         = 
       </mo> 
       <msub> 
        <mi>
          H 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           ∥ 
         </mo> 
         <mi>
           p 
         </mi> 
         <msub> 
          <mi>
            k 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           ∥ 
         </mo> 
         <mi>
           T 
         </mi> 
         <mi>
           S 
         </mi> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         ⋅ 
       </mo> 
       <mi>
         p 
       </mi> 
       <msub> 
        <mi>
          k 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math></p>
    <p>If the signature is valid, the KGC generates a list of pseudonyms 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          L 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> based on the real identity 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         R 
       </mi> 
       <mi>
         I 
       </mi> 
       <msub> 
        <mi>
          D 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math>. The pseudonym list corresponding to 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         P 
       </mi> 
       <mi>
         I 
       </mi> 
       <msub> 
        <mi>
          D 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> of 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> is as follows: 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          L 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mn>
             1 
           </mn> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mn>
             2 
           </mn> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mi>
             l 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math>.</p>
    <p>During the 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        l 
      </mi> 
     </math>-th anonymous update cycle, the KGC selects a random number 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          z 
        </mi> 
        <mi>
          l 
        </mi> 
       </msub> 
       <mo>
         ∈ 
       </mo> 
       <msubsup> 
        <mi>
          ℤ 
        </mi> 
        <mi>
          q 
        </mi> 
        <mtext>
          * 
        </mtext> 
       </msubsup> 
      </mrow> 
     </math> (where 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         l 
       </mi> 
       <mo>
         = 
       </mo> 
       <mn>
         1 
       </mn> 
       <mo>
         , 
       </mo> 
       <mn>
         2 
       </mn> 
       <mo>
         , 
       </mo> 
       <mo>
         ⋯ 
       </mo> 
       <mo>
         , 
       </mo> 
       <mi>
         N 
       </mi> 
      </mrow> 
     </math>) to modify the pseudo-identity of 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math>. The updated pseudonym is computed as: 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         P 
       </mi> 
       <mi>
         I 
       </mi> 
       <msub> 
        <mi>
          D 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mi>
           l 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mi>
         P 
       </mi> 
       <mi>
         I 
       </mi> 
       <msub> 
        <mi>
          D 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         ⊕ 
       </mo> 
       <msub> 
        <mi>
          H 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           ∥ 
         </mo> 
         <msub> 
          <mi>
            z 
          </mi> 
          <mi>
            l 
          </mi> 
         </msub> 
         <mo>
           ⋅ 
         </mo> 
         <mi>
           P 
         </mi> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> The new signature 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          σ 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mi>
           l 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> is calculated as:</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          σ 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mi>
           l 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mi>
         H 
       </mi> 
       <mn>
         1 
       </mn> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mi>
             l 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           ∥ 
         </mo> 
         <mi>
           p 
         </mi> 
         <msub> 
          <mi>
            k 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo> 
         </mo> 
         <mo> 
         </mo> 
         <mo>
           ∥ 
         </mo> 
         <mi>
           T 
         </mi> 
         <mi>
           S 
         </mi> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         ⋅ 
       </mo> 
       <mi>
         s 
       </mi> 
       <msub> 
        <mi>
          k 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math>(2)</p>
    <p>The KGC verifies the following equation to ensure consistency:</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         H 
       </mi> 
       <mn>
         1 
       </mn> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           ∥ 
         </mo> 
         <mi>
           p 
         </mi> 
         <msub> 
          <mi>
            k 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           ∥ 
         </mo> 
         <mi>
           T 
         </mi> 
         <mi>
           S 
         </mi> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         ⋅ 
       </mo> 
       <mi>
         p 
       </mi> 
       <msub> 
        <mi>
          k 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         = 
       </mo> 
       <msub> 
        <mi>
          σ 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mi>
           l 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         ⋅ 
       </mo> 
       <mi>
         P 
       </mi> 
      </mrow> 
     </math>(3)</p>
    <p>If the formula is satisfied, the tuple 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mi>
             l 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           p 
         </mi> 
         <msub> 
          <mi>
            k 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            σ 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mi>
             l 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math> is recorded. After successful verification and registration, the KGC sends 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mi>
             l 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           p 
         </mi> 
         <msub> 
          <mi>
            k 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            σ 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mi>
             l 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math> to the FN and CC for further processing.</p>
    <p>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>2) FN Registration: FN is registered, randomly selected 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         s 
       </mi> 
       <msub> 
        <mi>
          k 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
       <mo>
         ∈ 
       </mo> 
       <msubsup> 
        <mi>
          Z 
        </mi> 
        <mi>
          q 
        </mi> 
        <mtext>
          * 
        </mtext> 
       </msubsup> 
      </mrow> 
     </math> as the private key, and computed the public key 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         p 
       </mi> 
       <msub> 
        <mi>
          k 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mi>
         s 
       </mi> 
       <msub> 
        <mi>
          k 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
       <mi>
         P 
       </mi> 
      </mrow> 
     </math>, where 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           p 
         </mi> 
         <msub> 
          <mi>
            k 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math> sent to KGC.</p>
    <p>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>3) CC Registration: CC randomly selects 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         s 
       </mi> 
       <msub> 
        <mi>
          k 
        </mi> 
        <mrow> 
         <mtext>
           CC 
         </mtext> 
        </mrow> 
       </msub> 
       <mo>
         ∈ 
       </mo> 
       <msubsup> 
        <mi>
          Z 
        </mi> 
        <mi>
          q 
        </mi> 
        <mtext>
          * 
        </mtext> 
       </msubsup> 
      </mrow> 
     </math> as the private key and computes the public key 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         p 
       </mi> 
       <msub> 
        <mi>
          k 
        </mi> 
        <mrow> 
         <mtext>
           CC 
         </mtext> 
        </mrow> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mi>
         s 
       </mi> 
       <msub> 
        <mi>
          k 
        </mi> 
        <mrow> 
         <mtext>
           CC 
         </mtext> 
        </mrow> 
       </msub> 
       <mi>
         P 
       </mi> 
      </mrow> 
     </math>. Then, CC sends 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mtext>
             CC 
           </mtext> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           p 
         </mi> 
         <msub> 
          <mi>
            k 
          </mi> 
          <mrow> 
           <mtext>
             CC 
           </mtext> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math> to KGC.</p>
    <p>At the end of this phase, KGC publishes the system parameters as</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mtext>
         Γ 
       </mtext> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           e 
         </mi> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi mathvariant="double-struck">
            G 
          </mi> 
          <mn>
            1 
          </mn> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi mathvariant="double-struck">
            G 
          </mi> 
          <mn>
            2 
          </mn> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           p 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           P 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           n 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           g 
         </mi> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            h 
          </mi> 
          <mn>
            1 
          </mn> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           z 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           H 
         </mi> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            H 
          </mi> 
          <mn>
            1 
          </mn> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           p 
         </mi> 
         <msub> 
          <mi>
            k 
          </mi> 
          <mrow> 
           <mtext>
             CC 
           </mtext> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mrow> 
           <mrow> 
            <mo>
              { 
            </mo> 
            <mrow> 
             <mi>
               p 
             </mi> 
             <msub> 
              <mi>
                k 
              </mi> 
              <mi>
                j 
              </mi> 
             </msub> 
            </mrow> 
            <mo>
              } 
            </mo> 
           </mrow> 
          </mrow> 
          <mrow> 
           <mn>
             1 
           </mn> 
           <mo>
             ≤ 
           </mo> 
           <mi>
             j 
           </mi> 
           <mo>
             ≤ 
           </mo> 
           <mi>
             J 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mrow> 
           <mrow> 
            <mo>
              { 
            </mo> 
            <mrow> 
             <mi>
               p 
             </mi> 
             <msub> 
              <mi>
                k 
              </mi> 
              <mrow> 
               <mi>
                 i 
               </mi> 
               <mi>
                 j 
               </mi> 
              </mrow> 
             </msub> 
            </mrow> 
            <mo>
              } 
            </mo> 
           </mrow> 
          </mrow> 
          <mrow> 
           <mn>
             1 
           </mn> 
           <mo>
             ≤ 
           </mo> 
           <mi>
             i 
           </mi> 
           <mo>
             ≤ 
           </mo> 
           <mi>
             N 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             1 
           </mn> 
           <mo>
             ≤ 
           </mo> 
           <mi>
             j 
           </mi> 
           <mo>
             ≤ 
           </mo> 
           <mi>
             J 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math></p>
   </sec>
   <sec id="s5_3">
    <title>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>5.3. Report Generation</title>
    <p>During the time period 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        T 
      </mi> 
     </math>, each 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> encrypts the 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        l 
      </mi> 
     </math>-dimensional data 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            m 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            m 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             2 
           </mn> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            m 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             l 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> and simultaneously creates the corresponding signature in <xref ref-type="fig" rid="fig2">
      Figure 2
     </xref>.</p>
    <fig id="fig2" position="float">
     <label>Figure 2</label>
     <caption>
      <title>Figure 2. Data operation flowchart.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/1733100-rId335.jpeg?20250328031245" />
    </fig>
    <p>Step 1: 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> encodes 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            m 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            m 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             2 
           </mn> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            m 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             l 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> into the binary string 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            b 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            b 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mo>
             , 
           </mo> 
           <mn>
             2 
           </mn> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            b 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             l 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> where each of the 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          b 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           d 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         = 
       </mo> 
       <msub> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <msub> 
            <mi>
              m 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
             <mo>
               , 
             </mo> 
             <mi>
               d 
             </mi> 
            </mrow> 
           </msub> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mn>
          2 
        </mn> 
       </msub> 
       <mo>
         ∥ 
       </mo> 
       <msup> 
        <mn>
          0 
        </mn> 
        <mrow> 
         <mi>
           z 
         </mi> 
         <mo>
           ∗ 
         </mo> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             d 
           </mi> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msup> 
       <mo>
         , 
       </mo> 
       <mi>
         d 
       </mi> 
       <mo>
         = 
       </mo> 
       <mn>
         1 
       </mn> 
       <mo>
         , 
       </mo> 
       <mn>
         2 
       </mn> 
       <mo>
         , 
       </mo> 
       <mo>
         ⋯ 
       </mo> 
       <mo>
         , 
       </mo> 
       <mi>
         l 
       </mi> 
      </mrow> 
     </math> and assigns its private information as 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          m 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mstyle displaystyle="true"> 
        <msubsup> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            d 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mi>
           l 
         </mi> 
        </msubsup> 
        <mrow> 
         <msub> 
          <mi>
            b 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             d 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
       </mstyle> 
      </mrow> 
     </math>. 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          B 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         = 
       </mo> 
       <msub> 
        <mi>
          b 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mo>
           , 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
       </msub> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          b 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mo>
           , 
         </mo> 
         <mn>
           2 
         </mn> 
        </mrow> 
       </msub> 
       <mo>
         + 
       </mo> 
       <mo>
         ⋯ 
       </mo> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          b 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           l 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math>. Then encode, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> to compute 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mover accent="true"> 
        <mrow> 
         <msub> 
          <mi>
            B 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo stretchy="true">
          ¯ 
        </mo> 
       </mover> 
      </mrow> 
     </math>.</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mover accent="true"> 
        <mrow> 
         <msub> 
          <mi>
            B 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo stretchy="true">
          ¯ 
        </mo> 
       </mover> 
       <mo>
         = 
       </mo> 
       <msub> 
        <mi>
          B 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          a 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mi>
         mod 
       </mi> 
       <mi>
         n 
       </mi> 
      </mrow> 
     </math>(4)</p>
    <p>Step 2: In the preceding Paillier encryption method, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> selects a random number 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          r 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         ∈ 
       </mo> 
       <msubsup> 
        <mi>
          ℤ 
        </mi> 
        <mi>
          n 
        </mi> 
        <mtext>
          * 
        </mtext> 
       </msubsup> 
      </mrow> 
     </math> and calculates the encrypted content as</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          C 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         = 
       </mo> 
       <msup> 
        <mi>
          g 
        </mi> 
        <mrow> 
         <mover accent="true"> 
          <mrow> 
           <msub> 
            <mi>
              B 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
          </mrow> 
          <mo stretchy="true">
            ¯ 
          </mo> 
         </mover> 
        </mrow> 
       </msup> 
       <mo>
         ⋅ 
       </mo> 
       <msubsup> 
        <mi>
          r 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
        <mi>
          n 
        </mi> 
       </msubsup> 
       <mi>
         mod 
       </mi> 
       <msup> 
        <mi>
          n 
        </mi> 
        <mn>
          2 
        </mn> 
       </msup> 
      </mrow> 
     </math>(5)</p>
    <p>In our Paillier cryptosystem, randomly generate 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          α 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         , 
       </mo> 
       <msub> 
        <mi>
          α 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         ∈ 
       </mo> 
       <msub> 
        <mi>
          Z 
        </mi> 
        <mn>
          2 
        </mn> 
       </msub> 
       <mrow> 
        <mo>
          [ 
        </mo> 
        <mrow> 
         <mrow> 
          <mi>
            k 
          </mi> 
          <mo>
            / 
          </mo> 
          <mn>
            2 
          </mn> 
         </mrow> 
        </mrow> 
        <mo>
          ] 
        </mo> 
       </mrow> 
      </mrow> 
     </math>, where k is the key length</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mtable> 
       <mtr> 
        <mtd> 
         <msub> 
          <mi>
            C 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           = 
         </mo> 
         <msup> 
          <mi>
            g 
          </mi> 
          <mrow> 
           <mover accent="true"> 
            <mrow> 
             <msub> 
              <mi>
                B 
              </mi> 
              <mrow> 
               <mi>
                 i 
               </mi> 
               <mi>
                 j 
               </mi> 
              </mrow> 
             </msub> 
            </mrow> 
            <mo stretchy="true">
              ¯ 
            </mo> 
           </mover> 
          </mrow> 
         </msup> 
         <mo>
           ⋅ 
         </mo> 
         <msup> 
          <mi>
            g 
          </mi> 
          <mrow> 
           <msub> 
            <mi>
              α 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
          </mrow> 
         </msup> 
         <mi>
           mod 
         </mi> 
         <msup> 
          <mi>
            n 
          </mi> 
          <mn>
            2 
          </mn> 
         </msup> 
        </mtd> 
       </mtr> 
       <mtr> 
        <mtd> 
         <mo>
           = 
         </mo> 
         <msup> 
          <mo stretchy="false">
            ( 
          </mo> 
          <mi>
            n 
          </mi> 
          <mo>
            + 
          </mo> 
          <mn>
            1 
          </mn> 
          <mo stretchy="false">
            ) 
          </mo> 
          <mrow> 
           <mover accent="true"> 
            <mrow> 
             <msub> 
              <mi>
                B 
              </mi> 
              <mrow> 
               <mi>
                 i 
               </mi> 
               <mi>
                 j 
               </mi> 
              </mrow> 
             </msub> 
            </mrow> 
            <mo stretchy="true">
              ¯ 
            </mo> 
           </mover> 
          </mrow> 
         </msup> 
         <mo>
           ⋅ 
         </mo> 
         <msubsup> 
          <mi>
            h 
          </mi> 
          <mn>
            1 
          </mn> 
          <mrow> 
           <msub> 
            <mi>
              α 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
          </mrow> 
         </msubsup> 
         <mi>
           mod 
         </mi> 
         <msup> 
          <mi>
            n 
          </mi> 
          <mn>
            2 
          </mn> 
         </msup> 
        </mtd> 
       </mtr> 
       <mtr> 
        <mtd> 
         <mo>
           = 
         </mo> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             n 
           </mi> 
           <mo>
             ∗ 
           </mo> 
           <mover accent="true"> 
            <mrow> 
             <msub> 
              <mi>
                B 
              </mi> 
              <mrow> 
               <mi>
                 i 
               </mi> 
               <mi>
                 j 
               </mi> 
              </mrow> 
             </msub> 
            </mrow> 
            <mo stretchy="true">
              ¯ 
            </mo> 
           </mover> 
           <mo>
             + 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
         <msubsup> 
          <mi>
            h 
          </mi> 
          <mn>
            1 
          </mn> 
          <mrow> 
           <msub> 
            <mi>
              α 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
          </mrow> 
         </msubsup> 
         <mi>
           mod 
         </mi> 
         <msup> 
          <mi>
            n 
          </mi> 
          <mn>
            2 
          </mn> 
         </msup> 
        </mtd> 
       </mtr> 
       <mtr> 
        <mtd> 
         <mo>
           = 
         </mo> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             n 
           </mi> 
           <mo>
             ∗ 
           </mo> 
           <mover accent="true"> 
            <mrow> 
             <msub> 
              <mi>
                B 
              </mi> 
              <mrow> 
               <mi>
                 i 
               </mi> 
               <mi>
                 j 
               </mi> 
              </mrow> 
             </msub> 
            </mrow> 
            <mo stretchy="true">
              ¯ 
            </mo> 
           </mover> 
           <mo>
             + 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
         <msubsup> 
          <mi>
            h 
          </mi> 
          <mn>
            1 
          </mn> 
          <mrow> 
           <msub> 
            <mi>
              α 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
          </mrow> 
         </msubsup> 
         <mi>
           mod 
         </mi> 
         <msup> 
          <mi>
            n 
          </mi> 
          <mn>
            2 
          </mn> 
         </msup> 
        </mtd> 
       </mtr> 
       <mtr> 
        <mtd> 
         <mo>
           = 
         </mo> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             n 
           </mi> 
           <mo>
             ∗ 
           </mo> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <msub> 
              <mi>
                B 
              </mi> 
              <mrow> 
               <mi>
                 i 
               </mi> 
               <mi>
                 j 
               </mi> 
              </mrow> 
             </msub> 
             <mo>
               + 
             </mo> 
             <msub> 
              <mi>
                a 
              </mi> 
              <mrow> 
               <mi>
                 i 
               </mi> 
               <mi>
                 j 
               </mi> 
              </mrow> 
             </msub> 
             <mi>
               mod 
             </mi> 
             <mi>
               n 
             </mi> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
           <mo>
             + 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
         <msubsup> 
          <mi>
            h 
          </mi> 
          <mn>
            1 
          </mn> 
          <mrow> 
           <msub> 
            <mi>
              α 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
          </mrow> 
         </msubsup> 
         <mi>
           mod 
         </mi> 
         <msup> 
          <mi>
            n 
          </mi> 
          <mn>
            2 
          </mn> 
         </msup> 
        </mtd> 
       </mtr> 
      </mtable> 
     </math>(6)</p>
    <p>Step 3: 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> Utilize the private key 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         s 
       </mi> 
       <msub> 
        <mi>
          k 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> to generate the signature as described below. 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          σ 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mi>
         s 
       </mi> 
       <msub> 
        <mi>
          k 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mi>
         H 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            C 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           | 
         </mo> 
         <mo>
           | 
         </mo> 
         <mi>
           T 
         </mi> 
         <mi>
           S 
         </mi> 
         <mo>
           | 
         </mo> 
         <mo>
           | 
         </mo> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
         <mo>
           | 
         </mo> 
         <mo>
           | 
         </mo> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mi>
             l 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> where TS means the present timestamp.</p>
    <p>Step 4: 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> transmits the verified data report information 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            C 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           T 
         </mi> 
         <mi>
           S 
         </mi> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            σ 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mi>
             l 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> to the corresponding 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          F 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math>.</p>
   </sec>
   <sec id="s5_4">
    <title>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>5.4. Data Aggregation</title>
    <p>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>1) All-Inclusive Data Aggregation: During the period 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        T 
      </mi> 
     </math>, we posit the occurrence of certain SM failures within the SG, and use 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
       <mo>
         ⊆ 
       </mo> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mn>
             1 
           </mn> 
           <mi>
             j 
           </mi> 
           <mi>
             l 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mn>
             2 
           </mn> 
           <mi>
             j 
           </mi> 
           <mi>
             l 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mi>
             N 
           </mi> 
           <mi>
             j 
           </mi> 
           <mi>
             l 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math> to denote the index set of working SMs. Let 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          w 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          | 
        </mo> 
        <mrow> 
         <mi>
           S 
         </mi> 
         <msub> 
          <mi>
            M 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
        </mrow> 
        <mo>
          | 
        </mo> 
       </mrow> 
      </mrow> 
     </math> describe the quantity of operational SMs under 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          F 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math>, and let 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        t 
      </mi> 
     </math> signify the minimum threshold of the effective sample size. When 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          w 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
       <mo>
         ≥ 
       </mo> 
       <mi>
         t 
       </mi> 
      </mrow> 
     </math>, verified data report messages (e.g., 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            C 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           T 
         </mi> 
         <mi>
           S 
         </mi> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            σ 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mi>
             l 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math>) are received from legitimate SMs, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          F 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math> conducts a batch validation by verifying the subsequent calculation:</p>
    <p>( 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         e 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mstyle displaystyle="true"> 
          <msub> 
           <mo>
             ∑ 
           </mo> 
           <mrow> 
            <mi>
              i 
            </mi> 
            <mi>
              j 
            </mi> 
            <mo>
              ∈ 
            </mo> 
            <mi>
              S 
            </mi> 
            <msub> 
             <mi>
               M 
             </mi> 
             <mi>
               j 
             </mi> 
            </msub> 
           </mrow> 
          </msub> 
          <mrow> 
           <msub> 
            <mi>
              σ 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
          </mrow> 
         </mstyle> 
         <mo>
           , 
         </mo> 
         <mi>
           P 
         </mi> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mstyle displaystyle="true"> 
        <msub> 
         <mo>
           ∏ 
         </mo> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mi>
            j 
          </mi> 
          <mo>
            ∈ 
          </mo> 
          <mi>
            S 
          </mi> 
          <msub> 
           <mi>
             M 
           </mi> 
           <mi>
             j 
           </mi> 
          </msub> 
         </mrow> 
        </msub> 
        <mi>
          e 
        </mi> 
       </mstyle> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           H 
         </mi> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <msub> 
            <mi>
              C 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
           <mo>
             ∥ 
           </mo> 
           <mi>
             T 
           </mi> 
           <mi>
             S 
           </mi> 
           <mo>
             ∥ 
           </mo> 
           <mi>
             I 
           </mi> 
           <msub> 
            <mi>
              D 
            </mi> 
            <mi>
              j 
            </mi> 
           </msub> 
           <mo>
             ∥ 
           </mo> 
           <mi>
             P 
           </mi> 
           <mi>
             I 
           </mi> 
           <msub> 
            <mi>
              D 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
             <mi>
               l 
             </mi> 
            </mrow> 
           </msub> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
         <mo>
           , 
         </mo> 
         <mi>
           p 
         </mi> 
         <msub> 
          <mi>
            k 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math></p>
    <p>The 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mrow> 
         <mtext>
           FN 
         </mtext> 
        </mrow> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math> will initially conduct bulk verification to authenticate the received signature by determining if the subsequent equation is satisfied:</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mtable> 
       <mtr> 
        <mtd> 
         <mi>
           e 
         </mi> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <munder> 
            <mstyle mathsize="140%" displaystyle="true"> 
             <mo>
               ∑ 
             </mo> 
            </mstyle> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
             <mo>
               ∈ 
             </mo> 
             <mi>
               S 
             </mi> 
             <msub> 
              <mi>
                M 
              </mi> 
              <mi>
                j 
              </mi> 
             </msub> 
            </mrow> 
           </munder> 
           <mtext>
               
           </mtext> 
           <msub> 
            <mi>
              σ 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
           <mo>
             , 
           </mo> 
           <mi>
             P 
           </mi> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
         <mo>
           = 
         </mo> 
         <munder> 
          <mstyle mathsize="140%" displaystyle="true"> 
           <mo>
             ∏ 
           </mo> 
          </mstyle> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mo>
             ∈ 
           </mo> 
           <mi>
             S 
           </mi> 
           <msub> 
            <mi>
              M 
            </mi> 
            <mi>
              j 
            </mi> 
           </msub> 
          </mrow> 
         </munder> 
         <mtext>
             
         </mtext> 
         <mi>
           e 
         </mi> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             H 
           </mi> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <msub> 
              <mi>
                C 
              </mi> 
              <mrow> 
               <mi>
                 i 
               </mi> 
               <mi>
                 j 
               </mi> 
              </mrow> 
             </msub> 
             <mo>
               ∥ 
             </mo> 
             <mi>
               T 
             </mi> 
             <mi>
               S 
             </mi> 
             <mo>
               ∥ 
             </mo> 
             <mi>
               I 
             </mi> 
             <msub> 
              <mi>
                D 
              </mi> 
              <mi>
                j 
              </mi> 
             </msub> 
             <mo>
               ∥ 
             </mo> 
             <mi>
               P 
             </mi> 
             <mi>
               I 
             </mi> 
             <msub> 
              <mi>
                D 
              </mi> 
              <mrow> 
               <mi>
                 i 
               </mi> 
               <mi>
                 j 
               </mi> 
               <mi>
                 l 
               </mi> 
              </mrow> 
             </msub> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
           <mo>
             , 
           </mo> 
           <mi>
             p 
           </mi> 
           <msub> 
            <mi>
              k 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mtd> 
       </mtr> 
       <mtr> 
        <mtd> 
         <mo>
           = 
         </mo> 
         <munder> 
          <mstyle mathsize="140%" displaystyle="true"> 
           <mo>
             ∏ 
           </mo> 
          </mstyle> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mo>
             ∈ 
           </mo> 
           <mi>
             S 
           </mi> 
           <msub> 
            <mi>
              M 
            </mi> 
            <mi>
              j 
            </mi> 
           </msub> 
          </mrow> 
         </munder> 
         <mtext>
             
         </mtext> 
         <mi>
           e 
         </mi> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             H 
           </mi> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <msub> 
              <mi>
                C 
              </mi> 
              <mrow> 
               <mi>
                 i 
               </mi> 
               <mi>
                 j 
               </mi> 
              </mrow> 
             </msub> 
             <mo>
               ∥ 
             </mo> 
             <mi>
               T 
             </mi> 
             <mi>
               S 
             </mi> 
             <mo>
               ∥ 
             </mo> 
             <mi>
               I 
             </mi> 
             <msub> 
              <mi>
                D 
              </mi> 
              <mi>
                j 
              </mi> 
             </msub> 
             <mo>
               ∥ 
             </mo> 
             <mi>
               P 
             </mi> 
             <mi>
               I 
             </mi> 
             <msub> 
              <mi>
                D 
              </mi> 
              <mrow> 
               <mi>
                 i 
               </mi> 
               <mi>
                 j 
               </mi> 
               <mi>
                 l 
               </mi> 
              </mrow> 
             </msub> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
           <mo>
             , 
           </mo> 
           <mi>
             s 
           </mi> 
           <msub> 
            <mi>
              k 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
           <mi>
             P 
           </mi> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mtd> 
       </mtr> 
       <mtr> 
        <mtd> 
         <mo>
           = 
         </mo> 
         <munder> 
          <mstyle mathsize="140%" displaystyle="true"> 
           <mo>
             ∏ 
           </mo> 
          </mstyle> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mo>
             ∈ 
           </mo> 
           <mi>
             S 
           </mi> 
           <msub> 
            <mi>
              M 
            </mi> 
            <mi>
              j 
            </mi> 
           </msub> 
          </mrow> 
         </munder> 
         <mtext>
             
         </mtext> 
         <mi>
           e 
         </mi> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             s 
           </mi> 
           <msub> 
            <mi>
              k 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
           <mi>
             H 
           </mi> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <msub> 
              <mi>
                C 
              </mi> 
              <mrow> 
               <mi>
                 i 
               </mi> 
               <mi>
                 j 
               </mi> 
              </mrow> 
             </msub> 
             <mo>
               ∥ 
             </mo> 
             <mi>
               T 
             </mi> 
             <mi>
               S 
             </mi> 
             <mo>
               ∥ 
             </mo> 
             <mi>
               I 
             </mi> 
             <msub> 
              <mi>
                D 
              </mi> 
              <mi>
                j 
              </mi> 
             </msub> 
             <mo>
               ∥ 
             </mo> 
             <mi>
               P 
             </mi> 
             <mi>
               I 
             </mi> 
             <msub> 
              <mi>
                D 
              </mi> 
              <mrow> 
               <mi>
                 i 
               </mi> 
               <mi>
                 j 
               </mi> 
               <mi>
                 l 
               </mi> 
              </mrow> 
             </msub> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
           <mo>
             , 
           </mo> 
           <mi>
             P 
           </mi> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mtd> 
       </mtr> 
       <mtr> 
        <mtd> 
         <mo>
           = 
         </mo> 
         <munder> 
          <mstyle mathsize="140%" displaystyle="true"> 
           <mo>
             ∏ 
           </mo> 
          </mstyle> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mo>
             ∈ 
           </mo> 
           <mi>
             S 
           </mi> 
           <msub> 
            <mi>
              M 
            </mi> 
            <mi>
              j 
            </mi> 
           </msub> 
          </mrow> 
         </munder> 
         <mtext>
             
         </mtext> 
         <mi>
           e 
         </mi> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <msub> 
            <mi>
              σ 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
           <mo>
             , 
           </mo> 
           <mi>
             P 
           </mi> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mtd> 
       </mtr> 
      </mtable> 
     </math>(7)</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         e 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           P 
         </mi> 
         <mo>
           , 
         </mo> 
         <munderover> 
          <mstyle mathsize="140%" displaystyle="true"> 
           <mo>
             ∑ 
           </mo> 
          </mstyle> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mo>
             = 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mrow> 
           <msub> 
            <mi>
              w 
            </mi> 
            <mi>
              j 
            </mi> 
           </msub> 
          </mrow> 
         </munderover> 
         <mtext>
             
         </mtext> 
         <msub> 
          <mi>
            σ 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <munderover> 
        <mstyle mathsize="140%" displaystyle="true"> 
         <mo>
           ∏ 
         </mo> 
        </mstyle> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mo>
           = 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mrow> 
         <msub> 
          <mi>
            w 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
        </mrow> 
       </munderover> 
       <mtext>
           
       </mtext> 
       <mi>
         e 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            p 
          </mi> 
          <mrow> 
           <msub> 
            <mi>
              k 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           H 
         </mi> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <msub> 
            <mi>
              C 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
           <mo>
             ∥ 
           </mo> 
           <mi>
             I 
           </mi> 
           <msub> 
            <mi>
              D 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
           <mo>
             ∥ 
           </mo> 
           <mi>
             T 
           </mi> 
           <mi>
             S 
           </mi> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         . 
       </mo> 
      </mrow> 
     </math>(8)</p>
    <p>Batch verification decreases the quantity of pairing processes from 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          w 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math> to 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          w 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
       <mo>
         + 
       </mo> 
       <mn>
         1 
       </mn> 
      </mrow> 
     </math>. Upon validation, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mrow> 
         <mtext>
           FN 
         </mtext> 
        </mrow> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math> aggregates all encrypted data and transmits the aggregated data to CC. Execute the subsequent steps.</p>
    <p>Step 1: 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mrow> 
         <mtext>
           FN 
         </mtext> 
        </mrow> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math> aggregates 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          w 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math> encrypted ciphertexts into</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mtable> 
       <mtr> 
        <mtd> 
         <msub> 
          <mi>
            C 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
         <mo>
           = 
         </mo> 
         <munderover> 
          <mstyle displaystyle="true" mathsize="140%"> 
           <mo>
             ∏ 
           </mo> 
          </mstyle> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mo>
             = 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mrow> 
           <msub> 
            <mi>
              w 
            </mi> 
            <mi>
              j 
            </mi> 
           </msub> 
          </mrow> 
         </munderover> 
         <mtext>
             
         </mtext> 
         <msub> 
          <mi>
            C 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mi>
           mod 
         </mi> 
         <msup> 
          <mi>
            n 
          </mi> 
          <mn>
            2 
          </mn> 
         </msup> 
        </mtd> 
       </mtr> 
       <mtr> 
        <mtd> 
         <mo>
           = 
         </mo> 
         <munderover> 
          <mstyle displaystyle="true" mathsize="140%"> 
           <mo>
             ∏ 
           </mo> 
          </mstyle> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mo>
             = 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mrow> 
           <msub> 
            <mi>
              w 
            </mi> 
            <mi>
              j 
            </mi> 
           </msub> 
          </mrow> 
         </munderover> 
         <mtext>
             
         </mtext> 
         <msup> 
          <mi>
            g 
          </mi> 
          <mrow> 
           <mover accent="true"> 
            <mrow> 
             <msub> 
              <mi>
                B 
              </mi> 
              <mrow> 
               <mi>
                 i 
               </mi> 
               <mi>
                 j 
               </mi> 
              </mrow> 
             </msub> 
            </mrow> 
            <mo stretchy="true">
              ¯ 
            </mo> 
           </mover> 
          </mrow> 
         </msup> 
         <mo>
           ⋅ 
         </mo> 
         <msubsup> 
          <mi>
            h 
          </mi> 
          <mn>
            1 
          </mn> 
          <mrow> 
           <msub> 
            <mi>
              α 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
          </mrow> 
         </msubsup> 
         <mi>
           mod 
         </mi> 
         <msup> 
          <mi>
            n 
          </mi> 
          <mn>
            2 
          </mn> 
         </msup> 
        </mtd> 
       </mtr> 
       <mtr> 
        <mtd> 
         <mo>
           = 
         </mo> 
         <msup> 
          <mi>
            g 
          </mi> 
          <mrow> 
           <mstyle displaystyle="true"> 
            <msubsup> 
             <mo>
               ∑ 
             </mo> 
             <mrow> 
              <mi>
                i 
              </mi> 
              <mo>
                = 
              </mo> 
              <mn>
                1 
              </mn> 
             </mrow> 
             <mrow> 
              <msub> 
               <mi>
                 w 
               </mi> 
               <mi>
                 j 
               </mi> 
              </msub> 
             </mrow> 
            </msubsup> 
            <mrow> 
             <mover accent="true"> 
              <mrow> 
               <msub> 
                <mi>
                  B 
                </mi> 
                <mi>
                  i 
                </mi> 
               </msub> 
              </mrow> 
              <mo stretchy="true">
                ¯ 
              </mo> 
             </mover> 
            </mrow> 
           </mstyle> 
          </mrow> 
         </msup> 
         <mo>
           ⋅ 
         </mo> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <munderover> 
            <mstyle displaystyle="true" mathsize="140%"> 
             <mo>
               ∏ 
             </mo> 
            </mstyle> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mo>
               = 
             </mo> 
             <mn>
               1 
             </mn> 
            </mrow> 
            <mrow> 
             <msub> 
              <mi>
                w 
              </mi> 
              <mi>
                j 
              </mi> 
             </msub> 
            </mrow> 
           </munderover> 
           <mtext>
               
           </mtext> 
           <msubsup> 
            <mi>
              h 
            </mi> 
            <mn>
              1 
            </mn> 
            <mrow> 
             <msub> 
              <mi>
                α 
              </mi> 
              <mrow> 
               <mi>
                 i 
               </mi> 
               <mi>
                 j 
               </mi> 
              </mrow> 
             </msub> 
            </mrow> 
           </msubsup> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
         <mi>
           mod 
         </mi> 
         <msup> 
          <mi>
            n 
          </mi> 
          <mn>
            2 
          </mn> 
         </msup> 
        </mtd> 
       </mtr> 
       <mtr> 
        <mtd> 
         <mo>
           = 
         </mo> 
         <msup> 
          <mi>
            g 
          </mi> 
          <mrow> 
           <mstyle displaystyle="true"> 
            <msubsup> 
             <mo>
               ∑ 
             </mo> 
             <mrow> 
              <mi>
                i 
              </mi> 
              <mo>
                = 
              </mo> 
              <mn>
                1 
              </mn> 
             </mrow> 
             <mrow> 
              <msub> 
               <mi>
                 w 
               </mi> 
               <mi>
                 j 
               </mi> 
              </msub> 
             </mrow> 
            </msubsup> 
            <mrow> 
             <mrow> 
              <mo>
                ( 
              </mo> 
              <mrow> 
               <msub> 
                <mi>
                  B 
                </mi> 
                <mrow> 
                 <mi>
                   i 
                 </mi> 
                 <mi>
                   j 
                 </mi> 
                </mrow> 
               </msub> 
               <mo>
                 + 
               </mo> 
               <msub> 
                <mi>
                  a 
                </mi> 
                <mrow> 
                 <mi>
                   i 
                 </mi> 
                 <mi>
                   j 
                 </mi> 
                </mrow> 
               </msub> 
              </mrow> 
              <mo>
                ) 
              </mo> 
             </mrow> 
             <mi>
               mod 
             </mi> 
             <mi>
               n 
             </mi> 
            </mrow> 
           </mstyle> 
          </mrow> 
         </msup> 
         <mo>
           ⋅ 
         </mo> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <msubsup> 
            <mi>
              h 
            </mi> 
            <mn>
              1 
            </mn> 
            <mrow> 
             <mstyle displaystyle="true"> 
              <msubsup> 
               <mo>
                 ∑ 
               </mo> 
               <mrow> 
                <mi>
                  i 
                </mi> 
                <mo>
                  = 
                </mo> 
                <mn>
                  1 
                </mn> 
               </mrow> 
               <mrow> 
                <msub> 
                 <mi>
                   w 
                 </mi> 
                 <mi>
                   j 
                 </mi> 
                </msub> 
               </mrow> 
              </msubsup> 
              <mrow> 
               <msub> 
                <mi>
                  α 
                </mi> 
                <mrow> 
                 <mi>
                   i 
                 </mi> 
                 <mi>
                   j 
                 </mi> 
                </mrow> 
               </msub> 
              </mrow> 
             </mstyle> 
            </mrow> 
           </msubsup> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
         <mi>
           mod 
         </mi> 
         <msup> 
          <mi>
            n 
          </mi> 
          <mn>
            2 
          </mn> 
         </msup> 
        </mtd> 
       </mtr> 
       <mtr> 
        <mtd> 
         <mo>
           = 
         </mo> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mn>
             1 
           </mn> 
           <mo>
             + 
           </mo> 
           <mi>
             n 
           </mi> 
           <mo>
             ⋅ 
           </mo> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <munderover> 
              <mstyle displaystyle="true" mathsize="140%"> 
               <mo>
                 ∑ 
               </mo> 
              </mstyle> 
              <mrow> 
               <mi>
                 i 
               </mi> 
               <mo>
                 = 
               </mo> 
               <mn>
                 1 
               </mn> 
              </mrow> 
              <mrow> 
               <msub> 
                <mi>
                  w 
                </mi> 
                <mi>
                  j 
                </mi> 
               </msub> 
              </mrow> 
             </munderover> 
             <mrow> 
              <mo>
                ( 
              </mo> 
              <mrow> 
               <msub> 
                <mi>
                  B 
                </mi> 
                <mrow> 
                 <mi>
                   i 
                 </mi> 
                 <mi>
                   j 
                 </mi> 
                </mrow> 
               </msub> 
               <mo>
                 + 
               </mo> 
               <msub> 
                <mi>
                  a 
                </mi> 
                <mrow> 
                 <mi>
                   i 
                 </mi> 
                 <mi>
                   j 
                 </mi> 
                </mrow> 
               </msub> 
              </mrow> 
              <mo>
                ) 
              </mo> 
             </mrow> 
             <mi>
               mod 
             </mi> 
             <mi>
               n 
             </mi> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
         <mo>
           ⋅ 
         </mo> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <msubsup> 
            <mi>
              h 
            </mi> 
            <mn>
              1 
            </mn> 
            <mrow> 
             <mstyle displaystyle="true"> 
              <msubsup> 
               <mo>
                 ∑ 
               </mo> 
               <mrow> 
                <mi>
                  i 
                </mi> 
                <mo>
                  = 
                </mo> 
                <mn>
                  1 
                </mn> 
               </mrow> 
               <mrow> 
                <msub> 
                 <mi>
                   w 
                 </mi> 
                 <mi>
                   j 
                 </mi> 
                </msub> 
               </mrow> 
              </msubsup> 
              <mrow> 
               <msub> 
                <mi>
                  α 
                </mi> 
                <mrow> 
                 <mi>
                   i 
                 </mi> 
                 <mi>
                   j 
                 </mi> 
                </mrow> 
               </msub> 
              </mrow> 
             </mstyle> 
            </mrow> 
           </msubsup> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
         <mi>
           mod 
         </mi> 
         <msup> 
          <mi>
            n 
          </mi> 
          <mn>
            2 
          </mn> 
         </msup> 
        </mtd> 
       </mtr> 
      </mtable> 
     </math>(9)</p>
    <p>Step 2: The function 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mrow> 
         <mtext>
           FN 
         </mtext> 
        </mrow> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math> generates the signature utilizing its private key 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         s 
       </mi> 
       <msub> 
        <mi>
          k 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math> in the following manner.</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          σ 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mi>
         s 
       </mi> 
       <msub> 
        <mi>
          k 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
       <mi>
         H 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            C 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
         <mo>
           ∥ 
         </mo> 
         <mi>
           T 
         </mi> 
         <mi>
           S 
         </mi> 
         <mo>
           ∥ 
         </mo> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math>(10)</p>
    <p>where TS denotes the recent timestamp.</p>
    <p>Step 3: 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mrow> 
         <mtext>
           FN 
         </mtext> 
        </mrow> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math> sends a full report to CC containing</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            C 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           T 
         </mi> 
         <mi>
           S 
         </mi> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            σ 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math>(11)</p>
    <p>If some SMs break down, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mrow> 
         <mtext>
           FN 
         </mtext> 
        </mrow> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math> will not receive the corresponding packets.</p>
    <p>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>2) Fault-Tolerant Data Aggregation: When certain SMs are unable to transmitting data, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mrow> 
         <mtext>
           FN 
         </mtext> 
        </mrow> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math> will not obtain the relevant packets. Let 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
       <mo>
         ⊆ 
       </mo> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mn>
             1 
           </mn> 
           <mi>
             j 
           </mi> 
           <mi>
             l 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mn>
             2 
           </mn> 
           <mi>
             j 
           </mi> 
           <mi>
             l 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mi>
             N 
           </mi> 
           <mi>
             j 
           </mi> 
           <mi>
             l 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math> denote the collection of all operational SM units in 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mrow> 
         <mtext>
           FN 
         </mtext> 
        </mrow> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math>, and let 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <msup> 
         <mi>
           M 
         </mi> 
         <mo>
           ′ 
         </mo> 
        </msup> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math> represent the subset of defective SM devices ( 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <msup> 
         <mi>
           M 
         </mi> 
         <mo>
           ′ 
         </mo> 
        </msup> 
        <mi>
          j 
        </mi> 
       </msub> 
       <mo>
         ∈ 
       </mo> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math>). Consequently, we get</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          a 
        </mi> 
        <mrow> 
         <mn>
           0 
         </mn> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         ≠ 
       </mo> 
       <munder> 
        <mstyle mathsize="140%" displaystyle="true"> 
         <mo>
           ∑ 
         </mo> 
        </mstyle> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mo>
           ∈ 
         </mo> 
         <mi>
           S 
         </mi> 
         <msub> 
          <mi>
            M 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
         <mo>
           / 
         </mo> 
         <mi>
           S 
         </mi> 
         <msub> 
          <msup> 
           <mi>
             M 
           </mi> 
           <mo>
             ′ 
           </mo> 
          </msup> 
          <mi>
            j 
          </mi> 
         </msub> 
        </mrow> 
       </munder> 
       <mtext>
           
       </mtext> 
       <msub> 
        <mi>
          a 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mi>
         mod 
       </mi> 
       <mi>
         n 
       </mi> 
       <mo>
         . 
       </mo> 
      </mrow> 
     </math>(12)</p>
    <p>Consequently, this phenomenon will directly influence the accuracy of the ultimate decryption result. The entity 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mrow> 
         <mtext>
           FN 
         </mtext> 
        </mrow> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math> must transmit the set 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <msup> 
         <mi>
           M 
         </mi> 
         <mo>
           ′ 
         </mo> 
        </msup> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math> to the KGC. Subsequently, the KGC generates a new 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <msup> 
         <mi>
           a 
         </mi> 
         <mo>
           ′ 
         </mo> 
        </msup> 
        <mrow> 
         <mn>
           0 
         </mn> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> based on 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <msup> 
         <mi>
           M 
         </mi> 
         <mo>
           ′ 
         </mo> 
        </msup> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math> and transmits it to the CC.</p>
   </sec>
   <sec id="s5_5">
    <title>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>5.5. Data Reading</title>
    <p>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>1) All-Inclusive Data reading: Upon obtaining a whole report from 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mrow> 
         <mtext>
           FN 
         </mtext> 
        </mrow> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math>, CC initially authenticates the signature in accordance with the subsequent equation:</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         e 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           P 
         </mi> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            σ 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mi>
         e 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           p 
         </mi> 
         <msub> 
          <mi>
            k 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           H 
         </mi> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <msub> 
            <mi>
              C 
            </mi> 
            <mi>
              j 
            </mi> 
           </msub> 
           <mo>
             ∥ 
           </mo> 
           <mi>
             T 
           </mi> 
           <mi>
             S 
           </mi> 
           <mo>
             ∥ 
           </mo> 
           <mi>
             I 
           </mi> 
           <msub> 
            <mi>
              D 
            </mi> 
            <mi>
              j 
            </mi> 
           </msub> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math>(13)</p>
    <p>When the equation is satisfied, it indicates that the signature is legitimate. Upon verifying the authenticity, CC decrypts the aggregated ciphertext 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          C 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math> and extracts the aggregated data by executing the subsequent phases:</p>
    <p>Step 1: CC decrypts the aggregated ciphertext by first retrieving the encrypted data 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          C 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math>. From Equation (8), take:</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         M 
       </mi> 
       <mo>
         = 
       </mo> 
       <munder> 
        <mstyle mathsize="140%" displaystyle="true"> 
         <mo>
           ∑ 
         </mo> 
        </mstyle> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mo>
           ∈ 
         </mo> 
         <mi>
           S 
         </mi> 
         <msub> 
          <mi>
            M 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
        </mrow> 
       </munder> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            B 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           + 
         </mo> 
         <msub> 
          <mi>
            a 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mi>
         mod 
       </mi> 
       <mi>
         n 
       </mi> 
      </mrow> 
     </math>(14)</p>
    <p>The report 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mn>
           1 
         </mn> 
         <mo>
           + 
         </mo> 
         <mi>
           M 
         </mi> 
         <mo>
           ⋅ 
         </mo> 
         <mi>
           n 
         </mi> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         ⋅ 
       </mo> 
       <msup> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <msub> 
            <mi>
              h 
            </mi> 
            <mn>
              1 
            </mn> 
           </msub> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mrow> 
         <mstyle displaystyle="true"> 
          <msubsup> 
           <mo>
             ∑ 
           </mo> 
           <mrow> 
            <mi>
              i 
            </mi> 
            <mo>
              = 
            </mo> 
            <mn>
              1 
            </mn> 
           </mrow> 
           <mrow> 
            <msub> 
             <mi>
               w 
             </mi> 
             <mi>
               j 
             </mi> 
            </msub> 
           </mrow> 
          </msubsup> 
          <mrow> 
           <msub> 
            <mi>
              α 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
          </mrow> 
         </mstyle> 
        </mrow> 
       </msup> 
       <mi>
         mod 
       </mi> 
       <msup> 
        <mi>
          n 
        </mi> 
        <mn>
          2 
        </mn> 
       </msup> 
      </mrow> 
     </math> is still the ciphertext of the Paillier encryption system. It can be equated to 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msup> 
        <mi>
          g 
        </mi> 
        <mi>
          M 
        </mi> 
       </msup> 
       <mo>
         ⋅ 
       </mo> 
       <msup> 
        <mi>
          R 
        </mi> 
        <mi>
          n 
        </mi> 
       </msup> 
       <mi>
         mod 
       </mi> 
       <msup> 
        <mi>
          n 
        </mi> 
        <mn>
          2 
        </mn> 
       </msup> 
      </mrow> 
     </math> with 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         R 
       </mi> 
       <mo>
         = 
       </mo> 
       <mstyle displaystyle="true"> 
        <msubsup> 
         <mo>
           ∏ 
         </mo> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mrow> 
          <msub> 
           <mi>
             w 
           </mi> 
           <mi>
             j 
           </mi> 
          </msub> 
         </mrow> 
        </msubsup> 
        <mrow> 
         <msub> 
          <mi>
            r 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
       </mstyle> 
      </mrow> 
     </math> and CC uses the tuple 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           λ 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           μ 
         </mi> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> to recover 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        M 
      </mi> 
     </math>: as</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         M 
       </mi> 
       <mo>
         = 
       </mo> 
       <mi>
         L 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msubsup> 
          <mi>
            C 
          </mi> 
          <mi>
            j 
          </mi> 
          <mi>
            λ 
          </mi> 
         </msubsup> 
         <mi>
           mod 
         </mi> 
         <msup> 
          <mi>
            n 
          </mi> 
          <mn>
            2 
          </mn> 
         </msup> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mi>
         μ 
       </mi> 
       <mi>
         mod 
       </mi> 
       <mi>
         n 
       </mi> 
      </mrow> 
     </math>(15)</p>
    <p>Step 2: After decryption, CC uses 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          a 
        </mi> 
        <mrow> 
         <mn>
           0 
         </mn> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> to obtain 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mstyle displaystyle="true"> 
        <msub> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mi>
            j 
          </mi> 
          <mo>
            ∈ 
          </mo> 
          <mi>
            S 
          </mi> 
          <msub> 
           <mi>
             M 
           </mi> 
           <mi>
             j 
           </mi> 
          </msub> 
         </mrow> 
        </msub> 
        <mrow> 
         <msub> 
          <mi>
            B 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
       </mstyle> 
      </mrow> 
     </math> as follows:</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <munder> 
        <mstyle mathsize="140%" displaystyle="true"> 
         <mo>
           ∑ 
         </mo> 
        </mstyle> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mo>
           ∈ 
         </mo> 
         <mi>
           S 
         </mi> 
         <msub> 
          <mi>
            M 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
        </mrow> 
       </munder> 
       <mtext>
           
       </mtext> 
       <msub> 
        <mi>
          B 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mi>
         M 
       </mi> 
       <mo>
         − 
       </mo> 
       <msub> 
        <mi>
          a 
        </mi> 
        <mrow> 
         <mn>
           0 
         </mn> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mi>
         mod 
       </mi> 
       <mi>
         n 
       </mi> 
      </mrow> 
     </math>(16)</p>
    <p>Step 3: CC Retrieve each aggregated data 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mstyle displaystyle="true"> 
        <msub> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mi>
            j 
          </mi> 
          <mo>
            ∈ 
          </mo> 
          <mi>
            S 
          </mi> 
          <msub> 
           <mi>
             M 
           </mi> 
           <mi>
             j 
           </mi> 
          </msub> 
         </mrow> 
        </msub> 
        <mrow> 
         <msub> 
          <mi>
            b 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             d 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
       </mstyle> 
      </mrow> 
     </math>, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         d 
       </mi> 
       <mo>
         = 
       </mo> 
       <mn>
         1 
       </mn> 
       <mo>
         , 
       </mo> 
       <mn>
         2 
       </mn> 
       <mo>
         , 
       </mo> 
       <mo>
         ⋯ 
       </mo> 
       <mo>
         , 
       </mo> 
       <mi>
         l 
       </mi> 
      </mrow> 
     </math> using the decoding function.</p>
    <p>The CC divides the binary representation of 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mstyle displaystyle="true"> 
        <msub> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mi>
            j 
          </mi> 
          <mo>
            ∈ 
          </mo> 
          <mi>
            S 
          </mi> 
          <msub> 
           <mi>
             M 
           </mi> 
           <mi>
             j 
           </mi> 
          </msub> 
         </mrow> 
        </msub> 
        <mrow> 
         <msub> 
          <mi>
            B 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
       </mstyle> 
      </mrow> 
     </math> into 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        l 
      </mi> 
     </math> bit chunks of maximal length less than 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        z 
      </mi> 
     </math>, so that the aggregated data 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mstyle displaystyle="true"> 
        <msubsup> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mi>
            j 
          </mi> 
          <mo>
            ∈ 
          </mo> 
          <mi>
            S 
          </mi> 
          <msub> 
           <mi>
             M 
           </mi> 
           <mi>
             j 
           </mi> 
          </msub> 
          <mo>
            , 
          </mo> 
          <mi>
            d 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mi>
           l 
         </mi> 
        </msubsup> 
        <mrow> 
         <msub> 
          <mi>
            m 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             d 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
       </mstyle> 
      </mrow> 
     </math> can be written as</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <munder> 
            <mstyle mathsize="140%" displaystyle="true"> 
             <mo>
               ∑ 
             </mo> 
            </mstyle> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
             <mo>
               ∈ 
             </mo> 
             <mi>
               S 
             </mi> 
             <msub> 
              <mi>
                M 
              </mi> 
              <mi>
                j 
              </mi> 
             </msub> 
            </mrow> 
           </munder> 
           <mtext>
               
           </mtext> 
           <msub> 
            <mi>
              B 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mn>
          2 
        </mn> 
       </msub> 
       <mo>
         = 
       </mo> 
       <munder> 
        <mstyle mathsize="140%" displaystyle="true"> 
         <mo>
           ∑ 
         </mo> 
        </mstyle> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mo>
           ∈ 
         </mo> 
         <mi>
           S 
         </mi> 
         <msub> 
          <mi>
            M 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
        </mrow> 
       </munder> 
       <mtext>
           
       </mtext> 
       <msub> 
        <mi>
          m 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           l 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         ∥ 
       </mo> 
       <mo>
         ⋯ 
       </mo> 
       <mo>
         ∥ 
       </mo> 
       <munder> 
        <mstyle mathsize="140%" displaystyle="true"> 
         <mo>
           ∑ 
         </mo> 
        </mstyle> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mo>
           ∈ 
         </mo> 
         <mi>
           S 
         </mi> 
         <msub> 
          <mi>
            M 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
        </mrow> 
       </munder> 
       <mtext>
           
       </mtext> 
       <msub> 
        <mi>
          m 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mo>
           , 
         </mo> 
         <mn>
           2 
         </mn> 
        </mrow> 
       </msub> 
       <mo>
         ∥ 
       </mo> 
       <munder> 
        <mstyle mathsize="140%" displaystyle="true"> 
         <mo>
           ∑ 
         </mo> 
        </mstyle> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mo>
           ∈ 
         </mo> 
         <mi>
           S 
         </mi> 
         <msub> 
          <mi>
            M 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
        </mrow> 
       </munder> 
       <mtext>
           
       </mtext> 
       <msub> 
        <mi>
          m 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mo>
           , 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
       </msub> 
      </mrow> 
     </math>(17)</p>
    <p>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>2) Fault-Tolerant Data Reading: Upon receipt of the fault-tolerant report from 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mrow> 
         <mtext>
           FN 
         </mtext> 
        </mrow> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math>, CC initially authenticates the signature in accordance with the subsequent equation:</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         e 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           P 
         </mi> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            σ 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mi>
         e 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           p 
         </mi> 
         <msub> 
          <mi>
            k 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           H 
         </mi> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <msub> 
            <mi>
              C 
            </mi> 
            <mi>
              j 
            </mi> 
           </msub> 
           <mo>
             ∥ 
           </mo> 
           <mi>
             T 
           </mi> 
           <mi>
             S 
           </mi> 
           <mo>
             ∥ 
           </mo> 
           <mi>
             I 
           </mi> 
           <msub> 
            <mi>
              D 
            </mi> 
            <mi>
              j 
            </mi> 
           </msub> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math>(13)</p>
    <p>However, the released 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        M 
      </mi> 
     </math> ( 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         M 
       </mi> 
       <mo>
         = 
       </mo> 
       <mstyle displaystyle="true"> 
        <msub> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mi>
            j 
          </mi> 
          <mo>
            ∈ 
          </mo> 
          <mi>
            S 
          </mi> 
          <msub> 
           <msup> 
            <mi>
              M 
            </mi> 
            <mo>
              ′ 
            </mo> 
           </msup> 
           <mi>
             j 
           </mi> 
          </msub> 
         </mrow> 
        </msub> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <msub> 
            <mi>
              B 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
           <mo>
             + 
           </mo> 
           <msub> 
            <mi>
              a 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
         <mi>
           mod 
         </mi> 
         <mi>
           n 
         </mi> 
        </mrow> 
       </mstyle> 
      </mrow> 
     </math>) contains only a subset of the 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          a 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> values, and thus we cannot use 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          a 
        </mi> 
        <mrow> 
         <mn>
           0 
         </mn> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> to eliminate the blind factor. Consequently, we utilize the 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <msup> 
         <mi>
           a 
         </mi> 
         <mo>
           ′ 
         </mo> 
        </msup> 
        <mrow> 
         <mn>
           0 
         </mn> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> generated by the KGC to obtain 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mstyle displaystyle="true"> 
        <msub> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mi>
            j 
          </mi> 
          <mo>
            ∈ 
          </mo> 
          <mi>
            S 
          </mi> 
          <msub> 
           <msup> 
            <mi>
              M 
            </mi> 
            <mo>
              ′ 
            </mo> 
           </msup> 
           <mi>
             j 
           </mi> 
          </msub> 
         </mrow> 
        </msub> 
        <mrow> 
         <msub> 
          <mi>
            B 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
       </mstyle> 
      </mrow> 
     </math>.</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <munder> 
        <mstyle mathsize="140%" displaystyle="true"> 
         <mo>
           ∑ 
         </mo> 
        </mstyle> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mo>
           ∈ 
         </mo> 
         <mi>
           S 
         </mi> 
         <msub> 
          <msup> 
           <mi>
             M 
           </mi> 
           <mo>
             ′ 
           </mo> 
          </msup> 
          <mi>
            j 
          </mi> 
         </msub> 
        </mrow> 
       </munder> 
       <mtext>
           
       </mtext> 
       <msub> 
        <mi>
          B 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mi>
         M 
       </mi> 
       <mo>
         − 
       </mo> 
       <msub> 
        <mi>
          a 
        </mi> 
        <mrow> 
         <mn>
           0 
         </mn> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mi>
         mod 
       </mi> 
       <mi>
         n 
       </mi> 
      </mrow> 
     </math>(18)</p>
    <p>CC Retrieve each aggregated data 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mstyle displaystyle="true"> 
        <msub> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mi>
            j 
          </mi> 
          <mo>
            ∈ 
          </mo> 
          <mi>
            S 
          </mi> 
          <msub> 
           <msup> 
            <mi>
              M 
            </mi> 
            <mo>
              ′ 
            </mo> 
           </msup> 
           <mi>
             j 
           </mi> 
          </msub> 
         </mrow> 
        </msub> 
        <mrow> 
         <msub> 
          <mi>
            b 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             d 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
       </mstyle> 
      </mrow> 
     </math>, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         d 
       </mi> 
       <mo>
         = 
       </mo> 
       <mn>
         1 
       </mn> 
       <mo>
         , 
       </mo> 
       <mn>
         2 
       </mn> 
       <mo>
         , 
       </mo> 
       <mo>
         ⋯ 
       </mo> 
       <mo>
         , 
       </mo> 
       <mi>
         l 
       </mi> 
      </mrow> 
     </math> using the decoding function.</p>
    <p>The CC divides the binary representation of 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mstyle displaystyle="true"> 
        <msub> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mi>
            j 
          </mi> 
          <mo>
            ∈ 
          </mo> 
          <mi>
            S 
          </mi> 
          <msub> 
           <msup> 
            <mi>
              M 
            </mi> 
            <mo>
              ′ 
            </mo> 
           </msup> 
           <mi>
             j 
           </mi> 
          </msub> 
         </mrow> 
        </msub> 
        <mrow> 
         <msub> 
          <mi>
            B 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
       </mstyle> 
      </mrow> 
     </math> into 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        l 
      </mi> 
     </math> bit chunks of maximal length less than 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        z 
      </mi> 
     </math>, so that the aggregated data 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mstyle displaystyle="true"> 
        <msubsup> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mi>
            j 
          </mi> 
          <mo>
            ∈ 
          </mo> 
          <mi>
            S 
          </mi> 
          <msub> 
           <msup> 
            <mi>
              M 
            </mi> 
            <mo>
              ′ 
            </mo> 
           </msup> 
           <mi>
             j 
           </mi> 
          </msub> 
          <mo>
            , 
          </mo> 
          <mi>
            d 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mi>
           l 
         </mi> 
        </msubsup> 
        <mrow> 
         <msub> 
          <mi>
            m 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             d 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
       </mstyle> 
      </mrow> 
     </math> can be written as</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <munder> 
            <mstyle mathsize="140%" displaystyle="true"> 
             <mo>
               ∑ 
             </mo> 
            </mstyle> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
             <mo>
               ∈ 
             </mo> 
             <mi>
               S 
             </mi> 
             <msub> 
              <msup> 
               <mi>
                 M 
               </mi> 
               <mo>
                 ′ 
               </mo> 
              </msup> 
              <mi>
                j 
              </mi> 
             </msub> 
            </mrow> 
           </munder> 
           <mtext>
               
           </mtext> 
           <msub> 
            <mi>
              B 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mi>
               j 
             </mi> 
            </mrow> 
           </msub> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mn>
          2 
        </mn> 
       </msub> 
       <mo>
         = 
       </mo> 
       <munder> 
        <mstyle mathsize="140%" displaystyle="true"> 
         <mo>
           ∑ 
         </mo> 
        </mstyle> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mo>
           ∈ 
         </mo> 
         <mi>
           S 
         </mi> 
         <msub> 
          <msup> 
           <mi>
             M 
           </mi> 
           <mo>
             ′ 
           </mo> 
          </msup> 
          <mi>
            j 
          </mi> 
         </msub> 
        </mrow> 
       </munder> 
       <mtext>
           
       </mtext> 
       <msub> 
        <mi>
          m 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           l 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         ∥ 
       </mo> 
       <mo>
         ⋯ 
       </mo> 
       <mo>
         ∥ 
       </mo> 
       <munder> 
        <mstyle mathsize="140%" displaystyle="true"> 
         <mo>
           ∑ 
         </mo> 
        </mstyle> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mo>
           ∈ 
         </mo> 
         <mi>
           S 
         </mi> 
         <msub> 
          <msup> 
           <mi>
             M 
           </mi> 
           <mo>
             ′ 
           </mo> 
          </msup> 
          <mi>
            j 
          </mi> 
         </msub> 
        </mrow> 
       </munder> 
       <mtext>
           
       </mtext> 
       <msub> 
        <mi>
          m 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mo>
           , 
         </mo> 
         <mn>
           2 
         </mn> 
        </mrow> 
       </msub> 
       <mo>
         ∥ 
       </mo> 
       <munder> 
        <mstyle mathsize="140%" displaystyle="true"> 
         <mo>
           ∑ 
         </mo> 
        </mstyle> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mo>
           ∈ 
         </mo> 
         <mi>
           S 
         </mi> 
         <msub> 
          <msup> 
           <mi>
             M 
           </mi> 
           <mo>
             ′ 
           </mo> 
          </msup> 
          <mi>
            j 
          </mi> 
         </msub> 
        </mrow> 
       </munder> 
       <mtext>
           
       </mtext> 
       <msub> 
        <mi>
          m 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mo>
           , 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
       </msub> 
      </mrow> 
     </math>(19)</p>
    <p>Thus, we can convert the aggregated data into a binary bit string, and then separate out the substrings of length 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        z 
      </mi> 
     </math> bits starting from the lower bit to retrieve the aggregated data for each dimension.</p>
   </sec>
  </sec><sec id="s6">
   <title>
    <xref ref-type="bibr" rid="scirp.141671-"></xref>6. System Analysis</title>
   <p>In EAMA, we presume that FNs and CC are honest and curious. Each FN precisely compiles encrypted multidimensional electrical usage data from the identical grid zone, while the CC effectively checks and decrypts the data that is provided. Both entities are interested in users’ power consumption trends and may seek to extract useful information. Furthermore, an internal attacker (e.g., a curious user) may attempt to exploit the secret key of the SM and other essential factors to get the original data from SMs located in other users’ residences.</p>
   <p>
    <xref ref-type="bibr" rid="scirp.141671-"></xref>1) Anonymity: During data transmission, the SM communicates with the FN via a pseudonym. During the information transmission session, SMs establish communication links with the FN utilizing temporary identity. As the parameter 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         z 
       </mi> 
       <mi>
         l 
       </mi> 
      </msub> 
     </mrow> 
    </math> employs a randomization technique in the identity generation process, there exists no discernible association between several temporary identifications produced by the same device. Only KGC has the capability to restore the user’s true identity by analyzing the temporary IDs. To augment security and resist attackers from correlating high-precision electricity consumption data with user identities, the system periodically updates and manages the temporary identifiers of all SMs. This technique efficiently safeguards user identification information, hence achieving the anonymity objective of the scheme design.</p>
   <p>
    <xref ref-type="bibr" rid="scirp.141671-"></xref>2) Confidentiality: An outside attacker is presumed to possess the capability to eavesdrop on the public communication channel between the SM and the FN, thereby intercepting the encrypted message 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         C 
       </mi> 
       <mrow> 
        <mi>
          i 
        </mi> 
        <mi>
          j 
        </mi> 
       </mrow> 
      </msub> 
     </mrow> 
    </math>. Nonetheless, due to the semantic security afforded by the Paillier encryption method, an adversary is unable to extract any meaningful information from the ciphertext, even if it is acquired. During the encrypted data reporting phase, each 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mi>
        S 
      </mi> 
      <msub> 
       <mi>
         M 
       </mi> 
       <mrow> 
        <mi>
          i 
        </mi> 
        <mi>
          j 
        </mi> 
       </mrow> 
      </msub> 
     </mrow> 
    </math> first encodes the 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
       l 
     </mi> 
    </math>-dimensional data 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mrow> 
       <mo>
         ( 
       </mo> 
       <mrow> 
        <msub> 
         <mi>
           m 
         </mi> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mi>
            j 
          </mi> 
          <mo>
            , 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
        </msub> 
        <mo>
          , 
        </mo> 
        <msub> 
         <mi>
           m 
         </mi> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mi>
            j 
          </mi> 
          <mo>
            , 
          </mo> 
          <mn>
            2 
          </mn> 
         </mrow> 
        </msub> 
        <mo>
          , 
        </mo> 
        <mo>
          ⋯ 
        </mo> 
        <mo>
          , 
        </mo> 
        <msub> 
         <mi>
           m 
         </mi> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mi>
            j 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            l 
          </mi> 
         </mrow> 
        </msub> 
       </mrow> 
       <mo>
         ) 
       </mo> 
      </mrow> 
     </mrow> 
    </math> into a binary string 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mrow> 
       <mo>
         ( 
       </mo> 
       <mrow> 
        <msub> 
         <mi>
           b 
         </mi> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mi>
            j 
          </mi> 
          <mo>
            , 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
        </msub> 
        <mo>
          , 
        </mo> 
        <msub> 
         <mi>
           b 
         </mi> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mi>
            j 
          </mi> 
          <mo>
            , 
          </mo> 
          <mn>
            2 
          </mn> 
         </mrow> 
        </msub> 
        <mo>
          , 
        </mo> 
        <mo>
          ⋯ 
        </mo> 
        <mo>
          , 
        </mo> 
        <msub> 
         <mi>
           b 
         </mi> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mi>
            j 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            l 
          </mi> 
         </mrow> 
        </msub> 
       </mrow> 
       <mo>
         ) 
       </mo> 
      </mrow> 
     </mrow> 
    </math>, where each 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         b 
       </mi> 
       <mrow> 
        <mi>
          i 
        </mi> 
        <mi>
          j 
        </mi> 
        <mo>
          , 
        </mo> 
        <mi>
          d 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        = 
      </mo> 
      <msub> 
       <mrow> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <msub> 
           <mi>
             m 
           </mi> 
           <mrow> 
            <mi>
              i 
            </mi> 
            <mi>
              j 
            </mi> 
            <mo>
              , 
            </mo> 
            <mi>
              d 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
       <mn>
         2 
       </mn> 
      </msub> 
      <mo>
        ∥ 
      </mo> 
      <msup> 
       <mn>
         0 
       </mn> 
       <mrow> 
        <mi>
          z 
        </mi> 
        <mo>
          ∗ 
        </mo> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <mi>
            d 
          </mi> 
          <mo>
            − 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
       </mrow> 
      </msup> 
     </mrow> 
    </math>, for 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mi>
        d 
      </mi> 
      <mo>
        = 
      </mo> 
      <mn>
        1 
      </mn> 
      <mo>
        , 
      </mo> 
      <mn>
        2 
      </mn> 
      <mo>
        , 
      </mo> 
      <mo>
        ⋯ 
      </mo> 
      <mo>
        , 
      </mo> 
      <mi>
        l 
      </mi> 
     </mrow> 
    </math>. The private data is then set as 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         m 
       </mi> 
       <mrow> 
        <mi>
          i 
        </mi> 
        <mi>
          j 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        = 
      </mo> 
      <mstyle displaystyle="true"> 
       <msubsup> 
        <mo>
          ∑ 
        </mo> 
        <mrow> 
         <mi>
           d 
         </mi> 
         <mo>
           = 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mi>
          l 
        </mi> 
       </msubsup> 
       <mrow> 
        <msub> 
         <mi>
           b 
         </mi> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mi>
            j 
          </mi> 
          <mo>
            , 
          </mo> 
          <mi>
            d 
          </mi> 
         </mrow> 
        </msub> 
       </mrow> 
      </mstyle> 
     </mrow> 
    </math>. Under the modified Paillier encryption scheme, the corresponding ciphertext is generated as: 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         C 
       </mi> 
       <mrow> 
        <mi>
          i 
        </mi> 
        <mi>
          j 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        = 
      </mo> 
      <mrow> 
       <mo>
         ( 
       </mo> 
       <mrow> 
        <mi>
          n 
        </mi> 
        <mo>
          ⋅ 
        </mo> 
        <mover accent="true"> 
         <mrow> 
          <msub> 
           <mi>
             B 
           </mi> 
           <mrow> 
            <mi>
              i 
            </mi> 
            <mi>
              j 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
         <mo stretchy="true">
           ¯ 
         </mo> 
        </mover> 
        <mo>
          + 
        </mo> 
        <mn>
          1 
        </mn> 
       </mrow> 
       <mo>
         ) 
       </mo> 
      </mrow> 
      <mo>
        ⋅ 
      </mo> 
      <msubsup> 
       <mi>
         h 
       </mi> 
       <mn>
         1 
       </mn> 
       <mrow> 
        <msub> 
         <mi>
           α 
         </mi> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mi>
            j 
          </mi> 
         </mrow> 
        </msub> 
       </mrow> 
      </msubsup> 
      <mi>
        mod 
      </mi> 
      <msup> 
       <mi>
         n 
       </mi> 
       <mn>
         2 
       </mn> 
      </msup> 
     </mrow> 
    </math> where 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mover accent="true"> 
       <mrow> 
        <msub> 
         <mi>
           B 
         </mi> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mi>
            j 
          </mi> 
         </mrow> 
        </msub> 
       </mrow> 
       <mo stretchy="true">
         ¯ 
       </mo> 
      </mover> 
      <mo>
        = 
      </mo> 
      <msub> 
       <mi>
         B 
       </mi> 
       <mrow> 
        <mi>
          i 
        </mi> 
        <mi>
          j 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        + 
      </mo> 
      <msub> 
       <mi>
         a 
       </mi> 
       <mrow> 
        <mi>
          i 
        </mi> 
        <mi>
          j 
        </mi> 
       </mrow> 
      </msub> 
      <mi>
        mod 
      </mi> 
      <mi>
        n 
      </mi> 
     </mrow> 
    </math>. Each 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mrow> 
        <mtext>
          SM 
        </mtext> 
       </mrow> 
       <mrow> 
        <mi>
          i 
        </mi> 
        <mi>
          j 
        </mi> 
       </mrow> 
      </msub> 
     </mrow> 
    </math> holds a unique secret parameter 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         a 
       </mi> 
       <mrow> 
        <mi>
          i 
        </mi> 
        <mi>
          j 
        </mi> 
       </mrow> 
      </msub> 
     </mrow> 
    </math>, which varies for each instance. Consequently, EAMA is resistant to selective plaintext attacks.</p>
   <p>
    <xref ref-type="bibr" rid="scirp.141671-"></xref>3) Privacy: In this framework, FN retains only the encrypted data of anonymous users without possessing the decryption key. CC possesses the decryption key but cannot access the fine encrypted information or the users’ true identities; and KGC, while aware of the users’ true identities, cannot acquire their detailed data. Even if FN and CC collude, CC can decrypt the encrypted data of individual users acquired from FN. Nonetheless, it is challenging to erase the secret parameter 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         a 
       </mi> 
       <mrow> 
        <mi>
          i 
        </mi> 
        <mi>
          j 
        </mi> 
       </mrow> 
      </msub> 
     </mrow> 
    </math>, preventing the identification of the actual users behind the electricity consumption data. Consequently, despite the potential for cooperation between two parties, the method can nevertheless proficiently obscure real-time electricity usage data from being linked to the user’s true identity, so safeguarding personal privacy.</p>
   <p>
    <xref ref-type="bibr" rid="scirp.141671-"></xref>4) Leak Toughness: EAMA ensures that a group of collaborating users does not threaten the privacy of other users. When an attacker 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi mathvariant="double-struck">
       A 
     </mi> 
    </math> seeks to compromise a user’s privacy, they must have access to personal data and the associated secret share 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         x 
       </mi> 
       <mrow> 
        <mi>
          i 
        </mi> 
        <mi>
          j 
        </mi> 
       </mrow> 
      </msub> 
     </mrow> 
    </math>. In EAMA, the secret shares 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         a 
       </mi> 
       <mrow> 
        <mi>
          i 
        </mi> 
        <mi>
          j 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        ∈ 
      </mo> 
      <msubsup> 
       <mi>
         ℤ 
       </mi> 
       <mi>
         n 
       </mi> 
       <mtext>
         * 
       </mtext> 
      </msubsup> 
     </mrow> 
    </math> produced by the KGC are allocated independently, indicating that the compromise of secret shares from a subset of users does not disclose those of other users. Assume that 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi mathvariant="double-struck">
       A 
     </mi> 
    </math> successfully compromises 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         w 
       </mi> 
       <mi>
         j 
       </mi> 
      </msub> 
      <mo>
        − 
      </mo> 
      <mn>
        1 
      </mn> 
     </mrow> 
    </math> users associated with a certain 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mrow> 
        <mtext>
          FN 
        </mtext> 
       </mrow> 
       <mi>
         j 
       </mi> 
      </msub> 
     </mrow> 
    </math> and acquires their secret shares 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         a 
       </mi> 
       <mrow> 
        <mn>
          1 
        </mn> 
        <mi>
          j 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        , 
      </mo> 
      <msub> 
       <mi>
         a 
       </mi> 
       <mrow> 
        <mn>
          2 
        </mn> 
        <mi>
          j 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        , 
      </mo> 
      <mo>
        ⋯ 
      </mo> 
      <mo>
        , 
      </mo> 
      <msub> 
       <mi>
         a 
       </mi> 
       <mrow> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <msub> 
           <mi>
             w 
           </mi> 
           <mi>
             j 
           </mi> 
          </msub> 
          <mo>
            − 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
        <mi>
          j 
        </mi> 
       </mrow> 
      </msub> 
     </mrow> 
    </math>. For these 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         w 
       </mi> 
       <mi>
         j 
       </mi> 
      </msub> 
      <mo>
        − 
      </mo> 
      <mn>
        1 
      </mn> 
     </mrow> 
    </math> users, Equation (1) can be reformulated as:</p>
   <p>
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         a 
       </mi> 
       <mrow> 
        <mn>
          0 
        </mn> 
        <mi>
          j 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        = 
      </mo> 
      <munderover> 
       <mstyle mathsize="140%" displaystyle="true"> 
        <mo>
          ∑ 
        </mo> 
       </mstyle> 
       <mrow> 
        <mi>
          i 
        </mi> 
        <mo>
          = 
        </mo> 
        <mn>
          1 
        </mn> 
       </mrow> 
       <mrow> 
        <msub> 
         <mi>
           w 
         </mi> 
         <mi>
           j 
         </mi> 
        </msub> 
        <mo>
          − 
        </mo> 
        <mn>
          1 
        </mn> 
       </mrow> 
      </munderover> 
      <mtext>
          
      </mtext> 
      <msub> 
       <mi>
         a 
       </mi> 
       <mrow> 
        <mi>
          i 
        </mi> 
        <mi>
          j 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        + 
      </mo> 
      <msub> 
       <mi>
         a 
       </mi> 
       <mrow> 
        <mrow> 
         <mo>
           ( 
         </mo> 
         <mrow> 
          <msub> 
           <mi>
             w 
           </mi> 
           <mi>
             j 
           </mi> 
          </msub> 
          <mo>
            − 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mo>
           ) 
         </mo> 
        </mrow> 
        <mi>
          j 
        </mi> 
       </mrow> 
      </msub> 
      <mi>
        mod 
      </mi> 
      <mi>
        n 
      </mi> 
     </mrow> 
    </math>(20)</p>
   <p>Despite this, the data privacy of the remaining users remains intact, as 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi mathvariant="double-struck">
       A 
     </mi> 
    </math> does not possess the CC’s secret share of the sum 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         a 
       </mi> 
       <mrow> 
        <mn>
          0 
        </mn> 
        <mi>
          j 
        </mi> 
       </mrow> 
      </msub> 
     </mrow> 
    </math> nor the Paillier private key. Therefore, 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi mathvariant="double-struck">
       A 
     </mi> 
    </math> can’t compromise 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         a 
       </mi> 
       <mrow> 
        <msub> 
         <mi>
           w 
         </mi> 
         <mi>
           j 
         </mi> 
        </msub> 
        <mi>
          j 
        </mi> 
       </mrow> 
      </msub> 
     </mrow> 
    </math>. Consequently, with EAMA, 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi mathvariant="double-struck">
       A 
     </mi> 
    </math> cannot access the private data of other users, irrespective of the number of hacked users. Even if the Paillier private key were to be obtained through logarithmic computation, 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi mathvariant="double-struck">
       A 
     </mi> 
    </math> would still be unable to retrieve individual data contents due to the secure embedding of the secret shared value 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         a 
       </mi> 
       <mrow> 
        <mi>
          i 
        </mi> 
        <mi>
          j 
        </mi> 
       </mrow> 
      </msub> 
     </mrow> 
    </math> within each ciphertext. Thus, in EAMA, encrypting power consumption data not only ensures leakage resilience but also preserves data confidentiality and the privacy of all SMs.</p>
  </sec><sec id="s7">
   <title>
    <xref ref-type="bibr" rid="scirp.141671-"></xref>7. Performance Evaluation</title>
   <p>Utilizing established cryptographic libraries, MIRACL <xref ref-type="bibr" rid="scirp.141671-27">
     [27]
    </xref> and PBC <xref ref-type="bibr" rid="scirp.141671-28">
     [28]
    </xref>, we evaluate the expense of the cryptographic operations employed in EAMA and prior technologies. Our technique is predicated on the modified Paillier cryptosystem utilizing a 1024-bit key and a pairing operation within a base field of 160 bits. We utilize the standard curve secp160r1 for ECC.</p>
   <p>
    <xref ref-type="table" rid="table2">
     Table 2
    </xref> presents the findings acquired on a computer equipped with an Intel i7-8750H CPU operating at 2.2 GHz and 8 GB of RAM. It is important to recognize that multiplication in 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msubsup> 
       <mi>
         Z 
       </mi> 
       <mi>
         n 
       </mi> 
       <mn>
         2 
       </mn> 
      </msubsup> 
     </mrow> 
    </math>, modular addition, and hash operations are insignificant in comparison to exponentiation in 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msubsup> 
       <mi>
         Z 
       </mi> 
       <mi>
         n 
       </mi> 
       <mn>
         2 
       </mn> 
      </msubsup> 
     </mrow> 
    </math> and pairing operations.</p>
   <table-wrap id="table2">
    <label>
     <xref ref-type="table" rid="table2">
      Table 2
     </xref></label>
    <caption>
     <title>
      <xref ref-type="bibr" rid="scirp.141671-"></xref>Table 2. Time consumption for related operations.</title>
    </caption>
    <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
     <tr> 
      <td class="custom-bottom-td acenter" width="19.98%"><p style="text-align:center">Symbol</p></td> 
      <td class="custom-bottom-td acenter" width="58.48%"><p style="text-align:center">Definition</p></td> 
      <td class="custom-bottom-td acenter" width="21.54%"><p style="text-align:center">Time (ms)</p></td> 
     </tr> 
     <tr> 
      <td class="custom-top-td acenter" width="19.98%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <msub> 
           <mi>
             T 
           </mi> 
           <mi>
             h 
           </mi> 
          </msub> 
         </mrow> 
        </math></p></td> 
      <td class="custom-top-td acenter" width="58.48%"><p style="text-align:center">Time for general hash function</p></td> 
      <td class="custom-top-td acenter" width="21.54%"><p style="text-align:center">0.01</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="19.98%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <msub> 
           <mi>
             T 
           </mi> 
           <mi>
             H 
           </mi> 
          </msub> 
         </mrow> 
        </math></p></td> 
      <td class="acenter" width="58.48%"><p style="text-align:center">Time for hashing to ECC point multiplication</p></td> 
      <td class="acenter" width="21.54%"><p style="text-align:center">0.02</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="19.98%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <msub> 
           <mi>
             T 
           </mi> 
           <mrow> 
            <mi>
              e 
            </mi> 
            <mi>
              x 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
        </math></p></td> 
      <td class="acenter" width="58.48%"><p style="text-align:center">Time for modular exponentiation</p></td> 
      <td class="acenter" width="21.54%"><p style="text-align:center">7.13</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="19.98%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <msub> 
           <mi>
             T 
           </mi> 
           <mrow> 
            <mi>
              m 
            </mi> 
            <mi>
              u 
            </mi> 
            <mi>
              n 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
        </math></p></td> 
      <td class="acenter" width="58.48%"><p style="text-align:center">Time for regular multiplication</p></td> 
      <td class="acenter" width="21.54%"><p style="text-align:center">1.58</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="19.98%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <msub> 
           <mi>
             T 
           </mi> 
           <mrow> 
            <mi>
              p 
            </mi> 
            <mi>
              m 
            </mi> 
            <mi>
              n 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
        </math></p></td> 
      <td class="acenter" width="58.48%"><p style="text-align:center">Time for ECC point multiplication</p></td> 
      <td class="acenter" width="21.54%"><p style="text-align:center">0.32</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="19.98%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <msub> 
           <mi>
             T 
           </mi> 
           <mrow> 
            <mi>
              p 
            </mi> 
            <mi>
              a 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
        </math></p></td> 
      <td class="acenter" width="58.48%"><p style="text-align:center">Time for ECC point addition</p></td> 
      <td class="acenter" width="21.54%"><p style="text-align:center">0.34</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="19.98%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <msub> 
           <mi>
             T 
           </mi> 
           <mrow> 
            <mi>
              i 
            </mi> 
            <mi>
              n 
            </mi> 
            <mi>
              v 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
        </math></p></td> 
      <td class="acenter" width="58.48%"><p style="text-align:center">Time for modular inversion</p></td> 
      <td class="acenter" width="21.54%"><p style="text-align:center">8.72</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="19.98%"><p style="text-align:center"> 
        <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
          <msub> 
           <mi>
             T 
           </mi> 
           <mrow> 
            <mi>
              b 
            </mi> 
            <mi>
              p 
            </mi> 
           </mrow> 
          </msub> 
         </mrow> 
        </math></p></td> 
      <td class="acenter" width="58.48%"><p style="text-align:center">Time for bilinear pairing operation</p></td> 
      <td class="acenter" width="21.54%"><p style="text-align:center">16.81</p></td> 
     </tr> 
    </table>
   </table-wrap>
   <sec id="s7_1">
    <title>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>7.1. Computation Cost</title>
    <p>In EAMA, when 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> produces its output, it necessitates 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mi>
           u 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           e 
         </mi> 
         <mi>
           x 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> to generate 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          C 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mi>
          H 
        </mi> 
       </msub> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           p 
         </mi> 
         <mi>
           m 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> to produce 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          σ 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math>. Consequently, the whole computational expense on the SM side is represented by 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mi>
           u 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           e 
         </mi> 
         <mi>
           x 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mi>
          H 
        </mi> 
       </msub> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           p 
         </mi> 
         <mi>
           m 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math>. Our approach considerably decreases the computing expense for the user. ( 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        l 
      </mi> 
     </math> represents multidimensional data.)</p>
    <p>In data aggregation, upon receiving 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            C 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            σ 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           T 
         </mi> 
         <mi>
           S 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mi>
             l 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
       <mo>
         , 
       </mo> 
       <mi>
         i 
       </mi> 
       <mo>
         = 
       </mo> 
       <mn>
         1 
       </mn> 
       <mo>
         , 
       </mo> 
       <mn>
         2 
       </mn> 
       <mo>
         , 
       </mo> 
       <mo>
         ⋯ 
       </mo> 
       <mo>
         , 
       </mo> 
       <mi>
         N 
       </mi> 
      </mrow> 
     </math> from all the SMs, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mrow> 
         <mtext>
           FN 
         </mtext> 
        </mrow> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math> performs 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         n 
       </mi> 
       <mo>
         + 
       </mo> 
       <mn>
         1 
       </mn> 
      </mrow> 
     </math> bilinear pairwise operations and one ECC hash-to-dot for data verification. Subsequently, it consolidates the encrypted data and produces a signature, requiring 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mn>
         3 
       </mn> 
       <mi>
         n 
       </mi> 
       <mo>
         − 
       </mo> 
       <mn>
         3 
       </mn> 
      </mrow> 
     </math> conventional multiplication operations to form the aggregated ciphertext, one ECC hash-to-point operation, and one ECC pointwise multiply operation to create a new signature on the aggregated the encrypted data. The overall computational expense of FN is expressed as 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           n 
         </mi> 
         <mo>
           + 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         ⋅ 
       </mo> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           b 
         </mi> 
         <mi>
           p 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         + 
       </mo> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mn>
           3 
         </mn> 
         <mi>
           n 
         </mi> 
         <mo>
           − 
         </mo> 
         <mn>
           3 
         </mn> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         ⋅ 
       </mo> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mi>
           u 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         + 
       </mo> 
       <mn>
         2 
       </mn> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mi>
          H 
        </mi> 
       </msub> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           p 
         </mi> 
         <mi>
           m 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math>. Within the Fog computing paradigm, Fog Nodes has greater processing capabilities than traditional nodes. Consequently, the aggregate procedure may be executed efficiently. Subsequently, we evaluate the computational expense of the current schemes with regard to each SM and AG individually. In the approach proposed by Zhang et al. <xref ref-type="bibr" rid="scirp.141671-25">
      [25]
     </xref>, offer a data reporting method where in the computation is expressed as 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          ω 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
       <msub> 
        <mi>
          m 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mn>
           1 
         </mn> 
        </mrow> 
       </msub> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          ω 
        </mi> 
        <mrow> 
         <mi>
           k 
         </mi> 
         <mo>
           + 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
       </msub> 
       <msubsup> 
        <mi>
          m 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mn>
          2 
        </mn> 
       </msubsup> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          ω 
        </mi> 
        <mn>
          2 
        </mn> 
       </msub> 
       <msub> 
        <mi>
          m 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mn>
           2 
         </mn> 
        </mrow> 
       </msub> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          ω 
        </mi> 
        <mrow> 
         <mi>
           k 
         </mi> 
         <mo>
           + 
         </mo> 
         <mn>
           2 
         </mn> 
        </mrow> 
       </msub> 
       <msubsup> 
        <mi>
          m 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mn>
           2 
         </mn> 
        </mrow> 
        <mn>
          2 
        </mn> 
       </msubsup> 
       <mo>
         + 
       </mo> 
       <mo>
         ⋯ 
       </mo> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          ω 
        </mi> 
        <mi>
          k 
        </mi> 
       </msub> 
       <msub> 
        <mi>
          m 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           k 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          ω 
        </mi> 
        <mrow> 
         <mn>
           2 
         </mn> 
         <mi>
           k 
         </mi> 
        </mrow> 
       </msub> 
       <msubsup> 
        <mi>
          m 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           k 
         </mi> 
        </mrow> 
        <mn>
          2 
        </mn> 
       </msubsup> 
      </mrow> 
     </math>, each SM requires 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mn>
         3 
       </mn> 
       <mi>
         k 
       </mi> 
      </mrow> 
     </math> multiplication operations, in addition to two exponentiation operations, one hash operation, and one multiplication to generate 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         C 
       </mi> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mi>
          i 
        </mi> 
       </msub> 
      </mrow> 
     </math>. Generating the authenticator 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          σ 
        </mi> 
        <mi>
          i 
        </mi> 
       </msub> 
      </mrow> 
     </math> requires two exponentiation operations, two hash operations, and one multiplication. Thus, the total computation costs on the SM side total 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mn>
         4 
       </mn> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           e 
         </mi> 
         <mi>
           x 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         + 
       </mo> 
       <mn>
         3 
       </mn> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mi>
          h 
        </mi> 
       </msub> 
       <mo>
         + 
       </mo> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mn>
           3 
         </mn> 
         <mi>
           k 
         </mi> 
         <mo>
           + 
         </mo> 
         <mn>
           2 
         </mn> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         ⋅ 
       </mo> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mi>
           u 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math>. In Data Aggregation, after AG receives 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mi>
           C 
         </mi> 
         <msub> 
          <mi>
            T 
          </mi> 
          <mi>
            i 
          </mi> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            σ 
          </mi> 
          <mi>
            i 
          </mi> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           T 
         </mi> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
       <mo>
         , 
       </mo> 
       <mi>
         i 
       </mi> 
       <mo>
         = 
       </mo> 
       <mn>
         1 
       </mn> 
       <mo>
         , 
       </mo> 
       <mn>
         2 
       </mn> 
       <mo>
         , 
       </mo> 
       <mo>
         ⋯ 
       </mo> 
       <mo>
         , 
       </mo> 
       <mi>
         n 
       </mi> 
      </mrow> 
     </math>, from all SMs, it requires 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         n 
       </mi> 
       <mo>
         − 
       </mo> 
       <mn>
         1 
       </mn> 
      </mrow> 
     </math> multiplication operations to generate the aggregated ciphertext CT. It requires one exponentiation, one hash operation to compute 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          τ 
        </mi> 
        <mi>
          n 
        </mi> 
       </msub> 
      </mrow> 
     </math>, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        n 
      </mi> 
     </math> multiplication operations to generate 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        ξ 
      </mi> 
     </math>, and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        n 
      </mi> 
     </math> exponentiation operations coupled with 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mn>
         2 
       </mn> 
       <mi>
         n 
       </mi> 
       <mo>
         − 
       </mo> 
       <mn>
         1 
       </mn> 
      </mrow> 
     </math> multiplication operations to get 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        σ 
      </mi> 
     </math>. The total computational costs of AG are represented as 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           n 
         </mi> 
         <mo>
           + 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         ⋅ 
       </mo> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           e 
         </mi> 
         <mi>
           x 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         + 
       </mo> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mn>
           4 
         </mn> 
         <mi>
           n 
         </mi> 
         <mo>
           − 
         </mo> 
         <mn>
           2 
         </mn> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         ⋅ 
       </mo> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mi>
           u 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mi>
          h 
        </mi> 
       </msub> 
      </mrow> 
     </math>. Using a comparable analytical method, Zuo et al.’s framework <xref ref-type="bibr" rid="scirp.141671-23">
      [23]
     </xref> indicates that the overall computational expense for each SM component is 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         k 
       </mi> 
       <mo>
         ⋅ 
       </mo> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mi>
           u 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mi>
          h 
        </mi> 
       </msub> 
       <mo>
         + 
       </mo> 
       <mn>
         5 
       </mn> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           e 
         </mi> 
         <mi>
           x 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math>, while the total computational expense for the AG component is 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           n 
         </mi> 
         <mo>
           + 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         ⋅ 
       </mo> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           b 
         </mi> 
         <mi>
           p 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         + 
       </mo> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mn>
           4 
         </mn> 
         <mi>
           n 
         </mi> 
         <mo>
           − 
         </mo> 
         <mn>
           4 
         </mn> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         ⋅ 
       </mo> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mi>
           u 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         + 
       </mo> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           n 
         </mi> 
         <mo>
           + 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         ⋅ 
       </mo> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mi>
          h 
        </mi> 
       </msub> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           e 
         </mi> 
         <mi>
           x 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math>. Ultimately, the overall computational expense for each SM and aggregator in Boudia et al.’s framework <xref ref-type="bibr" rid="scirp.141671-17">
      [17]
     </xref> is 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mn>
         2 
       </mn> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           e 
         </mi> 
         <mi>
           x 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         + 
       </mo> 
       <mn>
         1 
       </mn> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mi>
          H 
        </mi> 
       </msub> 
       <mo>
         + 
       </mo> 
       <mn>
         1 
       </mn> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           p 
         </mi> 
         <mi>
           m 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           n 
         </mi> 
         <mo>
           + 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         ⋅ 
       </mo> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           b 
         </mi> 
         <mi>
           p 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         + 
       </mo> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mn>
           3 
         </mn> 
         <mi>
           n 
         </mi> 
         <mo>
           − 
         </mo> 
         <mn>
           3 
         </mn> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         ⋅ 
       </mo> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           m 
         </mi> 
         <mi>
           u 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         + 
       </mo> 
       <mn>
         2 
       </mn> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mi>
          H 
        </mi> 
       </msub> 
       <mo>
         + 
       </mo> 
       <mn>
         1 
       </mn> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mrow> 
         <mi>
           p 
         </mi> 
         <mi>
           m 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math>, respectively.</p>
    <p>A comparison of the computational overhead in terms of SMs is presented in <xref ref-type="fig" rid="fig3">
      Figure 3
     </xref>.</p>
   </sec>
   <sec id="s7_2">
    <title>
     <xref ref-type="bibr" rid="scirp.141671-"></xref>7.2. Communication Cost</title>
    <p>Given that SMs are equipped with resource-constrained storage and computational devices, each SM encrypts 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        l 
      </mi> 
     </math> categories of data and transmits them to the respective aggregator. The communication cost can be categorized into two components: communication from the SM to the FN and communication from the FN to the CC. Given that SMs are equipped with resource-constrained storage and computational equipment, we concentrate on assessing the communication</p>
    <fig id="fig3" position="float">
     <label>Figure 3</label>
     <caption>
      <title>Figure 3. Computational overhead on the SM side.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/1733100-rId662.jpeg?20250328031256" />
    </fig>
    <p>expenses from SMs to FN. In EAMA, the variables, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            C 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           T 
         </mi> 
         <mi>
           S 
         </mi> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            σ 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           P 
         </mi> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
           <mi>
             l 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math> are sent from the SM to 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mrow> 
         <mtext>
           FN 
         </mtext> 
        </mrow> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math>, where 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          C 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         ∈ 
       </mo> 
       <msub> 
        <mi>
          ℤ 
        </mi> 
        <mrow> 
         <msup> 
          <mi>
            n 
          </mi> 
          <mn>
            2 
          </mn> 
         </msup> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          σ 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         ∈ 
       </mo> 
       <msub> 
        <mi mathvariant="double-struck">
          G 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
      </mrow> 
     </math>. To provide uniformity, we designate the size of the 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         P 
       </mi> 
       <mi>
         I 
       </mi> 
       <msub> 
        <mi>
          D 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
         <mi>
           l 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> and timestamp as 160 bits and 64 bits, respectively, across all methods. Consequently, the transmission expense from SM to FN amounts to 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mn>
         2048 
       </mn> 
       <mo>
         + 
       </mo> 
       <mn>
         64 
       </mn> 
       <mo>
         + 
       </mo> 
       <mn>
         160 
       </mn> 
       <mo>
         + 
       </mo> 
       <mn>
         160 
       </mn> 
       <mo>
         = 
       </mo> 
       <mn>
         2432 
       </mn> 
      </mrow> 
     </math> bits. Subsequently, we examine the correspondence from FN to CC. In EAMA, the elements, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            C 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mo> 
         </mo> 
         <mi>
           T 
         </mi> 
         <mi>
           S 
         </mi> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            σ 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math> are transmitted from 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mrow> 
         <mtext>
           FN 
         </mtext> 
        </mrow> 
        <mi>
          j 
        </mi> 
       </msub> 
      </mrow> 
     </math> to CC, where 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          C 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         ∈ 
       </mo> 
       <msub> 
        <mi>
          ℤ 
        </mi> 
        <mrow> 
         <msup> 
          <mi>
            n 
          </mi> 
          <mn>
            2 
          </mn> 
         </msup> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          σ 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
       <mo>
         ∈ 
       </mo> 
       <msub> 
        <mi mathvariant="double-struck">
          G 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
      </mrow> 
     </math>. The communication cost from FN to CC is calculated as 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mn>
         2048 
       </mn> 
       <mo>
         + 
       </mo> 
       <mn>
         64 
       </mn> 
       <mo>
         + 
       </mo> 
       <mn>
         160 
       </mn> 
       <mo>
         + 
       </mo> 
       <mn>
         64 
       </mn> 
       <mo>
         = 
       </mo> 
       <mn>
         2336 
       </mn> 
      </mrow> 
     </math> bits. In the system proposed by Zhang et al. <xref ref-type="bibr" rid="scirp.141671-25">
      [25]
     </xref>, each 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mi>
          i 
        </mi> 
       </msub> 
      </mrow> 
     </math> transmits 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mi>
           C 
         </mi> 
         <msub> 
          <mi>
            T 
          </mi> 
          <mi>
            i 
          </mi> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            σ 
          </mi> 
          <mi>
            i 
          </mi> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           T 
         </mi> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math> to AG. Consequently, the transmission expense from 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        n 
      </mi> 
     </math> SMs to AG amounts to 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mn>
           2048 
         </mn> 
         <mo>
           + 
         </mo> 
         <mn>
           512 
         </mn> 
         <mo>
           + 
         </mo> 
         <mn>
           64 
         </mn> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         ⋅ 
       </mo> 
       <mi>
         n 
       </mi> 
       <mo>
         = 
       </mo> 
       <mn>
         2624 
       </mn> 
       <mi>
         n 
       </mi> 
      </mrow> 
     </math> bits. In the approach proposed by Zuo et al. <xref ref-type="bibr" rid="scirp.141671-23">
      [23]
     </xref>, each 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mi>
          i 
        </mi> 
       </msub> 
      </mrow> 
     </math> transmits 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mi>
            i 
          </mi> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msubsup> 
          <mi>
            C 
          </mi> 
          <mi>
            i 
          </mi> 
          <mi>
            a 
          </mi> 
         </msubsup> 
         <mo>
           , 
         </mo> 
         <msubsup> 
          <mi>
            C 
          </mi> 
          <mi>
            i 
          </mi> 
          <mi>
            b 
          </mi> 
         </msubsup> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            T 
          </mi> 
          <mi>
            i 
          </mi> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            σ 
          </mi> 
          <mi>
            i 
          </mi> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           p 
         </mi> 
         <msub> 
          <mi>
            k 
          </mi> 
          <mi>
            i 
          </mi> 
         </msub> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math> to AG. The transmission expense from 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        n 
      </mi> 
     </math> SMs to AG is 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mn>
           64 
         </mn> 
         <mo>
           + 
         </mo> 
         <mn>
           512 
         </mn> 
         <mo>
           + 
         </mo> 
         <mn>
           512 
         </mn> 
         <mo>
           + 
         </mo> 
         <mn>
           64 
         </mn> 
         <mo>
           + 
         </mo> 
         <mn>
           1024 
         </mn> 
         <mo>
           + 
         </mo> 
         <mn>
           512 
         </mn> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         ⋅ 
       </mo> 
       <mi>
         n 
       </mi> 
       <mo>
         = 
       </mo> 
       <mn>
         2688 
       </mn> 
       <mi>
         n 
       </mi> 
      </mrow> 
     </math> bits. In the framework suggested by Boudia et al. <xref ref-type="bibr" rid="scirp.141671-17">
      [17]
     </xref>, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            C 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           I 
         </mi> 
         <msub> 
          <mi>
            D 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           T 
         </mi> 
         <mi>
           S 
         </mi> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            σ 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             j 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math> is transmitted from 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         S 
       </mi> 
       <msub> 
        <mi>
          M 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> to the respective FN, where 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          C 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> represents the ciphertext of the Paillier encryption system and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          σ 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           j 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> denotes a signature, resulting in a total communication cost of 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mn>
           2048 
         </mn> 
         <mo>
           + 
         </mo> 
         <mn>
           64 
         </mn> 
         <mo>
           + 
         </mo> 
         <mn>
           64 
         </mn> 
         <mo>
           + 
         </mo> 
         <mn>
           160 
         </mn> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         ⋅ 
       </mo> 
       <mi>
         n 
       </mi> 
       <mo>
         = 
       </mo> 
       <mn>
         2336 
       </mn> 
       <mi>
         n 
       </mi> 
      </mrow> 
     </math> bits. Ultimately, the comparison of communication costs is illustrated in <xref ref-type="fig" rid="fig4">
      Figure 4
     </xref>.</p>
    <p>To evaluate our enhanced scheme against current ones, we established 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         n 
       </mi> 
       <mo>
         = 
       </mo> 
       <mn>
         400 
       </mn> 
      </mrow> 
     </math> as the real value and performed a comprehensive comparison of the communication costs from 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        n 
      </mi> 
     </math> SMs to the FN, as illustrated in <xref ref-type="fig" rid="fig4">
      Figure 4
     </xref>. The figure indicates that the communication cost of our design is inferior to that of other schemes, with the exception of the scheme proposed by Boudia et al. <xref ref-type="bibr" rid="scirp.141671-17">
      [17]
     </xref>. While the transmission cost from SM to FN in the strategy proposed by Boudia et al. is somewhat cheaper than ours, their scheme lacks pseudonyms, potentially compromising its security.</p>
    <fig id="fig4" position="float">
     <label>Figure 4</label>
     <caption>
      <title>Figure 4. Communication overhead on the SM side.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/1733100-rId715.jpeg?20250328031256" />
    </fig>
   </sec>
  </sec><sec id="s8">
   <title>
    <xref ref-type="bibr" rid="scirp.141671-"></xref>8. Conclusion</title>
   <p>In this paper, we propose an efficient and anonymized multidimensional data aggregation scheme for fog computing smart grids, named EAMA. By leveraging an improved Paillier encryption scheme, our approach enhances encryption performance. Furthermore, the scheme incorporates a pseudonym mechanism for SMs, enabling FNs to aggregate data based on pseudonyms before retrieving the final aggregated results. The security analysis concludes that the approach guarantees data privacy, confidentiality, integrity, and authentication. The performance analysis underscores the scalability benefits of EAMA, the efficacy of its fault-tolerance mechanism, and its cost-efficiency in both computing and communication. Furthermore, EAMA supports inquiries beyond mere summing, rendering it appropriate for the application needs of smart city smart grids.</p>
  </sec><sec id="s9">
   <title>Funding</title>
   <p>The work was supported by the National Natural Science Foundation of China under Grant 12061027, by the Natural Science Foundation of Guangxi of China under Grant 2018GXNSFBA281019, by the Doctoral Research Foundation of Guilin University of Technology under Grant GUTQDJJ2018033, and by the Opening Fund of Key Laboratory of Cognitive Radio and Information Processing, Ministry of Education under Grant CRKL210206.</p>
  </sec>
 </body><back>
  <ref-list>
   <title>References</title>
   <ref id="scirp.141671-ref1">
    <label>1</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Zhang, Z., Deng, R., Yau, D.K.Y., Cheng, P. and Chen, J. (2020) Analysis of Moving Target Defense against False Data Injection Attacks on Power Grid. IEEE Transactions on Information Forensics and Security, 15, 2320-2335. &gt;https://doi.org/10.1109/tifs.2019.2928624
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref2">
    <label>2</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Chouikhi, S., Esseghir, M. and Merghem-Boulahia, L. (2023) Energy Consumption Scheduling as a Fog Computing Service in Smart Grid. IEEE Transactions on Services Computing, 16, 1144-1157. &gt;https://doi.org/10.1109/tsc.2022.3174698
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref3">
    <label>3</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Yigit, M., Gungor, V.C. and Baktir, S. (2014) Cloud Computing for Smart Grid Applications. Computer Networks, 70, 312-329. &gt;https://doi.org/10.1016/j.comnet.2014.06.007
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref4">
    <label>4</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Liu, J., Weng, J., Yang, A., Chen, Y. and Lin, X. (2020) Enabling Efficient and Privacy-Preserving Aggregation Communication and Function Query for Fog Computing-Based Smart Grid. IEEE Transactions on Smart Grid, 11, 247-257. &gt;https://doi.org/10.1109/tsg.2019.2920836
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref5">
    <label>5</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Ni, J., Zhang, K. and Vasilakos, A.V. (2021) Security and Privacy for Mobile Edge Caching: Challenges and Solutions. IEEE Wireless Communications, 28, 77-83. &gt;https://doi.org/10.1109/mwc.001.2000329
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref6">
    <label>6</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Kabalci, Y. (2016) A Survey on Smart Metering and Smart Grid Communication. Renewable and Sustainable Energy Reviews, 57, 302-318. &gt;https://doi.org/10.1016/j.rser.2015.12.114
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref7">
    <label>7</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Rossi, B. and Chren, S. (2020) Smart Grids Data Analysis: A Systematic Mapping Study. IEEE Transactions on Industrial Informatics, 16, 3619-3639. &gt;https://doi.org/10.1109/tii.2019.2954098
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref8">
    <label>8</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Gong, Y., Cai, Y., Guo, Y. and Fang, Y. (2016) A Privacy-Preserving Scheme for Incentive-Based Demand Response in the Smart Grid. IEEE Transactions on Smart Grid, 7, 1304-1313. &gt;https://doi.org/10.1109/tsg.2015.2412091
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref9">
    <label>9</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Paillier, P. (1999) Public-Key Cryptosystems Based on Composite Degree Residuosity Classes. In: Stern, J., Ed., Advances in Cryptology—EUROCRYPT’99. Lecture Notes in Computer Science, Springer, 223-238. &gt;https://doi.org/10.1007/3-540-48910-x_16
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref10">
    <label>10</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Kataray, T., Nitesh, B., Yarram, B., Sinha, S., Cuce, E., Shaik, S., et al. (2023) Integration of Smart Grid with Renewable Energy Sources: Opportunities and Challenges—A Comprehensive Review. Sustainable Energy Technologies and Assessments, 58, Article 103363. &gt;https://doi.org/10.1016/j.seta.2023.103363
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref11">
    <label>11</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Zhang, K., Lu, L., Zhao, J., Wei, L. and Ning, J. (2024) Secure Multi-Asks/bids with Verifiable Equality Retrieval for Double Auction in Smart Grid. Peer-to-Peer Networking and Applications, 17, 3255-3268. &gt;https://doi.org/10.1007/s12083-024-01744-5 
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref12">
    <label>12</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Ayub Khan, A., Ali Laghari, A., Rashid, M., Li, H., Rehman Javed, A. and Reddy Gadekallu, T. (2023) Artificial Intelligence and Blockchain Technology for Secure Smart Grid and Power Distribution Automation: A State-of-the-Art Review. Sustainable Energy Technologies and Assessments, 57, Article 103282. &gt;https://doi.org/10.1016/j.seta.2023.103282
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref13">
    <label>13</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Lyu, L., Nandakumar, K., Rubinstein, B., Jin, J., Bedo, J. and Palaniswami, M. (2018) PPFA: Privacy Preserving Fog-Enabled Aggregation in Smart Grid. IEEE Transactions on Industrial Informatics, 14, 3733-3744. &gt;https://doi.org/10.1109/tii.2018.2803782
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref14">
    <label>14</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Gope, P. and Sikdar, B. (2020) An Efficient Privacy-Friendly Hop-by-Hop Data Aggregation Scheme for Smart Grids. IEEE Systems Journal, 14, 343-352. &gt;https://doi.org/10.1109/jsyst.2019.2899986
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref15">
    <label>15</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Gope, P. and Sikdar, B. (2019) Lightweight and Privacy-Friendly Spatial Data Aggregation for Secure Power Supply and Demand Management in Smart Grids. IEEE Transactions on Information Forensics and Security, 14, 1554-1566. &gt;https://doi.org/10.1109/tifs.2018.2881730
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref16">
    <label>16</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Saleem, A., Khan, A., Malik, S.U.R., Pervaiz, H., Malik, H., Alam, M., et al. (2020) FESDA: Fog-Enabled Secure Data Aggregation in Smart Grid IoT Network. IEEE Internet of Things Journal, 7, 6132-6142. &gt;https://doi.org/10.1109/jiot.2019.2957314
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref17">
    <label>17</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Merad-Boudia, O.R. and Senouci, S.M. (2021) An Efficient and Secure Multidimensional Data Aggregation for Fog-Computing-Based Smart Grid. IEEE Internet of Things Journal, 8, 6143-6153. &gt;https://doi.org/10.1109/jiot.2020.3040982
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref18">
    <label>18</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Li, F., Luo, B. and Liu, P. (2010). Secure Information Aggregation for Smart Grids Using Homomorphic Encryption. 2010 1st IEEE International Conference on Smart Grid Communications, Gaithersburg, 4-6 October 2010, 327-332. &gt;https://doi.org/10.1109/smartgrid.2010.5622064 
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref19">
    <label>19</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Lu, R.X., Liang, X.H., Li, X., Lin, X.D. and Shen, X.M. (2012) EPPA: An Efficient and Privacy-Preserving Aggregation Scheme for Secure Smart Grid Communications. IEEE Transactions on Parallel and Distributed Systems, 23, 1621-1631. &gt;https://doi.org/10.1109/tpds.2012.86
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref20">
    <label>20</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Li, S., Xue, K., Yang, Q. and Hong, P. (2018) PPMA: Privacy-Preserving Multisubset Data Aggregation in Smart Grid. IEEE Transactions on Industrial Informatics, 14, 462-471. &gt;https://doi.org/10.1109/tii.2017.2721542
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref21">
    <label>21</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Mustafa, M.A., Cleemput, S., Aly, A. and Abidin, A. (2019) A Secure and Privacy-Preserving Protocol for Smart Metering Operational Data Collection. IEEE Transactions on Smart Grid, 10, 6481-6490. &gt;https://doi.org/10.1109/tsg.2019.2906016
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref22">
    <label>22</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Merad Boudia, O.R., Senouci, S.M. and Feham, M. (2017) Elliptic Curve-Based Secure Multidimensional Aggregation for Smart Grid Communications. IEEE Sensors Journal, 17, 7750-7757. &gt;https://doi.org/10.1109/jsen.2017.2720458
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref23">
    <label>23</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Zuo, X., Li, L., Peng, H., Luo, S. and Yang, Y. (2021) Privacy-Preserving Multidimensional Data Aggregation Scheme without Trusted Authority in Smart Grid. IEEE Systems Journal, 15, 395-406. &gt;https://doi.org/10.1109/jsyst.2020.2994363
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref24">
    <label>24</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Alsharif, A., Nabil, M., Sherif, A., Mahmoud, M. and Song, M. (2019) MDMS: Efficient and Privacy-Preserving Multidimension and Multisubset Data Collection for AMI Networks. IEEE Internet of Things Journal, 6, 10363-10374. &gt;https://doi.org/10.1109/jiot.2019.2938776
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref25">
    <label>25</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Zhang, S., Chang, J. and Wang, B. (2023) A Multidimensional Data Aggregation Scheme of Smart Home in Microgrid with Fault Tolerance and Billing for Demand Response. IEEE Systems Journal, 17, 4639-4649. &gt;https://doi.org/10.1109/jsyst.2023.3286468 
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref26">
    <label>26</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Damgård, I., Jurik, M. and Nielsen, J.B. (2010) A Generalization of Paillier’s Public-Key System with Applications to Electronic Voting. International Journal of Information Security, 9, 371-385. &gt;https://doi.org/10.1007/s10207-010-0119-9
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref27">
    <label>27</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Shamus (2014) Multiprecision Integer and Rational Arithmetic C/C++ Library (Miracl). 
    </mixed-citation>
   </ref>
   <ref id="scirp.141671-ref28">
    <label>28</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Lynn PBC Library. &gt;https://crypto.stanford.edu/pbc/
    </mixed-citation>
   </ref>
  </ref-list>
 </back>
</article>