Skip to content

Latest commit

 

History

History
23 lines (15 loc) · 1.13 KB

README.md

File metadata and controls

23 lines (15 loc) · 1.13 KB

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