package octez-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=aa2f5bc99cc4ca2217c52a1af2a2cdfd3b383208cb859ca2e79ca0903396ca1d
sha512=d68bb3eb615e3dcccc845fddfc9901c95b3c6dc8e105e39522ce97637b1308a7fa7aa1d271351d5933febd7476b2819e1694f31198f1f0919681f1f9cc97cb3a
doc/octez-libs.crypto/Tezos_crypto/Signature/index.html
Module Tezos_crypto.Signature
Source
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.
The module V_latest
is to be used by the shell and points to the latest available version of signatures.
include module type of V_latest
type public_key = Signature.V_latest.public_key =
| Ed25519 of Tezos_crypto__.Ed25519.Public_key.t
| Secp256k1 of Tezos_crypto__.Secp256k1.Public_key.t
| P256 of Tezos_crypto__.P256.Public_key.t
| Bls of Bls12_381_signature.MinPk.pk
type secret_key = Signature.V_latest.secret_key =
| Ed25519 of Tezos_crypto__.Ed25519.Secret_key.t
| Secp256k1 of Tezos_crypto__.Secp256k1.Secret_key.t
| P256 of Tezos_crypto__.P256.Secret_key.t
| Bls of Bls12_381_signature.sk
type signature = Signature.V_latest.signature =
| Ed25519 of Tezos_crypto__.Ed25519.t
| Secp256k1 of Tezos_crypto__.Secp256k1.t
| P256 of Tezos_crypto__.P256.t
| Bls of Bls12_381_signature.MinPk.signature
| Unknown of Bytes.t
A signature prefix holds data only for signature that are more than 64 bytes long.
include Tezos_stdlib.Compare.S with type t := t
sign ?watermark sk message
produce the signature of message
(with possibly watermark
) using sk
.
check pk ?watermark signature message
check that signature
is the signature produced by signing message
(with possibly watermark
) with the secret key of pk
.
deterministic_nonce sk msg
returns a nonce that is determined by sk
and msg
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
A splitted signature is a binary representation of a signature with a fixed 64 bytes suffix and a possible prefix.
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.
of_splitted s
reconstructs a signature from a splitted one, if possible.
Encoding for signature prefixes.
append sk buf
is the concatenation of buf
and the serialization of the signature of buf
signed by sk
.
concat buf t
is the concatenation of buf
and the serialization of t
.
The size of the signature in bytes. Can be 64
for Ed25519, Secp256k1 and P256 signatures or 96
for BLS signatures.
of_secp256k1 s
returns a wrapped version of the Secp256k1 signature s
in t
.
of_ed25519 s
returns a wrapped version of the Ed25519 signature s
in 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
.
The type of signing algorithms.
The list of signing algorithm supported, i.e. all constructors of type algo
.
val 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
.
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.