Counting Points On Elliptic Curves
   HOME





Counting Points On Elliptic Curves
An important aspect in the study of elliptic curves is devising effective ways of counting points on the curve. There have been several approaches to do so, and the algorithms devised have proved to be useful tools in the study of various fields such as number theory, and more recently in cryptography and Digital Signature Authentication (See elliptic curve cryptography and elliptic curve DSA). While in number theory they have important consequences in the solving of Diophantine equations, with respect to cryptography, they enable us to make effective use of the difficulty of the discrete logarithm problem (DLP) for the group E(\mathbb_q), of elliptic curves over a finite field \mathbb_q, where ''q'' = ''p''''k'' and ''p'' is a prime. The DLP, as it has come to be known, is a widely used approach to public key cryptography, and the difficulty in solving this problem determines the level of security of the cryptosystem. This article covers algorithms to count points on elli ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Elliptic Curves
In mathematics, an elliptic curve is a Smoothness, smooth, Projective variety, projective, algebraic curve of Genus of an algebraic curve, genus one, on which there is a specified point . An elliptic curve is defined over a field (mathematics), field and describes points in , the Cartesian product of with itself. If the field's characteristic (algebra), characteristic is different from 2 and 3, then the curve can be described as a plane algebraic curve which consists of solutions for: :y^2 = x^3 + ax + b for some coefficients and in . The curve is required to be Singular point of a curve, non-singular, which means that the curve has no cusp (singularity), cusps or Self-intersection, self-intersections. (This is equivalent to the condition , that is, being square-free polynomial, square-free in .) It is always understood that the curve is really sitting in the projective plane, with the point being the unique point at infinity. Many sources define an elliptic curve to be ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Order (group Theory)
In mathematics, the order of a finite group is the number of its elements. If a group is not finite, one says that its order is ''infinite''. The ''order'' of an element of a group (also called period length or period) is the order of the subgroup generated by the element. If the group operation is denoted as a multiplication, the order of an element of a group, is thus the smallest positive integer such that , where denotes the identity element of the group, and denotes the product of copies of . If no such exists, the order of is infinite. The order of a group is denoted by or , and the order of an element is denoted by or , instead of \operatorname(\langle a\rangle), where the brackets denote the generated group. Lagrange's theorem states that for any subgroup of a finite group , the order of the subgroup divides the order of the group; that is, is a divisor of . In particular, the order of any element is a divisor of . Example The symmetric group S3 ha ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Baby-step Giant-step
In group theory, a branch of mathematics, the baby-step giant-step is a meet-in-the-middle algorithm for computing the discrete logarithm or order of an element in a finite abelian group by Daniel Shanks. The discrete log problem is of fundamental importance to the area of public key cryptography. Many of the most commonly used cryptography systems are based on the assumption that the discrete log is extremely difficult to compute; the more difficult it is, the more security it provides a data transfer. One way to increase the difficulty of the discrete log problem is to base the cryptosystem on a larger group. Theory The algorithm is based on a space–time tradeoff. It is a fairly simple modification of trial multiplication, the naive method of finding discrete logarithms. Given a cyclic group G of order n, a generator \alpha of the group and a group element \beta, the problem is to find an integer x such that : \alpha^x = \beta\,. The baby-step giant-step algorithm is based ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Elliptic Curve Cryptography
Elliptic-curve cryptography (ECC) is an approach to public-key cryptography based on the algebraic structure of elliptic curves over finite fields. ECC allows smaller keys to provide equivalent security, compared to cryptosystems based on modular exponentiation in Galois fields, such as the RSA cryptosystem and ElGamal cryptosystem. Elliptic curves are applicable for key agreement, digital signatures, pseudo-random generators and other tasks. Indirectly, they can be used for encryption by combining the key agreement with a symmetric encryption scheme. They are also used in several integer factorization algorithms that have applications in cryptography, such as Lenstra elliptic-curve factorization. History The use of elliptic curves in cryptography was suggested independently by Neal Koblitz and Victor S. Miller in 1985. Elliptic curve cryptography algorithms entered wide use in 2004 to 2005. In 1999, NIST recommended fifteen elliptic curves. Specifically, FIPS 186 ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Schoof's Algorithm
Schoof's algorithm is an efficient algorithm to count points on elliptic curves over finite fields. The algorithm has applications in elliptic curve cryptography where it is important to know the number of points to judge the difficulty of solving the discrete logarithm problem in the group of points on an elliptic curve. The algorithm was published by René Schoof in 1985 and it was a theoretical breakthrough, as it was the first deterministic polynomial time algorithm for counting points on elliptic curves. Before Schoof's algorithm, approaches to counting points on elliptic curves such as the naive and baby-step giant-step algorithms were, for the most part, tedious and had an exponential running time. This article explains Schoof's approach, laying emphasis on the mathematical ideas underlying the structure of the algorithm. Introduction Let E be an elliptic curve defined over the finite field \mathbb_, where q=p^n for p a prime and n an integer \geq 1. Over a field of cha ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Las Vegas Algorithm
In computing, a Las Vegas algorithm is a randomized algorithm that always gives Correctness (computer science), correct results; that is, it always produces the correct result or it informs about the failure. However, the runtime of a Las Vegas algorithm differs depending on the input. The usual definition of a Las Vegas algorithm includes the restriction that the ''expected'' runtime be finite, where the expectation is carried out over the space of random information, or entropy, used in the algorithm. An alternative definition requires that a Las Vegas algorithm always terminates (is Effective method, effective), but may output a Partial function#Bottom element, symbol not part of the solution space to indicate failure in finding a solution. The nature of Las Vegas algorithms makes them suitable in situations where the number of possible solutions is limited, and where verifying the correctness of a candidate solution is relatively easy while finding a solution is complex. Systema ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Randomized Algorithm
A randomized algorithm is an algorithm that employs a degree of randomness as part of its logic or procedure. The algorithm typically uses uniformly random bits as an auxiliary input to guide its behavior, in the hope of achieving good performance in the "average case" over all possible choices of random determined by the random bits; thus either the running time, or the output (or both) are random variables. There is a distinction between algorithms that use the random input so that they always terminate with the correct answer, but where the expected running time is finite (Las Vegas algorithms, for example Quicksort), and algorithms which have a chance of producing an incorrect result ( Monte Carlo algorithms, for example the Monte Carlo algorithm for the MFAS problem) or fail to produce a result either by signaling a failure or failing to terminate. In some cases, probabilistic algorithms are the only practical means of solving a problem. In common practice, randomized alg ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

J-invariant
In mathematics, Felix Klein's -invariant or function is a modular function of weight zero for the special linear group \operatorname(2,\Z) defined on the upper half-plane of complex numbers. It is the unique such function that is holomorphic away from a simple pole at the cusp such that :j\big(e^\big) = 0, \quad j(i) = 1728 = 12^3. Rational functions of j are modular, and in fact give all modular functions of weight 0. Classically, the j-invariant was studied as a parameterization of elliptic curves over \mathbb, but it also has surprising connections to the symmetries of the Monster group (this connection is referred to as monstrous moonshine). Definition The -invariant can be defined as a function on the upper half-plane \mathcal=\, by :j(\tau) = 1728 \frac = 1728 \frac = 1728 \frac with the third definition implying j(\tau) can be expressed as a cube, also since 1728 = 12^3. The function cannot be continued analytically beyond the upper half-plane due to the natura ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Classical Modular Curve
In number theory, the classical modular curve is an irreducible plane algebraic curve given by an equation :, such that is a point on the curve. Here denotes the -invariant. The curve is sometimes called , though often that notation is used for the abstract algebraic curve for which there exist various models. A related object is the classical modular polynomial, a polynomial in one variable defined as . The classical modular curves are part of the larger theory of modular curves. In particular it has another expression as a compactified quotient of the complex upper half-plane . Geometry of the modular curve The classical modular curve, which we will call , is of degree greater than or equal to when , with equality if and only if is a prime. The polynomial has integer coefficients, and hence is defined over every field. However, the coefficients are sufficiently large that computational work with the curve can be difficult. As a polynomial in with coefficients in , i ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Noam Elkies
Noam David Elkies (born August 25, 1966) is a professor of mathematics at Harvard University. At age 26, he became the youngest professor to receive tenure at Harvard. He is also a pianist, chess national master, and chess composer. Early life and education Elkies was born to an engineer father and a piano teacher mother. He attended Stuyvesant High School in New York City for three years before graduating in 1982 at age 15. A child prodigy, in 1981, at age 14, Elkies was awarded a gold medal at the 22nd International Mathematical Olympiad, receiving a perfect score of 42, one of the youngest to ever do so. He went on to Columbia University, where he won the Putnam competition at age 16 and four months, making him one of the youngest Putnam Fellows in history. Elkies was a Putnam Fellow twice more during his undergraduate years. He graduated valedictorian of his class in 1985. He then earned his PhD in 1987 under the supervision of Benedict Gross and Barry Mazur at Harvard Uni ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Computational Complexity Of Mathematical Operations
The following tables list the computational complexity of various algorithms for common mathematical operations. Here, complexity refers to the time complexity of performing computations on a multitape Turing machine. See big O notation for an explanation of the notation used. Note: Due to the variety of multiplication algorithms, M(n) below stands in for the complexity of the chosen multiplication algorithm. Arithmetic functions This table lists the complexity of mathematical operations on integers. On stronger computational models, specifically a pointer machine and consequently also a unit-cost random-access machine it is possible to multiply two -bit numbers in time ''O''(''n''). Algebraic functions Here we consider operations over polynomials and denotes their degree; for the coefficients we use a unit-cost model, ignoring the number of bits in a number. In practice this means that we assume them to be machine integers. For this section M(n) indicates the time ne ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Chinese Remainder Theorem
In mathematics, the Chinese remainder theorem states that if one knows the remainders of the Euclidean division of an integer ''n'' by several integers, then one can determine uniquely the remainder of the division of ''n'' by the product of these integers, under the condition that the divisors are pairwise coprime (no two divisors share a common factor other than 1). The theorem is sometimes called Sunzi's theorem. Both names of the theorem refer to its earliest known statement that appeared in '' Sunzi Suanjing'', a Chinese manuscript written during the 3rd to 5th century CE. This first statement was restricted to the following example: If one knows that the remainder of ''n'' divided by 3 is 2, the remainder of ''n'' divided by 5 is 3, and the remainder of ''n'' divided by 7 is 2, then with no other information, one can determine the remainder of ''n'' divided by 105 (the product of 3, 5, and 7) without knowing the value of ''n''. In this example, the remainder is 23. More ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]