Improving Throughput of Mobile Sensors via Certiﬁcateless Signature Supporting Batch Veriﬁcation

: Mobile sensors enjoy the advantages of easy installation and low consumption, which have been widely adopted in many information systems. In those systems where data are generated rapidly, the throughput of the sensors is one of the most fundamental factors that determine the system functionality. For example, to guarantee data integrity, digital signature techniques can be applied. In many practical scenarios, such as the smart grid system, data are generated rapidly and, hence, the signature together with the data must also be transmitted and veriﬁed in time. This requires the mobile sensors to support a high-throughput data processing ability. In this setting, how to achieve efﬁcient signature schemes supporting batch veriﬁcation must be considered. Many signatures, such as the original national cryptographic standard, namely, the SM2 algorithm, do not support batch veriﬁcation and are in a public-key infrastructure setting. In this paper, we propose a SM2-based certiﬁcateless signature scheme with batch veriﬁcation, which is suitable for the aforementioned environment. The scheme extends the Chinese cryptographic standard SM2 algorithm to the certiﬁcateless setting and multiple signatures can be veriﬁed simultaneously. Another advantage of this scheme is that its signing phase does not involve any pairing operation. The veriﬁcation phase only requires a constant pairing operation, which is not related to the number of signatures to be veriﬁed. The construction is generic and can be instantiated using any traditional signature scheme.


Introduction
A smart grid is a new type of network based on multiple power devices, which integrates a power data transmission function and power transmission function.These terminal devices often have limited hardware resources while generating mass data.How to increase throughput while ensuring data validation with limited hardware resources is an urgent problem that smart grids face.The validation of power data ensures, on the one hand, the integrity of data.Integrity directly affects the statistical, regulatory, and distribution of the electricity resources.In addition, considering the uncertain work environment of these devices, it is inevitable that sensor equipment malfunctions lead to data anomalies.At this point, it is necessary to quickly locate the device sending the abnormal data.Therefore, tracing the source of the error data is also a function that needs to be implemented.Digital signature technology can protect data from tampering and repudiation, which is sufficient for the data requirements of smart grids.
The earliest digital signature schemes mostly relied on the public-key infrastructure (PKI) setting, which bound user identity and public key information through the issuance of certificates by a CA (a certificate authority).However, this certificate can bring complex certificate management issues to the system and have high requirements for communication bandwidth and storage resources for devices so that it is unsuitable for grid devices.To address this issue, cryptography researchers have proposed identity-based cryptosystems (IBCs) [1,2] that directly use some identifiable information as public keys, such as phone numbers and email addresses.However, the private key comes entirely from the private key generator (PKG) in IBCs.This centralized trust dependency brings serious key escrow problems.Once the PKG center is attacked, it brings security issues to all subordinate devices.The certificateless public-key cryptosystem (CLPKC) inherits the advantages of the previous systems.In the CLPKC, there is neither certificates nor the problem of key escrow.Therefore, the CLPKC is more suitable for smart grid equipment in resource constrained scenarios.
In detail, many smart grid sensors are embedded with sequential numbers in the equipment.The sequential numbers can be treated as identities of the users in the systems and can be used to verify signatures or trace the origin of the message.On the other hand, the identity-based setting is not enough for the smart grid environment since there are large numbers of nodes in the system and it is not easy to select a widely adopted and fully trusted third party as the PKG.Therefore, certificateless cryptography is a prominent candidate for such a system.As is known to all, the pairing operations are comparatively complex and take much more time for computation than other group structures like the elliptic curve setting.However, many certificateless cryptographic schemes share similar algebraic structures to the identity-based constructions and are built upon pairing-friendly groups.Pairing-free certificateless signature schemes have not been widely developed, especially the scheme derived from the national cryptographic standard.To sum up, signature schemes that satisfy the pairing-free, certificateless setting, based on the published standard have many applications in smart grid system.Unfortunately, few constructions have been studied in the literature.
In addition, due to the high real-time requirements of data in the power system, the signature algorithm used must be able to calculate quickly [3].The terminal node may generate electricity data at any time, and the server will receive multiple data streams from multiple nodes at the same time.The server must be able to quickly process signature verification, which requires the signature algorithm to preferably support batch verification.In these systems, both efficiency [4] and privacy-preserving properties [5] need to be taken into consideration.Signatures that support batch verification can solve this problem.Namely, the signatures on the data collected from various sensors and other equipment can be aggregated in a certain node before being transmitted to the center and can later be verified together.The framework is shown in Figure 1.

