<PackageReference Include="SSH.NET" Version="2020.0.2" />

Renci.SshNet.Security.Org.BouncyCastle.Math.EC.ECCurve

abstract class ECCurve
namespace Renci.SshNet.Security.Org.BouncyCastle.Math.EC { internal abstract class ECCurve { public const int COORD_AFFINE = 0; public const int COORD_HOMOGENEOUS = 1; public const int COORD_JACOBIAN = 2; public const int COORD_JACOBIAN_CHUDNOVSKY = 3; public const int COORD_JACOBIAN_MODIFIED = 4; public const int COORD_LAMBDA_AFFINE = 5; public const int COORD_LAMBDA_PROJECTIVE = 6; public const int COORD_SKEWED = 7; protected readonly IFiniteField m_field; protected ECFieldElement m_a; protected ECFieldElement m_b; protected BigInteger m_order; protected BigInteger m_cofactor; protected int m_coord; protected ECEndomorphism m_endomorphism; protected ECMultiplier m_multiplier; public abstract int FieldSize { get; } public abstract ECPoint Infinity { get; } public virtual IFiniteField Field { get; } public virtual ECFieldElement A { get; } public virtual ECFieldElement B { get; } public virtual BigInteger Order { get; } public virtual BigInteger Cofactor { get; } public virtual int CoordinateSystem { get; } public static int[] GetAllCoordinateSystems(); protected ECCurve(IFiniteField field); public abstract ECFieldElement FromBigInteger(BigInteger x); public abstract bool IsValidFieldElement(BigInteger x); public virtual Config Configure(); public virtual ECPoint ValidatePoint(BigInteger x, BigInteger y); public virtual ECPoint ValidatePoint(BigInteger x, BigInteger y, bool withCompression); public virtual ECPoint CreatePoint(BigInteger x, BigInteger y); public virtual ECPoint CreatePoint(BigInteger x, BigInteger y, bool withCompression); protected abstract ECCurve CloneCurve(); protected virtual ECMultiplier CreateDefaultMultiplier(); public virtual bool SupportsCoordinateSystem(int coord); public virtual PreCompInfo GetPreCompInfo(ECPoint point, string name); public virtual PreCompInfo Precompute(ECPoint point, string name, IPreCompCallback callback); public virtual ECPoint ImportPoint(ECPoint p); public virtual void NormalizeAll(ECPoint[] points); public virtual void NormalizeAll(ECPoint[] points, int off, int len, ECFieldElement iso); public virtual ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len); protected virtual void CheckPoint(ECPoint point); protected virtual void CheckPoints(ECPoint[] points); protected virtual void CheckPoints(ECPoint[] points, int off, int len); public virtual bool Equals(ECCurve other); protected abstract ECPoint DecompressPoint(int yTilde, BigInteger X1); public virtual ECEndomorphism GetEndomorphism(); public virtual ECMultiplier GetMultiplier(); public virtual ECPoint DecodePoint(byte[] encoded); } }