-module(ged25519). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -define(FILEPATH, "src/ged25519.gleam"). -export([derive_public_key/1, generate_key_pair/0, derive_key_pair/1, on_curve/1, signature/3, valid_signature/3]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. -file("src/ged25519.gleam", 11). ?DOC(" Derive the public signing key from the secret key\n"). -spec derive_public_key(bitstring()) -> bitstring(). derive_public_key(Sk) -> 'Elixir.Ed25519':derive_public_key(Sk). -file("src/ged25519.gleam", 17). ?DOC( " Generate a secret/public key pair\n" "\n" " Returned tuple contains `#(random_secret_key, derived_public_key)`\n" ). -spec generate_key_pair() -> {bitstring(), bitstring()}. generate_key_pair() -> 'Elixir.Ed25519':generate_key_pair(). -file("src/ged25519.gleam", 23). ?DOC( " Derive a secret/public key pair from supplied secret key\n" "\n" " Returned tuple contains `#(secret_key, derived_public_key)`\n" ). -spec derive_key_pair(bitstring()) -> {bitstring(), bitstring()}. derive_key_pair(Secret) -> 'Elixir.Ed25519.Ed25519':generate_key_pair(Secret). -file("src/ged25519.gleam", 27). ?DOC(" Returns whether a given public key lies on the ed25519 curve.\n"). -spec on_curve(bitstring()) -> boolean(). on_curve(Key) -> 'Elixir.Ed25519':'on_curve?'(Key). -file("src/ged25519.gleam", 31). ?DOC(" Sign a message\n"). -spec signature(bitstring(), bitstring(), bitstring()) -> bitstring(). signature(M, Sk, Pk) -> 'Elixir.Ed25519':signature(M, Sk, Pk). -file("src/ged25519.gleam", 51). ?DOC(" Validate a signed message\n"). -spec valid_signature(bitstring(), bitstring(), bitstring()) -> boolean(). valid_signature(Sig, M, Pk) -> 'Elixir.Ed25519':'valid_signature?'(Sig, M, Pk).