diff options
Diffstat (limited to 'core/src/main/java/org/bouncycastle/math/field')
8 files changed, 0 insertions, 235 deletions
diff --git a/core/src/main/java/org/bouncycastle/math/field/ExtensionField.java b/core/src/main/java/org/bouncycastle/math/field/ExtensionField.java deleted file mode 100644 index dfefba7e..00000000 --- a/core/src/main/java/org/bouncycastle/math/field/ExtensionField.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.bouncycastle.math.field; - -public interface ExtensionField extends FiniteField -{ - FiniteField getSubfield(); - - int getDegree(); -} diff --git a/core/src/main/java/org/bouncycastle/math/field/FiniteField.java b/core/src/main/java/org/bouncycastle/math/field/FiniteField.java deleted file mode 100644 index 0a5baa09..00000000 --- a/core/src/main/java/org/bouncycastle/math/field/FiniteField.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.bouncycastle.math.field; - -import java.math.BigInteger; - -public interface FiniteField -{ - BigInteger getCharacteristic(); - - int getDimension(); -} diff --git a/core/src/main/java/org/bouncycastle/math/field/FiniteFields.java b/core/src/main/java/org/bouncycastle/math/field/FiniteFields.java deleted file mode 100644 index 7197ffd0..00000000 --- a/core/src/main/java/org/bouncycastle/math/field/FiniteFields.java +++ /dev/null @@ -1,53 +0,0 @@ -package org.bouncycastle.math.field; - -import java.math.BigInteger; - -public abstract class FiniteFields -{ - static final FiniteField GF_2 = new PrimeField(BigInteger.valueOf(2)); - static final FiniteField GF_3 = new PrimeField(BigInteger.valueOf(3)); - - public static PolynomialExtensionField getBinaryExtensionField(int[] exponents) - { - if (exponents[0] != 0) - { - throw new IllegalArgumentException("Irreducible polynomials in GF(2) must have constant term"); - } - for (int i = 1; i < exponents.length; ++i) - { - if (exponents[i] <= exponents[i - 1]) - { - throw new IllegalArgumentException("Polynomial exponents must be montonically increasing"); - } - } - - return new GenericPolynomialExtensionField(GF_2, new GF2Polynomial(exponents)); - } - -// public static PolynomialExtensionField getTernaryExtensionField(Term[] terms) -// { -// return new GenericPolynomialExtensionField(GF_3, new GF3Polynomial(terms)); -// } - - public static FiniteField getPrimeField(BigInteger characteristic) - { - int bitLength = characteristic.bitLength(); - if (characteristic.signum() <= 0 || bitLength < 2) - { - throw new IllegalArgumentException("'characteristic' must be >= 2"); - } - - if (bitLength < 3) - { - switch (characteristic.intValue()) - { - case 2: - return GF_2; - case 3: - return GF_3; - } - } - - return new PrimeField(characteristic); - } -} diff --git a/core/src/main/java/org/bouncycastle/math/field/GF2Polynomial.java b/core/src/main/java/org/bouncycastle/math/field/GF2Polynomial.java deleted file mode 100644 index 73be7685..00000000 --- a/core/src/main/java/org/bouncycastle/math/field/GF2Polynomial.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.bouncycastle.math.field; - -import org.bouncycastle.util.Arrays; - -class GF2Polynomial implements Polynomial -{ - protected final int[] exponents; - - GF2Polynomial(int[] exponents) - { - this.exponents = Arrays.clone(exponents); - } - - public int getDegree() - { - return exponents[exponents.length - 1]; - } - - public int[] getExponentsPresent() - { - return Arrays.clone(exponents); - } - - public boolean equals(Object obj) - { - if (this == obj) - { - return true; - } - if (!(obj instanceof GF2Polynomial)) - { - return false; - } - GF2Polynomial other = (GF2Polynomial)obj; - return Arrays.areEqual(exponents, other.exponents); - } - - public int hashCode() - { - return Arrays.hashCode(exponents); - } -} diff --git a/core/src/main/java/org/bouncycastle/math/field/GenericPolynomialExtensionField.java b/core/src/main/java/org/bouncycastle/math/field/GenericPolynomialExtensionField.java deleted file mode 100644 index 0b93a71a..00000000 --- a/core/src/main/java/org/bouncycastle/math/field/GenericPolynomialExtensionField.java +++ /dev/null @@ -1,62 +0,0 @@ -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); - } -} diff --git a/core/src/main/java/org/bouncycastle/math/field/Polynomial.java b/core/src/main/java/org/bouncycastle/math/field/Polynomial.java deleted file mode 100644 index e5ccd61c..00000000 --- a/core/src/main/java/org/bouncycastle/math/field/Polynomial.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.bouncycastle.math.field; - -public interface Polynomial -{ - int getDegree(); - -// BigInteger[] getCoefficients(); - - int[] getExponentsPresent(); - -// Term[] getNonZeroTerms(); -} diff --git a/core/src/main/java/org/bouncycastle/math/field/PolynomialExtensionField.java b/core/src/main/java/org/bouncycastle/math/field/PolynomialExtensionField.java deleted file mode 100644 index aedcbee3..00000000 --- a/core/src/main/java/org/bouncycastle/math/field/PolynomialExtensionField.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.bouncycastle.math.field; - -public interface PolynomialExtensionField extends ExtensionField -{ - Polynomial getMinimalPolynomial(); -} diff --git a/core/src/main/java/org/bouncycastle/math/field/PrimeField.java b/core/src/main/java/org/bouncycastle/math/field/PrimeField.java deleted file mode 100644 index fd1e2532..00000000 --- a/core/src/main/java/org/bouncycastle/math/field/PrimeField.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.bouncycastle.math.field; - -import java.math.BigInteger; - -class PrimeField implements FiniteField -{ - protected final BigInteger characteristic; - - PrimeField(BigInteger characteristic) - { - this.characteristic = characteristic; - } - - public BigInteger getCharacteristic() - { - return characteristic; - } - - public int getDimension() - { - return 1; - } - - public boolean equals(Object obj) - { - if (this == obj) - { - return true; - } - if (!(obj instanceof PrimeField)) - { - return false; - } - PrimeField other = (PrimeField)obj; - return characteristic.equals(other.characteristic); - } - - public int hashCode() - { - return characteristic.hashCode(); - } -} |