Releases: shinji-san/SecretSharingDotNet
Releases · shinji-san/SecretSharingDotNet
v0.12.0
Added
- Added .NET 9.0 support
- Added use-case interfaces
IMakeSharesUseCase
andIReconstructUseCase
to theSecretSharingDotNet
project. - Added a guide to the
README.md
file on how to use the use-case interfaces with dependency injection.
Changed
- Changed the
Sqrt
signature in theBigIntCalculator
class from property to method. - Changed method visibility from
public
toprotected
in theBigIntCalculator
andCalculator
classes to restrict access.
Removed
- Removed .NET 7 support, because it retires on May 14, 2024. See .NET and .NET Core Support Policy.
- Removed .NET 6 support, because it retires on November 12, 2024. See .NET and .NET Core Support Policy.
v0.11.0
Added
- Added support for .NET FX v4.8.1
- Added support for .NET 8.0
- Added support for SourceLink (GitHub)
- Enable deterministic builds
Changed
- Moved
SecurityLevels
fromShamirsSecretSharing<TNumber, TExtendedGcdAlgorithm, TExtendedGcdResult>
toShamirsSecretSharing
class. - Introduced
ReadOnlySpan<char>
forstring
parameters inSecret<TNumber>
class.
Removed
- Removed Legacy Mode from
Secret.cs
class.
v0.10.2
Changed
- FinitePoint: Use
ReadOnlySpan<char>
forstring
parameters in ctor and methods.
Deprecated
- The Secret Legacy Mode is marked as deprecated and will be removed in one of the next releases.
Fixed
- Fixed NETSDK1187 warning (see #151). Locale 'de-de' is normalized to the standard locale 'de-DE'.
[0.10.1] - 2023-05-08
Fixed
- Fixed BigIntCalculator's Equals method to avoid timing attacks. The slow equal implementation is used now.
v0.10.1
Fixed
- Fixed BigIntCalculator's Equals method to avoid timing attacks. The slow equal implementation is used now.
v0.10.0
Added
- Added .NET 7 support
Changed
- Update
Microsoft.NETFramework.ReferenceAssemblies
to v1.0.3
Removed
- Removed .NET Core 3.1 (LTS) support
- Removed ctor
ShamirsSecretSharing(IExtendedGcdAlgorithm<TNumber> extendedGcd, int securityLevel)
. - Removed method
MakeShares(TNumber numberOfMinimumShares, TNumber numberOfShares)
.
v0.9.0
Added
- Add
ToInt32()
method toBigIntCalculator
andCalculator
class. - Introduce the
IExtendedGcdResult
interface to decouple GCD result implementations.
Changed
- Moved generic version of the
Calculator
class from theCalculator.cs
file to theCalculator`1.cs
file. - Updated
Microsoft.NET.Test.Sdk
Nuget package version to 17.2.0. - Updated
xunit.runner.visualstudio
Nuget package version to 2.4.5. - Set
Calculator
fieldsChildTypes
andChildBaseCtors
from protected to private. - Performance improvements for
ShamirsSecretSharing
classes. - Performance improvements for
FinitePoint
class. - Performance improvements for generic
Calculator
class.
Deprecated
- Ctor
ShamirsSecretSharing(IExtendedGcdAlgorithm<TNumber> extendedGcd, int securityLevel)
is deprecated. - Method
MakeShares(TNumber numberOfMinimumShares, TNumber numberOfShares)
is deprecated.
Fixed
- Fixed style guide violations in
CHANGELOG.md
. - Fixed style guide violations in
FinitePoint.cs
. - Fixed style guide violations in
Shares.cs
. - Fixed style guide violations in
SharesEnumerator.cs
. - Fixed style guide violations in
IExtendedGcdAlgorithm`2.cs
. - Fixed style guide violations in
ExtendedEuclideanAlgorithm.cs
. - Fixed style guide violations in
Calculator.cs
. - Fixed style guide violations in
Calculator`1.cs
. - Fixed style guide violations in
BigIntCalculator.cs
. - Fixed style guide violations in
Secret.cs
. Split file intoSecret.cs
andSecret`1.cs
. - Fixed possible null reference exception in
Calculator
class. - Fixed possible null reference exception in
Shares
class. - Fixed possible null reference exception in
ShamirsSecretSharing
class. - Fixed unnecessary boxing/unboxing in the
ToString()
methods inCalculator
classes.
Removed
- Removed constructor w/
ReadOnlyCollection
parameter from theSharesEnumerator{TNumber}
class. - Removed tuple type casting from the
Shares
class. - Removed
Shares.Item1
property. - Removed
Shares.Item2
property.
v0.8.0
Added
- Added more examples in the section Usage of the
README.md
file to explain the use of shares and the use of the new type casting from byte array to secret and vice versa. - Added method
MakeShares(TNumber numberOfMinimumShares, TNumber numberOfShares, int securityLevel)
- Added method
MakeShares(TNumber numberOfMinimumShares, TNumber numberOfShares, Secret<TNumber> secret, int securityLevel)
- Added localization for exception messages in English and German languages
Changed
- Changed existing examples in the section Usage of the
README.md
file to explain the use and the type casting of recovered secrets. - Minify NuGet package README.md
- Changed ctor
ShamirsSecretSharing(IExtendedGcdAlgorithm<TNumber> extendedGcd)
. This ctor sets the SecurityLevel to 13.
Deprecated
- Ctor
ShamirsSecretSharing(IExtendedGcdAlgorithm<TNumber> extendedGcd, int securityLevel)
is deprecated. - Method
MakeShares(TNumber numberOfMinimumShares, TNumber numberOfShares)
is deprecated. - Shares to tuple type casting is obsolete and will be remove in the next release.
- Shares.Item1 property is obsolete and will be remove in the next release.
- Shares.Item2 property is obsolete and will be remove in the next release.
Removed
- Removed .NET 5 support, because it retires on May 10, 2022. See Microsoft .NET and .NET Core - Support Dates.
v0.7.0
Added
- Added implicit casts for byte arrays in Secret class.
- Added legacy mode. See README.md, section "Usage" for more details.
Changed
- Changed behavior of Secret class for negative secret values. See README.md, section "Usage" and bug report #60 for more details.
- Changed calculation of maximum security level in Reconstruction method.
Fixed
- Fixed reopened bug #60 "Reconstruction fails at random".
- Fixed assembly output path in
SecretSharingDotNetFx4.6.2.csproj
Removed
- Removed .NET FX 4.5.2 support, because it retires on April 26, 2022. See .NET FX Lifecycle Policy.
- Removed .NET FX 4.6 support, because it retires on April 26, 2022. See .NET FX Lifecycle Policy.
- Removed .NET FX 4.6.1 support, because it retires on April 26, 2022. See .NET FX Lifecycle Policy.
v0.6.0
Added
- Add .NET 6 support
Changed
- Use RandomNumberGenerator class instead RNGCryptoServiceProvider class to create the polynomial. For details see dotnet runtime issue 40169
Fixed
- Fixed bug #60 "Reconstruction fails at random" which occurs when the secret is created from a base64 string
Removed
- Removed .NET Core 2.1 (LTS) support
'Shares' return type
This version introduces a 'Shares' return type for the split method 'MakeShares'. The 'tuple' return type is obsolete.