We describe a cryptographic processor for Elliptic Curve Cryptopgraphy (ECC). ECC is evolving as an attractive alternative to other public-key schemes such as RSA by offering the smallest key size and the highest strength per bit. The processor performs point multiplication for elliptic curves over binary polynomial field GF(2m. In contrast to other designs that only support one curve at a time, our processor is capable of handling arbitrary curves without requiring reconfiguration. More specifically, It can handle both named curves as standardized by NIST as well as any other generic curves up to a field degree of 255. Efficient support for arbitrary curves is particularly important for the targeted server applications that need to handle request for secure connections generated by a multitude of heterogenous client devices. Such request may specify curves which are infrequently used or not even known at implementation time. Our processor implements 250-but modular multiplication, division, addition and squaring. The multiplier constitutes the core function as it executes the bulk of the point multiplication algorithm. We present a novel digit-serial modular multiplier that uses a hybrid architecture to perform the reduction operations needed to reduce the multiplication result: Hardwired logic is used for fast reduction of named curves and the multiplier circuit is reused for reduction of generic curves. The performance of our FPGA-based prototype, running at a clock frequency of 66.4MHz, is 6955 point multiplications per second for named curves over GF(2163) and 3308 point multiplications per second for generic curves over GF(2163)
Citation:
Hans Eberle, Nils Gura, Sheueling Chang-Shantz, "A Cryptograhpic Processor for Arbitrary Elliptic Curves over," asap, pp.444, 14th IEEE International Conference on Application-Specific Systems, Architectures and Processors (ASAP'03), 2003