Class MontgomeryCurve<E,F extends dk.jonaslindstrom.ruffini.common.abstractions.Field<E>>
java.lang.Object
dk.jonaslindstrom.ruffini.elliptic.structures.MontgomeryCurve<E,F>
- All Implemented Interfaces:
dk.jonaslindstrom.ruffini.common.abstractions.AdditiveGroup<AffinePoint<E>>,dk.jonaslindstrom.ruffini.common.abstractions.CommutativeMonoid<AffinePoint<E>>,dk.jonaslindstrom.ruffini.common.abstractions.Set<AffinePoint<E>>
- Direct Known Subclasses:
Curve25519
public class MontgomeryCurve<E,F extends dk.jonaslindstrom.ruffini.common.abstractions.Field<E>>
extends Object
implements dk.jonaslindstrom.ruffini.common.abstractions.AdditiveGroup<AffinePoint<E>>
Curve on Montgomery form By2 = x3 + Ax2 + x. The field should have
characteristics not equal to 2, A ≠ ∓ 2 and B ≠ 0.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionadd(AffinePoint<E> p, AffinePoint<E> q) booleanequals(AffinePoint<E> a, AffinePoint<E> b) getA()getB()dk.jonaslindstrom.ruffini.common.util.Pair<ShortWeierstrassCurveAffine<E,F>, java.util.function.UnaryOperator<AffinePoint<E>>> getField()getZero()negate(AffinePoint<E> p) toString()toString(AffinePoint<E> a) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface dk.jonaslindstrom.ruffini.common.abstractions.AdditiveGroup
doubling, isZero, scale, scale, subtractMethods inherited from interface dk.jonaslindstrom.ruffini.common.abstractions.CommutativeMonoid
add, add
-
Field Details
-
A
-
B
-
field
-
-
Constructor Details
-
MontgomeryCurve
-
-
Method Details
-
getField
-
discriminant
-
jInvariant
-
toString
- Specified by:
toStringin interfacedk.jonaslindstrom.ruffini.common.abstractions.Set<E>
-
equals
- Specified by:
equalsin interfacedk.jonaslindstrom.ruffini.common.abstractions.Set<E>
-
add
- Specified by:
addin interfacedk.jonaslindstrom.ruffini.common.abstractions.CommutativeMonoid<E>
-
negate
- Specified by:
negatein interfacedk.jonaslindstrom.ruffini.common.abstractions.AdditiveGroup<E>
-
getZero
- Specified by:
getZeroin interfacedk.jonaslindstrom.ruffini.common.abstractions.CommutativeMonoid<E>
-
toString
-
getA
-
getB
-
getCorrespondingWeierstrassCurve
public dk.jonaslindstrom.ruffini.common.util.Pair<ShortWeierstrassCurveAffine<E,F>, getCorrespondingWeierstrassCurve()java.util.function.UnaryOperator<AffinePoint<E>>>
-