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

Ed25519

public static class Ed25519
A low-level implementation of the Ed25519, Ed25519ctx, and Ed25519ph instantiations of the Edwards-Curve Digital Signature Algorithm specified in RFC 8032.
public enum Algorithm

public sealed class PublicPoint

public static readonly int PrehashSize

public static readonly int PublicKeySize

public static readonly int SecretKeySize

public static readonly int SignatureSize

public static IDigest CreatePrehash()

public static void EncodePublicPoint(PublicPoint publicPoint, byte[] pk, int pkOff)

public static void GeneratePrivateKey(SecureRandom random, byte[] k)

public static void GeneratePublicKey(byte[] sk, int skOff, byte[] pk, int pkOff)

public static PublicPoint GeneratePublicKey(byte[] sk, int skOff)

public static void Precompute()

public static void Sign(byte[] sk, int skOff, byte[] m, int mOff, int mLen, byte[] sig, int sigOff)

public static void Sign(byte[] sk, int skOff, byte[] pk, int pkOff, byte[] m, int mOff, int mLen, byte[] sig, int sigOff)

public static void Sign(byte[] sk, int skOff, byte[] ctx, byte[] m, int mOff, int mLen, byte[] sig, int sigOff)

public static void Sign(byte[] sk, int skOff, byte[] pk, int pkOff, byte[] ctx, byte[] m, int mOff, int mLen, byte[] sig, int sigOff)

public static void SignPrehash(byte[] sk, int skOff, byte[] ctx, byte[] ph, int phOff, byte[] sig, int sigOff)

public static void SignPrehash(byte[] sk, int skOff, byte[] pk, int pkOff, byte[] ctx, byte[] ph, int phOff, byte[] sig, int sigOff)

public static void SignPrehash(byte[] sk, int skOff, byte[] ctx, IDigest ph, byte[] sig, int sigOff)

public static void SignPrehash(byte[] sk, int skOff, byte[] pk, int pkOff, byte[] ctx, IDigest ph, byte[] sig, int sigOff)

public static bool ValidatePublicKeyFull(byte[] pk, int pkOff)

public static PublicPoint ValidatePublicKeyFullExport(byte[] pk, int pkOff)

public static bool ValidatePublicKeyPartial(byte[] pk, int pkOff)

public static PublicPoint ValidatePublicKeyPartialExport(byte[] pk, int pkOff)

public static bool Verify(byte[] sig, int sigOff, byte[] pk, int pkOff, byte[] m, int mOff, int mLen)

public static bool Verify(byte[] sig, int sigOff, PublicPoint publicPoint, byte[] m, int mOff, int mLen)

public static bool Verify(byte[] sig, int sigOff, byte[] pk, int pkOff, byte[] ctx, byte[] m, int mOff, int mLen)

public static bool Verify(byte[] sig, int sigOff, PublicPoint publicPoint, byte[] ctx, byte[] m, int mOff, int mLen)

public static bool VerifyPrehash(byte[] sig, int sigOff, byte[] pk, int pkOff, byte[] ctx, byte[] ph, int phOff)

public static bool VerifyPrehash(byte[] sig, int sigOff, PublicPoint publicPoint, byte[] ctx, byte[] ph, int phOff)

public static bool VerifyPrehash(byte[] sig, int sigOff, byte[] pk, int pkOff, byte[] ctx, IDigest ph)

public static bool VerifyPrehash(byte[] sig, int sigOff, PublicPoint publicPoint, byte[] ctx, IDigest ph)