Related Work
The CLPKC was first proposed by Al-Riyami and Paterson [6] to deal with the key escrow problem in the identity-based encryption (IBE) system [2].They provided the construction of three schemes including encryption, signature, and key agreement.In addition, two basic adversary models in the certificateless cryptosystem were identified, namely, Type I adversary and Type II adversary.Due to the excellent properties of nocertificate, many researchers were attracted and many follow-up work was proposed.Yum and Lee summarized a general secure construction method of the certificateless signature (CLS) scheme [7] and certificateless encryption (CLE) scheme [8].However, later these constructions were proved to be unsafe by Hu et al. [9] and Libert et al. [10].In 2005, Huang et al. [11] proved that there was a security risk in the original Al-Riyami and Paterson scheme [6].Au et al. [12] re-examined the security model of CLPKC and proposed the concept of a new adversary model called the malicious key generation center (KGC).Huang et al. [13] further subdivided each type opponent into three levels based on their attack capabilities and provided a super secure certificateless signature scheme.Among the known models, security against the super-type adversary achieves the most secure level.Nevertheless, the signature length was slightly long and contained three group elements.In recent years, many new shorter certificateless signature schemes and certificateless aggregate signatures [14,15] were proposed.There are also some schemes that have been proven to be insecure.For example, Shim [16] analyzed five recent articles and found that they can all be forged by adversaries.Therefore, how to construct secure certificateless signatures still requires a very rigorous approach.For a comparative survey of certificateless signature, ref. [17] is a good reference for the related studies until 2022.Two other related but earlier surveys can be found in [18,19].
In addition to solving the key escrow problem, compared to IBCs, another major advantage of certificateless cryptosystem is that they can be implemented without pairing.Baek et al. [20] explored the first certificateless encryption scheme without pairing using the Schnorr signature.However, Sun et al. [21] showed that the scheme in [20] did not consider public key attacks.They fixed the problem using a new scheme with a more stringent security model.The certificateless signature scheme without pairing was finished by He et al. [22] in 2010.For the IoT scenario, Gong et al. [23] and Yang et al. [24] designed a certificateless aggregation signature without pairing and Dai et al. [25] proposed a certificateless aggregation signcryption without pairing.Moreover, many certificateless schemes based on other PKI signatures have been studied.Using the RSA signature, Zhang et al. [26] also constructed a CLS scheme.Another study point is constructing CLS schemes based on already-published cryptographic standards.In 2022, Tang et al. [27] proposed a CLS scheme (in Chinese) based on the Chinese national cryptographic standard.The scheme is built upon the identity-based standard, namely, the SM9 (SM stands for the Chinese pinyi "shangmi", which means a commercial cryptography application) algorithm.As a result, it must rely on the pairing operation.Recently, He et al. [28] proposed a new CLS scheme using the SM2 algorithm without pairing.But their scheme requires zero-knowledge proof to verify the user public keys and how to support batch verification remains unknown.For batch verification, the certificateless aggregate signature (CLAS) [15,29] technique can be considered.

Motivation and Contributions
From the above analysis, we can see the enormous advantages of the certificateless cryptosystem and the feasibility of constructing a certificateless scheme based on the traditional signature scheme.However, current research is mostly limited to the implementation of the most basic signature schemes, while some signature algorithms with special functions have not yet emerged.For example, in systems with high throughput and low latency requirements, batch verification of signatures is also a crucial attribute that directly affects the availability of the entire system.Currently, there is no batch verifiable certificateless signature algorithm based on the national security algorithm.The primary contributions of this study include: 1.
We propose a certificateless signature algorithm with batch verification based on the Chinese national cryptographic standards, in particular with the SM2 algorithm; 2.
Our scheme supports batch verification of multiple signatures, thereby accelerating the algorithm in high throughput scenarios.

