Message Integration Authentication in the Internet-of-Things via Lattice-Based Batch Signatures

The internet-of-things (also known as IoT) connects a large number of information-sensing devices to the Internet to collect all kinds of information needed in real time. The reliability of the source of a large number of accessed information tests the processing speed of signatures. Batch signature allows a signer to sign a group of messages at one time, and signatures’ verification can be completed individually and independently. Therefore, batch signature is suitable for data integration authentication in IoT. An outstanding advantage of batch signature is that a signer is able to sign as many messages as possible at one time without worrying about the size of signed messages. To reduce complexity yielded by multiple message signing, a binary tree is usually leveraged in the construction of batch signature. However, this structure requires a batch residue, making the size of a batch signature (for a group of messages) even longer than the sum of single signatures. In this paper, we make use of the intersection method from lattice to propose a novel generic method for batch signature. We further combine our method with hash-and-sign paradigm and Fiat–Shamir transformation to propose new batch signature schemes. In our constructions, a batch signature does not need a batch residue, so that the size of the signature is relatively smaller. Our schemes are securely proved to be existential unforgeability against adaptive chosen message attacks under the small integer solution problem, which shows great potential resisting quantum computer attacks.


Introduction
IoT connects all kinds of objects with the Internet, through various sensing technologies and various means of communication, to achieve remote monitoring and other purposes [1][2][3][4]. Because of large numbers of nodes, wide sources of information and fast updating of information, information authentication processing is very stressful, which brings forward a new research topic for digital signature.
Digital signature was firstly defined and designed in [5][6][7]. This security mechanism allows a message owner to put digital "stamp" on a message to declare the corresponding ownership. Since its introduction, digital signature has been widely employed in many real-world applications, e.g., authentication [8], message integrity check [9], electronic voting, electronic property ownership proof (cryptocurrencies-https://bitcoin.org/en/) and other cloud-based applications [10][11][12]. Due to various of construction techniques, there are many variants of digital signature systems by far, e.g., El-Gamal [13], RSA-based [7], DSA and ECDSA. When it comes to the environment of IoT, batch signature, which is a variant of conventional digital signature, is a good choice.

Batch Signature
The notion of batch signature was firstly proposed by Fiat [14] in CRYPTO 1989. It allows a valid user to sign many messages with almost the cost of one signature operation. In other words, batch signature scheme could sign multiple messages simultaneously. Like carbon paper, someone only needs to sign the top file once by inserting each file in the middle of the carbon paper, all the documents are signed, and each message can be independently verified by recipients. This cryptographic primitive has greatly improved the efficiency of signing a large number of messages.
Following Fiat's seminal work, a lot of works on batch signature have been proposed. In 1996, M'Raïhi and Naccache [15] gave a batch exponentiation strategy, and applied it to the batch generation of fixed-g-based signatures. In 1999, Pavlovski and Boyd [16] presented a batch signature scheme based on binary tree structure. Binary tree structure is a general construction to transform a common signature algorithm into a batch signature algorithm. In addition, Cheng et al. [17] and Korkmaz [18] analysed the efficiency of existed batch signatures independently.
Besides theoretical construction, there are many more scenarios to apply batch signature technology. In 1999, Boyd et al. [19] proposed an efficient electronic cash using batch signatures. In 2008, Youn et al. [20] applied batch signature in imbalanced communication. We find batch signature is also indispensable in IoT and blockchain. In IoT, when messages from multiple sensor nodes are imported into the host, batch signature of messages is a good way to improve the efficiency of signature. In blockchain, multiple transactions could be handled simultaneously in one-block-generated time. We may save time and space cost by using batch signature scheme.
Faced with a large number of application requirements, the theoretical research of batch signature is not perfect. There are some defects about the existed batch signature, for example, the limited number of signed messages, dependence of signature verification on batch residue and the risk of anti-quantum algorithm attack.

Lattice-Based Signature
The above constructions are based on the traditional number theory assumptions. According to Shor's results [21], they can not resist the quantum computer's attack. In the aspect of anti-quantum, lattice-based cryptography is a hot spot for cryptologists, due to the following three advantages. Firstly, large integer factorization and discrete logarithm problems have been proven to be unable to resist quantum computer's attacks, meanwhile, there is no quantum algorithm that could solve hard problems in lattice. Secondly, cryptographic schemes based on the difficulty assumptions of the average case lattice problems can be reduced to the difficulty assumptions of the worst case lattice problems. It means that the security of cryptographic schemes built on average case lattice problems depends on the worst case lattice problems. The majority of public key cryptosystems are lack of this feature. Thirdly, most of the operations in the lattice are linear operations, so that lattice-based cryptographic schemes have potential computational efficiency.
Lattice-based cryptography has achieved many results. Ajtai [22] proposed the small integer solution problem, known as the SIS problem, in 1996. It is an average case problem hard to solve for appropriate parameter settings, and its difficulty is based on worst case lattice hard problems. The SIS problem, as well as its extension, the inhomogeneous small integer solution problem ISIS, forms the foundation of lattice-based signature schemes.
The most important theoretical breakthrough of lattice-based signature began with the signature scheme in [23]. The main structure of this signature scheme includes a trapdoor generation algorithm and preimage sampleable algorithm; these two algorithms are both with relatively large computational complexity, which hinders the practicability of signature schemes.
In order to solve the efficiency problem of signature schemes, cryptologists have considered the issue from many different perspectives. Alwen and Peikert [24] showed the techniques to get better trapdoor at a faster speed. Micciancio and Peikert [25] proposed a different structure, converted the general lattice trapdoor generation algorithm into a simple lattice trapdoor generation algorithm, and designed a more efficient trapdoor generation algorithm. As a by-product of this new algorithm, the efficiency of preimage sampleable algorithm has also been greatly improved. Therefore, the signature scheme in [25] has better efficiency and security.
Signature schemes in [23,25] have the same construction idea and both belong to the hash-and-sign paradigm. In 2012, Lyubashevsky [26] followed the Fiat-Shamir transformation, managed to avoid the use of trapdoor generation algorithm and preimage sampleable algorithm, and constructed more efficient signature schemes using matrix-vector multiplications and rejecting samplings. These signature schemes make the lattice-based signature schemes practical. Since then, lattice-based signature has continued with more and more contributions, but the core idea still follows the above mentioned signature schemes from [23,25,26].

Our Contributions
In this paper, we propose lattice-based batch signature schemes. Our batch signature schemes remove the batch residue in [19], which makes our batch signature has the same length as one ordinary signature.
1. We propose lattice-based batch signature schemes for the first time. Our schemes possess a general property, that is, our construction can be combined with any existing lattice-based signature scheme. 2. The technique we use is an extension of the intersection method from [27]. The intersection method is as follows: for n−dimensional integer lattices Λ 1 and Λ 2 such that Λ 1 + Λ 2 = Z n and Λ 1 Λ 2 = φ, there exists a short vector e, which belongs to v 1 + Λ 1 ∩ v 2 + Λ 2 and can be viewed as a signature of v 1 ∈ Z n and v 2 ∈ Z n .
We demonstrate this technique with a concrete example in terms of k ≥ 2. In detail, let Λ 1 = p 1 Z n , Λ 2 = p 2 Z n , · · · , Λ k = p k Z n with k primes p 1 , p 2 , · · · , p k . Because p 1 , p 2 , · · · , p k are different primes, p 1 Z n + p 2 Z n + · · · + p k Z n = Z n and p 1 Z n ∩ p 2 Z n ∩ · · · ∩ p k Z n = p 1 p 2 · · · p k Z n = φ. Therefore, for k messages v 1 , v 2 , · · · , v k ∈ Z n , there exists a short vector e ∈ v 1 + p 1 Z n ∩ v 2 + p 2 Z n ∩ · · · ∩ v k + p k Z n , which binds v 1 , v 2 , · · · , v k and can be viewed as their batch signature. 3. With the intersection method as core technique, we give two batch signature schemes based on hash-and-sign paradigm and Fiat-Shamir transformation, as well as a lattice-based batch signature scheme based on binary tree.

Organization
Our paper is organized as follows. First, we give some basic definitions and facts about lattice-based cryptography in Section 2. Then, we describe batch signature scheme definition and security in Section 3. In Section 4, we give lattice-based batch signature scheme based on binary tree. In Section 5, we propose lattice-based batch signature scheme based on hash-and-sign paradigm and the intersection method. In Section 6, we demonstrate lattice-based batch signature scheme based on Fiat-Shamir transformation and the intersection method. In Section 7, we present the comparison of our schemes with other lattice-based batch signatures, then describe batch signature's application to IoT. Finally, we conclude the paper in Section 8.

Preliminaries
We make use of standard asymptotic notations in our paper. Definition 1. D Z m ,s,c is the discrete Gaussian distribution in Z m , its center is c and Gaussian parameter is s. If the center is vector 0, 0 may be omitted. If e ←− D Z m ,s , its Euclidean norm is e ≤ s √ m with overwhelming probability [23].

Definition 2.
Trapdoor generation algorithm TrapGen(n, q, m) inputs n, q and m, where n is an integer, q ≥ 3 is an odd, and m = 6n log q is the minimum integer not less than 6n log q. The algorithm outputs a pair (A ∈ Z n×m q , T ∈ Z m×m ) such that A is statistically close to a uniform random matrix in Z n×m q , T is a basis for Λ ⊥ q (A) satisfying T ≤ O( n log q) and T ≤ O(n log q) with overwhelming probability. Here, T is the Gram-Schmidt orthogonalization matrix of T, T denotes the largest Euclidean norm of the column vectors in matrix T [24].
, and s ≥ T · ω( log m). Then for u ∈ Z n q , preimage sampleable algorithm SamplePre(A, T, u, s) samples x satisfying x ≤ s √ m and Ax = u mod q [23].

Definition 4. Small integer solution (SIS) [23]
SIS problem is defined as: for integer q, real β and matrix A ∈ Z n×m q , search an integer vector e ∈ Z m satisfying Ae = 0 mod q, e ≤ β and e = 0. Definition 5. The intersection of lattice Λ 1 and lattice Λ 2 is not empty, and Λ 1 + Λ 2 = Z n for element wise addition. v 1 , v 2 ∈ Z n are the coset representatives of Λ 1 and Λ 2 , respectively. Then there exists a vector e ∈ Z n such that e = v 1 mod Λ 1 and e = v 2 mod Λ 2 . This result can be generalized to multiple lattices [27].

Definition 6. Target Collision Resistant (TCR) Hash function [28]
Let h : {0, 1} n → {0, 1} m is a collision-resistant hash function if it satisfies the following properties: • (length-compressing): m < n • (hard to find collisions): For all PPT A, there exists a negligible function such that for all security parameters n ∈ N,

System Definition and Threat Model
In this section, we give batch signature definitions of generic algorithms and security, which divide into two parts.

Definition of Batch Signature System
Batch signature can use a signing action to complete the signing of a number of different messages, and the verification of individual message is independent. Besides, the system setup algorithm and key generation algorithm in batch signature scheme are as same as that of ordinary signature scheme.
• Verify(vk, j , e, j = 1, · · · , k): Given message j and its signature e associated with verification key vk, this algorithm tells whether the j-th message has gained valid authentication, and outputs 1 if the answer is yes, otherwise outputs 0.

Threat Model
Batch signature scheme should also satisfy existential unforgeability against adaptive chosen message attacks (EUF-CMA). We introduce a challenger C and an adversary A interacting with each other in the next game, to describe batch signature scheme's security.
• Initialization: In this period, challenger C executes algorithms Setup and KeyGen, provides system public parameters PP and public verification key vk for adversary A. • Signing queries: In this stage, adversary A selects a set of messages ( 1 , 2 , · · · , k ), sends the messages' set to challenger C for the associated signature. Challenger C invokes Sign algorithm, returns the result to adversary A. Adversary A may repeat the query polynomial times in his favorite manner. • Forgery: Once adversary A terminates signing queries, he offers a new message-signature pair ( * 1 , * 2 , · · · , * k , e). If message-signature pair ( * 1 , * 2 , · · · , * k , e) is valid and has not been queried, adversary A wins the game. Theorem 1. Batch signature scheme is existential unforgeability against adaptive chosen message attacks(EUF-CMA), if for all adversary A with polynomial bounded computational power, the probability of he wins above game is negligible.

Proposed Construction
In this part, we combine the signature scheme in [23] and the structure of binary tree in [19], propose the first lattice-based batch signature scheme. The scheme includes the following steps, and the Figure 1 shows the binary tree for message processing.
1. n is a polynomial of λ, q ≥ 3 is a polynomial of n, m = 6n log q , t = O( n log q).
2. k is the number of messages to batch sign, and s ≥ t · ω( log m) is the Gaussian parameter.
3. H 0 : {0, 1} * −→ Z n q and H 1 : Z 2n q −→ Z n q are two collision resistant hash functions. • KeyGen(λ): With system parameters as above, public verification key vk and secret signing key sk are obtained as follows. Invoke trapdoor generation algorithm TrapGen(n, q, m) to get a uniform and random matrix A ∈ Z n×m q , and the short basis T ∈ Z m×m for lattice Λ ⊥ q (A) with T ≤ t.
, and execute for-loop as follows.
, the left are shown in the next for-loop. for i = 1 to k − 1: Here, for i 's brother B i , its first entry denotes i 's brother note, its second entry denotes the brother locates on i 's left(L) or right(R).

For
Here, i 's residue R i includes i 's brother B i and all of its ancestor nodes's brothers. 5. For i , i = 0, · · · , k − 1, its signature is (e, R i ).

Security Analysis
Correctness of the scheme comes from the preimage sampleable algorithm. According to Definition 3, for messages set { 1 , 2 , · · · , k }, assume the root of the binary tree is H mod q hold. Moreover, without secret signing key T, no one can call preimage sampleable algorithm to get a vector e that meets the verification criteria. Therefore, there is no problem with the correctness of the scheme.
Security of the scheme comes from the following Theorem 2.

Theorem 2.
If SIS problem is hard to solve, the lattice-based batch signature scheme based on binary tree has existential unforgeability against adaptive chosen message attacks (EUF-CMA).
Proof. We assume that adversary A has breached the signature scheme, taking advantage of this attack power, challenger C can solve SIS problem for matrix A ∈ Z n×m q . Because SIS problem is a hard problem, we ca not find the answer to SIS instance A, which conflicts with our result. In this way, we get that no such adversary exists, and our scheme is secure.
• Initialization: In this period, challenger C executes setup algorithm to set system parameters, he sets public verification key vk = A, sends all of them to adversary A. • Hash queries: Challenger C creates a list to save the binary tree for k messages, and sets When adversary A sends a set of messages ( 0 , · · · , k−1 ) to challenger C for hash values. C searches list H, ), e) in the list H.
• Forgery: Once adversary A terminates signing queries, he forges a valid message-signature pair ), e ) in list H, then computes e − e * as the solution to the SIS instance A, and the analysis is as following.

