CoordinateEd25519 extends Coordinate { @Override public final Coordinate inverse() { return new CoordinateEd25519(getInteger().modInverse(curve.getPrimePowerP())); } CoordinateEd25519(BigInteger integer); @Override final Coordinate add(Coordinate val); @Override final Coordinate divide(Coordinate val); @Override final Coordinate multiply(Coordinate val); @Override final Coordinate subtract(Coordinate val); @Override final Coordinate mod(); @Override final Coordinate inverse(); @Override Coordinate powerMod(BigInteger exponent); @Override Coordinate negate(); @Override EncodedCoordinate encode(); static final CoordinateEd25519 ONE; }
@Test public void success_InverseCoordinate() { Coordinate coordinate1 = new CoordinateEd25519(new BigInteger("100")); Coordinate coordinate2 = new CoordinateEd25519(new BigInteger("101241240")); Coordinate result1 = coordinate1.inverse(); Coordinate result2 = coordinate2.inverse(); assertThat(result1.getInteger(), is(new BigInteger("29526982755515629833010601177215416502583846089738343830061683922017848058174"))); assertThat(result2.getInteger(), is(new BigInteger("38867791596533294917564303539771571723867178851912571219685671691706937241210"))); }