Universal.Common.Security.Cryptography 1.1.0.1

dotnet add package Universal.Common.Security.Cryptography --version 1.1.0.1
                    
NuGet\Install-Package Universal.Common.Security.Cryptography -Version 1.1.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Universal.Common.Security.Cryptography" Version="1.1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Universal.Common.Security.Cryptography" Version="1.1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="Universal.Common.Security.Cryptography" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Universal.Common.Security.Cryptography --version 1.1.0.1
                    
#r "nuget: Universal.Common.Security.Cryptography, 1.1.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Universal.Common.Security.Cryptography@1.1.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Universal.Common.Security.Cryptography&version=1.1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=Universal.Common.Security.Cryptography&version=1.1.0.1
                    
Install as a Cake Tool

Universal.Common.Security.Cryptography

Cryptographic primitives and compatibility APIs for .NET Standard 2.0. The public API follows the conventions of System.Security.Cryptography: explicit key material, destination-buffer overloads, deterministic validation, and disposable objects for stateful primitives.

The package has no cryptographic runtime dependency. Implementations are derived from published standards and tested against official vectors. Oracle implementations such as Bouncy Castle are test-only dependencies.

Implemented

  • Constant-time equality and secure memory clearing
  • HKDF using SHA-1, SHA-256, SHA-384, and SHA-512 (RFC 5869)
  • AES counter mode (NIST SP 800-38A)
  • AES-GCM with 96-bit nonces (NIST SP 800-38D)
  • ChaCha20 with 96-bit nonces (RFC 8439)
  • Poly1305 and ChaCha20-Poly1305 (RFC 8439)
  • HChaCha20 and XChaCha20-Poly1305 with 192-bit nonces
  • X25519 key agreement with low-order input rejection (RFC 7748)
  • Ed25519 signatures with strict point and scalar validation (RFC 8032)
  • bcrypt_pbkdf key derivation for encrypted OpenSSH private keys
  • RC4 for explicitly required legacy-format compatibility only

AES-GCM supports the standard 12- through 16-byte tag range and the 4-byte and 8-byte truncated tags defined by NIST SP 800-38D. Short tags must only be selected when a protocol requires them and enforces the corresponding per-key usage limits.

RC4 is obsolete and cryptographically broken. Its API is marked accordingly and must not be enabled in newly designed protocols.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Universal.Common.Security.Cryptography:

Package Downloads
Universal.Common.Ssh

SSH transport, authentication, connection, key, forwarding, and SFTP primitives for .NET Standard 2.0.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.0.1 323 8/21/2026

Added Ed25519 and bcrypt_pbkdf.