diff options
Diffstat (limited to 'src/cz/crcs/ectester/common/ec/CustomECFieldF2m.java')
| -rw-r--r-- | src/cz/crcs/ectester/common/ec/CustomECFieldF2m.java | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/src/cz/crcs/ectester/common/ec/CustomECFieldF2m.java b/src/cz/crcs/ectester/common/ec/CustomECFieldF2m.java deleted file mode 100644 index 24ea5aa..0000000 --- a/src/cz/crcs/ectester/common/ec/CustomECFieldF2m.java +++ /dev/null @@ -1,67 +0,0 @@ -package cz.crcs.ectester.common.ec; - -import java.math.BigInteger; -import java.security.spec.ECFieldF2m; -import java.util.Arrays; - -/** - * @author David Hofman - */ -public class CustomECFieldF2m extends ECFieldF2m { - private int m; - private int[] ks; - private BigInteger rp; - - public CustomECFieldF2m(int m, int[] ks) { - //feed the constructor of the superclass some default, valid data - //getters will return custom parameters instead - super(163, new int[] {3, 2, 1}); - this.m = m; - this.ks = ks.clone(); - - //causes ArithmeticException if m < 0 or any element of ks < 0 - this.rp = BigInteger.ONE; - this.rp = this.rp.setBit(m); - for(int i = 0; i < this.ks.length; ++i) { - this.rp = this.rp.setBit(this.ks[i]); - } - } - - @Override - public int getFieldSize() { - return m; - } - - @Override - public int getM() { - return m; - } - - @Override - public int[] getMidTermsOfReductionPolynomial() { - return ks.clone(); - } - - @Override - public BigInteger getReductionPolynomial() { - return rp; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } else if (!(o instanceof CustomECFieldF2m)) { - return false; - } else { - return m == ((CustomECFieldF2m) o).m && Arrays.equals(ks, ((CustomECFieldF2m) o).ks); - } - } - - @Override - public int hashCode() { - int hash = m << 5; - hash += rp == null ? 0 : rp.hashCode(); - return hash; - } -} |
