Paper 2017/814
Fast FPGA Implementations of Diffie-Hellman on the Kummer Surface of a Genus-2 Curve
Philipp Koppermann, Fabrizio De Santis, Johann Heyszl, and Georg Sigl
Abstract
We present the first hardware implementations of Diffie-Hellman key exchange based on the Kummer surface of Gaudry and Schost’s genus-2 curve targeting a 128-bit security level. We describe a single-core architecture for low-latency applications and a multi-core architecture for high-throughput applications. Synthesized on a Xilinx Zynq-7020 FPGA, our architectures perform a key exchange with lower latency and higher throughput than any other reported implementation using prime-field elliptic curves at the same security level. Our single-core architecture performs a scalar multiplication with a latency of 82 microseconds while our multi-core architecture achieves a throughput of 91,226 scalar multiplications per second. When compared to similar implementations of Microsoft’s FourQ on the same FPGA, this translates to an improvement of 48% in latency and 40% in throughput for the single-core and multi-core architecture, respectively. Both our designs exhibit constant-time execution to thwart timing attacks, use the Montgomery ladder for improved resistance against SPA, and support a countermeasure against fault attacks.
Metadata
- Available format(s)
- Category
- Implementation
- Publication info
- Published by the IACR in TCHES 2018
- Keywords
- Diffie-Hellman key exchangehyperelliptic curve cryptographyKummer surfaceFPGAZynqlow-latencyhigh-throughputfault countermeasure
- Contact author(s)
- philipp koppermann @ aisec fraunhofer de
- History
- 2018-01-31: revised
- 2017-08-31: received
- See all versions
- Short URL
- https://ia.cr/2017/814
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2017/814, author = {Philipp Koppermann and Fabrizio De Santis and Johann Heyszl and Georg Sigl}, title = {Fast {FPGA} Implementations of Diffie-Hellman on the Kummer Surface of a Genus-2 Curve}, howpublished = {Cryptology {ePrint} Archive, Paper 2017/814}, year = {2017}, url = {https://eprint.iacr.org/2017/814} }