Library
Module
Module type
Parameter
Class
Class type
val sk_size : _ t -> int
sk_size curve
is the size in bytes of secret keys from curve
. Typically the same as the curve size, (i.e. 32 bytes for secp256r1
) except for secp160r1
which is 21 bytes.
val pk_size : _ t -> int
pk_size curve
is the size in bytes of public keys from curve
. Equals to 2*curve_size
.
val compressed_size : _ t -> int
compressed_size curve
is the size in bytes of compressed public keys from curve
. Equals to pk_size curve/2+1
.
equal k1 k2
is true
if k1
is represented by the same bytes as k2
, and false
otherwise.
neuterize k
is k
if k
is public, or is the associated public key of k
if k
is secret.
sk_of_bytes curve buf
is Some (sk, pk)
if buf
contains a valid serialization of a curve
secret key, or None
otherwise.
val pk_of_bytes : 'a t -> Bigstring.t -> ('a, public) key option
pk_of_bytes curve buf
is Some pk
if buf
contains a valid serialization of a curve
public key, or None
otherwise.
val to_bytes : ?compress:bool -> (_, _) key -> Bigstring.t
to_bytes ?compress k
is a serialization of k
. If compress
is true
(the default) and k
is a public key, the public key will be in compressed format.
val write_key : ?compress:bool -> Bigstring.t -> (_, _) key -> int
write_key buf k
writes k
at buf
and returns the number of bytes actually written.
keypair curve
is Some (sk, pk)
where sk
and pk
is freshly generated keypair for curve
if everything went well, or None
otherwise.
val dh : ('a, secret) key -> ('a, public) key -> Bigstring.t option
dh sk pk
is Some buf
where buf
contains a shared secret value computed from your sk
and someone else's pk
if everything went well, or None
otherwise.
val write_dh : ('a, secret) key -> ('a, public) key -> Bigstring.t -> int
write_dh sk pk buf
writes a shared secret value computed from your sk
and someone else's pk
and returns the number of bytes actually written (0 in the case of an error).
val sign : (_, secret) key -> Bigstring.t -> Bigstring.t option
sign sk msg
is Some signature
where signature
is a valid signature of msg
with secret key sk
, or None
if an error occurred.
val write_sign : (_, secret) key -> Bigstring.t -> msg:Bigstring.t -> int
write_sign sk ~msg buf
writes a signature of msg
with sk
to buf
, and returns the number of bytes written (0 in the case of an error).
val verify :
(_, public) key ->
msg:Bigstring.t ->
signature:Bigstring.t ->
bool
verify pk ~msg ~signature
is true
if signature
is a valid signature of msg
corresponding to pk
.