<PackageReference Include="BouncyCastle.Cryptography" Version="2.3.0" />

Org.BouncyCastle.Math.EC.ECPoint

public abstract class ECPoint
namespace Org.BouncyCastle.Math.EC { public abstract class ECPoint { protected static readonly ECFieldElement[] EMPTY_ZS; public virtual ECCurve Curve { get; } protected virtual int CurveCoordinateSystem { get; } public virtual ECFieldElement AffineXCoord { get; } public virtual ECFieldElement AffineYCoord { get; } public virtual ECFieldElement XCoord { get; } public virtual ECFieldElement YCoord { get; } public bool IsInfinity { get; } protected static ECFieldElement[] GetInitialZCoords(ECCurve curve); protected ECPoint(ECCurve curve, ECFieldElement x, ECFieldElement y); protected abstract bool SatisfiesCurveEquation(); protected virtual bool SatisfiesOrder(); public ECPoint GetDetachedPoint(); protected abstract ECPoint Detach(); public virtual ECFieldElement GetZCoord(int index); public virtual ECFieldElement[] GetZCoords(); protected virtual void CheckNormalized(); public virtual bool IsNormalized(); public virtual ECPoint Normalize(); protected virtual ECPoint CreateScaledPoint(ECFieldElement sx, ECFieldElement sy); public bool IsValid(); public virtual ECPoint ScaleX(ECFieldElement scale); public virtual ECPoint ScaleXNegateY(ECFieldElement scale); public virtual ECPoint ScaleY(ECFieldElement scale); public virtual ECPoint ScaleYNegateX(ECFieldElement scale); public virtual bool Equals(ECPoint other); public virtual byte[] GetEncoded(); public abstract byte[] GetEncoded(bool compressed); public abstract int GetEncodedLength(bool compressed); public abstract void EncodeTo(bool compressed, byte[] buf, int off); public abstract ECPoint Add(ECPoint b); public abstract ECPoint Subtract(ECPoint b); public abstract ECPoint Negate(); public virtual ECPoint TimesPow2(int e); public abstract ECPoint Twice(); public abstract ECPoint Multiply(BigInteger b); public virtual ECPoint TwicePlus(ECPoint b); public virtual ECPoint ThreeTimes(); } }