Tezos: library with all the cryptographic primitives used by Tezos
Module type
Class type
Library tezos-crypto
exception Not_on_curve of Bytes.t
type t

The type of the element in the elliptic curve

val size_in_bytes : int

The size of a point representation, in bytes

module Scalar : S.FIELD with type t = Fr.t
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 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