protected ECCurve cloneCurve() { return new SecP192K1Curve(); }
public SecP192K1Curve() { super(q); this.infinity = new SecP192K1Point(this, null, null); this.a = fromBigInteger(ECConstants.ZERO); this.b = fromBigInteger(BigInteger.valueOf(3)); this.order = new BigInteger(1, Hex.decode("FFFFFFFFFFFFFFFFFFFFFFFE26F2FC170F69466A74DEFD8D")); this.cofactor = BigInteger.valueOf(1); this.coord = SecP192K1_DEFAULT_COORDS; }
public ECPoint lookup(int index) { int[] x = Nat192.create(), y = Nat192.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 SecP192K1FieldElement(x), new SecP192K1FieldElement(y), false); } };
public SecP192K1Curve() { super(q); this.infinity = new SecP192K1Point(this, null, null); this.a = fromBigInteger(ECConstants.ZERO); this.b = fromBigInteger(BigInteger.valueOf(3)); this.order = new BigInteger(1, Hex.decode("FFFFFFFFFFFFFFFFFFFFFFFE26F2FC170F69466A74DEFD8D")); this.cofactor = BigInteger.valueOf(1); this.coord = SecP192K1_DEFAULT_COORDS; }
protected ECCurve cloneCurve() { return new SecP192K1Curve(); }
protected X9ECParameters createParameters() { byte[] S = null; GLVTypeBParameters glv = new GLVTypeBParameters( new BigInteger("bb85691939b869c1d087f601554b96b80cb4f55b35f433c2", 16), new BigInteger("3d84f26c12238d7b4f3d516613c1759033b1a5800175d0b1", 16), new BigInteger[]{ new BigInteger("71169be7330b3038edb025f1", 16), new BigInteger("-b3fb3400dec5c4adceb8655c", 16) }, new BigInteger[]{ new BigInteger("12511cfe811d0f4e6bc688b4d", 16), new BigInteger("71169be7330b3038edb025f1", 16) }, new BigInteger("71169be7330b3038edb025f1d0f9", 16), new BigInteger("b3fb3400dec5c4adceb8655d4c94", 16), 208); ECCurve curve = configureCurveGLV(new SecP192K1Curve(), glv); ECPoint G = curve.decodePoint(Hex.decode("04" + "DB4FF10EC057E9AE26B07D0280B7F4341DA5D1B1EAE06C7D" + "9B2F2F6D9C5628A7844163D015BE86344082AA88D95E2F9D")); return new X9ECParameters(curve, G, curve.getOrder(), curve.getCofactor(), S); } };
protected X9ECParameters createParameters() { byte[] S = null; GLVTypeBParameters glv = new GLVTypeBParameters( new BigInteger("bb85691939b869c1d087f601554b96b80cb4f55b35f433c2", 16), new BigInteger("3d84f26c12238d7b4f3d516613c1759033b1a5800175d0b1", 16), new BigInteger[]{ new BigInteger("71169be7330b3038edb025f1", 16), new BigInteger("-b3fb3400dec5c4adceb8655c", 16) }, new BigInteger[]{ new BigInteger("12511cfe811d0f4e6bc688b4d", 16), new BigInteger("71169be7330b3038edb025f1", 16) }, new BigInteger("71169be7330b3038edb025f1d0f9", 16), new BigInteger("b3fb3400dec5c4adceb8655d4c94", 16), 208); ECCurve curve = configureCurveGLV(new SecP192K1Curve(), glv); X9ECPoint G = new X9ECPoint(curve, Hex.decode("04" + "DB4FF10EC057E9AE26B07D0280B7F4341DA5D1B1EAE06C7D" + "9B2F2F6D9C5628A7844163D015BE86344082AA88D95E2F9D")); return new X9ECParameters(curve, G, curve.getOrder(), curve.getCofactor(), S); } };