MIT licensed by Austin Seipp
Maintained by Austin Seipp
This version can be pinned in stack with:ed25519-,4165

Module documentation for

Minimal package for ed25519 signatures

Build Status MIT Haskell

This package implements minimal bindings to the ed25519 signature scheme. It’s designed to be small, with no dependencies, and fast. It also comes with extensive guidelines and detailed documentation. It should be relatively easy to both depend on directly with Cabal or even copy into any projects that need it directly.

For full details (including notes on the underlying implementation), check out the docs.


It’s just a cabal install away on Hackage:

$ cabal install ed25519

Join in

Be sure to read the contributing guidelines. File bugs in the GitHub issue tracker.

Master git repository:

  • git clone

There’s also a BitBucket mirror:

  • git clone


See AUTHORS.txt.


MIT. See LICENSE.txt for terms of copyright and redistribution.


  • Added doctests and crash course introduction.
  • Fixed some bugs in the test harnesses.
  • Fixed some hlint gripes.
  • Minor touchups elsewhere.

  • Crypto.Sign.Ed25519 is now marked -XTrustworthy.
  • There is now a Generic instance for Signature on GHC 7.2 and above.
  • DEPRECATED: createKeypairFromSeed due to unsafety.
    • Use createKeypairFromSeed_ instead, which will return a Maybe.
  • DEPRECATED: sign' and verify' for bad naming
    • Use dsign and dverify instead.
  • Improve benchmarks.
  • Huge overhaul to documentation, including design and implementation notes.

  • Tighten dependencies everywhere for cleaner builds.
  • Fix old code (including compatibility with newer QuickCheck versions)
  • New API: toPublicKey :: SecretKey -> PublicKey
    • Used to derive the public key for a given secret key
  • New API: createKeypairFromSeed :: ByteString -> (PublicKey, SecretKey)
    • Used to create a deterministic Ed25519 keypair from a 32-byte seed.
  • For GHC 7.2 and above, both PublicKey and SecretKey are now instances of Generic.
  • Improved documentation.
  • Various cleanups and some fixes in the tests and benchmarks.

  • Portability improvements.

  • Initial release.