The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
An Improved Implementation of Elliptic Curves over GF(2) when Using Projective Point Arithmetic
SAC '01 Revised Papers from the 8th Annual International Workshop on Selected Areas in Cryptography
More Flexible Exponentiation with Precomputation
CRYPTO '94 Proceedings of the 14th Annual International Cryptology Conference on Advances in Cryptology
High-Speed Software Multiplication in F2m
INDOCRYPT '00 Proceedings of the First International Conference on Progress in Cryptology
Software Implementation of Elliptic Curve Cryptography over Binary Fields
CHES '00 Proceedings of the Second International Workshop on Cryptographic Hardware and Embedded Systems
Fast Key Exchange with Elliptic Curve Systems
CRYPTO '95 Proceedings of the 15th Annual International Cryptology Conference on Advances in Cryptology
IEEE Transactions on Computers
On the evaluation of powers and related problems
SFCS '76 Proceedings of the 17th Annual Symposium on Foundations of Computer Science
Generic GF(2m) arithmetic in software and its application to ECC
ACISP'03 Proceedings of the 8th Australasian conference on Information security and privacy
Efficient doubling on genus two curves over binary fields
SAC'04 Proceedings of the 11th international conference on Selected Areas in Cryptography
Field inversion and point halving revisited
IEEE Transactions on Computers
Designs, Codes and Cryptography
Efficient software implementations of large finite fields GF(2n) for secure storage applications
ACM Transactions on Storage (TOS)
Information Sciences: an International Journal
Hi-index | 0.00 |
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.