HW/SW Co-design Implementation of Elliptic Curve Digital Signature Algorithm for Blockchain Network
摘要
The Elliptic Curve Digital Signature Algorithm (ECDSA) is one of the most critical entities in the BlockChain (BC) network. This paper presents the Field Programmable Gate Array (FPGA) implementation of the ECDSA protocol for data transactions in the BC network. The ECDSA protocol is based on: (i) a True Random Number Generator (TRNG), (ii) a Scalar Multiplication (SM), and (iii) a Hash function. The execution of the SM algorithm is an iterative process. At each iteration, the following arithmetic operations are performed over a finite field Fp: Modular Addition (MA), Modular Subtraction (MS), Modular Multiplication (MM), and Modular Inversion (MI). In this work, we propose the implementation of the ECDSA using the HardWare/SoftWare (HW/SW) combination. The processor MicroBlaze (MB) is used for the flexibility. Since the MI operation is complex, the Jacobian projective coordinates system is used to overcome this operation. HW part of the proposed embedded system includes the accelerator cores MM, MI, Secure Hash Algorithm (SHA-256), and the TRNG. The controls of the ECDSA and SM as well as the computation of the MA and MS, are executed in SW by MB. The implementation results show that the execution times of 256-bit ECDSA signature and verification are 75 ms and 149 ms, respectively.