package octez-libs

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Tezos_crypto.SignatureSource

Sourcemodule Bls : sig ... end

Tezos - BLS12-381 cryptography

Sourcemodule Ed25519 : sig ... end

Tezos - Ed25519 cryptography

Sourcemodule P256 : sig ... end

Tezos - P256 cryptography

Sourcemodule Secp256k1 : sig ... end

Tezos - Secp256k1 cryptography

include module type of struct include Signature end

The type of conversion modules from one version to another.

The type of partial conversion modules from one version to another.

Sourcemodule V_latest : sig ... end

The module V_latest is to be used by the shell and points to the latest available version of signatures.

Sourcemodule V0 : sig ... end

V0 supports Ed25519, Secp256k1, and P256.

Sourcemodule V1 : sig ... end

V1 supports Ed25519, Secp256k1, P256, and BLS.

include module type of V_latest
Sourcetype public_key_hash = Signature.V_latest.public_key_hash =
  1. | Ed25519 of Tezos_crypto__.Ed25519.Public_key_hash.t
  2. | Secp256k1 of Tezos_crypto__.Secp256k1.Public_key_hash.t
  3. | P256 of Tezos_crypto__.P256.Public_key_hash.t
  4. | Bls of Tezos_crypto__.Bls.Public_key_hash.t
Sourcetype public_key = Signature.V_latest.public_key =
  1. | Ed25519 of Tezos_crypto__.Ed25519.Public_key.t
  2. | Secp256k1 of Tezos_crypto__.Secp256k1.Public_key.t
  3. | P256 of Tezos_crypto__.P256.Public_key.t
  4. | Bls of Bls12_381_signature.MinPk.pk
Sourcetype secret_key = Signature.V_latest.secret_key =
  1. | Ed25519 of Tezos_crypto__.Ed25519.Secret_key.t
  2. | Secp256k1 of Tezos_crypto__.Secp256k1.Secret_key.t
  3. | P256 of Tezos_crypto__.P256.Secret_key.t
  4. | Bls of Bls12_381_signature.sk
Sourcetype watermark =
  1. | Block_header of Tezos_crypto__.Chain_id.t
  2. | Endorsement of Tezos_crypto__.Chain_id.t
  3. | Generic_operation
  4. | Custom of Bytes.t
Sourceval bytes_of_watermark : watermark -> Bytes.t
Sourceval pp_watermark : Format.formatter -> watermark -> unit
Sourcetype signature = Signature.V_latest.signature =
  1. | Ed25519 of Tezos_crypto__.Ed25519.t
  2. | Secp256k1 of Tezos_crypto__.Secp256k1.t
  3. | P256 of Tezos_crypto__.P256.t
  4. | Bls of Bls12_381_signature.MinPk.signature
  5. | Unknown of Bytes.t
Sourcetype prefix = Signature.V_latest.prefix =
  1. | Bls_prefix of Bytes.t

A signature prefix holds data only for signature that are more than 64 bytes long.

Sourcemodule Public_key_hash : sig ... end
Sourcemodule Public_key : sig ... end
Sourcemodule Secret_key : sig ... end
Sourceval pp : Format.formatter -> t -> unit
include Tezos_stdlib.Compare.S with type t := t
Sourceval (=) : t -> t -> bool

x = y iff compare x y = 0

Sourceval (<>) : t -> t -> bool

x <> y iff compare x y <> 0

Sourceval (<) : t -> t -> bool

x < y iff compare x y < 0

Sourceval (<=) : t -> t -> bool

x <= y iff compare x y <= 0

Sourceval (>=) : t -> t -> bool

x >= y iff compare x y >= 0

Sourceval (>) : t -> t -> bool

x > y iff compare x y > 0

Sourceval compare : t -> t -> int

compare an alias for the functor parameter's compare function

Sourceval equal : t -> t -> bool

equal x y iff compare x y = 0

Sourceval max : t -> t -> t

max x y is x if x >= y otherwise it is y

Sourceval min : t -> t -> t

min x y is x if x <= y otherwise it is y

Sourceval to_b58check : t -> string
Sourceval to_short_b58check : t -> string
Sourceval of_b58check_exn : string -> t
Sourceval of_b58check_opt : string -> t option
Sourcetype Base58.data +=
  1. | Data of t
