Ed25519 is an Elliptic Curve Digital Signature Algortithm based on Curve25519 developed by Dan Bernstein, Niels Duif, Tanja Lange, Peter Schwabe, and Bo-Yin Yang.
This project is a C# port of the Java version that was a port of the Python implementation. Beware that this is a simple but very slow implementation and should be used for testing only.
If you need a faster implementation of Ed25519, have a look at:
https://github.com/CodesInChaos/Chaos.NaCl
byte[] signingKey = new byte[32];
RNGCryptoServiceProvider.Create().GetBytes(signingKey);
byte[] publicKey = Ed25519.PublicKey(signingKey);
byte[] message = Encoding.UTF8.GetBytes("This is a secret message");
byte[] signature = Ed25519.Signature(message, signingKey, publicKey);
bool signatureValid = Ed25519.CheckValid(signature, message, publicKey);