Note: This is not [Ed25519], if you want Ed25519, please use the excellent [ed25519-dalek] crate.
Warning! This is an alpha version of a (slightly) novel cryptographic primitive. It has not been audited and you may encounter breaking API and cryptographic changes until the first stable version! Use at your own risk!
This is a mostly straight-forward parameterization of Schnorr signatures with [Curve25519] and [Blake3]. The two deviations from the scheme are:
k
is deterministic by default, a Blake3 hash of the message keyed with a derivitive of the private key and domain.The initial motivation was preparing for embedded versions of [converge]. We already use the Blake3 hash function for bulk data, and adding SHA512 just for Ed25519 signatures just isn't necessary.
That said, there are other benefits:
This project is dedicated to the public domain, see the UNLICENSE for details.