package octez-libs

  1. Overview
  2. Docs

Curve in Weierstrass form with a and b. In affine, the curve has the equation form y² = x³ + ax + b

include BASE
exception Not_on_curve of Bytes.t
type 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.

val size_in_bytes : int

The size of a point representation, in bytes

val check_bytes : Bytes.t -> bool

Check if a point, represented as a byte array, is on the curve *

val of_bytes_opt : Bytes.t -> t option

Attempt to construct a point from a byte array

val of_bytes_exn : Bytes.t -> t

Attempt to construct a point from a byte array. Raise Not_on_curve if the point is not on the curve

val to_bytes : t -> Bytes.t

Return a representation in bytes

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 add : t -> t -> t

Return the addition of two element

val double : t -> t

Double the element

val negate : t -> t

Return the opposite of the element

val eq : t -> t -> bool

Return true if the two elements are algebraically the same

val mul : t -> Scalar.t -> t

Multiply an element by a scalar

val a : Base.t
val b : Base.t
val cofactor : Z.t
OCaml

Innovation. Community. Security.