Class ECFieldElement.F2m

java.lang.Object
org.gudy.bouncycastle.math.ec.ECFieldElement
org.gudy.bouncycastle.math.ec.ECFieldElement.F2m
All Implemented Interfaces:
ECConstants
Enclosing class:
ECFieldElement

public static class ECFieldElement.F2m extends ECFieldElement
Class representing the Elements of the finite field F2m in polynomial basis (PB) representation. Both trinomial (TPB) and pentanomial (PPB) polynomial basis representations are supported. Gaussian normal basis (GNB) representation is not supported.
  • Field Details

    • GNB

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

      public static final int TPB
      Indicates trinomial basis representation (TPB). Number chosen according to X9.62.
      See Also:
    • PPB

      public static final int PPB
      Indicates pentanomial basis representation (PPB). Number chosen according to X9.62.
      See Also:
    • representation

      private int representation
      TPB or PPB.
    • m

      private int m
      The exponent m of F2m.
    • k1

      private int k1
      TPB: The integer k where xm + xk + 1 represents the reduction polynomial f(z).
      PPB: The integer k1 where xm + xk3 + xk2 + xk1 + 1 represents the reduction polynomial f(z).
    • k2

      private int k2
      TPB: Always set to 0
      PPB: The integer k2 where xm + xk3 + xk2 + xk1 + 1 represents the reduction polynomial f(z).
    • k3

      private int k3
      TPB: Always set to 0
      PPB: The integer k3 where xm + xk3 + xk2 + xk1 + 1 represents the reduction polynomial f(z).
    • x

      private IntArray x
      The IntArray holding the bits.
    • t

      private int t
      The number of ints required to hold m bits.
  • Constructor Details

    • F2m

      public F2m(int m, int k1, int k2, int k3, BigInteger x)
      Constructor for 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).
      x - The BigInteger representing the value of the field element.
    • F2m

      public F2m(int m, int k, BigInteger x)
      Constructor for TPB.
      Parameters:
      m - The exponent m of F2m.
      k - The integer k where xm + xk + 1 represents the reduction polynomial f(z).
      x - The BigInteger representing the value of the field element.
    • F2m

      private F2m(int m, int k1, int k2, int k3, IntArray x)
  • Method Details