Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
BLS signatures instantiation minimizing the size of the public keys (48 bytes) but use longer signatures (96 bytes).
val unsafe_pk_of_bytes : Stdlib.Bytes.t -> pk
Build a value of type pk
without performing any check on the input (hence the unsafe prefix because it might not give a correct inhabitant of the type pk
). It is safe to use this function when verifying a signature as the signature function verifies if the point is in the prime subgroup. Using unsafe_pk_of_bytes
removes a verification performed twice when used pk_of_bytes_exn
or pk_of_bytes_opt
.
The expected bytes format are the compressed form of a point on G1.
val pk_of_bytes_exn : Stdlib.Bytes.t -> pk
Build a value of type pk
safely, i.e. the function checks the bytes given in parameters represents a point on the curve and in the prime subgroup. Raise Invalid_argument
if the bytes are not in the correct format or does not represent a point in the prime subgroup.
The expected bytes format are the compressed form of a point on G1.
val pk_of_bytes_opt : Stdlib.Bytes.t -> pk option
Build a value of type pk
safely, i.e. the function checks the bytes given in parameters represents a point on the curve and in the prime subgroup. Return None
if the bytes are not in the correct format or does not represent a point in the prime subgroup.
The expected bytes format are the compressed form of a point on G1.
val pk_to_bytes : pk -> Stdlib.Bytes.t
Returns a bytes representation of a value of type pk
. The output is the compressed form of the point Bls12_381.G1.t
the pk
represents.
val unsafe_signature_of_bytes : Stdlib.Bytes.t -> signature
Build a value of type signature
without performing any check on the input (hence the unsafe prefix because it might not give a correct inhabitant of the type signature
). It is safe to use this function when verifying a signature as the signature function verifies if the point is in the prime subgroup. Using unsafe_signature_of_bytes
removes a verification performed twice when used signature_of_bytes_exn
or signature_of_bytes_opt
.
The expected bytes format are the compressed form of a point on G2.
val signature_of_bytes_exn : Stdlib.Bytes.t -> signature
Build a value of type signature
safely, i.e. the function checks the bytes given in parameters represents a point on the curve and in the prime subgroup. Raise Invalid_argument
if the bytes are not in the correct format or does not represent a point in the prime subgroup.
The expected bytes format are the compressed form of a point on G2.
val signature_of_bytes_opt : Stdlib.Bytes.t -> signature option
Build a value of type signature
safely, i.e. the function checks the bytes given in parameters represents a point on the curve and in the prime subgroup. Return None
if the bytes are not in the correct format or does not represent a point in the prime subgroup.
The expected bytes format are the compressed form of a point on G2.
val signature_to_bytes : signature -> Stdlib.Bytes.t
Returns a bytes representation of a value of type signature
. The output is the compressed form of a point Bls12_381.G2.t
the signature represents.
aggregate_signature_opt signatures
aggregates the signatures signatures
, following section 2.8. Return None
if INVALID
is expected in the specification
module Basic : sig ... end
Basic scheme described in section 3.1
module Aug : sig ... end
Augmentation scheme described in section 3.2
module Pop : sig ... end
Proof of possession scheme described in section 3.3