package octez-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=aa2f5bc99cc4ca2217c52a1af2a2cdfd3b383208cb859ca2e79ca0903396ca1d
sha512=d68bb3eb615e3dcccc845fddfc9901c95b3c6dc8e105e39522ce97637b1308a7fa7aa1d271351d5933febd7476b2819e1694f31198f1f0919681f1f9cc97cb3a
doc/octez-libs.mec/Mec/CurveSig/module-type-AffineEdwardsT/index.html
Module type CurveSig.AffineEdwardsT
Source
au^2 + v^2 = 1 + du^2v^2
include BASE
exception Not_on_curve of Bytes.t
Represents an element on the curve. In the case of a curve with a cofactor, the element is not necessarily in the prime subgroup.
module Scalar : Bls12_381.Ff_sig.PRIME
module Base : Bls12_381.Ff_sig.PRIME
val check_bytes : Bytes.t -> bool
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
val zero : t
Zero of the elliptic curve
val one : t
A fixed generator of the elliptic curve
val is_zero : t -> bool
Return true
if the given element is zero
val random : ?state:Random.State.t -> unit -> t
Generate a random element
val a : Base.t
The parameter a
of the curve, from the equation a * u^2 + v^2 = 1 + d * u^2 * v^2
val d : Base.t
The parameter d
of the curve, from the equation a * u^2 + v^2 = 1 + d * u^2 * v^2
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
Build 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
.