package octez-libs

  1. Overview
  2. Docs
A package that contains multiple base libraries used by the Octez suite

Install

Dune Dependency

Authors

Maintainers

Sources

tezos-octez-v20.1.tag.bz2
sha256=ddfb5076eeb0b32ac21c1eed44e8fc86a6743ef18ab23fff02d36e365bb73d61
sha512=d22a827df5146e0aa274df48bc2150b098177ff7e5eab52c6109e867eb0a1f0ec63e6bfbb0e3645a6c2112de3877c91a17df32ccbff301891ce4ba630c997a65

doc/octez-libs.mec/Mec/Curve/BN254/Projective/index.html

Module BN254.ProjectiveSource

Sourceexception Not_on_curve of Bytes.t
Sourcetype 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.

Sourceval size_in_bytes : int

The size of a point representation, in bytes

Sourceval check_bytes : Bytes.t -> bool

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

Sourceval of_bytes_opt : Bytes.t -> t option

Attempt to construct a point from a byte array

Sourceval 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

Sourceval to_bytes : t -> Bytes.t

Return a representation in bytes

Sourceval zero : t

Zero of the elliptic curve

Sourceval one : t

A fixed generator of the elliptic curve

Sourceval is_zero : t -> bool

Return true if the given element is zero

Sourceval random : ?state:Random.State.t -> unit -> t

Generate a random element

Sourceval add : t -> t -> t

Return the addition of two element

Sourceval double : t -> t

Double the element

Sourceval negate : t -> t

Return the opposite of the element

Sourceval eq : t -> t -> bool

Return true if the two elements are algebraically the same

Sourceval mul : t -> Scalar.t -> t

Multiply an element by a scalar

Sourceval a : Base.t
Sourceval b : Base.t
Sourceval cofactor : Z.t
Sourceval is_on_curve : x:Base.t -> y:Base.t -> z:Base.t -> bool

is_on_curve ~x ~y ~z returns true if the coordinates (x, y, z) represents a point on the curve. It does not check the point is in the prime subgroup.

Sourceval is_in_prime_subgroup : x:Base.t -> y:Base.t -> z:Base.t -> bool

is_in_prime_subgroup ~x ~y ~z returns true if the coordinates (x, y, z) represents a point in the prime subgroup. The coordinates must be a point on the curve.

Sourceval get_x_coordinate : t -> Base.t
Sourceval get_y_coordinate : t -> Base.t
Sourceval get_z_coordinate : t -> Base.t
Sourceval from_coordinates_opt : x:Base.t -> y:Base.t -> z:Base.t -> t option

Build a point from the affine coordinates. If the point is not on the curve and in the subgroup, returns None

Sourceval from_coordinates_exn : x:Base.t -> y:Base.t -> z:Base.t -> t

Build a point from the affine coordinates. If the point is not on the curve and in the subgroup, raise Not_on_curve.

Sourceval get_affine_x_coordinate : t -> Base.t
Sourceval get_affine_y_coordinate : t -> Base.t
Sourceval from_affine_coordinates_exn : x:Base.t -> y:Base.t -> t
Sourceval from_affine_coordinates_opt : x:Base.t -> y:Base.t -> t
OCaml

Innovation. Community. Security.