![JAR search and dependency download from the Maven repository](/logo.png)
org.bouncycastle.math.field.GenericPolynomialExtensionField Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bc-fips-debug Show documentation
Show all versions of bc-fips-debug Show documentation
The FIPS 140-2 Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms certified to FIPS 140-2 level 1. This jar contains the debug version JCE provider and low-level API for the BC-FJA version 1.0.2.3, FIPS Certificate #3514. Please note the debug jar is not certified.
/***************************************************************/
/****** DO NOT EDIT THIS CLASS bc-java SOURCE FILE ******/
/***************************************************************/
package org.bouncycastle.math.field;
import java.math.BigInteger;
import org.bouncycastle.util.Integers;
class GenericPolynomialExtensionField implements PolynomialExtensionField
{
protected final FiniteField subfield;
protected final Polynomial minimalPolynomial;
GenericPolynomialExtensionField(FiniteField subfield, Polynomial polynomial)
{
this.subfield = subfield;
this.minimalPolynomial = polynomial;
}
public BigInteger getCharacteristic()
{
return subfield.getCharacteristic();
}
public int getDimension()
{
return subfield.getDimension() * minimalPolynomial.getDegree();
}
public FiniteField getSubfield()
{
return subfield;
}
public int getDegree()
{
return minimalPolynomial.getDegree();
}
public Polynomial getMinimalPolynomial()
{
return minimalPolynomial;
}
public boolean equals(Object obj)
{
if (this == obj)
{
return true;
}
if (!(obj instanceof GenericPolynomialExtensionField))
{
return false;
}
GenericPolynomialExtensionField other = (GenericPolynomialExtensionField)obj;
return subfield.equals(other.subfield) && minimalPolynomial.equals(other.minimalPolynomial);
}
public int hashCode()
{
return subfield.hashCode()
^ Integers.rotateLeft(minimalPolynomial.hashCode(), 16);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy