Representing a point
We call a Point
an element of the elliptic curve group, which we can represent with its coordinates. Let's define a Point
class to encapsulate the and coordinates in the generalised curve equation of .
from typing import Optional
@dataclass
class Point:
x: Optional[int]
y: Optional[int]
curve: EllipticCurve
def __post_init__(self):
# Ignore validation for I
if self.x is None and self.y is None:
return
# Encapsulate int coordinates in FieldElement
self.x = FieldElement(self.x, self.curve.field)
self.y = FieldElement(self.y, self.curve.field)
# Verify if the point satisfies the curve equation
if self not in self.curve:
raise ValueError
Last updated
Was this helpful?