summary refs log tree commit diff
path: root/crypto/src/math/ec/custom/sec/SecT283R1Curve.cs
diff options
context:
space:
mode:
authorJeffrey Stedfast <jeff@xamarin.com>2015-10-17 10:43:23 -0400
committerJeffrey Stedfast <jeff@xamarin.com>2015-10-17 10:43:23 -0400
commit95813c6fbb981d45e31b76353a680b9ea51ad147 (patch)
tree089e21a599b7eabd3dc169ab8b8841dab50df63f /crypto/src/math/ec/custom/sec/SecT283R1Curve.cs
parentUpdated VS 2010 projects (diff)
parentRefactoring (diff)
downloadBouncyCastle.NET-ed25519-95813c6fbb981d45e31b76353a680b9ea51ad147.tar.xz
Merge branch 'master' into vs2010
Diffstat (limited to 'crypto/src/math/ec/custom/sec/SecT283R1Curve.cs')
-rw-r--r--crypto/src/math/ec/custom/sec/SecT283R1Curve.cs90
1 files changed, 0 insertions, 90 deletions
diff --git a/crypto/src/math/ec/custom/sec/SecT283R1Curve.cs b/crypto/src/math/ec/custom/sec/SecT283R1Curve.cs
index d8c462eeb..e659675ce 100644
--- a/crypto/src/math/ec/custom/sec/SecT283R1Curve.cs
+++ b/crypto/src/math/ec/custom/sec/SecT283R1Curve.cs
@@ -70,96 +70,6 @@ namespace Org.BouncyCastle.Math.EC.Custom.Sec
             get { return false; }
         }
 
-        /**
-         * Decompresses a compressed point P = (xp, yp) (X9.62 s 4.2.2).
-         * 
-         * @param yTilde
-         *            ~yp, an indication bit for the decompression of yp.
-         * @param X1
-         *            The field element xp.
-         * @return the decompressed point.
-         */
-        protected override ECPoint DecompressPoint(int yTilde, BigInteger X1)
-        {
-            ECFieldElement x = FromBigInteger(X1), y = null;
-            if (x.IsZero)
-            {
-                y = B.Sqrt();
-            }
-            else
-            {
-                ECFieldElement beta = x.Square().Invert().Multiply(B).Add(A).Add(x);
-                ECFieldElement z = SolveQuadraticEquation(beta);
-                if (z != null)
-                {
-                    if (z.TestBitZero() != (yTilde == 1))
-                    {
-                        z = z.AddOne();
-                    }
-
-                    switch (this.CoordinateSystem)
-                    {
-                    case COORD_LAMBDA_AFFINE:
-                    case COORD_LAMBDA_PROJECTIVE:
-                    {
-                        y = z.Add(x);
-                        break;
-                    }
-                    default:
-                    {
-                        y = z.Multiply(x);
-                        break;
-                    }
-                    }
-                }
-            }
-
-            if (y == null)
-                throw new ArgumentException("Invalid point compression");
-
-            return this.CreateRawPoint(x, y, true);
-        }
-
-        /**
-         * Solves a quadratic equation <code>z<sup>2</sup> + z = beta</code>(X9.62
-         * D.1.6) The other solution is <code>z + 1</code>.
-         * 
-         * @param beta
-         *            The value to solve the quadratic equation for.
-         * @return the solution for <code>z<sup>2</sup> + z = beta</code> or
-         *         <code>null</code> if no solution exists.
-         */
-        private ECFieldElement SolveQuadraticEquation(ECFieldElement beta)
-        {
-            if (beta.IsZero)
-                return beta;
-
-            ECFieldElement zeroElement = FromBigInteger(BigInteger.Zero);
-
-            ECFieldElement z = null;
-            ECFieldElement gamma = null;
-
-            Random rand = new Random();
-            do
-            {
-                ECFieldElement t = FromBigInteger(new BigInteger(283, rand));
-                z = zeroElement;
-                ECFieldElement w = beta;
-                for (int i = 1; i < 283; i++)
-                {
-                    ECFieldElement w2 = w.Square();
-                    z = z.Square().Add(w2.Multiply(t));
-                    w = w2.Add(beta);
-                }
-                if (!w.IsZero)
-                    return null;
-                gamma = z.Square().Add(z);
-            }
-            while (gamma.IsZero);
-
-            return z;
-        }
-
         public virtual int M
         {
             get { return 283; }