Interface GFElement

All Known Implementing Classes:
GF2nElement, GF2nONBElement, GF2nPolynomialElement

public interface GFElement
This interface defines a finite field element. It is implemented by the class GF2nElement.
See Also:
  • Method Details

    • clone

      Object clone()
      Returns:
      a copy of this GFElement
    • equals

      boolean equals(Object other)
      Compare this curve with another object.
      Overrides:
      equals in class Object
      Parameters:
      other - the other object
      Returns:
      the result of the comparison
    • hashCode

      int hashCode()
      Overrides:
      hashCode in class Object
      Returns:
      the hash code of this element
    • isZero

      boolean isZero()
      Checks whether this element is zero.
      Returns:
      true if this is the zero element
    • isOne

      boolean isOne()
      Checks whether this element is one.
      Returns:
      true if this is the one element
    • add

      GFElement add(GFElement addend) throws RuntimeException
      Compute the sum of this element and the addend.
      Parameters:
      addend - the addend
      Returns:
      this + other (newly created)
      Throws:
      RuntimeException
    • addToThis

      void addToThis(GFElement addend) throws RuntimeException
      Compute the sum of this element and the addend, overwriting this element.
      Parameters:
      addend - the addend
      Throws:
      RuntimeException
    • subtract

      GFElement subtract(GFElement minuend) throws RuntimeException
      Compute the difference of this element and minuend.
      Parameters:
      minuend - the minuend
      Returns:
      this - minuend (newly created)
      Throws:
      RuntimeException
    • subtractFromThis

      void subtractFromThis(GFElement minuend)
      Compute the difference of this element and minuend, overwriting this element.
      Parameters:
      minuend - the minuend
    • multiply

      GFElement multiply(GFElement factor) throws RuntimeException
      Compute the product of this element and factor.
      Parameters:
      factor - the factor
      Returns:
      this * factor (newly created)
      Throws:
      RuntimeException
    • multiplyThisBy

      void multiplyThisBy(GFElement factor) throws RuntimeException
      Compute this * factor (overwrite this).
      Parameters:
      factor - the factor
      Throws:
      RuntimeException
    • invert

      Compute the multiplicative inverse of this element.
      Returns:
      this-1 (newly created)
      Throws:
      ArithmeticException - if this is the zero element.
    • toFlexiBigInt

      BigInteger toFlexiBigInt()
      Returns this element as FlexiBigInt. The conversion is P1363-conform.
      Returns:
      this element as BigInt
    • toByteArray

      byte[] toByteArray()
      Returns this element as byte array. The conversion is P1363-conform.
      Returns:
      this element as byte array
    • toString

      String toString()
      Return a String representation of this element.
      Overrides:
      toString in class Object
      Returns:
      String representation of this element
    • toString

      String toString(int radix)
      Return a String representation of this element. radix specifies the radix of the String representation.
      Parameters:
      radix - specifies the radix of the String representation
      Returns:
      String representation of this element with the specified radix