/** * Construct a polynomial over the finite field GF(2^m). * * @param field the finite field GF(2^m) * @param deg degree of polynomial * @param typeOfPolynomial type of polynomial * @param sr PRNG */ public PolynomialGF2mSmallM(GF2mField field, int deg, char typeOfPolynomial, SecureRandom sr) { this.field = field; switch (typeOfPolynomial) { case PolynomialGF2mSmallM.RANDOM_IRREDUCIBLE_POLYNOMIAL: coefficients = createRandomIrreduciblePolynomial(deg, sr); break; default: throw new IllegalArgumentException(" Error: type " + typeOfPolynomial + " is not defined for GF2smallmPolynomial"); } computeDegree(); }
/** * Construct a polynomial over the finite field GF(2^m). * * @param field the finite field GF(2^m) * @param deg degree of polynomial * @param typeOfPolynomial type of polynomial * @param sr PRNG */ public PolynomialGF2mSmallM(GF2mField field, int deg, char typeOfPolynomial, SecureRandom sr) { this.field = field; switch (typeOfPolynomial) { case PolynomialGF2mSmallM.RANDOM_IRREDUCIBLE_POLYNOMIAL: coefficients = createRandomIrreduciblePolynomial(deg, sr); break; default: throw new IllegalArgumentException(" Error: type " + typeOfPolynomial + " is not defined for GF2smallmPolynomial"); } computeDegree(); }