Ec.MakeAffineEdwardsSourcemodule Params : sig ... endau^2 + v^2 = 1 + du^2v^2
include Mec_curve_sig.Ec_sig.BASE
with type Base.t = Base.t
with type Scalar.t = Scalar.tRepresents an element on the curve. In the case of a curve with a cofactor, the element is not necessarily in the prime subgroup.
The size of a point representation, in bytes
Check if a point, represented as a byte array, is on the curve *
Attempt to construct a point from a byte array. Raise Not_on_curve if the point is not on the curve
Generate a random element
The cofactor of the curve. The parameter is used in is_small_order and in the random point generator.
is_on_curve ~u ~v returns true if the coordinates (u, v) represents a point on the curve. It does not check the point is in the prime subgroup.
is_in_prime_subgroup ~u ~v returns true if the coordinates (u, v) represents a point in the prime subgroup. The coordinates must be a point on the curve
Return the affine coordinate u (such that au^2 + v^2 = 1 + d u^2 v^2
Return the affine coordinate u (such that au^2 + v^2 = 1 + d u^2 v^2
val to_montgomery_curve_parameters :
unit ->
(Base.t * Base.t * Z.t * (Base.t * Base.t)) optionBuild a point from the affine coordinates. If the point is not on the curve and in the subgroup, returns None
Build a point from the affine coordinates. If the point is not on the curve and in the subgroup, raise Not_on_curve.