Paper 2016/909
Multi-core FPGA Implementation of ECC with Homogeneous Co-Z Coordinate Representation
Bo-Yuan Peng, Yuan-Che Hsu, Yu-Jia Chen, Di-Chia Chueh, Chen-Mou Cheng, and Bo-Yin Yang
Abstract
Elliptic Curve Cryptography (ECC) is gaining popularity in recent years. Having short keys and short signatures in particular makes ECC likely to be adopted in numerous internet-of-things (IoT) devices. It is therefore critical to optimize ECC well for both speed and power consumption. Optimization opportunities exist on several different levels: algorithm, architecture, and/or implementation. We combine optimizations at every level in an efficient multi-core FPGA implementation. The core building block for our implementation is a Montgomery multiplier capable of modular additions and multiplications with an arbitrary prime modulus. The size of the prime modulus can also be changed easily, for which we have implemented and tested up to 528-bits used in the NIST P-521 curve. Based on this building block, we have developed a multi-core architecture that supports multiple parallel modular additions, multiplications, and inverses. Efficient ECC group addition and doubling are then built from this foundation. To support a wide variety of curves and at the same time resist timing/power-based side-channel attacks, our scalar multiplication is implemented using the Co-Z ladder due to Hutter, Joye, and Sierra. This approach also allows us to trade off between speed and power consumption by using a different number of Montgomery cores.
Note: This is the full version of the submitted CANS 2016 short paper. This full version is also available at http://precision.moscito.org/by-publ/recent/CoZ-long.pdf .
Metadata
- Available format(s)
- Category
- Implementation
- Publication info
- Published elsewhere. Major revision. Cryptology and Network Security: CANS 2016
- Keywords
- ECCCo-ZMulti-CoreFPGAMontgomery Reduction
- Contact author(s)
- bypeng @ crypto tw
- History
- 2016-09-19: received
- Short URL
- https://ia.cr/2016/909
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2016/909, author = {Bo-Yuan Peng and Yuan-Che Hsu and Yu-Jia Chen and Di-Chia Chueh and Chen-Mou Cheng and Bo-Yin Yang}, title = {Multi-core {FPGA} Implementation of {ECC} with Homogeneous Co-Z Coordinate Representation}, howpublished = {Cryptology {ePrint} Archive, Paper 2016/909}, year = {2016}, url = {https://eprint.iacr.org/2016/909} }