Technical Overview
From the above analysis, we can see that current studies on certificateless signature (CLS) schemes encounter the limitations of either relying on pairing operations like the scheme [27] built on the SM9 algorithm, or the underlying scheme not being selected as the cryptographic standard.The scheme proposed by He et al. [28] is extended from the SM2 algorithm and does not involve any pairing operation.However, it does not support batch verification.We first review the basic idea of He et al.'s construction.The core technical transformation from a traditional signature scheme to a certificate-based signature scheme is show in Figure 2. A certificateless signature is similar to a certificate-based signature.The main difference is the secret value setting phase.In the CLS scheme, it is not necessary for the user to select a secret value and compute the public key first, before transmitting the public key to the key generation center (KGC) to obtain the partial private key.This means that the user can apply the partial private key from the KGC first; then, generate the secret value and compute the public key later.During the key extraction phase, the user's public key may not yet be generated and, hence, cannot directly use the above transformation.To solve this issue, the user's public key contain two parts: one part is from the key extraction phase, which is similar to the certificate-based setting; the other part is generated by the user itself.These two parts are independently generated but must be used together to sign a message.This paves the way for transforming a traditional signature scheme into a CLS scheme.
As for the zero-knowledge proof part, we use the property of bilinear pairing to replace the complex proof process.Even though this brings the pairing operation into the scheme, it only appears in the verification phase and the signing phase does not involve any pairing operation.For verification, since our scheme supports batch verification, multiple signatures can be verified simultaneously and the number of pairing operations is constant.This means that the additional time cost caused by the pairing operations is a fixed value and, hence, it will not incur too much computational cost during batch verification.The details of batch verification are depicted in Section 4.2.

Organization
The structure of this article is organized as follows.In Section 2, two preliminaries will be briefly introduced, including CLS and bilinear pairing, and a SM2-based CLS scheme will be reviewed.In Section 3, a new signature scheme with batch verification will be proposed, and in Section 4, the performance of these schemes will be evaluated through simulation experiments.Finally, a conclusion of the entire article is provided in Section 5.

Preliminaries
We will describe the definition of two preliminaries, including bilinear pairing and the certificateless signature.We will also review a SM2-based CLS scheme.

Bilinear Pairing
For three cyclic groups G 1 , G 2 , G T of a prime order q, a map e : G 1 × G 2 → G T is a bilinear pairing if and only if three properties hold: Bilinear: for x, y ∈ Z q , the equation e(g x , h y ) = e(g, h) xy always holds; • Nondegenerate: if g is a generator of G 1 and h is a generator of G 2 , e(g, h) will also be a generator of G T .

Certificateless Signature
The CLS scheme usually includes six algorithms: The Setup algorithm is usually operated by the KGC to initialize the scheme, which receives a security parameter 1 λ .The system master public and secret key pair (mpk, msk) will be generated; The Verify algorithm is usually completed by a user verifying it.They receive the master public key mpk, a user identity ID, a public key pk ID , a message m, and a signature σ m .If the output is "1", it means the signature is legal; otherwise, the signature is illegal.

Review a CLS Scheme Based on SM2
The SM2-based CLS scheme designed by He et al. [28] is made up of six algorithms.Compute R = (e 1 + x 1 ), R = (e 2 + x 2 ).If the proof π is valid and the equations r = R, r = R hold, it outputs "1".Otherwise, it outputs "0".

Zero-Knowledge Proof with Pairing
In the above scheme, we need to provide a NIZKP of y in the user public key to avoid adversaries bypassing [x]P by setting [y]P.However, zero-knowledge proof requires additional overhead and increases the length of the user public key.We provide an extension scheme that uses bilinear pairing tools to verify the binding relationship between [x]P and [y]P.A user who verifies the signature can ensure that the signer knows the y corresponding to Y by calculating e([x]P, [y]P) = e([xy]P, P).The extension scheme is depicted in the following.

Construction
Next, we describe our new certificateless signature scheme with batch verification based on SM2.Our scheme also consists of six algorithms.

•
Setup (1 λ ): The Setup algorithm receives a security parameter 1 λ .It generates an elliptic curve group (G, p, P) with parameters a, b and coordinates x P , y P .Then, it picks α ∈ Z p randomly and sets P pub = [α]P.Next, it chooses a hash function H, such as the SM3 algorithm.Finally, it outputs the master key pair as mpk = (G, p, P, P pub , H), msk = α.
• KeyExt (mpk, msk, ID): The KeyExt algorithm receives the master key pair (mpk, msk) and an identity ID as inputs.It first picks x ∈ Z p randomly and calculates ppk ID = [x]P.
Then, it concatenates ID with ppk ID .Next, it runs the SM2 algorithm to generate a partial private key.

Computational Costs
The efficiency performance of the scheme was evaluated by comparing it with Huang's CLS [13] through simulation experiments.We use T add , T P , T mul , T e to represent the time of a point addition, a pairing operation, a scalar multiplication in the elliptic curve group, and an exponential operation in the G T group.G and Z p represent the elliptic curve group and the group of integers that are modular to a prime number p without an explicit statement.The experimental environment and the results are shown as Table 1

