package octez-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=ddfb5076eeb0b32ac21c1eed44e8fc86a6743ef18ab23fff02d36e365bb73d61
sha512=d22a827df5146e0aa274df48bc2150b098177ff7e5eab52c6109e867eb0a1f0ec63e6bfbb0e3645a6c2112de3877c91a17df32ccbff301891ce4ba630c997a65
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.