Class GF2nONBElement

  • All Implemented Interfaces:
    GFElement

    public class GF2nONBElement
    extends GF2nElement
    This class implements an element of the finite field GF(2n ). It is represented in an optimal normal basis representation and holds the pointer mField to its corresponding field.
    See Also:
    GF2nField, GF2nElement
    • Constructor Detail

      • GF2nONBElement

        public GF2nONBElement​(GF2nONBField gf2n,
                              SecureRandom rand)
        Construct a random element over the field gf2n, using the specified source of randomness.
        Parameters:
        gf2n - the field
        rand - the source of randomness
      • GF2nONBElement

        public GF2nONBElement​(GF2nONBField gf2n,
                              byte[] e)
        Construct a new GF2nONBElement from its encoding.
        Parameters:
        gf2n - the field
        e - the encoded element
      • GF2nONBElement

        public GF2nONBElement​(GF2nONBField gf2n,
                              BigInteger val)
        Construct the element of the field gf2n with the specified value val.
        Parameters:
        gf2n - the field
        val - the value represented by a BigInteger
      • GF2nONBElement

        public GF2nONBElement​(GF2nONBElement gf2n)
        Copy constructor.
        Parameters:
        gf2n - the field
    • Method Detail

      • clone

        public Object clone()
        Create a new GF2nONBElement by cloning this GF2nPolynomialElement.
        Specified by:
        clone in interface GFElement
        Specified by:
        clone in class GF2nElement
        Returns:
        a copy of this element
      • ZERO

        public static GF2nONBElement ZERO​(GF2nONBField gf2n)
        Create the zero element.
        Parameters:
        gf2n - the finite field
        Returns:
        the zero element in the given finite field
      • ONE

        public static GF2nONBElement ONE​(GF2nONBField gf2n)
        Create the one element.
        Parameters:
        gf2n - the finite field
        Returns:
        the one element in the given finite field
      • isZero

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

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

        public boolean equals​(Object other)
        Compare this element with another object.
        Specified by:
        equals in interface GFElement
        Overrides:
        equals in class Object
        Parameters:
        other - the other object
        Returns:
        true if the two objects are equal, false otherwise
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface GFElement
        Overrides:
        hashCode in class Object
        Returns:
        the hash code of this element
      • testRightmostBit

        public boolean testRightmostBit()
        Returns whether the highest bit of the bit representation is set
        Specified by:
        testRightmostBit in class GF2nElement
        Returns:
        true, if the highest bit of mPol is set, false, otherwise
      • increaseThis

        public void increaseThis()
        increases this element.
        Specified by:
        increaseThis in class GF2nElement
      • squareThis

        public void squareThis()
        squares this element.
        Specified by:
        squareThis in class GF2nElement
      • squareRootThis

        public void squareRootThis()
        square roots this element.
        Specified by:
        squareRootThis in class GF2nElement
      • trace

        public int trace()
        Returns the trace of this element.
        Specified by:
        trace in class GF2nElement
        Returns:
        the trace of this element
      • toString

        public String toString()
        Returns a String representation of this element.
        Specified by:
        toString in interface GFElement
        Overrides:
        toString in class Object
        Returns:
        String representation of this element with the specified radix
      • toString

        public String toString​(int radix)
        Returns a String representation of this element. radix specifies the radix of the String representation.
        NOTE: ONLY radix = 2 or radix = 16 IS IMPLEMENTED
        Parameters:
        radix - specifies the radix of the String representation
        Returns:
        String representation of this element with the specified radix
      • toFlexiBigInt

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

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