protected ECCurve cloneCurve() { return new SecP224K1Curve(); }
public SecP224K1Curve() { super(q); this.infinity = new SecP224K1Point(this, null, null); this.a = fromBigInteger(ECConstants.ZERO); this.b = fromBigInteger(BigInteger.valueOf(5)); this.order = new BigInteger(1, Hex.decode("010000000000000000000000000001DCE8D2EC6184CAF0A971769FB1F7")); this.cofactor = BigInteger.valueOf(1); this.coord = SECP224K1_DEFAULT_COORDS; }
public ECPoint lookup(int index) { int[] x = Nat224.create(), y = Nat224.create(); int pos = 0; for (int i = 0; i < len; ++i) { int MASK = ((i ^ index) - 1) >> 31; for (int j = 0; j < FE_INTS; ++j) { x[j] ^= table[pos + j] & MASK; y[j] ^= table[pos + FE_INTS + j] & MASK; } pos += (FE_INTS * 2); } return createRawPoint(new SecP224K1FieldElement(x), new SecP224K1FieldElement(y), false); } };
public SecP224K1Curve() { super(q); this.infinity = new SecP224K1Point(this, null, null); this.a = fromBigInteger(ECConstants.ZERO); this.b = fromBigInteger(BigInteger.valueOf(5)); this.order = new BigInteger(1, Hex.decode("010000000000000000000000000001DCE8D2EC6184CAF0A971769FB1F7")); this.cofactor = BigInteger.valueOf(1); this.coord = SECP224K1_DEFAULT_COORDS; }
protected ECCurve cloneCurve() { return new SecP224K1Curve(); }
protected X9ECParameters createParameters() { byte[] S = null; GLVTypeBParameters glv = new GLVTypeBParameters( new BigInteger("fe0e87005b4e83761908c5131d552a850b3f58b749c37cf5b84d6768", 16), new BigInteger("60dcd2104c4cbc0be6eeefc2bdd610739ec34e317f9b33046c9e4788", 16), new BigInteger[]{ new BigInteger("6b8cf07d4ca75c88957d9d670591", 16), new BigInteger("-b8adf1378a6eb73409fa6c9c637d", 16) }, new BigInteger[]{ new BigInteger("1243ae1b4d71613bc9f780a03690e", 16), new BigInteger("6b8cf07d4ca75c88957d9d670591", 16) }, new BigInteger("6b8cf07d4ca75c88957d9d67059037a4", 16), new BigInteger("b8adf1378a6eb73409fa6c9c637ba7f5", 16), 240); ECCurve curve = configureCurveGLV(new SecP224K1Curve(), glv); ECPoint G = curve.decodePoint(Hex.decode("04" + "A1455B334DF099DF30FC28A169A467E9E47075A90F7E650EB6B7A45C" + "7E089FED7FBA344282CAFBD6F7E319F7C0B0BD59E2CA4BDB556D61A5")); return new X9ECParameters(curve, G, curve.getOrder(), curve.getCofactor(), S); } };
protected X9ECParameters createParameters() { byte[] S = null; GLVTypeBParameters glv = new GLVTypeBParameters( new BigInteger("fe0e87005b4e83761908c5131d552a850b3f58b749c37cf5b84d6768", 16), new BigInteger("60dcd2104c4cbc0be6eeefc2bdd610739ec34e317f9b33046c9e4788", 16), new BigInteger[]{ new BigInteger("6b8cf07d4ca75c88957d9d670591", 16), new BigInteger("-b8adf1378a6eb73409fa6c9c637d", 16) }, new BigInteger[]{ new BigInteger("1243ae1b4d71613bc9f780a03690e", 16), new BigInteger("6b8cf07d4ca75c88957d9d670591", 16) }, new BigInteger("6b8cf07d4ca75c88957d9d67059037a4", 16), new BigInteger("b8adf1378a6eb73409fa6c9c637ba7f5", 16), 240); ECCurve curve = configureCurveGLV(new SecP224K1Curve(), glv); X9ECPoint G = new X9ECPoint(curve, Hex.decode("04" + "A1455B334DF099DF30FC28A169A467E9E47075A90F7E650EB6B7A45C" + "7E089FED7FBA344282CAFBD6F7E319F7C0B0BD59E2CA4BDB556D61A5")); return new X9ECParameters(curve, G, curve.getOrder(), curve.getCofactor(), S); } };