Batch Verification
This scheme requires the pairing operations in the verification algorithm, which consumes a lot of resources.To accelerate the algorithm, we can batch process a large number of signatures from the same user.For example, when multiple signatures from the same user are received consecutively, the received r, s, X, Y must all be consistent.Therefore, the verification equations can be performed once.The following is a simplified validation algorithm: Batch-Verify (mpk, ID, pk ID , {m 1 , m 2 , . . . ,m n }, {σ 1 , σ 2 , . . . ,σ n }): The verification algo- rithm inputs the master public key mpk, a user's identity ID, a public key pk ID , n messages {m 1 , m 2 , . . . ,m n }, and n signatures {σ 1 , σ 2 , . . . ,σ n }.The {σ i } i∈{1...n} is denoted as r i , s i , r i , s i and the pk ID is denoted as {[x]P, [y]P, [xy]P}.If all three equations hold, it outputs "1".Otherwise, it outputs "0".In this way, when verifying n signatures from the same user, step 1 and 3 only need to be performed once and step 2 needs to be performed n times.Thus, the expensive pairing operation only needs to be performed twice.

1.
Compute e i,1 = H(ID i [x i ]P), t i,j,1 = (r i,j + s i,j ) mod p, [s i,j ]P + [t i,j,1 ]P pub = (x i,j,1 , y i,j,1 ), R i,j = (e i,1 + x i,j,1 ).Then, check if the equation R i,j = r i,j holds.This step needs to be calculated once for each user; 2.
Compute e i,j,2 = H(ID i m i,j ), t i,j,2 = (r i,j + s i,j ) mod p, [s i,j ]P + [t i,j,2 ]([xy i ]P) = (x i,j,2 , y i,j,2 ), R i,j = (e i,j,2 + x i,j,2 ).Then, check if the equation R i,j = r i,j holds.This step must to be calculated for each signature; 3.
For all m public keys, calculate π 1 = ∏ m i=1,j=1,i!=je([x i ]P, [y j ]P)=∏ m i=1 (∏ m j=1,j!=i (e([x i ]P, [y j ]P ).This calculation can be completed by a third-party assistant and the results can be sent to the user.Then, the user calculates π 2 = e(∑ m i=1 [x i ]P, ∑ m i=1 [y i ]P) and π 3 = e(∑ m i=1 [xy i ]P, P).Finally, check if the equation π 2 π 1 = π 3 holds.If all equations in the three steps hold, it outputs "1".Otherwise, it outputs "0".In this way, when verifying the signatures from m users, the pairing operation can be completed twice locally rather than increasing with the number of users.

Conclusions and Future Work
To accelerate the verification algorithm, we extended the CLS scheme proposed by He et al. [28] and accelerated the algorithm execution through batch verification.The proposed scheme is still based on the Chinese national cryptographic standard (SM2) algorithm and no pairing operation is required during the signing process.This guarantees both efficiency and the requirement of using the standard cryptographic algorithm.In addition, the noninteractive zero-knowledge proof (NIZKP) of the signature is replaced by verifying an equation.This improvement provides efficient batch verification for multiple signatures.The number of pairing operations is constant regardless of the amount of signatures.
In this paper, we propose a basic certificateless signature scheme derived from the SM2 algorithm without resorting to the use of pairing operations.Signing or verifying a single signature does not involve any pairing operation.In addition, we further show how to improve the scheme to support batch verification.Nevertheless, the verification of multiple signatures requires a constant number of pairing operations.Despite the fact that the number is constant and is independent from the number of signatures in a batch verification, how to achieve a fully pairing-free SM2-based certificateless signature scheme that supports batch verification is worth studying.In addition, the security analysis is based on the random oracle model, which treats the hash function as an oracle.How to construct schemes without random oracles would also improve the security to a greater extent.

Figure 1 .
Figure 1.Framework of certificateless signature with batch verification.

Figure 2 .
Figure 2. Transformation from traditional signature to certificate-based signature.

•
Setup(1 λ): The Setup algorithm receives the security parameter 1 λ as input and uses the SM2 setup algorithm.It chooses an elliptic curve group (G, p, P) with parameters a, b and coordinates x P , y P .Then, it randomly picks α ∈ Z p and computes P pub = [α]P.Then, it concatenates the identity ID and the partial public key ppk ID .Finally, it runs the SM2 signature algorithm to produce the partial private key.1.Compute e = H(ID ppk ID ); 2.Pick k ∈ Z p randomly and calculate [k]P = (x 1 , y 1 ), r = (e + x 1 ) mod p;3.Compute s = ((1 + α) −1 • (k − r • α)) mod p.The partial private key is d ID = (r, s, x, ppk ID ); • ScretValue (mpk, ID): The ScretValue algorithm receives the master public key mpk and an identity ID.Then, it runs the SM2 key generation algorithm.It randomly selects a y ∈ Z p and sets sv ID = (x, y) with the random value x received from the KGC.Next, it outputs the secret value sv ID ; • PublicKey (mpk, ID, sv ID ): The PublicKey algorithm receives the master public key mpk, an identity ID, and a secret value sv ID = (x, y).Then, it computes [y]P and generates a noninteractive zero-knowledge proof (NIZKP) π of holding the unique y with respect to [y]P.Next, it sets pk ID = (ppk ID , [y]P, π) and outputs pk ID as the public key; • Sign (mpk, d ID , sv ID , m): The Sign algorithm receives the master public key mpk, a partial private key d ID = (r, s, x, ppk ID ), a secret value sv ID = (x, y), and a message m.It first concatenates the identity ID and message m.Then, it computes (x + y) mod p and runs the SM2 signing algorithm with (x + y) to generate the part signature.
transmits the partial private key d ID = (r, s, x, ppk ID ) to the user safely; • ScretValue (mpk, ID): The ScretValue algorithm receives the master public key mpk and an identity ID as inputs.Then, it runs the SM2 key generation algorithm.It selects y ∈ Z p randomly and sets sv ID = (x, y) with the random value x received from KGC. Next, it outputs the secret value sv ID ; • PublicKey (mpk, ID, sv ID ): The PublicKey algorithm receives the master public key mpk, a user identity ID, and a secret value sv ID = (x, y) of the user as inputs.Then, it computes [y]P and [xy]P.Next, it sets pk ID = (ppk ID , [y]P, [xy]P) and produces the public key pk ID ; Next, it outputs the signature σ = (r, s, r , s ); Then, it runs the SM2 verification algorithm to check the validity of σ ID and σ m .In detail, 1. Compute e 1 = H(ID ppk ID ), t 1 = (r + s) mod p, [s]P + [t 1 ]P pub = (x 1 , y 1 ), R = (e 1 + x 1 ).Then check if the equations R = r holds; 2. Compute e 2 = H(ID m), t 2 = (r + s ) mod p, [s ]P + [t 2 ]([xy]P) = (x 2 , y 2 ), R = (e 2 + x 2 ).Then check if the equations R = r holds; 3. Check if the equations e([x]P, [y]P) = e([xy]P, • Sign (mpk, d ID , sv ID , m): The Sign algorithm inputs the master public key mpk, a user partial private key d ID = (r, s, x, ppk ID ), a secret value sv ID = (x, y), and a message m.It first concatenates the identity ID and the message m.Then, it computes xy mod p and runs the SM2 signing algorithm with xy to generate the part signature.In detail, 1. Compute e = H(ID m); 2. Pick k ∈ Z p randomly and compute [k ]P = (x 2 , y 2 ), r = (e + x 2 ) mod p; 3. Compute s = ((1 + xy) −1 • (k − r • xy) mod p. • Verify (mpk, ID, pk ID , m, σ): The Verify algorithm receives the master public key mpk, an identity ID, public key pk ID = ([x]P, [y]P, [xy]P), a message m, and a signature σ = (r, s, r , s).It first checks if e([x]P, [y]P) = e([xy]P, P) holds.

Table 2 .
Efficiency comparison of the CLS schemes.In the above table, |Z p | and |G| denote the binary length of an element in group Z p and G, respectively.
Then, check if the equations R i = r i holds.For n signatures coming from the same user, the {r i , s i , [x]P} are the same so that this step only needs to be calculated once for n signatures; 2.Compute e i,2 = H(ID m i ), t i,2 = (r i + s 1.Compute e i,1 = H(ID ppk ID ), t i,1 = (r i + s i ) mod p, [s i ]P + [t i,1 ]P pub = (x i,1 , y i,1 ),R i = (e i,1 + x i,1 ).i )mod p, [s i ]P + [t i,2 ]([xy]P) = (x i,2 , y i,2 ), R i = (e i,2 + x i,2).Then, check if the equation R i = r i holds.This step must to be executed for each signature; 3.Check if the equation e([x]P, [y]P) = e([xy]P, P) holds.This step only needs to be calculated once for n signatures.