TY - GEN

T1 - Effects of optimizations for software implementations of small binary field arithmetic

AU - Avanzi, Roberto

AU - Thériault, Nicolas

PY - 2007

Y1 - 2007

N2 - 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 words to 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 bits for 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.

AB - 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 words to 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 bits for 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.

KW - Binary fields

KW - Curve-based cryptography

KW - Efficient implementation

UR - http://www.scopus.com/inward/record.url?scp=38149065338&partnerID=8YFLogxK

U2 - 10.1007/978-3-540-73074-3_7

DO - 10.1007/978-3-540-73074-3_7

M3 - Conference contribution

AN - SCOPUS:38149065338

SN - 9783540730736

T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

SP - 69

EP - 84

BT - Arithmetic of Finite Fields - First International Workshop, WAIFI 2007, Proceedings

PB - Springer Verlag

T2 - 1st International Workshop on Arithmetic of Finite Fields, WAIFI 2007

Y2 - 21 June 2007 through 22 June 2007

ER -