tailieunhanh - Elliptic Curve Cryptography An Implementation Guide

The paper gives an introduction to elliptic curve cryptography (ECC) and how it is used in the implementation of digital signature (ECDSA) and key agreement (ECDH) Algorithms. The paper discusses the implementation of ECC on two finite fields, prime field and binary field. | Elliptic Curve Cryptography - An Implementation Tutorial Elliptic Curve Cryptography An Implementation Guide Anoop MS anoopms@ Abstract The paper gives an introduction to elliptic curve cryptography ECC and how it is used in the implementation of digital signature ECDSA and key agreement ECDH Algorithms. The paper discusses the implementation of ECC on two finite fields prime field and binary field. It also gives an overview of ECC implementation on different coordinate systems called the projective coordinate systems. The paper also discusses the basics of prime and binary field arithmetic. 1. Introduction Elliptic Curve Cryptography ECC is a public key cryptography. In public key cryptography each user or the device taking part in the communication generally have a pair of keys a public key and a private key and a set of operations associated with the keys to do the cryptographic operations. Only the particular user knows the private key whereas the public key is distributed to all users taking part in the communication. Some public key algorithm may require a set of predefined constants to be known by all the devices taking part in the communication. Domain parameters in ECC is an example of such constants. Public key cryptography unlike private key cryptography does not require any shared secret between the communicating parties but it is much slower than the private key cryptography. The mathematical operations of ECC is defined over the elliptic curve y2 x3 ax b where 4a3 27b2 0. Each value of the a and b gives a different elliptic curve. All points x y which satisfies the above equation plus a point at infinity lies on the elliptic curve. The public key is a point in the curve and the private key is a random number. The public key is obtained by multiplying the private key with the generator point G in the curve. The generator point G the curve parameters a and b together with few more constants constitutes the domain parameter of ECC. The EC