Skip to content

feat: Dilithium signatures#1

Open
czareko wants to merge 7 commits intomasterfrom
feat/dilithium-signatures
Open

feat: Dilithium signatures#1
czareko wants to merge 7 commits intomasterfrom
feat/dilithium-signatures

Conversation

@czareko
Copy link

@czareko czareko commented Mar 10, 2026

  • Add Dilithium (ML-DSA-87, NIST FIPS 204) post-quantum signature support for access keys in NEAR
  • Introduce ProtocolFeature::DilithiumSignatures enabled from protocol version 202
  • core/crypto: Implement Dilithium public keys, secret keys, and signatures (qp-rusty-crystals-dilithium)
  • core/primitives: Validate transactions with Dilithium keys based on protocol version
  • runtime: Verify Dilithium signatures in the verifier
  • rosetta-rpc: Support CurveType::Dilithium and SignatureType::Dilithium in models
  • tools/mirror: Map Dilithium keys during migration
  • integration-tests: Add create_runtime_node_with_dilithium() helper with protocol 202, and tests test_add_key_dilithium_runtime and test_transfer_signed_by_dilithium_runtime
  • RuntimeUser: Add new_with_protocol_version() and pass protocol version from genesis so tests run with protocol 202
  • No change to NIGHTLY_PROTOCOL_VERSION; Dilithium remains in the "not yet in Nightly" bucket (202); tests use explicit protocol_version = 202
  • Run tests: cargo test --package integration-tests --features test_features -- dilithium --show-output

Commands for local run:
Init: cargo run --profile dev-release -p neard -- init
Start: cargo run --profile dev-release -p neard -- run

@czareko czareko changed the title Feat/dilithium signatures feat: Dilithium signatures Mar 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants