public static class

ECCurve.F2m

extends ECCurve
java.lang.Object
   ↳ org.bouncycastle.math.ec.ECCurve
     ↳ org.bouncycastle.math.ec.ECCurve.F2m

Class Overview

Elliptic curves over F2m. The Weierstrass equation is given by y2 + xy = x3 + ax2 + b.

Summary

Public Constructors
ECCurve.F2m(int m, int k, BigInteger a, BigInteger b)
Constructor for Trinomial Polynomial Basis (TPB).
ECCurve.F2m(int m, int k, BigInteger a, BigInteger b, BigInteger n, BigInteger h)
Constructor for Trinomial Polynomial Basis (TPB).
ECCurve.F2m(int m, int k1, int k2, int k3, BigInteger a, BigInteger b)
Constructor for Pentanomial Polynomial Basis (PPB).
ECCurve.F2m(int m, int k1, int k2, int k3, BigInteger a, BigInteger b, BigInteger n, BigInteger h)
Constructor for Pentanomial Polynomial Basis (PPB).
Public Methods
ECPoint createPoint(BigInteger x, BigInteger y, boolean withCompression)
ECPoint decodePoint(byte[] encoded)
boolean equals(Object anObject)
ECFieldElement fromBigInteger(BigInteger x)
int getFieldSize()
BigInteger getH()
ECPoint getInfinity()
int getK1()
int getK2()
int getK3()
int getM()
BigInteger getN()
int hashCode()
boolean isKoblitz()
Returns true if this is a Koblitz curve (ABC curve).
boolean isTrinomial()
Return true if curve uses a Trinomial basis.
[Expand]
Inherited Methods
From class org.bouncycastle.math.ec.ECCurve
From class java.lang.Object

Public Constructors

public ECCurve.F2m (int m, int k, BigInteger a, BigInteger b)

Constructor for Trinomial Polynomial Basis (TPB).

Parameters
m The exponent m of F2m.
k The integer k where xm + xk + 1 represents the reduction polynomial f(z).
a The coefficient a in the Weierstrass equation for non-supersingular elliptic curves over F2m.
b The coefficient b in the Weierstrass equation for non-supersingular elliptic curves over F2m.

public ECCurve.F2m (int m, int k, BigInteger a, BigInteger b, BigInteger n, BigInteger h)

Constructor for Trinomial Polynomial Basis (TPB).

Parameters
m The exponent m of F2m.
k The integer k where xm + xk + 1 represents the reduction polynomial f(z).
a The coefficient a in the Weierstrass equation for non-supersingular elliptic curves over F2m.
b The coefficient b in the Weierstrass equation for non-supersingular elliptic curves over F2m.
n The order of the main subgroup of the elliptic curve.
h The cofactor of the elliptic curve, i.e. #Ea(F2m) = h * n.

public ECCurve.F2m (int m, int k1, int k2, int k3, BigInteger a, BigInteger b)

Constructor for Pentanomial Polynomial Basis (PPB).

Parameters
m The exponent m of F2m.
k1 The integer k1 where xm + xk3 + xk2 + xk1 + 1 represents the reduction polynomial f(z).
k2 The integer k2 where xm + xk3 + xk2 + xk1 + 1 represents the reduction polynomial f(z).
k3 The integer k3 where xm + xk3 + xk2 + xk1 + 1 represents the reduction polynomial f(z).
a The coefficient a in the Weierstrass equation for non-supersingular elliptic curves over F2m.
b The coefficient b in the Weierstrass equation for non-supersingular elliptic curves over F2m.

public ECCurve.F2m (int m, int k1, int k2, int k3, BigInteger a, BigInteger b, BigInteger n, BigInteger h)

Constructor for Pentanomial Polynomial Basis (PPB).

Parameters
m The exponent m of F2m.
k1 The integer k1 where xm + xk3 + xk2 + xk1 + 1 represents the reduction polynomial f(z).
k2 The integer k2 where xm + xk3 + xk2 + xk1 + 1 represents the reduction polynomial f(z).
k3 The integer k3 where xm + xk3 + xk2 + xk1 + 1 represents the reduction polynomial f(z).
a The coefficient a in the Weierstrass equation for non-supersingular elliptic curves over F2m.
b The coefficient b in the Weierstrass equation for non-supersingular elliptic curves over F2m.
n The order of the main subgroup of the elliptic curve.
h The cofactor of the elliptic curve, i.e. #Ea(F2m) = h * n.

Public Methods

public ECPoint createPoint (BigInteger x, BigInteger y, boolean withCompression)

public ECPoint decodePoint (byte[] encoded)

public boolean equals (Object anObject)

public ECFieldElement fromBigInteger (BigInteger x)

public int getFieldSize ()

public BigInteger getH ()

public ECPoint getInfinity ()

public int getK1 ()

public int getK2 ()

public int getK3 ()

public int getM ()

public BigInteger getN ()

public int hashCode ()

public boolean isKoblitz ()

Returns true if this is a Koblitz curve (ABC curve).

Returns
  • true if this is a Koblitz curve (ABC curve), false otherwise

public boolean isTrinomial ()

Return true if curve uses a Trinomial basis.

Returns
  • true if curve Trinomial, false otherwise.