A Design of Elliptic Curve Cryptography Processor Based on SM2 over GF(p)
Authors: Shiji Hu, Lei Li, Wanting Zhou, Daohong Yang
Abstract:
The data encryption is the foundation of today’s communication. On this basis, to improve the speed of data encryption and decryption is always an important goal for high-speed applications. This paper proposed an elliptic curve crypto processor architecture based on SM2 prime field. Regarding hardware implementation, we optimized the algorithms in different stages of the structure. For modulo operation on finite field, we proposed an optimized improvement of the Karatsuba-Ofman multiplication algorithm and shortened the critical path through the pipeline structure in the algorithm implementation. Based on SM2 recommended prime field, a fast modular reduction algorithm is used to reduce 512-bit data obtained from the multiplication unit. The radix-4 extended Euclidean algorithm was used to realize the conversion between the affine coordinate system and the Jacobi projective coordinate system. In the parallel scheduling point operations on elliptic curves, we proposed a three-level parallel structure of point addition and point double based on the Jacobian projective coordinate system. Combined with the scalar multiplication algorithm, we added mutual pre-operation to the point addition and double point operation to improve the efficiency of the scalar point multiplication. The proposed ECC hardware architecture was verified and implemented on Xilinx Virtex-7 and ZYNQ-7 platforms, and each 256-bit scalar multiplication operation took 0.275ms. The performance for handling scalar multiplication is 32 times that of CPU (dual-core ARM Cortex-A9).
Keywords: Elliptic curve cryptosystems, SM2, modular multiplication, point multiplication.
Procedia APA BibTeX Chicago EndNote Harvard JSON MLA RIS XML ISO 690 PDF Downloads 235References:
[1] Victor S Miller. Use of elliptic curves in cryptography. In Advances in CryptologyłCRYPTO85 Proceedings, pages 417– 426. Springer, 1985.
[2] Neal Koblitz. Elliptic curve cryptosystems. Mathematics of computation, 48(177):203–209, 1987.
[3] Yang A, Nam J, Kim M, et al. Provably-secure (Chinese government) SM2 and simplified SM2 key exchange protocols (J). The Scientific World Journal, 2014, 2014.
[4] Zhang Y, He D, Zhang M, et al. A provable-secure and practical two-party distributed signing protocol for SM2 signature algorithm (J). Frontiers of Computer Science, 2020, 14: 1-14.
[5] Zhou L, Su C, Hu Z, et al. Lightweight implementations of NIST P-256 and SM2 ECC on 8-bit resource-constraint embedded device (J). ACM Transactions on Embedded Computing Systems (TECS), 2019, 18(3): 1-13.
[6] Liu Z, Liu D, Zou X. An efficient and flexible hardware implementation of the dual-field elliptic curve cryptographic processor (J). IEEE Transactions on Industrial Electronics, 2016, 64(3): 2353-2362.
[7] Roy D B, Mukhopadhyay D. High-speed implementation of ECC scalar multiplication in GF (p) for generic Montgomery curves (J). IEEE transactions on very large scale integration (VLSI) systems, 2019, 27(7): 1587-1600.
[8] Seo S C, Kim T, Hong S. Accelerating elliptic curve scalar multiplication over GF (2m) on graphic hardwares (J). Journal of Parallel and Distributed Computing, 2015, 75: 152-167.
[9] Salman A, Ferozpuri A, Homsirikamol E, et al. A scalable ECC processor implementation for high-speed and lightweight with side-channel countermeasures (C)//2017 international conference on ReConFigurable Computing and FPGAs (ReConFig). IEEE, 2017: 1-8.
[10] Awaludin A M, Larasati H T, Kim H. High-speed and unified ECC processor for generic Weierstrass curves over GF (p) on FPGA (J). Sensors, 2021, 21(4): 1451.
[11] Ding J, Li S. A reconfigurable high-speed ECC processor over NIST primes (C)//2017 IEEE Trustcom/BigDataSE/ICESS. IEEE, 2017: 1064-1069.
[12] Ding J, Li S, Gu Z. High-speed ECC processor over NIST prime fields applied with Toom–Cook multiplication (J). IEEE Transactions on Circuits and Systems I: Regular Papers, 2018, 66(3): 1003-1016.
[13] Khan S, Javeed K, Shah Y A. High-speed FPGA implementation of full-word Montgomery multiplier for ECC applications (J). Microprocessors and Microsystems, 2018, 62: 91-101.
[14] Feng X, Li S. A high performance FPGA implementation of 256-bit elliptic curve cryptography processor over GF (p) (J). IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, 2015, 98(3): 863-869.
[15] Zhang D, Bai G. High-performance implementation of SM2 based on FPGA (C)//2016 8th IEEE International Conference on Communication Software and Networks (ICCSN). IEEE, 2016: 718-722.
[16] Deschamps J P, Sutter G. Hardware implementation of finite-field division (J). Acta Applicandae Mathematica, 2006, 93: 119-147.
[17] Anagreh M, Vainikko E, Laud P. Accelerate Performance for Elliptic Curve Scalar Multiplication based on NAF by Parallel Computing (C)//ICISSP. 2019: 238-245.
[18] Wu T, Ye J, Lu J. Hardware implementation of SM2 ECC protocols on FPGAs (C)//2021 IEEE 5th Information Technology, Networking, Electronic and Automation Control Conference (ITNEC). IEEE, 2021, 5: 33-37.
[19] Kudithi T, Sakthivel R. High-performance ECC processor architecture design for IoT security applications (J). The Journal of Supercomputing, 2019, 75(1): 447-474.
[20] Shah Y A, Javeed K, Azmat S, et al. Redundant-signed-digit-based high speed elliptic curve cryptographic processor (J). Journal of Circuits, Systems and Computers, 2019, 28(05): 1950081.
[21] Hu X, Zheng X, Zhang S, et al. A high-performance elliptic curve cryptographic processor of SM2 over GF (p) (J). Electronics, 2019, 8(4): 431.