Book Description
The growing demand for cryptosystems on platforms ranging from large servers to mobile devices to smart cards has sparked research into low cost, exible and secure solutions to the problem. As constraints on architectures such as area, speed and power become key factors in choosing a cryptosystem, methods for speeding up the development and evaluation process are necessary. Elliptic curves, since their introduction to public key cryptography in 1985 have challenged established public key and signature generation schemes such as RSA, offering more security per bit. Within the elliptic curve domain itself, an engineer is met with a myriad of design choices. Beyond the choice of characteristic field, GF(2m), GF(3m) and GF(p), the choice of coordinate system, point scalar multiplication algorithm and processor configuration need to be considered. Evaluating new algorithms can require a significant amount of setup time and countless hours spent configuring state machines and ROM instructions. Through this work, a system for the quick and efficient generation and evaluation of a cryptosystem was developed. Developing cryptosystems tailored to a specific application is not the only constraint faced by a designer. Side channel attacks are an ever increasing risk with attacks exploiting tim- ing information, electromagnetic fields, fault injection and most recently, power analysis to break a system. These attacks are avoided by specially selecting algorithms used point scalar multiplication or modifying existing, vulnerable, methods. The methods used to prevent such attacks are discussed in relation to elliptic curve and pairing based cryptosystems.