Page
Library
Module
Module type
Parameter
Class
Class type
Source
Uecc
SourceKinds of ECC curves.
Type of an ECC curve, parametrized by its kind.
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
.
Type of a key, parametrized by its curve and kind.
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.
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.
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).
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).
verify pk ~msg ~signature
is true
if signature
is a valid signature of msg
corresponding to pk
.