Class EdwardsCurve<E,F extends dk.jonaslindstrom.ruffini.common.abstractions.Field<E>>

java.lang.Object
dk.jonaslindstrom.ruffini.elliptic.structures.EdwardsCurve<E,F>
All Implemented Interfaces:
dk.jonaslindstrom.ruffini.common.abstractions.AdditiveGroup<EdwardsPoint<E>>, dk.jonaslindstrom.ruffini.common.abstractions.CommutativeMonoid<EdwardsPoint<E>>, dk.jonaslindstrom.ruffini.common.abstractions.Set<EdwardsPoint<E>>

public class EdwardsCurve<E,F extends dk.jonaslindstrom.ruffini.common.abstractions.Field<E>> extends Object implements dk.jonaslindstrom.ruffini.common.abstractions.AdditiveGroup<EdwardsPoint<E>>
Instances of this class represents a curve over a field over elements of type E satisfying the equation x2 + y2 = 1 + d x2 y2.
  • Constructor Details

    • EdwardsCurve

      public EdwardsCurve(F field, E d)
  • Method Details

    • toString

      public String toString(EdwardsPoint<E> a)
      Specified by:
      toString in interface dk.jonaslindstrom.ruffini.common.abstractions.Set<E>
    • equals

      public boolean equals(EdwardsPoint<E> a, EdwardsPoint<E> b)
      Specified by:
      equals in interface dk.jonaslindstrom.ruffini.common.abstractions.Set<E>
    • add

      public EdwardsPoint<E> add(EdwardsPoint<E> a, EdwardsPoint<E> b)
      Specified by:
      add in interface dk.jonaslindstrom.ruffini.common.abstractions.CommutativeMonoid<E>
    • negate

      public EdwardsPoint<E> negate(EdwardsPoint<E> a)
      Specified by:
      negate in interface dk.jonaslindstrom.ruffini.common.abstractions.AdditiveGroup<E>
    • getZero

      public EdwardsPoint<E> getZero()
      Specified by:
      getZero in interface dk.jonaslindstrom.ruffini.common.abstractions.CommutativeMonoid<E>
    • getCorrespondingMontgomeryCurve

      public dk.jonaslindstrom.ruffini.common.util.Pair<MontgomeryCurve<E,F>,java.util.function.Function<EdwardsPoint<E>,AffinePoint<E>>> getCorrespondingMontgomeryCurve()
      Return an elliptic curve in Montgomery form which is birationally equivalent to this curve and a mapping from points on this curve to points on the Montgomery curve.