Bouncy Castle Cryptography 1.33

org.bouncycastle.math.ec
Class ECCurve.F2m

java.lang.Object
  extended byorg.bouncycastle.math.ec.ECCurve
      extended byorg.bouncycastle.math.ec.ECCurve.F2m
Enclosing class:
ECCurve

public static class ECCurve.F2m
extends ECCurve

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


Nested Class Summary
 
Nested classes inherited from class org.bouncycastle.math.ec.ECCurve
ECCurve.F2m, ECCurve.Fp
 
Constructor Summary
ECCurve.F2m(int m, int k, java.math.BigInteger a, java.math.BigInteger b)
          Constructor for Trinomial Polynomial Basis (TPB).
ECCurve.F2m(int m, int k1, int k2, int k3, java.math.BigInteger a, java.math.BigInteger b)
          Constructor for Pentanomial Polynomial Basis (PPB).
 
Method Summary
 ECPoint decodePoint(byte[] encoded)
           
 boolean equals(java.lang.Object anObject)
           
 ECFieldElement fromBigInteger(java.math.BigInteger x)
           
 int getK1()
           
 int getK2()
           
 int getK3()
           
 int getM()
           
 int hashCode()
           
 boolean isTrinomial()
          Return true if curve uses a Trinomial basis.
 
Methods inherited from class org.bouncycastle.math.ec.ECCurve
getA, getB
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ECCurve.F2m

public ECCurve.F2m(int m,
                   int k,
                   java.math.BigInteger a,
                   java.math.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.

ECCurve.F2m

public ECCurve.F2m(int m,
                   int k1,
                   int k2,
                   int k3,
                   java.math.BigInteger a,
                   java.math.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.
Method Detail

fromBigInteger

public ECFieldElement fromBigInteger(java.math.BigInteger x)
Specified by:
fromBigInteger in class ECCurve

decodePoint

public ECPoint decodePoint(byte[] encoded)
Specified by:
decodePoint in class ECCurve

equals

public boolean equals(java.lang.Object anObject)

hashCode

public int hashCode()

getM

public int getM()

isTrinomial

public boolean isTrinomial()
Return true if curve uses a Trinomial basis.

Returns:
true if curve Trinomial, false otherwise.

getK1

public int getK1()

getK2

public int getK2()

getK3

public int getK3()

Bouncy Castle Cryptography 1.33