From 7ca8774497c8e5c46fb67369909d4d9a87cbeb3f Mon Sep 17 00:00:00 2001 From: Peter Dettman Date: Tue, 21 Jun 2022 21:14:47 +0700 Subject: Remove per-ECPoint compression --- crypto/src/math/ec/custom/sec/SecT409R1Point.cs | 37 ++++++++----------------- 1 file changed, 12 insertions(+), 25 deletions(-) (limited to 'crypto/src/math/ec/custom/sec/SecT409R1Point.cs') diff --git a/crypto/src/math/ec/custom/sec/SecT409R1Point.cs b/crypto/src/math/ec/custom/sec/SecT409R1Point.cs index 546b10795..56b7c444c 100644 --- a/crypto/src/math/ec/custom/sec/SecT409R1Point.cs +++ b/crypto/src/math/ec/custom/sec/SecT409R1Point.cs @@ -5,26 +5,13 @@ namespace Org.BouncyCastle.Math.EC.Custom.Sec internal class SecT409R1Point : AbstractF2mPoint { - /** - * @deprecated Use ECCurve.createPoint to construct points - */ - public SecT409R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y) - : this(curve, x, y, false) + internal SecT409R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y) + : base(curve, x, y) { } - /** - * @deprecated per-point compression property will be removed, refer {@link #getEncoded(bool)} - */ - public SecT409R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression) - : base(curve, x, y, withCompression) - { - if ((x == null) != (y == null)) - throw new ArgumentException("Exactly one of the field elements is null"); - } - - internal SecT409R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression) - : base(curve, x, y, zs, withCompression) + internal SecT409R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs) + : base(curve, x, y, zs) { } @@ -134,7 +121,7 @@ namespace Org.BouncyCastle.Math.EC.Custom.Sec X3 = L.Square().Add(L).Add(X1).AddOne(); if (X3.IsZero) { - return new SecT409R1Point(curve, X3, curve.B.Sqrt(), IsCompressed); + return new SecT409R1Point(curve, X3, curve.B.Sqrt()); } ECFieldElement Y3 = L.Multiply(X1.Add(X3)).Add(X3).Add(Y1); @@ -151,7 +138,7 @@ namespace Org.BouncyCastle.Math.EC.Custom.Sec X3 = AU1.Multiply(AU2); if (X3.IsZero) { - return new SecT409R1Point(curve, X3, curve.B.Sqrt(), IsCompressed); + return new SecT409R1Point(curve, X3, curve.B.Sqrt()); } ECFieldElement ABZ2 = A.Multiply(B); @@ -169,7 +156,7 @@ namespace Org.BouncyCastle.Math.EC.Custom.Sec } } - return new SecT409R1Point(curve, X3, L3, new ECFieldElement[] { Z3 }, IsCompressed); + return new SecT409R1Point(curve, X3, L3, new ECFieldElement[] { Z3 }); } public override ECPoint Twice() @@ -194,7 +181,7 @@ namespace Org.BouncyCastle.Math.EC.Custom.Sec ECFieldElement T = L1.Square().Add(L1Z1).Add(Z1Sq); if (T.IsZero) { - return new SecT409R1Point(curve, T, curve.B.Sqrt(), IsCompressed); + return new SecT409R1Point(curve, T, curve.B.Sqrt()); } ECFieldElement X3 = T.Square(); @@ -203,7 +190,7 @@ namespace Org.BouncyCastle.Math.EC.Custom.Sec ECFieldElement X1Z1 = Z1IsOne ? X1 : X1.Multiply(Z1); ECFieldElement L3 = X1Z1.SquarePlusProduct(T, L1Z1).Add(X3).Add(Z3); - return new SecT409R1Point(curve, X3, L3, new ECFieldElement[] { Z3 }, IsCompressed); + return new SecT409R1Point(curve, X3, L3, new ECFieldElement[] { Z3 }); } public override ECPoint TwicePlus(ECPoint b) @@ -251,14 +238,14 @@ namespace Org.BouncyCastle.Math.EC.Custom.Sec if (A.IsZero) { - return new SecT409R1Point(curve, A, curve.B.Sqrt(), IsCompressed); + return new SecT409R1Point(curve, A, curve.B.Sqrt()); } ECFieldElement X3 = A.Square().Multiply(X2Z1Sq); ECFieldElement Z3 = A.Multiply(B).Multiply(Z1Sq); ECFieldElement L3 = A.Add(B).Square().MultiplyPlusProduct(T, L2.AddOne(), Z3); - return new SecT409R1Point(curve, X3, L3, new ECFieldElement[] { Z3 }, IsCompressed); + return new SecT409R1Point(curve, X3, L3, new ECFieldElement[] { Z3 }); } public override ECPoint Negate() @@ -272,7 +259,7 @@ namespace Org.BouncyCastle.Math.EC.Custom.Sec // L is actually Lambda (X + Y/X) here ECFieldElement L = this.RawYCoord, Z = this.RawZCoords[0]; - return new SecT409R1Point(Curve, X, L.Add(Z), new ECFieldElement[] { Z }, IsCompressed); + return new SecT409R1Point(Curve, X, L.Add(Z), new ECFieldElement[] { Z }); } } } -- cgit 1.4.1