An opinionated, secure-by-default, does-the-right-thing modern cryptography library.
Experimental. As this library is still in development, it shouldn't be used for production systems. A design and implementation audit is being planned.
Symmetric Encryption -
AES-GCM, 256-bit key, 96-bit nonce, 128-bit tag. Performed via CLR Security, as .NET doesn't currently have a native wrapper for this functionality. Data will be returned in the following format:
version || nonce || tag || data[length - 29]
Asymmetric Encryption -
Curve25519/XSalsa20/Poly1305 based public-key encryption. Random keys can be generated via the
version || nonce || data[length - 25]
Fast Hashing -
High-speed hashing via BLAKE2b.
Safe password hashing using scrypt. Hashes are returned as a string that can be safely stored in a database, and can be verified via the
Key Derivation -
In addition to password hashing, scrypt is exposed for use as a secure key derivation function.
This library depends on:
- libsodium (Frank Denis)
- libsodium-net (Adam Caudill)
- Visual C++ Redistributable for Visual Studio 2015
- .NET Framework 4.5.2
This project is licensed under the MIT license, see the LICENSE file for more details.