Abstract
Elliptic Curve Cryptography (ECC) has gained widespread exposure and increasing acceptance, and has already been adopted in many security standards. Compared with RSA, ECC provides similar level of security with much smaller key. Because of this advantage, ECC has become more important for many new applications, such as Elliptic Curve Digital Signature Algorithm (ECDSA), etc., for those applications in portable devices and embedded systems. In this thesis, we present a high-performance ECC processor for commercial FPGAs that supports arbitrary fields and curve parameters over prime field. First, a novel architecture for modular multiplier in modern reconfigurable FPGAs is proposed based on the word-based Montgomery multiplication algorithm. Modern FPGAs, e.g., Xilinx Virtex-4 and Virtex-5 as well as Altera Stratix FPGAs, equip with Digital Signal Processing (DSP) slices to speed up computationally expensive arithmetic in hardware design. With dedicated DSP slices, we accelerated the 256-bit modular multiplication by dividing it into four pipeline stages with a few extra LUTs slice. Moreover, we cascaded serial DSP slices and fully used embedded registers in DSP slices to reduce the routing path delay. In our design, it takes only one DSP slice and one LUT slice in the critical path. Second, operation scheduling is explored to reduce the operation cycles further. We perform the reduction part of the Montgomery multiplication with the multiplication part of the next interation. In addition, modular addition/subtraction can also be executed with the multiplication in parallel. With Xilinx Virtex-5 FPGA devices, a 256-bit point scalar multiplication can be performed in 0.86ms at 263MHz with 3657 LUT slices and 10 DSP slices. The comparison of performance among other ECC designs justifies that our processor provides high-throughput with the flexibility of configurable finite fields and elliptic curves.