Lyo.Encryption.AesSiv
2.0.0
dotnet add package Lyo.Encryption.AesSiv --version 2.0.0
NuGet\Install-Package Lyo.Encryption.AesSiv -Version 2.0.0
<PackageReference Include="Lyo.Encryption.AesSiv" Version="2.0.0" />
<PackageVersion Include="Lyo.Encryption.AesSiv" Version="2.0.0" />
<PackageReference Include="Lyo.Encryption.AesSiv" />
paket add Lyo.Encryption.AesSiv --version 2.0.0
#r "nuget: Lyo.Encryption.AesSiv, 2.0.0"
#:package Lyo.Encryption.AesSiv@2.0.0
#addin nuget:?package=Lyo.Encryption.AesSiv&version=2.0.0
#tool nuget:?package=Lyo.Encryption.AesSiv&version=2.0.0
Lyo.Encryption.AesSiv
AES-SIV (RFC 5297) deterministic authenticated encryption addon for Lyo.Encryption. Provides AesSivEncryptionService backed by Dorssel.Security.Cryptography.AesExtra and matching DI extensions.
Install this addon only when you actually use AES-SIV. The core Lyo.Encryption package no longer pulls Dorssel.Security.Cryptography.AesExtra.
Examples
Unkeyed
using Lyo.Encryption;
using Lyo.Encryption.AesSiv;
using Lyo.Encryption.Extensions;
using Lyo.Encryption.Symmetric.Aes.AesSiv;
using Lyo.KeyStore;
using Microsoft.Extensions.DependencyInjection;
services.AddLocalKeyStore(ks => ks.UpdateKeyFromString("k", "secret"));
services.AddAesSivEncryption(AesSivKeySizeBits.Bits256); // or Bits384 / Bits512
services.AddDefaultEncryptionService<AesSivEncryptionService>();
Keyed two-key
services.AddKeyedLocalKeyStore("ks", ks => ks.UpdateKeyFromString("k", "secret"));
services.AddAesSivEncryptionServiceKeyed("primary", "ks", AesSivKeySizeBits.Bits384);
Benchmarks
Dependency injection
Requires IKeyStore. Configure keys with AddLocalKeyStore / AddKeyedLocalKeyStore and read IConfiguration inside the configure callback (see Lyo.KeyStore).
Keyed two-key
See Lyo.Encryption for the registration table and core AddEncryptionServiceKeyed overloads.
Performance
BenchmarkDotNet on Intel Core Ultra 7 155U (.NET 10.0.9, June 2026): 17.0 ms encrypt / 16.4 ms decrypt @ 1 MB (~25× slower than AES-GCM). Deterministic SIV mode. Choose for nonce-misuse resistance, not peak throughput. Tables: BENCHMARK_SUMMARY.md.
Dependencies
Generated from ProjectReference / PackageReference (same model as docs/Lyo.ProjectGraph.html).
Lyo.Common.Metadata(direct, lyo)Lyo.Encryption(direct, lyo)Dorssel.Security.Cryptography.AesExtra2.0.0(direct, third-party)Lyo.Common.Core(transitive, lyo)Lyo.Exceptions(transitive, lyo)Lyo.Hashing(transitive, lyo)Lyo.KeyStore(transitive, lyo)Lyo.Result(transitive, lyo)Lyo.Streams(transitive, lyo)BouncyCastle.Cryptography2.6.2(transitive, third-party, netstandard2.0)Konscious.Security.Cryptography.Argon21.3.1(transitive, third-party)Microsoft.Bcl.AsyncInterfaces10.0.5(transitive, microsoft, netstandard2.0)Microsoft.Extensions.DependencyInjection.Abstractions10.0.5(transitive, microsoft, net10.0, netstandard2.0)System.Buffers4.6.1(transitive, microsoft, netstandard2.0)System.IO.Hashing10.0.5(transitive, microsoft, net10.0)System.Memory4.6.3(transitive, microsoft, netstandard2.0)System.Text.Json10.0.5(transitive, microsoft, netstandard2.0)System.Threading.Tasks.Extensions4.6.3(transitive, microsoft, netstandard2.0)
| Product | Versions 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 is compatible. 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. |
-
.NETStandard 2.0
- Dorssel.Security.Cryptography.AesExtra (>= 2.0.0)
- Lyo.Common.Metadata (>= 2.0.0)
- Lyo.Encryption (>= 2.0.0)
-
net10.0
- Dorssel.Security.Cryptography.AesExtra (>= 2.0.0)
- Lyo.Common.Metadata (>= 2.0.0)
- Lyo.Encryption (>= 2.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.