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 -