Bouncy Castle Cryptography Library 1.79

org.bouncycastle.math.ec
Class ECFieldElement.F2m

java.lang.Object
  |
  +--org.bouncycastle.math.ec.ECFieldElement
        |
        +--org.bouncycastle.math.ec.ECFieldElement.AbstractF2m
              |
              +--org.bouncycastle.math.ec.ECFieldElement.F2m
All Implemented Interfaces:
ECConstants
Enclosing class:
ECFieldElement

public static class ECFieldElement.F2m
extends ECFieldElement.AbstractF2m

Class representing the Elements of the finite field F 2 m in polynomial basis (PB) representation. Both trinomial (TPB) and pentanomial (PPB) polynomial basis representations are supported. Gaussian normal basis (GNB) representation is not supported.


Inner classes inherited from class org.bouncycastle.math.ec.ECFieldElement
ECFieldElement.AbstractF2m, ECFieldElement.AbstractFp, ECFieldElement.F2m, ECFieldElement.Fp
 
Field Summary
static int GNB
          Indicates gaussian normal basis representation (GNB).
static int PPB
          Indicates pentanomial basis representation (PPB).
static int TPB
          Indicates trinomial basis representation (TPB).
 
Fields inherited from interface org.bouncycastle.math.ec.ECConstants
EIGHT, FOUR, ONE, THREE, TWO, ZERO
 
Method Summary
 ECFieldElement add(ECFieldElement b)
           
 ECFieldElement addOne()
           
 int bitLength()
           
 ECFieldElement divide(ECFieldElement b)
           
 boolean equals(java.lang.Object anObject)
           
 java.lang.String getFieldName()
           
 int getFieldSize()
           
 int getK1()
           
 int getK2()
           
 int getK3()
           
 int getM()
           
 int getRepresentation()
           
 int hashCode()
           
 ECFieldElement invert()
           
 boolean isOne()
           
 boolean isZero()
           
 ECFieldElement multiply(ECFieldElement b)
           
 ECFieldElement multiplyMinusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
           
 ECFieldElement multiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
           
 ECFieldElement negate()
           
 ECFieldElement sqrt()
           
 ECFieldElement square()
           
 ECFieldElement squareMinusProduct(ECFieldElement x, ECFieldElement y)
           
 ECFieldElement squarePlusProduct(ECFieldElement x, ECFieldElement y)
           
 ECFieldElement squarePow(int pow)
           
 ECFieldElement subtract(ECFieldElement b)
           
 boolean testBitZero()
           
 java.math.BigInteger toBigInteger()
           
 
Methods inherited from class org.bouncycastle.math.ec.ECFieldElement.AbstractF2m
halfTrace, hasFastTrace, trace
 
Methods inherited from class org.bouncycastle.math.ec.ECFieldElement
encodeTo, getEncoded, getEncodedLength, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

GNB

public static final int GNB
Indicates gaussian normal basis representation (GNB). Number chosen according to X9.62. GNB is not implemented at present.

TPB

public static final int TPB
Indicates trinomial basis representation (TPB). Number chosen according to X9.62.

PPB

public static final int PPB
Indicates pentanomial basis representation (PPB). Number chosen according to X9.62.
Method Detail

bitLength

public int bitLength()
Overrides:
bitLength in class ECFieldElement

isOne

public boolean isOne()
Overrides:
isOne in class ECFieldElement

isZero

public boolean isZero()
Overrides:
isZero in class ECFieldElement

testBitZero

public boolean testBitZero()
Overrides:
testBitZero in class ECFieldElement

toBigInteger

public java.math.BigInteger toBigInteger()
Overrides:
toBigInteger in class ECFieldElement

getFieldName

public java.lang.String getFieldName()
Overrides:
getFieldName in class ECFieldElement

getFieldSize

public int getFieldSize()
Overrides:
getFieldSize in class ECFieldElement

add

public ECFieldElement add(ECFieldElement b)
Overrides:
add in class ECFieldElement

addOne

public ECFieldElement addOne()
Overrides:
addOne in class ECFieldElement

subtract

public ECFieldElement subtract(ECFieldElement b)
Overrides:
subtract in class ECFieldElement

multiply

public ECFieldElement multiply(ECFieldElement b)
Overrides:
multiply in class ECFieldElement

multiplyMinusProduct

public ECFieldElement multiplyMinusProduct(ECFieldElement b,
                                           ECFieldElement x,
                                           ECFieldElement y)
Overrides:
multiplyMinusProduct in class ECFieldElement

multiplyPlusProduct

public ECFieldElement multiplyPlusProduct(ECFieldElement b,
                                          ECFieldElement x,
                                          ECFieldElement y)
Overrides:
multiplyPlusProduct in class ECFieldElement

divide

public ECFieldElement divide(ECFieldElement b)
Overrides:
divide in class ECFieldElement

negate

public ECFieldElement negate()
Overrides:
negate in class ECFieldElement

square

public ECFieldElement square()
Overrides:
square in class ECFieldElement

squareMinusProduct

public ECFieldElement squareMinusProduct(ECFieldElement x,
                                         ECFieldElement y)
Overrides:
squareMinusProduct in class ECFieldElement

squarePlusProduct

public ECFieldElement squarePlusProduct(ECFieldElement x,
                                        ECFieldElement y)
Overrides:
squarePlusProduct in class ECFieldElement

squarePow

public ECFieldElement squarePow(int pow)
Overrides:
squarePow in class ECFieldElement

invert

public ECFieldElement invert()
Overrides:
invert in class ECFieldElement

sqrt

public ECFieldElement sqrt()
Overrides:
sqrt in class ECFieldElement

getRepresentation

public int getRepresentation()
Returns:
the representation of the field F 2 m, either of TPB (trinomial basis representation) or PPB (pentanomial basis representation).

getM

public int getM()
Returns:
the degree m of the reduction polynomial f(z).

getK1

public int getK1()
Returns:
TPB: The integer k where x m + x k + 1 represents the reduction polynomial f(z). PPB: The integer k1 where x m + x k3 + x k2 + x k1 + 1 represents the reduction polynomial f(z).

getK2

public int getK2()
Returns:
TPB: Always returns 0 PPB: The integer k2 where x m + x k3 + x k2 + x k1 + 1 represents the reduction polynomial f(z).

getK3

public int getK3()
Returns:
TPB: Always set to 0 PPB: The integer k3 where x m + x k3 + x k2 + x k1 + 1 represents the reduction polynomial f(z).

equals

public boolean equals(java.lang.Object anObject)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

Bouncy Castle Cryptography Library 1.79