In 1976, Whitfield Diffie and Martin Hellman introduced the concept of public key cryptography (PKC). Since then, many implementations of it have been proposed, and many of these cryptographic applications base their security on the intractability of hard mathematical problems, namely the integer factorization problem (IFP) and the finite field discrete logarithm problem (DLP). Over the years, sub-exponential time algorithms were developed to solve these problems. As a result, key sizes grew to more than 1000 bits, so as to attain a reasonable level of security. In constrained environments where computing power, storage and bandwidth are limited, carrying out thousand-bit operations becomes an impractical approach to providing adequate security. This is most evident in hand-held devices such as the mobile phones, pagers and PDAs that have very limited processing power and battery life. Proposed independently by Neal Koblitz and Victor Miller in 1985, elliptic curve cryptography (ECC) has the special characteristic that to date, the best known algorithm that solves it runs in full exponential time. Its security comes from the elliptic curve logarithm, which is the DLP in a group defined by points on an elliptic curve over a finite field. This results in a dramatic decrease in key size needed to achieve the same level of security offered in conventional PKC schemes. This paper aims to examine two aspects of the ECC, namely its security and efficiency, so as to provide grounds as to why the ECC is most suitable for constrained environments. We begin by introducing the three mathematical problems and the various algorithms that solve them. An overview of implementation methods and considerations will be provided, followed by comparisons in the performance of ECC with other PKC applications. Lastly, there will be a survey of current ECC applications in various mobile devices. 1.1 The Need for Public Key Cryptography Private key cryptography is widely used for the encryption of data due to its speed. The most commonly used today is the Data Encryption Standard (DES). It has an extremely fast encryption speed and this is a very attractive quality in terms of efficiency; however, it has certain shortcomings that make it unsuitable for use in the m-commerce environment.
Key Management Problem
A wireless user should be able to conduct business transactions with not just one party, but with many different ones. Thus, communication on a public network is not restricted to one-on-one, but a large number of users. For a network of n users, n(n-1)/2 private keys need to be generated. When n is large, the number of keys becomes unmanageable. II. Key Distribution Problem
With such a large number of keys that needs to be generated on a network, the job of generating the keys and finding a secure channel to distribute them becomes a burden. III. No digital signatures possible
A digital signature is an electronic analogue of a handwritten signature. If Alice sends an encrypted message to Bob, Bob should be able to verify that the received message is indeed from Alice. This can be done with Alice’s signature; however, private key cryptography does not allow such a feature. In contrast, public key cryptography uses two keys. Each user on a network publishes a public encryption...