Lattice-Based Batch Signature Based on Hash-and-Sign Paradigm
Lattice-based batch signature scheme based on binary tree is successfully constructed and proved, but the signature should associate with all other messages in the batch to complete signature verification, and batch signature length is, thus, longer. Inspired by [27,29], we make use of an intersection method to accomplish the second and third lattice-based batch signature schemes.
These two schemes' signature verification does not require involvement of other messages, so that the length of the signature is shorter, and their schematic of algorithms is shown in the Figure 2.

Design
Here is our second lattice-based batch signature scheme, which follows the hash-and-sign paradigm and the core technique is the intersection method.
• Setup(λ): In this stage, system parameters are provided with knowledge of security parameter λ.
1. n is a polynomial of λ, q ≥ 3 is a polynomial of n, m = 6n log q , l = O( n log q). 2. k is the number of messages to batch sign, and s ≥ l · ω( log m) is the Gaussian parameter. 3. H : {0, 1} * −→ Z n is a collision resistant hash function.
• KeyGen(λ): With system parameters as above, public verification key vk and secret signing key sk are obtained in the following manners.
• Verify(vk, j , e): For the j-th message j and the signature e, validation involves the following two relations: If they are both true, accept message j ; otherwise, reject it.

Security Analysis
Correctness of the second scheme is similar to that of the first scheme. By Definition 3, e ≤ s √ m and Ae = v mod q. By Definition 2, v = H( j ) mod Λ j . Combining Ae = v mod q and v = H( j ) mod Λ j , Ae = H( j ) mod Λ j . Moreover, without signing key T, nobody can invoke preimage sampleable algorithm to get a vector e satisfying the verification relations.
Security of the scheme comes from the following Theorem 3.

