# `ExWapp.Signal.Keys`
[🔗](https://github.com/elchemista/ex_wapp/blob/v0.1.5/lib/ex_wapp/signal/keys.ex#L1)

Generates Signal Curve25519 key material and implements XEdDSA signatures.

This is the cryptographic key boundary for identities, one-time prekeys, signed
prekeys, and ADV device signatures.

# `generate_key_pair`

Generate a new Curve25519 key pair suitable for Signal identity or pre-keys.

# `generate_prekey`

Generate an unsigned one-time pre-key map.

# `generate_signed_prekey`

Generate a signed pre-key using the identity key pair.

# `sign`

Sign the given Curve25519 public key using the identity private key with the
Signal-specific XEdDSA scheme.

# `sign_message`

Sign an arbitrary message using XEdDSA (Signal's curve25519 signature scheme).
This is used for device signatures in ADV pairing.

# `verify`

Verify a signature produced by `sign/2`.

# `verify_message`

Verify a signature produced by `sign_message/2` for an arbitrary message.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
