Elliptic Curve Cryptography and Point Counting Algorithms

Elliptic curves cryptography was introduced independently by Victor Miller (Miller, 1986) and Neal Koblitz (Koblitz, 1987) in 1985. At that time elliptic curve cryptography was not actually seen as a promising cryptographic technique. As time progress and further research and intensive development done especially on the implementation side, elliptic curve cryptography is now being implemented widely. Elliptic curves cryptography offers smaller key size, bandwidth savings and faster in implementations when compared to the RSA (Rivest-Shamir-Adleman) cryptography which based its security on the integer factorization problem. The most interesting feature of the elliptic curves is the group structure of the points generated by the curves, where points on the elliptic curves form a group. The security of elliptic curves cryptography relies on the elliptic curves discrete logarithm problem. The elliptic curve discrete logarithm problem is analogous to the ordinary algebraic discrete logarithm problem, l = gx, where given the l and g, it is infeasible to compute the x. Elliptic curve discrete logarithm problem deals with solving for n the relation P = nG. Given the point P and the point G, then it is very hard to find the integer n. To implement the discrete logarithm problem in elliptic curve cryptography, the main task is to compute the order of group of the curves or in other words the number of points on the curve. Computation to find the number of points on a curve, has given rise to several point counting algorithms. The Schoof and the SEA (Schoof-Elkies-Atkin) point counting algorithms will be part of the discussion in this chapter. This chapter is organized as follows: Section 2, gives some preliminaries on elliptic curves, and in section 3, elliptic curve discrete logarithm problem is discussed. Some relevant issues on elliptic curve cryptography is discussed in section 4, in which the Diffie-Hellman key exchange scheme, ElGamal elliptic curve cryptosystem and elliptic curve digital signature scheme are discussed here accompanied with some examples. Section 5 discussed the two point counting algorithms, Schoof algorithm and the SEA (Schoof-Elkies-Atkin) algorithm. Following the discussion in section 5, section 6 summaries some similarities and the differences between these two algorithms. Section 7 gives some brief literature on these two point counting algorithms. Finally, section 8 is the concluding remarks for this chapter.

different from ellipses and have much more interesting properties when compared to ellipses.An elliptic curve is simply the collection of points in x-y plane that satisfy an equation 23 2 13 24 6 y ax y a y xa xa x a     , and this equation could either be defined on real, rational, complex or finite field.This equation is called the Weierstrass equation.
Definition 2.1: An elliptic curve E, defined over a field K is given by the Weierstrass equation: If one is working with characteristic, char (K) 2,3  , then admissible changes of variables will transform the above equation (1) into the following form: But when one works with () 2 o r 3 char K  , then the general form of equation is given by ( 3) and ( 4) respectively.(4)

Case for real numbers
This case allows us to work with graphs of E. The graph of E has two possible forms, whether the cubic polynomial has only one real root or three real roots.Now, we consider the following examples.Take the equations 2 (1 ) (1 ) yx x x   and 23 73 yx   .The graphs are as follows: Looking at the curves, how do you create an algebraic structure from something like this.Basically, one needs to figure out how to find a way to define addition of two points that lie on the curve such that the sum is another point which is also on the curve.If this could be done, together with an identity element, O  , group structure can be constructed from points on the curves.The following are some formulas for points operations on the curves which is defined by the equation (2).
1. P + O  = P, for all points P. It can be shown that the addition law is associative, that is

()
It is also commutative, PQQP  . www.intechopen.com When several points are added, it does not matter in what order the points are added or how they are grouped together.Technically speaking, the points on the curve, E form an abelian group.The point O  is the identity element of this group.www.intechopen.com

