« previous | Thursday, April 11, 2013 | next »
Going back to last time, we defined an elliptic curve over
is the zero set (including the point at infinity) in
of a polynomial
with
- the Newton polygon having exactly 1 point with integer coordinates in its interior.
- a smooth curve

Let's call this our 2nd definition.
Let our first definition be the zero set of a polynmial in weierstrass normal form (including the point at infinity)
3rd (classical) definition: A curve of genus one. So somehow, elliptic curves correspond to tori
So the number of interior lattice points in a Newton polygon is somehow related to the genus (under certain conditions).
What's a Genus
The classification of surfaces boils down to the number of holes (or number of handles, not that holes and handles are the same things...)
- Genus 0: Imagine a sphere
- Genus 1: Imagine a donut
- Genus 2: Handcuffs
- ...
A curve over
is actually a surface over two real dimensions.
For example, zero set of
in
over
is really just the zero set of the real part and the imaginary part.
Finite Fields
A finite field is any set of numbers closed on multiplicative inversion: all nonzero elements in the field have a multiplicative inverse in the same field.
For any prime
,
(also written
) is defined to be a field with
elements. For example,
.
Can
be a field? No. (2 and 3 do not have inverses)
Finite fields need not have prime number of elements, only a prime power number of elements.
We'll study
with
for any prime
(and elliptic curves over
).
Note: 
We define
as the set of polynomials in
with coefficients in
.
If
, we derive
as polynomials mod
.
(what's with these polynomials mod other polynomials?)
is just the polynomials in
of degree less than that of
with +, −, and × performed mod
.
Example
Addition Table
+ |
0 |
1 |
x |
x+1
|
0
|
0 |
1 |
x |
x+1
|
1
|
1 |
0 |
x+1 |
x
|
x
|
x |
x+1 |
0 |
1
|
x+1
|
x+1 |
x |
1 |
0
|
Multiplication Table
× |
0 |
1 |
x |
x+1
|
0
|
0 |
0 |
0 |
0
|
1
|
0 |
1 |
x |
x+1
|
x
|
0 |
x |
x+1 |
1
|
x+1
|
0 |
x+1 |
1 |
x
|
Note: Reducing mod
means you declare
, so 
See that
,
, and
are all well-defined, nonzero, invertible elements. Thus we have a realization of
What if we chose
?
Our multiplication table would be different:
Multiplication Table
× |
0 |
1 |
x |
x+1
|
0
|
0 |
0 |
0 |
0
|
1
|
0 |
1 |
x |
x+1
|
x
|
0 |
x |
1 |
x+1
|
x+1
|
0 |
x+1 |
x+1 |
0
|
Note that
makes no sense.
Irreducibility
We call
irreducable iff
implies that
or
. In other words,
has no non-trivial factorization.
Example 1
is irreducable over
.
Proof. Indeed, if
had a non-trivial factorization (other than const × degree 2), then it must factor as
.
Then
means that
has a root in
. But the squares in
are 0 and 1.
vanishes at neither, so
is irreducable.
Q.E.D.
However,
is reducable over
: 
: 
Fact: 
can be realized as
![{\displaystyle \mathbb {F} _{p}\left[x\right]/\left\langle f\right\rangle }](https://wikimedia.org/api/rest_v1/media/math/render/svg/1b28b071d8c0c45a44e3107161ffe4176f134489)
for any irreducable
![{\displaystyle f\in \mathbb {F} _{p}\left[x\right]}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c06726c30d23d88eb6194279163b9d72c8272544)
of degree

.
Example 2
can be realized as
:
Deciding Realizations
Which realization you use is very important in practice.
The Intel 8051 is a chip with 256 bytes of onboard RAM running at 12 MHz, used in some smart cards around 2000. This is an incredible hardware limitation, and operations can take a significant amount of time and power if the field realization is not chosen carefully.
Here's a table for the number of cycles needed to multiply two field elements:
Field |
Number of Cycles
|
|
19,600
|
|
7479
|
|
5084
|
Upshot: Picking the right
is key to going faster and saving power
Primitivity
We call an irreducable
primitive iff
has a primitive element for
as one of its roots (generator).
Example
is primitive over
. In particular, observe the powers of
in








We've realized
and with an explicit generator for
.
Note:
is comparable to
: nonzero elements of the referenced collection
Note: not all irreducible
are primitive:
is irreducable in
but not primitive
Sparsity
is irreducible over
and has only 3 terms. Therefore, powering is much faster.
For example,
. If we worked mod a non-sparse polynomial, we'd get
- So what's so good about curves over
?
- Elliptic curves can be used to factor integers!
Factoring with Elliptic Curves
Classical factoring algorithms worked with arithmetic in
or
for some prime
. Working with elliptic curves over
gives more flexibility
The number of elements in
is
. The number of elliptic curves in the same field is
Hasse's Theorem
(1933)
If
is the number of points on an elliptic curve over
,
And, for any such
, there is a curve over
with that many points.