deluxetiky / ed25519

C# port of Ed25519 an elliptic-curve digital signature algorithm

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

C# port of Ed25519 an elliptic-curve digital signature algorithm


Languages

Language:C# 100.0%