package octez-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=ddfb5076eeb0b32ac21c1eed44e8fc86a6743ef18ab23fff02d36e365bb73d61
sha512=d22a827df5146e0aa274df48bc2150b098177ff7e5eab52c6109e867eb0a1f0ec63e6bfbb0e3645a6c2112de3877c91a17df32ccbff301891ce4ba630c997a65
doc/octez-libs.crypto/Tezos_crypto/Signature/V1/index.html
Module Signature.V1
Source
V1
supports Ed25519, Secp256k1, P256, and BLS.
V1
supports Ed25519, Secp256k1, P256, and BLS.
type 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 =
| 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 =
| 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
.
This module provides conversion functions for values (of keys and signatures) of the module Signature_V0
. Note that these functions are total because Signature_v1
supports more signature kinds than Signature_v0
.
module Of_V_latest :
Signature.CONV_OPT
with module V_from := Signature.V_latest
and module V_to := Tezos_crypto__.Signature_v1