Documentation
¶
Overview ¶
Package crypto provides cryptographic interfaces for wallet signing.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Factory ¶
type Factory interface {
// NewSigner creates a new signer from a private key
NewSigner(scheme SignatureScheme, privateKey []byte) (Signer, error)
// NewSignerFromSeed creates a signer from a seed
NewSignerFromSeed(scheme SignatureScheme, seed []byte) (Signer, error)
// GenerateKey generates a new private key
GenerateKey(scheme SignatureScheme) (privateKey []byte, err error)
}
Factory creates signers for different schemes
type KeyManager ¶
type KeyManager interface {
// DeriveKey derives a key using BIP32/BIP44 path
DeriveKey(path string) ([]byte, error)
// SupportsScheme checks if the key manager supports the scheme
SupportsScheme(scheme SignatureScheme) bool
}
KeyManager handles key derivation and storage
type SignatureScheme ¶
type SignatureScheme uint8
SignatureScheme represents the type of cryptographic signature scheme
const ( // Classic cryptography SECP256K1 SignatureScheme = iota SECP256R1 BLS // Post-quantum cryptography (NIST standards) MLDSA87 // ML-DSA-87 (Dilithium5 equivalent) MLDSA65 // ML-DSA-65 (Dilithium3 equivalent) MLDSA44 // ML-DSA-44 (Dilithium2 equivalent) SLHDSA256 // SLH-DSA-256 (SPHINCS+ equivalent) SLHDSA192 // SLH-DSA-192 SLHDSA128 // SLH-DSA-128 // Hybrid schemes (classic + PQC) SECP256K1_MLDSA87 // secp256k1 + ML-DSA-87 BLS_MLDSA87 // BLS + ML-DSA-87 )
type Signer ¶
type Signer interface {
// Sign signs the message with the private key
Sign(msg []byte) ([]byte, error)
// PublicKey returns the public key
PublicKey() []byte
// Address returns the address derived from the public key
Address() ids.ShortID
// Scheme returns the signature scheme used
Scheme() SignatureScheme
// Verify verifies a signature
Verify(msg, sig []byte) bool
}
Signer represents a unified interface for signing transactions across all chains (P, X, C, EVM) with both classic and PQC support
Directories
¶
| Path | Synopsis |
|---|---|
|
Package classic provides classic cryptographic signing implementation.
|
Package classic provides classic cryptographic signing implementation. |
|
Package pqc provides post-quantum cryptography signing implementation.
|
Package pqc provides post-quantum cryptography signing implementation. |
Click to show internal directories.
Click to hide internal directories.