scalus.crypto.ed25519

Members list

Type members

Classlikes

object Ed25519Math

Platform-independent interface for Ed25519 mathematical operations.

Platform-independent interface for Ed25519 mathematical operations.

These operations are needed for BIP32-Ed25519 key derivation which requires scalar multiplication with the base point for non-hardened derivation.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

JVM implementation of Ed25519 mathematical operations using BouncyCastle.

JVM implementation of Ed25519 mathematical operations using BouncyCastle.

WARNING: This implementation uses reflection to access BouncyCastle's internal scalarMultBaseEncoded method because the public API only exposes key derivation that hashes the seed first (standard Ed25519), whereas BIP32-Ed25519 requires direct scalar multiplication with an already-clamped scalar.

This approach is fragile and may break with future BouncyCastle updates. If BouncyCastle exposes a public scalar multiplication API in the future, this should be updated to use it instead.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Cross-platform Ed25519 signing capability.

Cross-platform Ed25519 signing capability.

Implementations are provided per-platform:

  • JVM: BouncyCastle
  • JS: @noble/curves/ed25519
  • Native: libsodium

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Ed25519Signer

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

JVM implementation of Ed25519Signer using BouncyCastle.

JVM implementation of Ed25519Signer using BouncyCastle.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
object Signature

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Signature.type
object SigningKey

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
SigningKey.type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Types

opaque type ExtendedSigningKey

Extended Ed25519 signing key (SLIP-001/HD wallets) - 64 bytes.

Extended Ed25519 signing key (SLIP-001/HD wallets) - 64 bytes.

Attributes

opaque type Signature

Ed25519 signature - 64 bytes.

Ed25519 signature - 64 bytes.

Attributes

opaque type SigningKey

Standard Ed25519 signing key - 32 bytes.

Standard Ed25519 signing key - 32 bytes.

Attributes

opaque type VerificationKey

Ed25519 verification key (public key) - 32 bytes. Subtype of ByteString for seamless interop.

Ed25519 verification key (public key) - 32 bytes. Subtype of ByteString for seamless interop.

Attributes

Givens