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

ECPointBase

abstract class ECPointBase : ECPoint
using System; namespace Renci.SshNet.Security.Org.BouncyCastle.Math.EC { internal abstract class ECPointBase : ECPoint { protected internal ECPointBase(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression) : base(curve, x, y, withCompression) { } protected internal ECPointBase(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression) : base(curve, x, y, zs, withCompression) { } public override byte[] GetEncoded(bool compressed) { if (base.IsInfinity) return new byte[1]; ECPoint eCPoint = Normalize(); byte[] encoded = eCPoint.XCoord.GetEncoded(); if (compressed) { byte[] array = new byte[encoded.Length + 1]; array[0] = (byte)(eCPoint.CompressionYTilde ? 3 : 2); Array.Copy(encoded, 0, array, 1, encoded.Length); return array; } byte[] encoded2 = eCPoint.YCoord.GetEncoded(); byte[] array2 = new byte[encoded.Length + encoded2.Length + 1]; array2[0] = 4; Array.Copy(encoded, 0, array2, 1, encoded.Length); Array.Copy(encoded2, 0, array2, encoded.Length + 1, encoded2.Length); return array2; } public override ECPoint Multiply(BigInteger k) { return Curve.GetMultiplier().Multiply(this, k); } } }