Abstract

With the rapid development of the Internet of Things (IoT), IoT security has become more and more important. A large number of IoT tasks use digital signatures to ensure authenticity, integrity, and non-repudiation. However, verifying lots of signatures reduces the performance of the IoT system. Batch verification can verify multiple digital signatures at the same time, which reduces the computational overhead and verification time compared with consecutive respective verification. Thus it is suitable for IoT systems. SM2(Shangyong Mima 2) digital signature algorithm is a public key cryptographic algorithm based on elliptic curve cryptography(ECC), and is widely used in IoT applications. We propose SM2Verifi in this paper, a batch verification approach for SM2 digital signatures. SM2Verifi calculates fewer scalar multiplications than consecutive respective verification and uses the KGLP algorithm and the multi-parameter inversion algorithm to speed up scalar multiplications and inversions. Therefore, SM2Verifi greatly reduces the computational overhead and verification time. SM2Verifi generates a set of random integers through the addition chain seminumeric computation to resist possible forged signatures and determines whether to accept a batch of signatures by calculating congruence equations and resultants. Our extensive experiments on NXP smart cards show that SM2Verifi can significantly improve verification efficiency. Specifically, without randomization, batch verification of nine signatures belonging to one signer is 6.41 times faster than respective verification. Considering the verification performance, security, and hardware overhead, SM2Verifi achieves the comprehensive optimum when verifying seven signatures signed either by one signer or seven signers with 32-bit randomization.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call