Class GF2nElement

    • Field Detail

      • mField

        protected GF2nField mField
        holds a pointer to this element's corresponding field.
      • mDegree

        protected int mDegree
        holds the extension degree n of this element's corresponding field.
    • Constructor Detail

      • GF2nElement

        public GF2nElement()
    • Method Detail

      • clone

        public abstract java.lang.Object clone()
        Specified by:
        clone in interface GFElement
        Overrides:
        clone in class java.lang.Object
        Returns:
        a copy of this GF2nElement
      • testRightmostBit

        public abstract boolean testRightmostBit()
        Returns whether the rightmost bit of the bit representation is set. This is needed for data conversion according to 1363.
        Returns:
        true if the rightmost bit of this element is set
      • getField

        public final GF2nField getField()
        Returns the field of this element.
        Returns:
        the field of this element
      • increase

        public abstract GF2nElement increase()
        Returns this element + 1.
        Returns:
        this + 1
      • increaseThis

        public abstract void increaseThis()
        Increases this element by one.
      • subtract

        public final GFElement subtract​(GFElement minuend)
        Compute the difference of this element and minuend.
        Specified by:
        subtract in interface GFElement
        Parameters:
        minuend - the minuend
        Returns:
        this - minuend (newly created)
      • subtractFromThis

        public final void subtractFromThis​(GFElement minuend)
        Compute the difference of this element and minuend, overwriting this element.
        Specified by:
        subtractFromThis in interface GFElement
        Parameters:
        minuend - the minuend
      • square

        public abstract GF2nElement square()
        Returns this element to the power of 2.
        Returns:
        this2
      • squareThis

        public abstract void squareThis()
        Squares this element.
      • squareRoot

        public abstract GF2nElement squareRoot()
        Compute the square root of this element and return the result in a new GF2nElement.
        Returns:
        this1/2 (newly created)
      • squareRootThis

        public abstract void squareRootThis()
        Compute the square root of this element.
      • convert

        public final GF2nElement convert​(GF2nField basis)
        Performs a basis transformation of this element to the given GF2nField basis.
        Parameters:
        basis - the GF2nField representation to transform this element to
        Returns:
        this element in the representation of basis
      • trace

        public abstract int trace()
        Returns the trace of this element.
        Returns:
        the trace of this element
      • solveQuadraticEquation

        public abstract GF2nElement solveQuadraticEquation()
                                                    throws java.lang.RuntimeException
        Solves a quadratic equation.
        Let z2 + z = this. Then this method returns z.
        Returns:
        z with z2 + z = this
        Throws:
        java.lang.RuntimeException