Library
Module
Module type
Parameter
Class
Class type
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.
pk_size curve
is the size in bytes of public keys from curve
. Equals to 2*curve_size
.
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.
pk_of_bytes curve buf
is Some pk
if buf
contains a valid serialization of a curve
public key, or None
otherwise.
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.
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.
sign sk msg
is Some signature
where signature
is a valid signature of msg
with secret key sk
, or None
if an error occurred.
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).