Theorem 3.
If SIS problem is a hard problem, the lattice-based batch signature scheme based on hash-and-sign paradigm has existential unforgeability against adaptive chosen message attacks (EUF-CMA).
Proof. If there exists an adversary A who has the ability to forge batch signature for some messages, there exists a challenger C has the ability to give the solution to SIS instance A ∈ Z n×m q , here the challenger C will seek the help of the adversary A. Since SIS problem is a hard problem, the solution to SIS instance A is hard to obtained, this is in contradiction with our result. Therefore, the adversary A who has the ability to forge batch signature does not exist, and our lattice-based batch signature scheme based on hash-and-sign paradigm has EUF-CMA security.
• Initialization: In this period, challenger C sets appropriate system parameters, lets public verification key vk = A, sends all of them to adversary A. • Hash queries: Challenger C creates a list to save the hash values for k messages, and sets H = {(( 1 , · · · , k ), (H( 1 ), · · · , H( k )), e)}.
When adversary A sends a set of messages ( 1 , · · · , k ) to challenger C for hash values. C searches list H.
If the messages exist in list H, challenger C returns e directly.

Lattice-Based Batch Signature Based on FS Transformation
In lattice-based cryptography, trapdoor generation algorithm (Definition 2) and preimage sampleable algorithm (Definition 3) are fundamental algorithms of signature scheme, but both algorithms have high computational complexity. To improve signature scheme's efficiency, we take lattice signature based on Fiat-Shamir transformation in [26], apply to lattice-based batch signature with intersection method, obtain a new and more efficient batch signature scheme.

