Skip to content
Portable pure C# implementation of curve25519, based on curve25519-java
Branch: master
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.
curve25519
.gitattributes
.gitignore
LICENSE
NuGetIcon.png
README.md

README.md

curve25519-pcl

Portable C# implementation of curve25519 (and ed25519 for signing/verification) based on https://github.com/WhisperSystems/curve25519-java.

Usage

PM> Install-Package curve25519-pcl

using org.whispersystems.curve25519;
// ...
Curve25519 curve = Curve25519.getInstance(Curve25519.BEST);

There are 2 implementations currently. One is a pure C#, "textbook" (aka written without any math optimization) version, and the other was ported from Google's C++ implementation of Curve25519 "donna" https://code.google.com/archive/p/curve25519-donna/.

This library supersedes https://github.com/langboost/curve25519-uwp , because the portable class library implementation runs in "traditional" as well as "modern" .NET environments. UWP was strictly for modern .NET environments, and there's really no reason now to choose it on new projects. It will stick around for posterity's sake.

Further Reading

These implementation notes from DJB were very helpful in porting this from Java & C++ to C#. https://cr.yp.to/ecdh.html

License

Copyright 2016 langboost

Licensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html

You can’t perform that action at this time.