Case for integer mod p (prime field)
The operations of points on elliptic curves indicated in the previous section are fascinating and it is applicable to the area of cryptography.It so happen that similar formulas work if real numbers are replaced with finite field.An elliptic curve defined over prime field is cryptographically good if the curve is non-singular.This happens when the discriminant, .First of all, compute and list all the points on the curve by letting x run through the values 0, 1, 2, 3, 4 and solve for y.Substitute each of these into the equation and find the values of y that solve the equation.
Therefore, yield the following points along with point at infinity, the identity element: (0, 2), (0, 3), (2,1), (2, 4), (4,1), (4, 4), ( , )   Elliptic curves mod p generates finite sets of points and it is these elliptic curves that are useful in cryptography.For cryptographic purposes, the polynomial 3 xa x b   is assumed not to have multiple roots, as it will lead to weak curves and vulnerable to attack.Computation of points on elliptic curve can also be obtained by using the Mathematica software.Now we demonstrate how it can be done.First we need to choose the base point G, and the coefficient a.
Then choose the coefficient b, so that G lies on the curve 23 (mod 5) yxa x b  .Now say the point G = (1, 3 ) and choose a = 2. Then substitute this into the equation, give the value of b = 1.
Thus we have 23 2 1 (mod 5) yx x  . The following points are generated using the Mathematica programming software.The command multsell is used to generate points from the curve and was fully written by Lawrence Washington (Lawrence & Wade, 2006).The following are the points generated using the multsell command.Thus the following points are generated.

