summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Dettman <peter.dettman@bouncycastle.org>2022-10-30 20:44:02 +0700
committerPeter Dettman <peter.dettman@bouncycastle.org>2022-10-30 20:44:02 +0700
commit182ecc238791aba69b59b4d6a082ba7c9bc976ca (patch)
treecab9cb2aeda4412bfd9592342132e311e614435c
parentRelease preparations (diff)
downloadBouncyCastle.NET-ed25519-182ecc238791aba69b59b4d6a082ba7c9bc976ca.tar.xz
Mark SIKE implementation Obsolete
-rw-r--r--README.md2
-rw-r--r--crypto/src/pqc/crypto/sike/SIDH.cs2
-rw-r--r--crypto/src/pqc/crypto/sike/SIDH_Compressed.cs2
-rw-r--r--crypto/src/pqc/crypto/sike/SIKEKEMExtractor.cs1
-rw-r--r--crypto/src/pqc/crypto/sike/SIKEKEMGenerator.cs1
-rw-r--r--crypto/src/pqc/crypto/sike/SIKEKeyGenerationParameters.cs3
-rw-r--r--crypto/src/pqc/crypto/sike/SIKEKeyPairGenerator.cs3
-rw-r--r--crypto/src/pqc/crypto/sike/SIKEKeyParameters.cs3
-rw-r--r--crypto/src/pqc/crypto/sike/SIKEParameters.cs3
-rw-r--r--crypto/src/pqc/crypto/sike/SIKEPrivateKeyParameters.cs3
-rw-r--r--crypto/src/pqc/crypto/sike/SIKEPublicKeyParameters.cs3
-rw-r--r--crypto/src/pqc/crypto/utils/PqcUtilities.cs4
12 files changed, 25 insertions, 5 deletions
diff --git a/README.md b/README.md
index e7c8270a9..a531caa2a 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
 
 The Bouncy Castle Crypto package is a C\# implementation of cryptographic algorithms and protocols, it was developed by the Legion of the Bouncy Castle, a registered Australian Charity, with a little help! The Legion, and the latest goings on with this package, can be found at [https://www.bouncycastle.org](https://www.bouncycastle.org).
 
