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

Org.BouncyCastle.Math.EC.ECFieldElement

public abstract class ECFieldElement
namespace Org.BouncyCastle.Math.EC { public abstract class ECFieldElement { public abstract string FieldName { get; } public abstract int FieldSize { get; } public virtual int BitLength { get; } public virtual bool IsOne { get; } public virtual bool IsZero { get; } public abstract BigInteger ToBigInteger(); public abstract ECFieldElement Add(ECFieldElement b); public abstract ECFieldElement AddOne(); public abstract ECFieldElement Subtract(ECFieldElement b); public abstract ECFieldElement Multiply(ECFieldElement b); public abstract ECFieldElement Divide(ECFieldElement b); public abstract ECFieldElement Negate(); public abstract ECFieldElement Square(); public abstract ECFieldElement Invert(); public abstract ECFieldElement Sqrt(); public virtual ECFieldElement MultiplyMinusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y); public virtual ECFieldElement MultiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y); public virtual ECFieldElement SquareMinusProduct(ECFieldElement x, ECFieldElement y); public virtual ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y); public virtual ECFieldElement SquarePow(int pow); public virtual bool TestBitZero(); public virtual bool Equals(ECFieldElement other); public virtual byte[] GetEncoded(); public virtual int GetEncodedLength(); public virtual void EncodeTo(byte[] buf, int off); protected ECFieldElement(); } }