Curve25519 Diffie-Hellman functions
public or secret key
Derive the public key from a secret key
Derive a shared secret for a secret and public key
Generate a secret/public key pair
@type key() :: binary()
@spec derive_public_key(key()) :: key() | :error
@spec derive_shared_secret(key(), key()) :: key() | :error
Given our secret key and our partner's public key, returns a shared secret which can be derived by the partner in a complementary way.
@spec generate_key_pair() :: {key(), key()}
Returned tuple contains {random_secret_key, derived_public_key}
{random_secret_key, derived_public_key}