Curve25519 v0.1.0 Curve25519

Curve25519 Diffie-Hellman functions

Summary

Types

public or secret key

Functions

Derive the public key from a secret key

Derive a shared secret for a secret and public key

Generate a secret/public key pair

Types

key :: <<_::32 * 8>>

public or secret key

Functions

derive_public_key(our_secret)

Specs

derive_public_key(key) :: key | :error

Derive the public key from a secret key

derive_shared_secret(our_secret, their_public)

Specs

derive_shared_secret(key, key) :: key | :error

Derive a shared secret for a secret and public key

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.

generate_key_pair()

Specs

generate_key_pair :: {key, key}

Generate a secret/public key pair

Returned tuple contains {random_secret_key, derived_public_key}