Sourceval b58check_encoding : t Base58.encoding
Sourceval encoding : t Data_encoding.t
Sourceval rpc_arg : t Tezos_rpc.Arg.t
Sourceval zero : t
Sourceval sign : ?watermark:watermark -> Secret_key.t -> Bytes.t -> t

sign ?watermark sk message produce the signature of message (with possibly watermark) using sk.

Sourceval check : ?watermark:watermark -> Public_key.t -> t -> Bytes.t -> bool

check pk ?watermark signature message check that signature is the signature produced by signing message (with possibly watermark) with the secret key of pk.

Sourceval deterministic_nonce : Secret_key.t -> Bytes.t -> Bytes.t

deterministic_nonce sk msg returns a nonce that is determined by sk and msg

Sourceval deterministic_nonce_hash : Secret_key.t -> Bytes.t -> Bytes.t

deterministic_nonce_hash sk msg returns the BLAKE2b hash of a nonce that is determined by sk and msg.

In other words, Blake2b.digest (deterministic_nonce sk msg) = deterministic_nonce_hash sk msg

Sourcetype splitted = {
  1. prefix : prefix option;
  2. suffix : Bytes.t;
}

A splitted signature is a binary representation of a signature with a fixed 64 bytes suffix and a possible prefix.

Sourceval split_signature : t -> splitted

split_signature s splits the signature s into {prefix; suffix} where suffix is the fixed 64 bytes suffix of s and prefix are the remaining preceding bytes if any.

Sourceval of_splitted : splitted -> t option

of_splitted s reconstructs a signature from a splitted one, if possible.

Sourceval prefix_encoding : prefix Data_encoding.t

Encoding for signature prefixes.

Sourceval append : ?watermark:watermark -> secret_key -> Bytes.t -> Bytes.t

append sk buf is the concatenation of buf and the serialization of the signature of buf signed by sk.

Sourceval concat : Bytes.t -> t -> Bytes.t

concat buf t is the concatenation of buf and the serialization of t.

Sourceval to_hex : t -> Tezos_stdlib.Hex.t
Sourceval of_hex_opt : Tezos_stdlib.Hex.t -> t option
Sourceval of_hex_exn : Tezos_stdlib.Hex.t -> t
Sourceval to_string : t -> string
Sourceval of_string_opt : string -> t option
Sourceval of_string_exn : string -> t
Sourceval to_bytes : t -> Bytes.t
Sourceval of_bytes_opt : Bytes.t -> t option
Sourceval of_bytes_exn : Bytes.t -> t
Sourceval size : t -> int

The size of the signature in bytes. Can be 64 for Ed25519, Secp256k1 and P256 signatures or 96 for BLS signatures.

Sourceval of_secp256k1 : Tezos_crypto__.Secp256k1.t -> t

of_secp256k1 s returns a wrapped version of the Secp256k1 signature s in t.

Sourceval of_ed25519 : Tezos_crypto__.Ed25519.t -> t

of_ed25519 s returns a wrapped version of the Ed25519 signature s in t.

Sourceval of_p256 : Tezos_crypto__.P256.t -> t

of_p256 s returns a wrapped version of the P256 signature s in t.

of_bls s returns a wrapped version of the BLS signature s in t.

Sourcetype algo = Signature.V_latest.algo =
  1. | Ed25519
  2. | Secp256k1
  3. | P256
  4. | Bls

The type of signing algorithms.

Sourceval algos : algo list

The list of signing algorithm supported, i.e. all constructors of type algo.

Sourceval generate_key : ?algo:algo -> ?seed:Bytes.t -> unit -> public_key_hash * public_key * secret_key

generate_key ~algo ~seed () generates a key pair for the signing algorithm algo from the random seed seed.

Sourcemodule Of_V_latest : sig ... end

Converting from signatures of V_latest to V_latest. This module implements conversions which are the identity, so total, but we keep the signature as CONV_OPT for compatibility with V0.Of_V_latest and V1.Of_V_latest and to ease snapshotting.

Sourcemodule Of_V0 : sig ... end

Converting from signatures of V0 to V_latest.

Sourcemodule Of_V1 : sig ... end

Converting from signatures of V1 to V_latest.

OCaml

Innovation. Community. Security.