Effects of Optimizations for Software Implementations of Small Binary Field Arithmetic

  • Authors:
  • Roberto Avanzi;Nicolas Thériault

  • Affiliations:
  • Fakultät für Mathematik, Ruhr-Universität Bochum and the Horst Görtz Institut für IT-Sicherheit, Germany;Instituto de Matemática y Física, Universidad de Talca, Chile

  • Venue:
  • WAIFI '07 Proceedings of the 1st international workshop on Arithmetic of Finite Fields
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

We describe an implementation of binary field arithmetic written in the C programming language. Even though the implementation targets 32-bit CPUs, the results can be applied also to CPUs with different granularity.We begin with separate routines for each operand size in wordsto minimize performance penalties that have a bigger relative impact for shorter operands --- such as those used to implement modern curve based cryptography. We then proceed to use techniques specific to operand size in bitsfor several field sizes.This results in an implementation of field arithmetic where the curve representing field multiplication performance closely resembles the theoretical quadratic bit-complexity that can be expected for small inputs.This has important practical consequences: For instance, it will allow us to compare the performance of the arithmetic on curves of different genera and defined over fields of different sizes without worrying about penalties introduced by field arithmetic and concentrating on the curve arithmetic itself. Moreover, the cost of field inversion is very low, making the use of affine coordinates in curve arithmetic more interesting. These applications will be mentioned.