Design
• Setup(n): In this stage, system parameters are provided with knowledge of security parameter n.
1. q may be 2 25 , d may be 1, r may be 512.
3. s may be 12dκ √ m, and M may be e (12dκ • KeyGen(n): With system parameters as above, public verification key vk and secret signing key sk are obtained in the following manners.

Construct equations:
3. Let z = Sc + y, output (v, z, c) as signature with probability min( If they are true, accept message j ; otherwise, reject it.

Security Analysis
The batch signature scheme in Section 5 and the batch signature scheme in Section 6 are different in terms of basic signature schemes: the first basic signature scheme comes from the literature [23], the second basic signature scheme comes from the literature [26]. According to literature [30], for the same security, the second bath signature scheme has better efficiency.
The same as batch signature scheme in Section 5, the batch signature scheme in Section 6's correctness and security can be reduced to its basic signature scheme, and the details are omitted here.

Efficiency Comparison and the Application to IoT
Refs. [14][15][16] are among the several most important batch signature schemes and improved techniques so far. Ref. [14] first introduced the idea and provide the construction based on RSA scheme. Later in [15], the authors focused on speeding up the modular exponentiation operation which is used in many DLP based signatures. In other words, the work [15] focuses on signature schemes which were built in the traditional multiplicative group, and then the authors in [16] managed to achieve the constant complexity for signature generation and verification, which does not rely on the number of messages. Our second and third schemes enjoy the same advantage as [16] regarding constant generation and verification complexity. Comparing the concrete efficiency for those schemes boils down to the issue of comparing the underlined algebraic primitives. According to [31], the key parameters, namely n, q in our lattice based scheme should be chosen at around 500 and 200,000 to achieve approximately the 128-bit level security. Generally speaking, our signature size will be larger than the ones constructed in the group where DLP or ECDLP problem is hard. According to [32], the computation of the lattice is very fast, and at the same security level the current lattice scheme will outperform the RSA and DLP or ECDLP based schemes. Most importantly, up to now, none of the previous listed batch signature schemes are able to resist against quantum attacks, which makes our scheme a very attractive choice in a long run. Lattice primitives are also being optimized by taking advantage of the modern CPU instruction such as AVX, AVX2 and so on [33], thus, the computation speed can be expected to be further improved.
In our constructions, we make use of two different approaches to integrate a group of messages to fulfill batch signatures, namely, binary tree and intersection methods. The schemes are existentially unforgeable against adaptive chosen message attacks. Table 1 shows the efficiency of our scheme regarding the different signature stages and parameter sizes in the asymptotic manner. From Table 1, it can be seen that all of the schemes require O(n 2 log 3 n) complexity on the secret key generation, while the 2nd and 3rd constructions only take O(n) for the size of signature, which means that a batch signature is independent of the parameter k. For computational comparison, it can be seen that the 3rd construction requires least computational complexity, O(n 3 ), while others have to take S and other operations. In the verification stage, the 2nd and 3rd scheme are constant cost instead of being linear with k, unlike the 1st construction. In all aspects, 3rd construction is the most efficient, and we describe its application in wireless body sensor network, which is a typical application of IoT. A wireless body sensor network [34] is composed of three sides: a receiver station(RS), many central control units (CCU), and many sensors (SS). A receiver station manages multiple central control units and a central control unit manages many sensors. Specifically, A patient's body is implanted with many sensors and a central control unit, which collects human medical data and sends it to the receiver station. The receiver station is responsible for verifying data and warehousing for all central control units, that is, the receiver station checks medical data and signs all of them. When a large number of medical data, which is from different patients, come in at the same time, the receiver station will become the bottleneck of data processing. Batch signature can solve the requirement of batch signing and individual verification for patients' medical data; the process is as follows.
Firstly, according to the 3rd batch signature scheme, wireless body sensor network sets up system parameters and public/private keys for the receiver station. A central control unit collects medical data in real time and sends it to the receiver station. The receiver station divides k central control unit data into one group, such as { 1 , · · · , k }, executes algorithm Sign(sk, { 1 , · · · , k }), obtain (v, z, c), store it with the message i , i = 1, · · · , k. When the j-th central control unit's data j is called, ( j , (v, z, c)) is provided, and the algorithm Verify( j , (v, z, c)) can be invoked to verify the validity of data j . If the answer is yes, the data is authoritative and credible. Otherwise, the data is unusable. The data flow diagram is shown in the Figure 3.

Conclusions
In this paper, we presented three new lattice-based batch signature schemes by using binary tree and intersection methods, with hash-and-sign paradigm and Fiat-Shamir transformation, respectively. Our schemes were existential unforgeability against adaptive chosen message attacks based on the difficulty of a small integer solution problem, which provided quantum security. A detailed efficiency analysis was also given, which showed that our schemes optimized the size of the public key, private key and signature. Moreover, we applied our batch signature schemes to a wireless body sensor network, which was a typical application of IoT, improved signature efficiency and security. In addition, batch signatures can also be applied to blockchain systems for speeding up the process of block signing operations, which we aim to be our next work.
Author Contributions: The first author X.L., proposed the main idea "intersection method" for batch signature and gave three schemes. The second author W.Y., gave all the figures and tables, as well as Sections 1 and 2. The third author Q.W., is the doctoral supervisor of the first two authors, guided the whole writing. The fourth author K.L., proposed the idea to describe signature from two frames: hash-and-sign paradigm and Fiat-Shamir transformation, which make the paper more comprehensive and systematic. The fifth author L.C., was responsible for the English writing of the whole paper. The sixth author J.C., the corresponding author, was responsible for efficiency analysis and application scenario description as well as the management of the research project.

Conflicts of Interest:
We declare that no conflict of interest among six authors.