Points addition and doubling on elliptic curves
As it was shown earlier in the formulations of points on an elliptic curve, adding points on elliptic curve is not the same as adding points in the plane.Scalar multiplication of a point on the curve for which we have say, mP with m = 2185, will be evaluated as 2 (2(2(2(2(2(2(2(2(2(2(2(2P))) + P))))+ P ))) + P.This is called doubling operation.The .Then, we have the following formulas to obtain the third point on the curve.This means that (1, 2) + (3, 2) = (1, 3), which is also on the curve.This can be verified using the Mathematica function, addell which was also developed by Lawrence C. Washington (Lawrence & Wade, 2006).

Elliptic curve discrete logarithm problem
The term, elliptic curve discrete logarithm problem (ECDLP) comes from the classical discrete logarithm problem, k x g  (mod p), where we want to find k.In the context of elliptic curve, suppose that the points , PQ on an elliptic curve are made known and Qk P  for some k, then find the k.The difficulty of finding the k is what makes the elliptic curves an area which is cryptographically worth exploring for.In other words, elliptic curves cryptosystem rely its security on the difficulty of the discrete logarithm problem and the available efficient algorithms that can solve the discrete logarithm problem.
Solving the elliptic curve discrete logarithm problem is very hard and until now there is no good and efficient algorithm available to solve the problem.Nevertheless there are a few algorithms being widely discussed, which is popular amongst the cryptanalysts.They are analog of Pohlig-Hellman attack, index calculus attack and baby step-giant step attack.The baby-step giant-step attack on discrete logarithm problem works for elliptic curves although it requires too much memory to be practical.Generally speaking, there is no algorithm available to solve the discrete logarithm problem in sub-exponential time.

Elliptic curve cryptography
More than twenty years ago, when elliptic curve cryptography was first introduced independently by Neal Koblitz and Victor Miller, researchers never thought that elliptic curve cryptography could be implemented efficiently and securely.During those times the arithmetic operations on elliptic curves were difficult to perform.The arithmetic on the elliptic curves was not very efficient and it was only meant for academic interest.Since then, a great deal of effort has been put on the study of elliptic curve and its implementation in cryptography.By the late 1990s the implementations were ten times more efficient and this has made the elliptic curves cryptography as a challenge to the RSA (Rivest-Shamir-Adleman) cryptography.
In recent years, the bit length for secure RSA use has increased and this has increased the processing load on applications using RSA.This is due to the development of the integer factorization algorithms which runs in sub-exponential time and as a result, RSA had to choose a very large key for it to sustain the intractability of the system, where as the elliptic curves cryptosystem require fewer bits or shorter key lengths for the same security level, since the security of the elliptic curve cryptography relies on the discrete logarithm problem and the best known algorithm to solve those problems is fully exponential time.Thus reduction in the time, cost as well as the size or bandwidth and memory requirements, which is crucial factor in some applications such as designs of smart cards, where both memory and processing power are limited but requiring high security.For an example, 160 bits in elliptic curve cryptosystem is around 1024 bits in RSA cryptosystem.Nowadays, elliptic curve cryptosystem is one of the important components in Microsoft Windows, email applications, bank cards and in mobile phones.
As it was mentioned earlier that elliptic curves cryptosystem based its security on the hardness of the discrete logarithm problem.One of the most important aspects in elliptic curve cryptosystem is choosing the right curve that preserved the hardness of discrete logarithm problem.One way to ensure this is to avoid singular curves as the discrete logarithm problem for these types of curves can reduce the hardness of the discrete logarithm problem.The arithmetic on these curves can be much faster over these curves and this is due to the fact that several terms vanished and these types of curves are considered weak and the system will no longer be intractable.Therefore, as mentioned earlier in the previous section, elliptic curves suitable for cryptographic use are of type non-singular curves.

Embedding plaintext on an elliptic curve
Before messages can be encrypted, those messages need to be embedded on the points of the elliptic curve (Lawrence & Wade, 2006).The embedding process encoded the message m, which is already in a number form, as a point on the curve.Let K be a large positive integer so that a failure rate of 12 K is acceptable in the decoding process, where  .Once the messages have been encoded as points on an elliptic curve, then those points can be manipulated arithmetically to hide away those messages.This process is called encryption process.The reverse of the encryption process is called decryption process.There are three versions of classical algorithms, where arithmetic of elliptic curves is being adopted.They are the elliptic curve Diffie-Hellman key exchange, ElGamal elliptic curve cryptosystem and ElGamal elliptic curve digital signature algorithm.

Elliptic curve diffie-hellman key exchange
Elliptic curve Diffie-Hellman key exchange was first introduced by Diffie and Hellman in the year 1976 (Hellman, 1976).Now we exhibit the implementation of elliptic curve Diffie-Hellman key exchange.Alice and Bob want to exchange a key.Thus, they agreed on a public point generator or the base point G on an elliptic curve

BA kk G 
Notice that Alice and Bob have the same key.

Elliptic curve Elgamal cryptosystem
Assuming we have a situation where there are two parties communicating through an insecure channel.The communication is between Alice and Bob.The following example exhibits the use of elliptic curves to encrypt and decrypt messages. .Bob then subtract this from (269,1803) :

ElGamal elliptic curve digital signature algorithm
A digital signature is an electronic analogue of a hand written signature that allows a receiver to convince a third party that the message is in fact originated from the sender.ElGamal elliptic curve digital signature algorithm is an analogue to the digital signature algorithm proposed earlier by ElGamal in 1985 where some modifications were done to deal with points on an elliptic curve.
Now suppose that Alice wants to sign a message m. assuming that m is an integer, Alice fixes an elliptic curve (mod )  Ep , where p is a large prime and a point A on E. We assume that the number of points n on E has been calculated and 0 mn   .Alice also has to choose a private integer a and compute B = aA.The prime p, the curve E, the integer n, and the points A and B are made public.To sign the message m, Alice does the following procedure: 1. Alice chooses a random integer k with 1 kn   and gcd ( k, n) = 1, and computes R = Note that R is a point on E, and m and s are integers.Next, Bob verifies the signature as follows: 1. Bob now downloads Alice's public information p, E, n, A, B, and 2. Computes 1 Vx B s R  and 2 Vm A  .
3. Declares the signature valid if 12 VV  .
We can verify that the verification procedure works because we have the following:

Point counting for E (mod p)
be an elliptic curve.Then the number of points on E denoted as #E(F p ), satisfies Hasse's theorem (Jacobson & Hammer, 2009), (Lawrence & Wade,2006).
According to Hasse's theorem, the number of points on E, #E(F p ) , satisfy the following inequality.
  Number of points on the curve E is called the order of the curve.The order of a point is defined by the number of times the point added to itself until the infinity is obtained.
The order of any point on the curve E, will divide the order of the curve E. If the order of the curve has many factors or smooth, then this curve is not cryptographically good.For cryptography, it is best if the order of the curve is a large prime number.Generally finding order of a curve is not trivial.In a situation where 5 p  is a prime, for small p, points can be listed by letting 0,1, 2,..., 1 xp   and seeing when 3 xa x b   is a square mod p.When p is large, it is infeasible to count the points on the curve by listing them.
There are several algorithms that can deal with this problem, They are Schoof's algorithm and Schoof-Elkies-Atkin (SEA) algorithm (Lawrence &Wade, 2006).In principal, there are approximately p points on the curve E and inclusive of the point at infinity, a total of p + 1 points is expected to be on the curve.The order of a curve is called 'smooth' if the order of the curve is divisible by many small factors, where this can brings point multiplications to identity (point at infinity).The type of curve which is desirable is of type 'non-smooth' order, where the order of the curve is divisible by a large prime number.The Schoof-Elkies-Atkin point counting method has become sufficiently efficient to find cryptographic curves of prime order over p F with heuristic time 6 (log ) O p .In the next section, we will discuss the two counting point algorithms, the Schoof counting point algorithm and the Schoof-Elkies-Atkins counting point algorithm.

Schoof and Schoof-Elkies-Atkin (SEA) point counting algorithms
To determine the #E(F p ), one needs to compute 23 z y xa x b   for each x in F p and then test if z has a square root in F p .If there exists y  F p such that y 2 = z, then we have 2p + (a point of infinity) that is 2p + 1 elements in the group because each x value will produce two values of y.However, according to the theorem of finite fields, there is around ½ of the non-zero elements of F p are quadratic residues.So, there is approximately p + 1 number of points.There are a few point counting algorithms and in this section, we focus only on two point counting methods.They are Schoof and Schoof-Elkies-Atkin (SEA) point counting algorithms.In this chapter, we will describe the two algorithms in a brief manner.Readers are required to have some backgrounds in number theory and algebraic geometry.For more details on arithmetic of elliptic curves, one needs to refer to (Silverman, 1986) and for the introduction on Schoof algorithm, refer to (Schoof, 1985).

Schoof's algorithm
René Schoof (Schoof, 1985) had introduced a deterministic polynomial time algorithm to compute the number of F p -points of elliptic curve defined over a finite field F p which was given by Weierstrass form in (2).Schoof algorithm has managed to compute the group order of over 200 digits.In the Schoof algorithm, the characteristic polynomial of Frobenius endomorphism is critical to the development of Schoof's algorithm.Another crucial part in this algorithm is to compute the division polynomials in order to carry out the computation of the order of the group of elliptic curve.If the division polynomials have low degree, then the division polynomials is said to be efficiently computable.
Let E be an elliptic curve defined over p F denoted as / p EF , where p F is a prime field of characteristic p > 3. Define the Frobenius endomorphism p  as the following: where l is a prime.Now, the equation of ( 7) is reduced as following: and goes to zero on points of particular order.Let E be the elliptic curve given by (2).The division polynomials m  (x, y) = 0 if and only if (x, y) ∈ E [n].These polynomials are defined recursively as follows (Schoof, 1985): For simplicity, the polynomials are suppressed to Ψ n. which is called the n th division polynomial.
Let us derive the Ψ 3 = 3x 4 + 6ax 2 + 12bxa 2 .In division polynomial Ψ 3 , we must have a point (, which is a point with order 3 such that [3]P   .Therefore, we have 2P = -P and we know the x-coordinate for point 2P and P is the same.The formula for the xcoordinate in 2P is given in the earlier section. If n is odd, then the degree of () The following proposition shows point additions relates to the division polynomials.
This is to test whether E has point of order 2, (x, 0) ∈ E[2] or precisely roots of E.

Schoof-Elkies-Atkin (SEA) algorithm
Schoof's algorithm is not practical because of the exponential growth in the degree of the division polynomial and hence it is not suitable for cryptographic purposes.Atkin and Elkies has improved the Schoof's algorithm by analyzing the method to restrict the characteristic polynomial of elliptic curve such that 2 () where the Frobenius splits over F l .The discussion will follow the literature found in (Cohen et al., 2006) .If  is a square then the prime l is Elkies prime, else it is Atkin prime.However, we need to classify the primes at the beginning stage and there is no information of t.Therefore this method is not suitable.However, Atkin proved that l-modular polynomial, (,) [,] l xy xy    can be used to differentiate the prime at the early stage of SEA algorithm.SEA algorithm is one of the fastest algorithms for counting the number of points on E over a large prime field.The following part of this section follows the text from (Chen, 2008), (Cohen et al., 2006), and (Galin, 2007).

Modular polynomial
Modular polynomial comes from the theory of modular form and the interpretation of elliptic curves over the complex field as lattices.A moderately comprehensive development of the theory can be found in (Silverman, 1986).Before we proceed with the SEA algorithm, we know the modular polynomial.The detail proof of this theorem can be obtained in (Cox, 1989).These polynomials will be used in Elkies and Atkin procedures.
For l = 3, we have the modular polynomial as follows: We now give some backgrounds needed for SEA algorithm.These information might have some gaps and readers are suggested to refer to (Silverman, 1986) and (Cox, 1989) for further details.

Elliptic curve over complex field
The theory of elliptic curves over complex field is corresponding to the lattice and thus equivalently to the torus that is the mapping of function (Cox, 1989).An example of elliptic function is the Weierstrass  function defined in the following theorem.Proofs for all the theorems, lemma and propositions are omitted.The properties of () j  are related to the action on the special linear group, SL (2,  ) with determinant one on  .This is defined as such that z  ℋ and (2, ) ab SL cd

Computation of modular polynomial
Let l be a prime, we now discuss the method to compute modular polynomial, where the coefficient ij c   which can found by q-expansion of j -function.We also have the identity www.intechopen.com Substituting the q-expansion for () j  and () jl  into (,) l xy  , we have the following: This is obtained by equating the coefficients of the different powers of infinite number of linear equations in the variable c ij .However, the finite number of linear equations can be obtained by equating the coefficients of negative powers of q which is a unique solution.It is suffices to calculate those coefficients of the q-expansions which contribute to negative powers of () j  and only need the first l 2 + l coefficients of the q-expansion of the j-function.
Computing on modular polynomial becomes tedious as when prime l getting bigger, the number of digit for the coefficient do increase rapidly.Theorem 5.1.2.5 Let E an elliptic curve defined over F p with p ≠ l, then the l + 1 zeroes Let E be an ordinary elliptic curve defined over F p with j-invariant j ≠ 0, 1728.Let www.intechopen.com Proof: Refer to (Galin, 2007).
To determine the type of prime, it suffices to compute ( ) gcd( ( , ), ) is an Elkies prime else it is an Atkin prime.
For l = 5.Check whether it is an Elkies or Atkin prime.The j-invariant, E j = 28. .If  is a square in l F then the prime l is an Elkies prime else l is an Atkin prime.


To combine Elkies and Atkin prime, we apply the concept of Chinese Remainder Theorem, and then we obtain the t in the final step by using the elementary method (baby-steps giantsteps which is not covered in this chapter, and one should refer to (Galin, 2007) for further details).Next, we summarize these two algorithms into making some comparison between them.(1 ) / 2 l  .To construct division polynomial, concept of torsion point is applicable.ii.SEA algorithm: modular polynomial with degree l +1 is used to differentiate Atkin and Elkies prime.The construction of modular polynomial works in complex field and also need to deal with j-function and q-expansion (Cox, 1989) but the result can be applied in finite field, F p . Method to combine the t l (mod l) i. Schoof's algorithm: Recover the t from t l (mod l) from Chinese Remainder Theorem.ii.SEA algorithm:

Compare and contrast between Schoof's algorithm and
For Elkies primes: Recover the E t from t l (mod l) from Chinese Remainder Theorem.For Atkin primes: Divide the primes into two sets that each in equal numbers by using Chinese Remainder Theorem.Finally this theorem is used again and then the exact t is found by using baby-steps giant steps.

Some literature on Schoof and Schoof-Elkies-Atkin (SEA) point counting algorithms
In this section, we will give some brief literature of these two algorithms.As we have mentioned earlier, René Schoof (Schoof, 1985) had proposed the Schoof's algorithm in 1985.
In (Cohen et al, 2006), Atkin and Elkies had further improved the Schoof's algorithm in 1991.
In Elkies procedure, Elkies had replaced the division polynomial with degree 2 (1 ) / 2 l  by a kernel polynomial with degree (1 ) / 2 l  whereas Atkin developed an algorithm to evaluate the order of p  in PGL 2 (F l ) and hence shown that the number of point can be counted on ( ) p EF and this thus lead to the Schoof-Elkies-Atkin (SEA) algorithm which was practical.
In (Menezes et al., 1993), elliptic curves which defined over field of characteristic 2 are attractive because the arithmetic easier for implementation.They have employed some heuristic to improve the running time and able to compute #E( 2 m F ) for 155 m  . For the Schoof's part, they were able to compute t modulo l for l = 3, 5, 7, 11, 13, 17, 19, 23, 31, 64, 128, 256, 512 and 1024.The computation on #E( 155 2 F ) takes roughly 61 hours on a SUN-2 www.intechopen.comSPARC station.Then, it was also mentioned that the information obtained from Schoof's algorithm and the heuristics can be combined with the information from Atkin's method to compute #E( 2 m F ) for large values of m.
In (Couveignes & Morain, 1994), they had shown how to use the powers of good prime in an efficient way by computing the isogenies between curves over the ground field.They had investigated the properties of new structure which is known as isogeny cycle.
In (Lercier & Morain, 1995), they mentioned that when l was an Elkies prime, the cost of computation turn out to be greater than that computation of Atkin prime and hence suggested that it is better to treat an Elkies prime as an Atkin prime and hence motivate their dynamic strategy.The implementation result shown that Schoof's algorithm in characteristic 2 was faster than in large characteristic at least for small fields.The large prime case was faster due to the polynomial arithmetic was faster for 2 n F since squaring was an easy operation in characteristic 2. However, when n increased, the computing cost of the isogeny took much time than in large prime case.
In (Lercier, 1997), mentioned the improvement made by Elkies and Atkin and worked in any finite field.The computation of isogeny i s o n l y w o r k e d i n f i n i t e f i e l d s o f l a r g e characteristic.However this problem was solved by Couveignes, by taking in the formal group and had implemented it.The computation of isogenies then turned out to be the major cost while counting the point.Lercier had proposed better algorithm for characteristic 2 case which based on algebraic properties.The slight change in Schoof's algorithm sped up the randomly search of elliptic curves with order nearly prime instead of specific curves such as supersingular curves or curves obtained from complex multiplication.
In (Izu et al., 1998), they wanted to find elliptic curve which had prime order and believed that curve with this order was secure for cryptographic application.In calculating the order, they combined efficiently the Atkin and Elkies method, the isogeny cycles method and trial search by match-and-sort techniques and implemented them for elliptic curve over prime field, F p in a reasonable time where p is a prime number whose size around 240-bits.As a result, it had increased the speed of the process almost 20%.They managed to find elliptic curves with prime order in a reasonable time for characteristic p of base field is around 240-bits.
In SEA algorithm, the classical modular polynomials with degree l +1 will increase the size of coefficient as l increases, as well as their degree in y also is very high.Therefore canonical modular polynomials achieve small coefficient and lower degree in y.Details can be obtained in (Cohen et al., 2006).Besides, according to the work from (Blake et al., n.d.), their approach shown that classical modular polynomial can be replaced by Müller modular polynomial or Atkin modular polynomial.This experiment had been done for l =197.The result shows that Müller modular polynomial has less number of coefficients compared to the classical one.However the Atkin modular polynomial has the least number of coefficients compared with the classical modular polynomial and Müller modular polynomial.

Conclusion
This chapter gives some backgrounds on elliptic curve cryptography.The mathematical preliminaries on elliptic curve, basic definitions, group operations on an elliptic curve, the addition law as well as the doubling operations are part of the discussion topics in this chapter.This chapter also includes the arithmetic of elliptic curves defined over the real numbers as well as on a finite field and some examples are shown to enhance understanding.Several schemes such as elliptic curve Diffie-Hellman key exchange scheme, elliptic curve ElGamal cryptosystem and elliptic curve digital signature scheme are discussed along with some examples.Concept of point counting algorithms is also treated quite rigorously in terms of the mathematical aspects, and the discussion is restricted to two types of algorithms, the Schoof and the Schoof-Elkies-Atkin (SEA) point counting algorithms.Building on the discussion of the point counting algorithms, several comparisons are derived along with some literatures on the development of these two point counting algorithms especially on the Schoof-Elkies-Atkin (SEA) algorithm.This chapter has shown the procedures in the Schoof and the Schoof-Elkies-Atkin (SEA) algorithms.Extensive mathematical concepts explaining these two algorithms are displayed in this chapter.The Schoof point counting algorithm is regarded as an initiative effort towards producing efficient point counting algorithm, where several modification has emerges from the idea of this algorithm, and the immediate improvement were produced by Elkies and Atkin.The most recent known modification build on Schoof algorithm is the one from Pierrick Gaudry, David Kohel, Benjamin Smith (Schoof-Pila algorithm), presented in the Elliptic Curve Cryptography workshop, held in Nancy, France, in September 2011.
The arithmetic on elliptic curve plays a very important role in cryptography and this chapter has highlighted some mathematical aspects needed in the development of elliptic curve cryptography.Many studies have been devoted to finding fast algorithms on performing group operations on elliptic curves as well as algorithms to compute number of points on elliptic curves.So far elliptic curve cryptography seems to out perform other cryptographic schemes.Interest groups working on elliptic curve cryptography are seen to have more ideas to explore as most directions are on the higher genus curves or hyperelliptic curves instead of the ordinary curves that are being treated in this chapter.Genus 2 curve for instance, is a hyperelliptic curve, which possesses different properties from the ordinary elliptic curve.Points on hyperelliptic curves do not forms a group, instead the corresponding jacobian takes the role.Some properties in the ordinary curves could be extended to those higher genus curves.In the future, we might probably have a situation where hyperelliptic curve cryptography comes into play.

Acknowledgment
This article was written under the funding of the Universiti Sains Malaysia Short Term Grant, 2010-2012, account number 304/PMaths/6310075.

Fig. 1
Fig. 1.3.Addition of elliptic curve points over a real number curve means, the polynomial 3 xa x b   has no multiple roots.Now define an elliptic curve mod p, where p is a prime.For the rest of this section several examples are shown to exhibit its cryptographic use.Example 2.1: Let E be given by 23 21 ( m o d 5 ) yx x  p = 7211 and a = 1 and the point G = (3, 5).This gives b = 7206.Alice chooses a random integer A k = 12 and Bob chooses random integer B k = 23.Alice and Bob keep these private to themselves but publish the A kG and B kG.

Example 4. 1 :
Firstly, we must generate a curve.Choose the prime p = 8831, the point G = (,) xy = (3,7) and a = 1.To make G lie on the curve23 y tx y To determine t (mod l) for primes l > 2, we need to compute the division polynomials.Definition 5.1.1 (Division Polynomial )Division polynomial(McGee, 2006) is a sequence of polynomials in[,,,]

j
 is a holomorphic function on the Poincaré upper half plane,  = { xi y    | y > 0}.

F
there are the following possibilities for the degrees of 1 ,..., s hh : i. (1, l) or (1, 1, …, 1).In either case we former case we set r = l and the later case r = 1.ii. (1, 1, r, r, ..., r).modulo l, r divides l + 1 and the restriction of p  to E[l] has an irreducible characteristic polynomial over l In all these 3 cases, r is the order of p  in PGL 2 (F p ) and the trace t

.
Let us check l = 3 and 5.
Repeat this step until either the square root is found or jK  .For the case where j equals K, the mapping of the message to a point failed.In order to recover the message from the www.intechopen.com else it has at least one such root.3. To test whether which case is to be used, we have to compute the following relation: Recover t via Chinese Remainder Theorem (CRT) 17.At this point we have computed t (mod l) for any l ∈ S.
4. For each l ∈ S, compute p l ≡ p (mod l) 2 ≡ p (mod l) 12.If w 2 does not exist, then t ≡ 0 (mod l), else Let  be a lattice.The Weierstrass  function relative to  is given by Therefore, the Weierstrass  function relative to  is a doubly periodic function with periods w 1 and w 2 which is known as the basis of  .-linearlyindependent, therefore the  is not in  .Now,  belongs to Poincaré upper If lattice  , there exists a nonzero λ   such that     for some   F where F is the standard fundamental region.Two lattices,  and '    is homothetic, then there exist nonzero λ ∈  such that '   Let E 1 /ℂ and E 2 / ℂ be two elliptic curves with j-invariants  if and only if there is an isogeny from E 1 to E 2 whose kernel is cyclic of degree n.