Lux Docs
Crypto

Crypto API

Go package API reference for Lux cryptographic primitives

All packages live under github.com/luxfi/crypto.

Package Index

PackagePurpose
blsBLS12-381 aggregatable signatures
secp256k1ECDSA (Ethereum-compatible)
secp256r1P-256 ECDSA (RIP-7212)
mldsaML-DSA post-quantum signatures (FIPS 204)
mlkemML-KEM key encapsulation (FIPS 203)
slhdsaSLH-DSA hash-based signatures (FIPS 205)
ringRing signatures (LSAG, lattice)
eciesHybrid encryption
signerHybrid BLS + Ringtail consensus signing
gpuGPU-accelerated ZK operations
thresholdUnified t-of-n signing interface

Common Patterns

// Key generation
privKey, err := secp256k1.GenerateKey()
pubKey, privKey, err := mldsa.GenerateKey()
secretKey, err := bls.NewSecretKey()

// Sign and verify
sig, err := mldsa.Sign(privKey, message)
ok := mldsa.Verify(pubKey, message, sig)

Threshold Signing

import "github.com/luxfi/crypto/threshold"

scheme, _ := threshold.GetScheme(threshold.SchemeBLS)
dealer, _ := scheme.NewTrustedDealer(threshold.DealerConfig{
    Threshold: 2, TotalParties: 5,
})
shares, groupKey, _ := dealer.GenerateShares(ctx)

signer, _ := scheme.NewSigner(shares[0])
share, _ := signer.SignShare(ctx, message, participants, nil)

aggregator, _ := scheme.NewAggregator(groupKey)
signature, _ := aggregator.Aggregate(ctx, message, sigShares, nil)

Security Levels

AlgorithmClassicalQuantumNIST Level
secp256k1128-bitBroken--
BLS12-381128-bitBroken--
ML-DSA-65192-bit192-bitLevel 3
ML-KEM-768192-bit192-bitLevel 3
SLH-DSA-128f128-bit128-bitLevel 1

Build

make test       # Run all tests
make bench      # Benchmarks
CGO_ENABLED=1 go build -tags gpu ./...  # With GPU acceleration

On this page