KCl v0.6.6 Kcl
pure Elixir NaCl crypto suite substitute
The box
and unbox
functions exposed here are the equivalent
of NaCl’s:
crypto_box_curve25519xsalsa20poly1305
crypto_box_curve25519xsalsa20poly1305_open
Summary
Functions
box up an authenticated packet
derive a public key from a private key
generate a {private, public}
key pair
create an inital state for a peer connection
box based on a shared secret
unbox based on a shared secret
pre-compute a shared key
sign a message
unbox an authenticated packet
validate a message signature
Types
Functions
box up an authenticated packet
derive_public_key(key, key_variety) :: key | :error
derive a public key from a private key
generate a {private, public}
key pair
new_connection_state(key, key | nil, key) :: Kcl.State.t
create an inital state for a peer connection
A convenience wrapper around Kcl.State.init
and Kcl.State.new_peer
unbox based on a shared secret
sign a message
If only the secret key is provided, the public key will be derived therefrom. This can add significant overhead to the signing operation.
unbox(binary, nonce, key, key) :: {binary, Kcl.State.t} | :error
unbox an authenticated packet
Returns :error
when the packet contents cannot be authenticated, otherwise
the decrypted payload and updated state.