diff --git a/crypto/src/math/ec/ECCurve.cs b/crypto/src/math/ec/ECCurve.cs
index f8ea8ba3c..a84863ce6 100644
--- a/crypto/src/math/ec/ECCurve.cs
+++ b/crypto/src/math/ec/ECCurve.cs
@@ -106,6 +106,8 @@ namespace Org.BouncyCastle.Math.EC
protected internal abstract ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression);
+ protected internal abstract ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression);
+
protected virtual ECMultiplier CreateDefaultMultiplier()
{
return new WNafL2RMultiplier();
@@ -459,6 +461,11 @@ namespace Org.BouncyCastle.Math.EC
return new FpPoint(this, x, y, withCompression);
}
+ protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
+ {
+ return new FpPoint(this, x, y, zs, withCompression);
+ }
+
public override ECPoint ImportPoint(ECPoint p)
{
if (this != p.Curve && this.CoordinateSystem == COORD_JACOBIAN && !p.IsInfinity)
@@ -827,6 +834,11 @@ namespace Org.BouncyCastle.Math.EC
return new F2mPoint(this, x, y, withCompression);
}
+ protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
+ {
+ return new F2mPoint(this, x, y, zs, withCompression);
+ }
+
public override ECPoint Infinity
{
get { return m_infinity; }
|