Org.BouncyCastle.Math.EC.Rfc8032.Ed448
A low-level implementation of the Ed448 and Ed448ph instantiations of the Edwards-Curve Digital Signature
Algorithm specified in RFC 8032.
namespace Org.BouncyCastle.Math.EC.Rfc8032
{
public static class Ed448
{
public enum Algorithm
{
Ed448,
Ed448ph
}
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 IXof 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[] 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, IXof ph, byte[] sig, int sigOff);
public static void SignPrehash(byte[] sk, int skOff, byte[] pk, int pkOff, byte[] ctx, IXof 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[] 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, IXof ph);
public static bool VerifyPrehash(byte[] sig, int sigOff, PublicPoint publicPoint, byte[] ctx, IXof ph);
}
}