HydroSign
This module contains functions for signing data, both single- and multi-part.
Example:
(def context (Hydro.context "Examples"))
(def msg (Hydro.buf "Test"))
(let [keypair (HydroSign.keygen)
signature (Maybe.unsafe-from (HydroSign.create msg context
keypair))]
(println* (HydroSign.verify signature msg context keypair))))
create
(Fn [(Ref (Array Byte) a), (Ptr CChar), (Ref HydroSignKeyPair b)] (Maybe (Array Byte)))
(create msg ctx keypair)
signs a message msg, using the context ctx and the keypair
keypair.
final-create
(Fn [(Ref HydroSignState a), (Ref HydroSignKeyPair b)] (Maybe (Array Byte)))
(final-create s keypair)
finalizes a sign state s with a keypair keypair.
Returns a signature.
final-verify
(Fn [(Ref HydroSignState a), (Array Byte), (Ref HydroSignKeyPair b)] Bool)
(final-verify s signature keypair)
finalizes a sign state s with a signature signature
and a keypair keypair. Returns a boolean signifying whether we were able to
verify the signature.
init
(Fn [(Ref HydroSignState a), (Ptr CChar)] Bool)
initializes a state for multi-part signing, using a context.
update
(Fn [(Ref HydroSignState a), (Ref (Array Byte) b)] Int)
(update s buf)
updates a sign state s with a buffer buf.
verify
(Fn [(Ref (Array Byte) a), (Ref (Array Byte) b), (Ptr CChar), (Ref HydroSignKeyPair c)] Bool)
(verify signature msg ctx keypair)
verifies a signature signature for a message msg, using the
context ctx and the keypair keypair.