Elliptic Curve Classroom (JAVA required)





F24 with Polynomial Representation

The elements of F24 are the 16 vectors:

(0000) (0001) (0010) (0011)(0100) (0101) (0110) (0111)
(1000) (1001) (1010) (1011)(1100) (1101) (1110) (1111).

The irreducible polynomial used will be f(x) = x4 + x + 1. The following are sample calculations.

Addition

(0110) + (0101) = (0011).

Multiplication

(1101) (1001)
= (x3 + x2 + 1) (x3 + 1) mod f(x)
= x6 + x5 + 2x3 + x2 + 1 mod f(x)
= x6 + x5 + x2 + 1 mod f(x) (coefficients are reduced modulo 2)
= ( x4 + x + 1)(x2 + x) + (x3 + x2 + x + 1) mod f(x)
= x3 + x2 + x + 1
= (1111).

Exponentiation

To compute (0010)5, first find
(0010)2
= (0010) (0010)
= x x mod f(x)
= ( x4 + x + 1)(0) + (x2) mod f(x)
= x2
= (0100).

Then
(0010)4
= (0010)2 (0010)2
= (0100) (0100)
= x2 x2 mod f(x)
= ( x4 + x + 1)(1) + (x + 1) mod f(x)
= x + 1
= (0011).

Finally, (0010)5
= (0010)4 (0010)
= (0011) (0010)
= (x + 1) (x) mod f(x)
= (x2 + x) mod f(x)
= ( x4 + x + 1)(0) + (x2 + x) mod f(x)
= x2 + x
= (0110).

Multiplicative Inversion

The element g = (0010) is a generator for the field. The powers of g are:

g0 = (0001) g1 = (0010) g2 = (0100) g3 = (1000)
g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011)
g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110)
g12 = (1111) g13 = (1101) g14 = (1001) g15 = (0001).

The multiplicative identity for the field is g0 = (0001). The multiplicative inverse of g7 = (1011) is g-7 mod 15 = g8 mod 15 = (0101). To verify this, see that
(1011) (0101)
= (x3 + x + 1) (x2 + 1) mod f(x)
= x5 + x2 + x + 1 mod f(x)
= ( x4 + x + 1)(x) + (1) mod f(x)
= 1
= (0001)
,
which is the multiplicative identity.


Certicom is a trademark of the Certicom Corp. Copyright Certicom Corp. 1997. All rights reserved.
Comments or Questions about this site? Please contact info@certicom.ca