nacl-core - NaCl.Core 1.0.0-CI00001
Cryptography library for .NET
PM> Install-Package NaCl.Core -Version 1.0.0-CI00001 -Source https://www.myget.org/F/nacl-core/api/v3/index.json
> nuget.exe install NaCl.Core -Version 1.0.0-CI00001 -Source https://www.myget.org/F/nacl-core/api/v3/index.json
> dotnet add package NaCl.Core --version 1.0.0-CI00001 --source https://www.myget.org/F/nacl-core/api/v3/index.json
source https://www.myget.org/F/nacl-core/api/v3/index.json
nuget NaCl.Core ~> 1.0.0-CI00001
Copy to clipboard
> choco install NaCl.Core --version 1.0.0-CI00001 --source https://www.myget.org/F/nacl-core/api/v2
Import-Module PowerShellGet
Register-PSRepository -Name "nacl-core" -SourceLocation "https://www.myget.org/F/nacl-core/api/v2"
Install-Module -Name "NaCl.Core" -RequiredVersion "1.0.0-CI00001" -Repository "nacl-core" -AllowPreRelease
Copy to clipboard
Browse the sources in this package using Visual Studio or WinDbg by configuring the following legacy symbol server URL: https://www.myget.org/F/nacl-core/symbols/
NaCl.Core, a cryptography library for .NET
Introduction
NaCl.Core is a managed-only cryptography library for .NET which provides modern cryptographic primitives.
Currently supported:
| Crypto | Description |
|---|---|
| Salsa20 | A high-speed stream cipher part of the family of 256-bit stream ciphers designed in 2005 and submitted to eSTREAM, the ECRYPT Stream Cipher Project |
| ChaCha20 | A high-speed stream cipher based on Salsa20 |
| XChaCha20 | Based on ChaCha20 IETF with extended nonce (192-bit instead of 96-bit) |
| Poly1305 | A state-of-the-art secret-key message-authentication code (MAC) based on RFC8439 |
| ChaCha20Poly1305 | An Authenticated Encryption with Associated Data (AEAD) algorithm; IETF variant as defined in RFC8439 and in its predecessor RFC7539 |
| XChaCha20Poly1305 | A variant of ChaCha20-Poly1305 that utilizes the XChaCha20 construction in place of ChaCha20; as defined in the RFC Draft |
Installation
Install the NaCl.Core NuGet package from the .NET CLI using:
dotnet add package NaCl.Core
or from the NuGet package manager:
Install-Package NaCl.Core
Or alternatively, you can add the NaCl.Core package from within Visual Studio's NuGet package manager.
Daily NuGet builds of the project are also available in the Azure Artifacts feed:
https://pkgs.dev.azure.com/idaviddesmet/NaCl.Core/_packaging/NaCl.Core-CI/nuget/v3/index.json
Usage
Symmetric Key Encryption
// Create the primitive (implements IDisposable for secure key cleanup)
using var aead = new ChaCha20Poly1305(key);
// Use the primitive to encrypt a plaintext
aead.Encrypt(nonce, plaintext, ciphertext, tag, aad);
// ... or to decrypt a ciphertext
aead.Decrypt(nonce, ciphertext, tag, plaintext, aad);
Note: All cipher classes (
ChaCha20,XChaCha20,Salsa20,XSalsa20,ChaCha20Poly1305,XChaCha20Poly1305) implementIDisposable. CallDispose()or useusingstatements to securely zero the key from memory when done.
MAC (Message Authentication Code)
// Use the primitive to compute a tag
Poly1305.ComputeMac(key, data, tag);
// ... or to verify a tag
Poly1305.VerifyMac(key, data, tag);
Test Coverage
- Includes the mandatory RFC test vectors.
- Project Wycheproof by members of Google Security Team, for testing against known attacks (when applicable).
Performance
Refer to the benchmarks for performance numbers.
Run the benchmarks using:
dotnet run -c Release --framework net9.0
dotnet run -c Release --framework net9.0 --filter "*ChaCha20IntrinsicsBenchmark*"
Learn More
- ChaCha, a variant of Salsa20 by Daniel J. Bernstein.
- The Poly1305-AES message-authentication code by Daniel J. Bernstein.
- ChaCha20 and Poly1305 for IETF Protocols RFC.
- Salsa20, also known as Snuffle 2005, uses the Salsa20 core to encrypt data.
- XSalsa20, an extended-nonce Salsa20 variant used in NaCl.
- XChaCha20-Poly1305, an extended-nonce ChaCha20-Poly1305 IETF variant.
- .NETFramework 4.7: 4.7.0.0
- .NETStandard 2.0: 2.0.0.0
| Assembly | Assembly hash | Match |
|---|---|---|
| /lib/net47/nacl.core.dll | 45e9f52e52d14cd1abc817f352ce1f07FFFFFFFF | |
| /lib/netstandard2.0/nacl.core.dll | 8eb4e43b621d47128e600abb608118faFFFFFFFF | |
| /lib/netstandard2.0/nacl.core.dll | a276ffe49a5443439dece9efc52174c1f | |
| /lib/net47/nacl.core.dll | dd0c7726b8a8442cb718fa14e45b5bfaFFFFFFFF | |
| /lib/netstandard2.0/nacl.core.dll | a276ffe49a5443439dece9efc52174cf1 |
Ownersdaviddesmet |
AuthorsDavid De Smet |
Project URLhttps://github.com/idaviddesmet/NaCl.Core |
LicenseMIT |
TagsNaCl cryptography dotnet dotnet-core netstandard |
Info161 total downloads |
| 1 downloads for version 1.0.0-CI00001 |
| Download (19.04 KB) |
| Download legacy symbols (43.55 KB) |
| Found on the current feed only |
Package history
| Version | Size | Last updated | Downloads | Mirrored? | |||
|---|---|---|---|---|---|---|---|
|
|
1.2.0 | 38.5 KB | Tue, 05 Feb 2019 03:33:42 GMT | 3 |
|
||
|
|
1.1.0 | 37.63 KB | Tue, 27 Nov 2018 05:08:47 GMT | 2 |
|
||
|
|
1.1.0-CI00046 | 38.52 KB | Thu, 17 Jan 2019 22:46:55 GMT | 1 |
|
||
|
|
1.1.0-CI00045 | 38.52 KB | Thu, 17 Jan 2019 22:03:43 GMT | 1 |
|
||
|
|
1.1.0-CI00044 | 38.52 KB | Thu, 17 Jan 2019 13:41:28 GMT | 1 |
|
||
|
|
1.1.0-CI00043 | 38.52 KB | Wed, 16 Jan 2019 23:49:57 GMT | 1 |
|
||
|
|
1.1.0-CI00042 | 38.52 KB | Wed, 16 Jan 2019 23:33:22 GMT | 2 |
|
||
|
|
1.1.0-CI00041 | 38.52 KB | Wed, 16 Jan 2019 23:26:15 GMT | 1 |
|
||
|
|
1.1.0-CI00040 | 38.52 KB | Wed, 16 Jan 2019 22:48:47 GMT | 1 |
|
||
|
|
1.1.0-CI00039 | 38.52 KB | Wed, 16 Jan 2019 22:31:42 GMT | 1 |
|
||
|
|
1.1.0-CI00038 | 38.52 KB | Wed, 16 Jan 2019 07:12:42 GMT | 1 |
|
||
|
|
1.1.0-CI00037 | 38.51 KB | Wed, 16 Jan 2019 06:54:33 GMT | 1 |
|
||
|
|
1.1.0-CI00036 | 38.52 KB | Wed, 16 Jan 2019 06:47:31 GMT | 1 |
|
||
|
|
1.1.0-CI00035 | 38.51 KB | Wed, 16 Jan 2019 04:53:44 GMT | 1 |
|
||
|
|
1.1.0-CI00034 | 38.52 KB | Wed, 16 Jan 2019 04:23:23 GMT | 1 |
|
||
|
|
1.1.0-CI00033 | 38.38 KB | Fri, 28 Dec 2018 17:44:42 GMT | 1 |
|
||
|
|
1.1.0-CI00032 | 38.38 KB | Fri, 28 Dec 2018 16:44:19 GMT | 1 |
|
||
|
|
1.1.0-CI00031 | 38.38 KB | Fri, 28 Dec 2018 16:38:31 GMT | 1 |
|
||
|
|
1.1.0-CI00030 | 38.41 KB | Wed, 05 Dec 2018 23:36:04 GMT | 1 |
|
||
|
|
1.1.0-CI00029 | 38.42 KB | Wed, 05 Dec 2018 19:40:14 GMT | 21 |
|
||
|
|
1.1.0-CI00028 | 38.42 KB | Tue, 04 Dec 2018 23:09:11 GMT | 1 |
|
||
|
|
1.1.0-CI00027 | 38.59 KB | Tue, 04 Dec 2018 22:40:41 GMT | 1 |
|
||
|
|
1.1.0-CI00026 | 38.79 KB | Tue, 04 Dec 2018 20:21:06 GMT | 2 |
|
||
|
|
1.1.0-CI00025 | 38.79 KB | Tue, 04 Dec 2018 20:14:21 GMT | 1 |
|
||
|
|
1.1.0-CI00024 | 38.79 KB | Mon, 03 Dec 2018 23:52:13 GMT | 1 |
|
||
|
|
1.1.0-CI00023 | 38.57 KB | Mon, 03 Dec 2018 17:37:56 GMT | 1 |
|
||
|
|
1.1.0-CI00022 | 40.61 KB | Sat, 01 Dec 2018 18:43:25 GMT | 0 |
|
||
|
|
1.1.0-CI00021 | 38.08 KB | Sat, 01 Dec 2018 00:00:43 GMT | 1 |
|
||
|
|
1.1.0-CI00020 | 39.08 KB | Fri, 30 Nov 2018 23:27:38 GMT | 1 |
|
||
|
|
1.1.0-CI00019 | 39.08 KB | Fri, 30 Nov 2018 21:55:00 GMT | 1 |
|
||
|
|
1.1.0-CI00018 | 39.07 KB | Fri, 30 Nov 2018 21:44:18 GMT | 1 |
|
||
|
|
1.1.0-CI00017 | 39.06 KB | Fri, 30 Nov 2018 21:38:06 GMT | 0 |
|
||
|
|
1.1.0-CI00016 | 39.07 KB | Fri, 30 Nov 2018 20:36:18 GMT | 1 |
|
||
|
|
1.1.0-CI00015 | 39.07 KB | Fri, 30 Nov 2018 20:22:08 GMT | 1 |
|
||
|
|
1.1.0-CI00014 | 39.07 KB | Fri, 30 Nov 2018 20:09:46 GMT | 1 |
|
||
|
|
1.1.0-CI00013 | 39.07 KB | Fri, 30 Nov 2018 19:56:42 GMT | 1 |
|
||
|
|
1.1.0-CI00012 | 39.07 KB | Fri, 30 Nov 2018 19:41:48 GMT | 1 |
|
||
|
|
1.1.0-CI00011 | 39.06 KB | Fri, 30 Nov 2018 19:35:52 GMT | 1 |
|
||
|
|
1.1.0-CI00010 | 39.06 KB | Fri, 30 Nov 2018 18:58:06 GMT | 20 |
|
||
|
|
1.1.0-CI00009 | 39.07 KB | Fri, 30 Nov 2018 18:42:43 GMT | 1 |
|
||
|
|
1.1.0-CI00008 | 39.06 KB | Fri, 30 Nov 2018 18:31:07 GMT | 1 |
|
||
|
|
1.1.0-CI00007 | 39.07 KB | Fri, 30 Nov 2018 18:18:14 GMT | 21 |
|
||
|
|
1.1.0-CI00006 | 39.07 KB | Fri, 30 Nov 2018 17:47:03 GMT | 1 |
|
||
|
|
1.1.0-CI00005 | 39.07 KB | Fri, 30 Nov 2018 17:38:45 GMT | 1 |
|
||
|
|
1.1.0-CI00004 | 39.07 KB | Fri, 30 Nov 2018 17:27:24 GMT | 2 |
|
||
|
|
1.1.0-CI00003 | 39.06 KB | Fri, 30 Nov 2018 17:22:07 GMT | 1 |
|
||
|
|
1.1.0-CI00002 | 39.07 KB | Tue, 27 Nov 2018 19:56:03 GMT | 21 |
|
||
|
|
1.1.0-CI00001 | 37.64 KB | Tue, 27 Nov 2018 05:18:41 GMT | 1 |
|
||
|
|
1.0.3-CI00023 | 37.62 KB | Tue, 27 Nov 2018 04:42:39 GMT | 1 |
|
||
|
|
1.0.3-CI00022 | 37.84 KB | Tue, 27 Nov 2018 04:27:07 GMT | 1 |
|
||
|
|
1.0.3-CI00021 | 37.07 KB | Mon, 26 Nov 2018 19:47:49 GMT | 2 |
|
||
|
|
1.0.2-CI00020 | 37.07 KB | Mon, 26 Nov 2018 19:34:48 GMT | 1 |
|
||
|
|
1.0.2-CI00019 | 37.05 KB | Mon, 26 Nov 2018 19:08:05 GMT | 2 |
|
||
|
|
1.0.2-CI00018 | 19.18 KB | Sun, 25 Nov 2018 18:08:11 GMT | 1 |
|
||
|
|
1.0.2-CI00017 | 19.18 KB | Wed, 21 Nov 2018 20:04:41 GMT | 1 |
|
||
|
|
1.0.2-CI00016 | 19.14 KB | Mon, 19 Nov 2018 23:06:34 GMT | 1 |
|
||
|
|
1.0.2-CI00015 | 19.14 KB | Mon, 19 Nov 2018 22:32:25 GMT | 2 |
|
||
|
|
1.0.1-CI00014 | 19.14 KB | Mon, 19 Nov 2018 22:26:18 GMT | 1 |
|
||
|
|
1.0.1-CI00013 | 19.13 KB | Mon, 19 Nov 2018 22:21:38 GMT | 1 |
|
||
|
|
1.0.1-CI00012 | 19.13 KB | Thu, 04 Oct 2018 05:13:46 GMT | 1 |
|
||
|
|
1.0.1-CI00011 | 19.12 KB | Thu, 04 Oct 2018 05:05:04 GMT | 1 |
|
||
|
|
1.0.1-CI00010 | 19.12 KB | Wed, 26 Sep 2018 05:54:18 GMT | 1 |
|
||
|
|
1.0.1-CI00009 | 19.13 KB | Mon, 10 Sep 2018 22:55:01 GMT | 1 |
|
||
|
|
1.0.1-CI00006 | 19.13 KB | Wed, 06 Jun 2018 19:09:55 GMT | 2 |
|
||
|
|
1.0.1-CI00005 | 19.13 KB | Wed, 06 Jun 2018 15:41:23 GMT | 1 |
|
||
|
|
1.0.1-CI00004 | 19.14 KB | Wed, 06 Jun 2018 06:22:41 GMT | 1 |
|
||
|
|
1.0.1-CI00003 | 19.04 KB | Fri, 01 Jun 2018 17:22:27 GMT | 1 |
|
||
|
|
1.0.1-CI00002 | 19.04 KB | Fri, 01 Jun 2018 17:10:31 GMT | 1 |
|
||
|
|
1.0.1-CI00001 | 19.04 KB | Fri, 01 Jun 2018 16:58:46 GMT | 1 |
|
||
|
|
1.0.1-CI00000 | 19.04 KB | Fri, 01 Jun 2018 16:04:50 GMT | 2 |
|
||
|
|
1.0.0 | 19.06 KB | Fri, 01 Jun 2018 16:11:17 GMT | 1 |
|
||
|
|
1.0.0-CI00001 | 19.04 KB | Fri, 01 Jun 2018 15:57:19 GMT | 1 |
|
||
|
|
1.0.0-CI00000 | 19.07 KB | Fri, 01 Jun 2018 15:30:47 GMT | 1 |
|