private static EllipticCurvePoint getPoint(BigInteger u1, BigInteger u2, EllipticCurvePoint publicKey, EllipticCurve theCurve) { EllipticCurvePoint GDependentPoint = PointMultiplication.multiplyPoint(u1, theCurve.G, theCurve); EllipticCurvePoint PublicKeyDependentPoint = PointMultiplication.multiplyPoint(u2, publicKey, theCurve); return(PointAddition.addPoints(theCurve, GDependentPoint, PublicKeyDependentPoint)); }
public static EllipticCurvePoint calculateMasterKey(BigInteger prk, EllipticCurvePoint theirPublicKey, EllipticCurve curve) { return(PointAddition.addPoints(curve, theirPublicKey, PointMultiplication.multiplyPoint(prk, curve.G, curve))); }
public static EllipticCurvePoint calculatePublicKey(BigInteger prk, EllipticCurve curve) { return(PointMultiplication.multiplyPoint(prk, curve.G, curve)); }
//step 4 private static EllipticCurvePoint computePoint(BigInteger k, EllipticCurve theCurve) { return(PointMultiplication.multiplyPoint(k, theCurve.G, theCurve)); }