1 elliptic curves

1.1 galois fields

Finite fields. Denoted by GF(p^k), the set of all polynomials in Z_p[x] of degree at most k-1. Addition is modulo p. Multiplication reduced modulo P(x). P(x) is a monic irreducible polynomial of degree k in Z_p[x].

Properties:

Properties of GF(2^k):

1.2 elliptic curves

E_{a,b} = \{\mathcal O\} \cup \{(x, y) \in K^2 : y^2 = x^3 + ax + b\}

For an elliptic curve to be non-singular, we have to fulfill 4a^3 + 27b^2 \ne 0. \lambda = \frac{y_Q - y_P}{x_Q - x_P} is the chord slope. \lambda = \frac{3x_P^2 + a}{2y_P} is the tangent slope.

1.2.1 group structure

Let P = (x_P, y_P), Q = (x_Q, y_Q), and R = (x_R, y_R)

E_{a, b}(K) is an abelian group of an elliptic curve over a field x, y \in K. The characteristic should be larger than 3.

1.2.2 points of order 2

If a point P = (x, y) is of order 2, then P + P = 0, then P = -P so y = 0. So P is the solution of x^3 + ax + b = 0. As there are at most three solutions, there are at most 3 elements of order 2 in E_{a,b}. If E_{a,b} is cyclic then there can be only one or zero elements of order 2.

1.3 over Z_p for p > 3

Same as before, but the discriminant is now \Delta = -16(4a^3 + 27b^2) \ne 0

E_{a,b} \simeq E_{u^4a,u^6b} by (x, y) \mapsto (u^2x, u^3y).

1.3.1 twist

E_{a,b} and E_{v^2a,v^3b} are twist of each other if u^2 = x has no solution (ie u is not a square). They can become isomorphic in the extension field K[\theta]/(\theta^2 - v), because v = \theta^2 becomes a square.

1.3.2 Hasse theorem

q+1-2\sqrt{q} \le |E_{a,b}| \le q+1+2\sqrt{q} where q is the cardinality of K.

1.3.3 j-invariant

j = 1728 \frac{4a^3}{4a^3 + 27b^2}. Isomorphic groups have always the same j. Alternatively, if \frac{a^3}{b^2} are equal, then the curves are isomorphic.

1.4 over Z_2

E_{a_2,a_6} = \{\mathcal O\} \cup \{(x, y) \in K^2: y^2 + xy = x^3 + a_2x^2 + a_6\}

Discriminant \Delta = a_6 \ne 0

Let P = (x_P, y_P), Q = (x_Q, y_Q), and R = (x_R, y_R)

E_{a_2,a_6} \simeq E_{a_2+u^2 + y, a_6} by (x, y) \mapsto (x, ux + y).

j-invariant: 1 \over \Delta

1.5 ECM (elliptic-curve factorization method)

The Pollard’s p-1 factorization method can be used on elliptic curves

1.6 point compression

For a prime field case, a single x leads to two possible y values. Given x and the parity of y we have a point (which is cheaper than storing both and x and y).

1.7 domain parameters

1.8 elliptic curve cryptography

1.8.1 ECDH (elliptic curve diffie hellman)

  1. Alice (U) and Bob (V) agree on domain parameters T = (p, a, b, G, n, h) or T = (m, f(x), a, b, G, n, h) where f(x) is an irreducible polynomial over GF(2^m). h is the cofactor \frac{1}{n} \#E(GF(q)) for q = p or q = 2^m
  2. U and V select their secret key d_U \in Z_n^* and d_V \in Z_n^* and compute their public keys Q_U = d_U \cdot G, Q_V = d_V \cdot G
  3. exchange public keys
  4. both check if Q \in E(GF(p)), Q \ne \mathcal O, nQ = \mathcal O
  5. both compute P = d_VQ_U = d_UQ_V
  6. set z = P_x, use KDF to derive K

If n is prime and is coprime with h then \langle G \rangle = \{Q \in \text{group} : nQ = \mathcal O\}

1.9 pairing of elliptic curves

For some pairs of elliptic curves G_1 and G_2 we can construct a function e: G_1 \times G_2 \to G_T which maps a pair to a group with multiplicative notation such that

1.9.1 types

1.9.2 three party DH

Let G generate a subgroup of order p of G_1 = G_2 such that e(G, G) \ne 1