Ed25519 Class

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

Definition

Namespace: Org.BouncyCastle.Math.EC.Rfc8032
Assembly: BouncyCastle.Cryptography (in BouncyCastle.Cryptography.dll) Version: 2.3.0-beta.187+d6da5648ae
public static class Ed25519
Inheritance
Object    Ed25519

Remarks

The implementation strategy is mostly drawn from Mike Hamburg, "Fast and compact elliptic-curve cryptography", notably the "signed multi-comb" algorithm (for scalar multiplication by a fixed point), the "half Niels coordinates" (for precomputed points), and the "extensible coordinates" (for accumulators). Standard extended coordinates are used during precomputations, needing only a single extra point addition formula.

Methods

CreatePrehash 
EncodePublicPoint(Ed25519PublicPoint, SpanByte) 
EncodePublicPoint(Ed25519PublicPoint, Byte, Int32) 
GeneratePrivateKey(SecureRandom, Byte) 
GeneratePrivateKey(SecureRandom, SpanByte) 
GeneratePublicKey(ReadOnlySpanByte) 
GeneratePublicKey(Byte, Int32) 
GeneratePublicKey(ReadOnlySpanByte, SpanByte) 
GeneratePublicKey(Byte, Int32, Byte, Int32) 
Precompute 
Sign(Byte, Int32, Byte, Int32, Int32, Byte, Int32) 
Sign(Byte, Int32, Byte, Byte, Int32, Int32, Byte, Int32) 
Sign(Byte, Int32, Byte, Int32, Byte, Int32, Int32, Byte, Int32) 
Sign(Byte, Int32, Byte, Int32, Byte, Byte, Int32, Int32, Byte, Int32) 
SignPrehash(Byte, Int32, Byte, IDigest, Byte, Int32) 
SignPrehash(Byte, Int32, Byte, Byte, Int32, Byte, Int32) 
SignPrehash(Byte, Int32, Byte, Int32, Byte, IDigest, Byte, Int32) 
SignPrehash(Byte, Int32, Byte, Int32, Byte, Byte, Int32, Byte, Int32) 
ValidatePublicKeyFull(ReadOnlySpanByte) 
ValidatePublicKeyFull(Byte, Int32) 
ValidatePublicKeyFullExport(ReadOnlySpanByte) 
ValidatePublicKeyFullExport(Byte, Int32) 
ValidatePublicKeyPartial(ReadOnlySpanByte) 
ValidatePublicKeyPartial(Byte, Int32) 
ValidatePublicKeyPartialExport(ReadOnlySpanByte) 
ValidatePublicKeyPartialExport(Byte, Int32) 
Verify(Byte, Int32, Ed25519PublicPoint, Byte, Int32, Int32) 
Verify(Byte, Int32, Ed25519PublicPoint, Byte, Byte, Int32, Int32) 
Verify(Byte, Int32, Byte, Int32, Byte, Int32, Int32) 
Verify(Byte, Int32, Byte, Int32, Byte, Byte, Int32, Int32) 
VerifyPrehash(Byte, Int32, Ed25519PublicPoint, Byte, IDigest) 
VerifyPrehash(Byte, Int32, Ed25519PublicPoint, Byte, Byte, Int32) 
VerifyPrehash(Byte, Int32, Byte, Int32, Byte, IDigest) 
VerifyPrehash(Byte, Int32, Byte, Int32, Byte, Byte, Int32) 

Fields

See Also