Current section
Files
Jump to
Current section
Files
src/ged25519.erl
-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).