public interface EllipticCurvePoint extends GroupElementImpl
| Modifier and Type | Method and Description |
|---|---|
EllipticCurvePoint |
add(EllipticCurvePoint P,
FieldElement[] line)
Add this to P with the help of line where line is the result of
this.computeLine(P). |
FieldElement[] |
computeLine(EllipticCurvePoint Q)
Computes a parameterization of the line through this and
Q. |
Field |
getFieldOfDefinition()
Returns the base field over which the elliptic curve this point belongs to is defined.
|
boolean |
isNormalized()
Checks whether this point is normalized.
|
EllipticCurvePoint |
normalize()
Normalizes this elliptic curve point.
|
default GroupElementImpl |
op(GroupElementImpl e)
Calculates the result of this op e.
|
getStructure, inv, isNeutralElement, pow, squaregetRepresentationgetUniqueByteRepresentation, updateAccumulatorEllipticCurvePoint normalize()
boolean isNormalized()
Field getFieldOfDefinition()
FieldElement[] computeLine(EllipticCurvePoint Q)
Q.
The result of this function should parameterize the line through this and Q. For example for affine points, a line through P is parameterized by \(a_0, a_1\) with \(a_0(y-yP)-a_1(x-xP)\). For Jacobian points, a line through P is parameterized by \(a_0, a_1\) with \(a_0(yZp^3-Yp)-a_1(xZp^2-Xp)\).
This function is useful to assess the line as an intermediate result of point addition for a an efficient pairing computation.
Q - the second point on the lineQEllipticCurvePoint add(EllipticCurvePoint P, FieldElement[] line)
this.computeLine(P).
The contract is that this.op(P).equals(this.add(P,this.computeLine(P))).
P - the point to addline - the line to use for the additiondefault GroupElementImpl op(GroupElementImpl e) throws java.lang.IllegalArgumentException
GroupElementImplop in interface GroupElementImple - right hand side of the operationjava.lang.IllegalArgumentException - if e is of the wrong type