Paper 2003/212

High Performance Arithmetic for Hyperelliptic Curve Cryptosystems of Genus Two

Jan Pelzl, Thomas Wollinger, and Christof Paar


Nowadays, there exists a manifold variety of cryptographic applications: from low level embedded crypto implementations up to high end cryptographic engines for servers. The latter require a flexible implementation of a variety of cryptographic primitives in order to be capable of communicating with several clients. On the other hand, on the client it only requires an implementation of one specific algorithm with fixed parameters such as a fixed field size or fixed curve parameters if using ECC/ HECC. In particular for embedded environments like PDAs or mobile communication devices, fixing these parameters can be crucial regarding speed and power consumption. In this contribution, we propose a highly efficient algorithm for a hyperelliptic curve cryptosystem of genus two, well suited for these constraint devices. In recent years, a lot of effort was made to speed up arithmetic on genus-2 HEC. This work is based on the work of Lange and presents a major improvement of HECC arithmetic for curves defined over fields of characteristic two. We optimized the group doubling operation for certain types of genus-2 curves and we were able to reduce the number of required multiplications to a total of 9 multiplications. The saving in multiplications is 47% for the cost of one additional squaring. Thus, the efficiency of the whole cryptosystem was drastically increased.

Available format(s)
Publication info
Published elsewhere. Unknown where it was published
hyperelliptic curvesexplicit formulaehyperelliptic curvesexplicit formulaeefficient implementationgenus two
Contact author(s)
pelzl @ crypto rub de
2003-10-06: received
Short URL
Creative Commons Attribution


      author = {Jan Pelzl and Thomas Wollinger and Christof Paar},
      title = {High Performance Arithmetic for Hyperelliptic Curve Cryptosystems of Genus Two},
      howpublished = {Cryptology ePrint Archive, Paper 2003/212},
      year = {2003},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.