C# port of Ed25519 an elliptic-curve digital signature algorithm
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Ed25519.Tests
Ed25519
packages
.gitattributes
.gitignore
Ed25519.sln
README.md

README.md

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

Usage Example

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);