-In addition to providing basic cryptography algorithms, the package also provides support for CMS, OpenPGP, (D)TLS, TSP, X.509 certificate generation and more. In particular, the package includes implementations of all the NIST Post-Quantum Cryptography Standardization Round 3 submissions. These should all be considered EXPERIMENTAL and subject to change or removal.
+In addition to providing basic cryptography algorithms, the package also provides support for CMS, OpenPGP, (D)TLS, TSP, X.509 certificate generation and more. The package also includes implementations of the following NIST Post-Quantum Cryptography Standardization algorithms: CRYSTALS-Dilithium, CRYSTALS-Kyber, Falcon, SPHINCS+, Classic McEliece, FrodoKEM, NTRU, NTRU Prime, Picnic, Saber, BIKE, and SIKE. These should all be considered EXPERIMENTAL and subject to change or removal. SIKE in particular is already slated for removal and should be used for research purposes only.
 
 The Legion also gratefully acknowledges the contributions made to this package by others (see [here](https://www.bouncycastle.org/csharp/contributors.html) for the current list). If you would like to contribute to our efforts please feel free to get in touch with us or visit our [donations page](https://www.bouncycastle.org/donate), sponsor some specific work, or purchase a [support contract](https://www.keyfactor.com/platform/bouncy-castle-support/).
 
diff --git a/crypto/src/pqc/crypto/sike/SIDH.cs b/crypto/src/pqc/crypto/sike/SIDH.cs
index c1d1714f6..ab01a729f 100644
--- a/crypto/src/pqc/crypto/sike/SIDH.cs
+++ b/crypto/src/pqc/crypto/sike/SIDH.cs
@@ -4,7 +4,7 @@ internal sealed class Sidh
 {
     private readonly SikeEngine engine;
 
-    public Sidh(SikeEngine engine)
+    internal Sidh(SikeEngine engine)
     {
         this.engine = engine;
     }
diff --git a/crypto/src/pqc/crypto/sike/SIDH_Compressed.cs b/crypto/src/pqc/crypto/sike/SIDH_Compressed.cs
index ca140aa50..b849a8aad 100644
--- a/crypto/src/pqc/crypto/sike/SIDH_Compressed.cs
+++ b/crypto/src/pqc/crypto/sike/SIDH_Compressed.cs
@@ -9,7 +9,7 @@ internal sealed class SidhCompressed
 {
     private readonly SikeEngine engine;
 
-    public SidhCompressed(SikeEngine engine)
+    internal SidhCompressed(SikeEngine engine)
     {
         this.engine = engine;
     }
diff --git a/crypto/src/pqc/crypto/sike/SIKEKEMExtractor.cs b/crypto/src/pqc/crypto/sike/SIKEKEMExtractor.cs
index 3c523ba8c..5a0aa4a9e 100644
--- a/crypto/src/pqc/crypto/sike/SIKEKEMExtractor.cs
+++ b/crypto/src/pqc/crypto/sike/SIKEKEMExtractor.cs
@@ -4,6 +4,7 @@ using Org.BouncyCastle.Crypto;
 
 namespace Org.BouncyCastle.Pqc.Crypto.Sike
 {
+    [Obsolete("Will be removed")]
     public sealed class SikeKemExtractor
         : IEncapsulatedSecretExtractor
     {
diff --git a/crypto/src/pqc/crypto/sike/SIKEKEMGenerator.cs b/crypto/src/pqc/crypto/sike/SIKEKEMGenerator.cs
index 76689496f..94bdb606b 100644
--- a/crypto/src/pqc/crypto/sike/SIKEKEMGenerator.cs
+++ b/crypto/src/pqc/crypto/sike/SIKEKEMGenerator.cs
@@ -6,6 +6,7 @@ using Org.BouncyCastle.Security;
 
 namespace Org.BouncyCastle.Pqc.Crypto.Sike
 {
+    [Obsolete("Will be removed")]
     public sealed class SikeKemGenerator
         : IEncapsulatedSecretGenerator
     {
diff --git a/crypto/src/pqc/crypto/sike/SIKEKeyGenerationParameters.cs b/crypto/src/pqc/crypto/sike/SIKEKeyGenerationParameters.cs
index 353587637..f595032eb 100644
--- a/crypto/src/pqc/crypto/sike/SIKEKeyGenerationParameters.cs
+++ b/crypto/src/pqc/crypto/sike/SIKEKeyGenerationParameters.cs
@@ -1,8 +1,11 @@
+using System;
+
 using Org.BouncyCastle.Crypto;
 using Org.BouncyCastle.Security;
 
 namespace Org.BouncyCastle.Pqc.Crypto.Sike
 {
+    [Obsolete("Will be removed")]
     public sealed class SikeKeyGenerationParameters
         : KeyGenerationParameters
     {
diff --git a/crypto/src/pqc/crypto/sike/SIKEKeyPairGenerator.cs b/crypto/src/pqc/crypto/sike/SIKEKeyPairGenerator.cs
index 3ba67faa9..20def8a32 100644
--- a/crypto/src/pqc/crypto/sike/SIKEKeyPairGenerator.cs
+++ b/crypto/src/pqc/crypto/sike/SIKEKeyPairGenerator.cs
@@ -1,8 +1,11 @@
+using System;
+
 using Org.BouncyCastle.Crypto;
 using Org.BouncyCastle.Security;
 
 namespace Org.BouncyCastle.Pqc.Crypto.Sike
 {
+    [Obsolete("Will be removed")]
     public sealed class SikeKeyPairGenerator
         : IAsymmetricCipherKeyPairGenerator
     {
diff --git a/crypto/src/pqc/crypto/sike/SIKEKeyParameters.cs b/crypto/src/pqc/crypto/sike/SIKEKeyParameters.cs
index 5d515eb1d..759c8dd5d 100644
--- a/crypto/src/pqc/crypto/sike/SIKEKeyParameters.cs
+++ b/crypto/src/pqc/crypto/sike/SIKEKeyParameters.cs
@@ -1,7 +1,10 @@
+using System;
+
 using Org.BouncyCastle.Crypto;
 
 namespace Org.BouncyCastle.Pqc.Crypto.Sike
 {
+    [Obsolete("Will be removed")]
     public abstract class SikeKeyParameters
         : AsymmetricKeyParameter
     {
diff --git a/crypto/src/pqc/crypto/sike/SIKEParameters.cs b/crypto/src/pqc/crypto/sike/SIKEParameters.cs
index 3aa332341..d18797067 100644
--- a/crypto/src/pqc/crypto/sike/SIKEParameters.cs
+++ b/crypto/src/pqc/crypto/sike/SIKEParameters.cs
@@ -1,5 +1,8 @@
+using System;
+
 namespace Org.BouncyCastle.Pqc.Crypto.Sike
 {
+    [Obsolete("Will be removed")]
     public sealed class SikeParameters
     {
         public static readonly SikeParameters sikep434 = new SikeParameters(434, false, "sikep434");
diff --git a/crypto/src/pqc/crypto/sike/SIKEPrivateKeyParameters.cs b/crypto/src/pqc/crypto/sike/SIKEPrivateKeyParameters.cs
index 0666ffb72..ee7116b68 100644
--- a/crypto/src/pqc/crypto/sike/SIKEPrivateKeyParameters.cs
+++ b/crypto/src/pqc/crypto/sike/SIKEPrivateKeyParameters.cs
@@ -1,7 +1,10 @@
+using System;
+
 using Org.BouncyCastle.Utilities;
 
 namespace Org.BouncyCastle.Pqc.Crypto.Sike
 {
+    [Obsolete("Will be removed")]
     public sealed class SikePrivateKeyParameters
         : SikeKeyParameters
     {
diff --git a/crypto/src/pqc/crypto/sike/SIKEPublicKeyParameters.cs b/crypto/src/pqc/crypto/sike/SIKEPublicKeyParameters.cs
index b567e979c..3300ed438 100644
--- a/crypto/src/pqc/crypto/sike/SIKEPublicKeyParameters.cs
+++ b/crypto/src/pqc/crypto/sike/SIKEPublicKeyParameters.cs
@@ -1,7 +1,10 @@
+using System;
+
 using Org.BouncyCastle.Utilities;
 
 namespace Org.BouncyCastle.Pqc.Crypto.Sike
 {
+    [Obsolete("Will be removed")]
     public sealed class SikePublicKeyParameters
         : SikeKeyParameters
     {
diff --git a/crypto/src/pqc/crypto/utils/PqcUtilities.cs b/crypto/src/pqc/crypto/utils/PqcUtilities.cs
index 1f1da5e74..adb82b6a3 100644
--- a/crypto/src/pqc/crypto/utils/PqcUtilities.cs
+++ b/crypto/src/pqc/crypto/utils/PqcUtilities.cs
@@ -15,7 +15,7 @@ using Org.BouncyCastle.Pqc.Crypto.SphincsPlus;
 
 namespace Org.BouncyCastle.Pqc.Crypto.Utilities
 {
-    public class PqcUtilities
+    internal class PqcUtilities
     {
         private readonly static Dictionary<CmceParameters, DerObjectIdentifier> mcElieceOids = new Dictionary<CmceParameters, DerObjectIdentifier>();
         private readonly static Dictionary<DerObjectIdentifier, CmceParameters> mcElieceParams = new Dictionary<DerObjectIdentifier, CmceParameters>();
@@ -203,7 +203,7 @@ namespace Org.BouncyCastle.Pqc.Crypto.Utilities
             hqcOids[HqcParameters.hqc256] = BCObjectIdentifiers.hqc256;
         }
 
-        public static DerObjectIdentifier McElieceOidLookup(CmceParameters parameters)
+        internal static DerObjectIdentifier McElieceOidLookup(CmceParameters parameters)
         {
             return mcElieceOids[parameters];
         }