summary refs log tree commit diff
path: root/crypto/test
diff options
context:
space:
mode:
authorPeter Dettman <peter.dettman@bouncycastle.org>2024-04-23 14:31:22 +0700
committerPeter Dettman <peter.dettman@bouncycastle.org>2024-04-23 14:31:22 +0700
commit56daa6eac526f165416d17f661422d60de0dfd63 (patch)
tree05b528b7cd80ae0950e58d3dee95f48cb8147ec7 /crypto/test
parentAdd some more utility methods around X.509 extensions (diff)
downloadBouncyCastle.NET-ed25519-56daa6eac526f165416d17f661422d60de0dfd63.tar.xz
Restrict m value in F2m curves
- configure limit w/ env. var. "Org.BouncyCastle.EC.F2m_MaxSize"
Diffstat (limited to 'crypto/test')
-rw-r--r--crypto/test/src/math/ec/test/ECPointTest.cs20
1 files changed, 20 insertions, 0 deletions
diff --git a/crypto/test/src/math/ec/test/ECPointTest.cs b/crypto/test/src/math/ec/test/ECPointTest.cs
index 7a833a413..a5129f3fb 100644
--- a/crypto/test/src/math/ec/test/ECPointTest.cs
+++ b/crypto/test/src/math/ec/test/ECPointTest.cs
@@ -179,6 +179,26 @@ namespace Org.BouncyCastle.Math.EC.Tests
             }
         }
 
+        [Test]
+        public void TestLargeMInF2m()
+        {
+            int m = 2048;
+            int k1 = 1;
+            BigInteger aTpb = new BigInteger("1000", 2);
+            BigInteger bTpb = new BigInteger("1001", 2);
+            BigInteger n = new BigInteger("23");
+            BigInteger h = new BigInteger("1");
+
+            try
+            {
+                F2mCurve curve = new F2mCurve(m, k1, aTpb, bTpb, n, h);
+            }
+            catch (ArgumentException e)
+            {
+                Assert.AreEqual("F2m m value out of range", e.Message);
+            }
+        }
+
         /**
          * Calls <code>implTestAdd()</code> for <code>Fp</code> and
          * <code>F2m</code>.