Kcl (KCl v1.4.4)
View Sourcepure Elixir NaCl crypto suite substitute
The box and unbox functions exposed here are the equivalent
of NaCl's:
crypto_box_curve25519xsalsa20poly1305crypto_box_curve25519xsalsa20poly1305_open
Summary
Functions
crypto_auth equivalent
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
convert a signing Ed25519 key to a Curve25519 encryption key
unbox an authenticated packet
Compare auth HMAC
validate a message signature
Types
Functions
crypto_auth equivalent
@spec box(binary(), nonce(), Kcl.State.t()) :: {binary(), Kcl.State.t()}
box up an authenticated packet
@spec derive_public_key(key(), key_variety()) :: key() | :error
derive a public key from a private key
@spec generate_key_pair(key_variety()) :: {key(), key()} | :error
generate a {private, public} key pair
@spec 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
box based on a shared secret
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.
convert a signing Ed25519 key to a Curve25519 encryption key
unbox an authenticated packet
Returns {:error, reason} when the packet contents cannot be authenticated, otherwise
the decrypted payload and updated state.
Compare auth HMAC
validate a message signature