jose_curve25519 behaviour (JOSE v1.11.12)

View Source

Summary

Types

context/0

-type context() :: binary().

eddsa_public_key/0

-type eddsa_public_key() :: <<_:256>>.

eddsa_secret_key/0

-type eddsa_secret_key() :: <<_:512>>.

eddsa_seed/0

-type eddsa_seed() :: <<_:256>>.

maybe_invalid_signature/0

-type maybe_invalid_signature() :: signature() | binary().

message/0

-type message() :: binary().

signature/0

-type signature() :: <<_:512>>.

x25519_public_key/0

-type x25519_public_key() :: <<_:256>>.

x25519_secret_key/0

-type x25519_secret_key() :: <<_:256>>.

x25519_seed/0

-type x25519_seed() :: <<_:256>>.

x25519_shared_secret/0

-type x25519_shared_secret() :: <<_:256>>.

Callbacks

ed25519_sign/2

-callback ed25519_sign(Message :: message(), SecretKey :: eddsa_secret_key()) -> Signature :: signature().

ed25519_verify/3

-callback ed25519_verify(Signature :: maybe_invalid_signature(),
                         Message :: message(),
                         PublicKey :: eddsa_public_key()) ->
                            boolean().

ed25519ctx_sign/3

-callback ed25519ctx_sign(Message :: message(), SecretKey :: eddsa_secret_key(), Context :: context()) ->
                             Signature :: signature().

ed25519ctx_verify/4

-callback ed25519ctx_verify(Signature :: maybe_invalid_signature(),
                            Message :: message(),
                            PublicKey :: eddsa_public_key(),
                            Context :: context()) ->
                               boolean().

ed25519ph_sign/2

-callback ed25519ph_sign(Message :: message(), SecretKey :: eddsa_secret_key()) -> Signature :: signature().

ed25519ph_sign/3

-callback ed25519ph_sign(Message :: message(), SecretKey :: eddsa_secret_key(), Context :: context()) ->
                            Signature :: signature().

ed25519ph_verify/3

-callback ed25519ph_verify(Signature :: maybe_invalid_signature(),
                           Message :: message(),
                           PublicKey :: eddsa_public_key()) ->
                              boolean().

ed25519ph_verify/4

-callback ed25519ph_verify(Signature :: maybe_invalid_signature(),
                           Message :: message(),
                           PublicKey :: eddsa_public_key(),
                           Context :: context()) ->
                              boolean().

eddsa_keypair/0

-callback eddsa_keypair() -> {PublicKey :: eddsa_public_key(), SecretKey :: eddsa_secret_key()}.

eddsa_keypair/1

-callback eddsa_keypair(Seed :: eddsa_seed()) ->
                           {PublicKey :: eddsa_public_key(), SecretKey :: eddsa_secret_key()}.

eddsa_secret_to_public/1

-callback eddsa_secret_to_public(SecretKey :: eddsa_secret_key()) -> PublicKey :: eddsa_public_key().

x25519_keypair/0

-callback x25519_keypair() -> {PublicKey :: x25519_public_key(), SecretKey :: x25519_secret_key()}.

x25519_keypair/1

-callback x25519_keypair(Seed :: x25519_seed()) ->
                            {PublicKey :: x25519_public_key(), SecretKey :: x25519_secret_key()}.

x25519_secret_to_public/1

-callback x25519_secret_to_public(SecretKey :: x25519_secret_key()) -> PublicKey :: x25519_public_key().

x25519_shared_secret/2

-callback x25519_shared_secret(MySecretKey :: x25519_secret_key(), YourPublicKey :: x25519_public_key()) ->
                                  SharedSecret :: x25519_shared_secret().

Functions

ed25519_sign(Message, SecretKey)

-spec ed25519_sign(message(), eddsa_secret_key()) -> signature().

ed25519_verify(Signature, Message, PublicKey)

-spec ed25519_verify(maybe_invalid_signature(), message(), eddsa_public_key()) -> boolean().

ed25519ctx_sign(Message, SecretKey, Context)

-spec ed25519ctx_sign(message(), eddsa_secret_key(), context()) -> signature().

ed25519ctx_verify(Signature, Message, PublicKey, Context)

-spec ed25519ctx_verify(maybe_invalid_signature(), message(), eddsa_public_key(), context()) ->
                           boolean().

ed25519ph_sign(Message, SecretKey)

-spec ed25519ph_sign(message(), eddsa_secret_key()) -> signature().

ed25519ph_sign(Message, SecretKey, Context)

-spec ed25519ph_sign(message(), eddsa_secret_key(), context()) -> signature().

ed25519ph_verify(Signature, Message, PublicKey)

-spec ed25519ph_verify(maybe_invalid_signature(), message(), eddsa_public_key()) -> boolean().

ed25519ph_verify(Signature, Message, PublicKey, Context)

-spec ed25519ph_verify(maybe_invalid_signature(), message(), eddsa_public_key(), context()) -> boolean().

eddsa_keypair()

-spec eddsa_keypair() -> {eddsa_public_key(), eddsa_secret_key()}.

eddsa_keypair(Seed)

-spec eddsa_keypair(eddsa_seed()) -> {eddsa_public_key(), eddsa_secret_key()}.

eddsa_secret_to_public(SecretKey)

-spec eddsa_secret_to_public(eddsa_secret_key()) -> eddsa_public_key().

x25519_keypair()

-spec x25519_keypair() -> {x25519_public_key(), x25519_secret_key()}.

x25519_keypair(Seed)

-spec x25519_keypair(x25519_seed()) -> {x25519_public_key(), x25519_secret_key()}.

x25519_secret_to_public(SecretKey)

-spec x25519_secret_to_public(x25519_secret_key()) -> x25519_public_key().

x25519_shared_secret(MySecretKey, YourPublicKey)

-spec x25519_shared_secret(MySecretKey :: x25519_secret_key(), YourPublicKey :: x25519_public_key()) ->
                              x25519_shared_secret().