nacl-core - NaCl.Core 1.1.0-CI00019

A managed-only cryptography library for .NET which provides modern cryptographic primitives.

PM> Install-Package NaCl.Core -Version 1.1.0-CI00019 -Source https://www.myget.org/F/nacl-core/api/v3/index.json

Copy to clipboard

> nuget.exe install NaCl.Core -Version 1.1.0-CI00019 -Source https://www.myget.org/F/nacl-core/api/v3/index.json

Copy to clipboard

> dotnet add package NaCl.Core --version 1.1.0-CI00019 --source https://www.myget.org/F/nacl-core/api/v3/index.json

Copy to clipboard
<PackageReference Include="NaCl.Core" Version="1.1.0-CI00019" />
Copy to clipboard
source https://www.myget.org/F/nacl-core/api/v3/index.json

nuget NaCl.Core  ~> 1.1.0-CI00019
Copy to clipboard

> choco install NaCl.Core --version 1.1.0-CI00019 --source https://www.myget.org/F/nacl-core/api/v2

Copy to clipboard
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.1.0-CI00019" -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

Build Status CI Build status contributions welcome

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

NuGet Version CI NuGet

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) implement IDisposable. Call Dispose() or use using statements 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

codecov Azure DevOps tests Azure DevOps 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

License

  • .NETFramework 4.5
    • System.Memory (>= 4.5.1)
  • .NETFramework 4.7
    • System.Memory (>= 4.5.1)
  • .NETStandard 1.3
    • NETStandard.Library (>= 1.6.1)
    • System.Memory (>= 4.5.1)
  • .NETStandard 2.0
    • System.Memory (>= 4.5.1)
  • .NETFramework 4.5: 4.5.0.0
  • .NETFramework 4.7: 4.7.0.0
  • .NETStandard 1.3: 1.3.0.0
  • .NETStandard 2.0: 2.0.0.0

                        
Assembly Assembly hash Match
/lib/net47/nacl.core.dll 0e3d13b197c749c49ea2a885a3b54fd1FFFFFFFF
/lib/netstandard2.0/nacl.core.dll 134755ec6bdf4999a3e5aef10327e5a8FFFFFFFF
/lib/netstandard1.3/nacl.core.dll e0da0501be034568b161f7db13f89f83FFFFFFFF

Owners

daviddesmet

Authors

David De Smet

Project URL

https://github.com/idaviddesmet/NaCl.Core

License

MIT

Tags

NaCl cryptography dotnet dotnet-core netstandard

Info

161 total downloads
1 downloads for version 1.1.0-CI00019
Download (39.08 KB)
Download legacy symbols (72.21 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