Skip to content

Releases: shinji-san/SecretSharingDotNet

v0.12.0

17 Nov 18:03
3e67d44
Compare
Choose a tag to compare

Added

  • Added .NET 9.0 support
  • Added use-case interfaces IMakeSharesUseCase and IReconstructUseCase to the SecretSharingDotNet 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 the BigIntCalculator class from property to method.
  • Changed method visibility from public to protected in the BigIntCalculatorand Calculator classes to restrict access.

Removed

v0.11.0

30 Dec 18:11
689827d
Compare
Choose a tag to compare

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 from ShamirsSecretSharing<TNumber, TExtendedGcdAlgorithm, TExtendedGcdResult> to ShamirsSecretSharing class.
  • Introduced ReadOnlySpan<char> for string parameters in Secret<TNumber> class.

Removed

  • Removed Legacy Mode from Secret.cs class.

v0.10.2

30 Dec 17:52
a0f4dd2
Compare
Choose a tag to compare

Changed

  • FinitePoint: Use ReadOnlySpan<char> for string 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

08 May 18:06
de63002
Compare
Choose a tag to compare

Fixed

  • Fixed BigIntCalculator's Equals method to avoid timing attacks. The slow equal implementation is used now.

v0.10.0

24 Dec 02:36
8f47795
Compare
Choose a tag to compare

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

09 Oct 21:18
30ead46
Compare
Choose a tag to compare

Added

  • Add ToInt32() method to BigIntCalculator and Calculator class.
  • Introduce the IExtendedGcdResult interface to decouple GCD result implementations.

Changed

  • Moved generic version of the Calculator class from the Calculator.cs file to the Calculator`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 fields ChildTypes and ChildBaseCtors 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 into Secret.cs and Secret`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 in Calculator classes.

Removed

  • Removed constructor w/ ReadOnlyCollection parameter from the SharesEnumerator{TNumber} class.
  • Removed tuple type casting from the Shares class.
  • Removed Shares.Item1 property.
  • Removed Shares.Item2 property.

v0.8.0

05 Jul 18:39
881bd92
Compare
Choose a tag to compare

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

v0.7.0

08 Feb 23:15
69edb66
Compare
Choose a tag to compare

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

v0.6.0

25 Nov 16:06
994887f
Compare
Choose a tag to compare

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

07 Oct 21:57
e5aacb9
Compare
Choose a tag to compare

This version introduces a 'Shares' return type for the split method 'MakeShares'. The 'tuple' return type is obsolete.