From 6e306046568f9a4d13639b913f0ff6d5879fa165 Mon Sep 17 00:00:00 2001 From: Peter Dettman Date: Wed, 23 Jul 2014 15:17:12 +0700 Subject: Add automatic EC point validation for decoded points and for multiplier outputs --- .../src/math/ec/multiplier/ReferenceMultiplier.cs | 28 +--------------------- 1 file changed, 1 insertion(+), 27 deletions(-) (limited to 'crypto/src/math/ec/multiplier/ReferenceMultiplier.cs') diff --git a/crypto/src/math/ec/multiplier/ReferenceMultiplier.cs b/crypto/src/math/ec/multiplier/ReferenceMultiplier.cs index 832fd7be4..4848ada39 100644 --- a/crypto/src/math/ec/multiplier/ReferenceMultiplier.cs +++ b/crypto/src/math/ec/multiplier/ReferenceMultiplier.cs @@ -3,35 +3,9 @@ namespace Org.BouncyCastle.Math.EC.Multiplier public class ReferenceMultiplier : AbstractECMultiplier { - /** - * Simple shift-and-add multiplication. Serves as reference implementation - * to verify (possibly faster) implementations in - * {@link org.bouncycastle.math.ec.ECPoint ECPoint}. - * - * @param p The point to multiply. - * @param k The factor by which to multiply. - * @return The result of the point multiplication k * p. - */ protected override ECPoint MultiplyPositive(ECPoint p, BigInteger k) { - ECPoint q = p.Curve.Infinity; - int t = k.BitLength; - if (t > 0) - { - if (k.TestBit(0)) - { - q = p; - } - for (int i = 1; i < t; i++) - { - p = p.Twice(); - if (k.TestBit(i)) - { - q = q.Add(p); - } - } - } - return q; + return ECAlgorithms.ReferenceMultiply(p, k); } } } -- cgit 1.5.1