Skip to content

Post-quantum signatures (ML-DSA-65) #52

Description

@r-near

Background. NEAR is adding FIPS-204 ML-DSA-65 as a third key type alongside ED25519 and secp256k1. Keys are ~1952 bytes and signatures ~3309 bytes; on-trie access keys are stored as 48-byte hashes.

Current behavior. The app knows only ED25519 and secp256k1 key types; ML-DSA-65 keys and signatures are unparseable. The sizes are large relative to Nano memory, and the Ledger SDK has no ML-DSA primitive today.

Work (phased — parse before sign).

  • Phase 1 (parse + display): recognize the ML-DSA-65 key type wherever a key appears on the wire (AddKey, transaction signer key, delegate inner key). Stream the large key (don't buffer naively); display a hash/handle form plus a clear "post-quantum key" indicator.
  • Phase 2 (signing): implement on-device ML-DSA-65 signing only once the Ledger SDK supports it; benchmark signature latency and memory on each target device first.

Acceptance. Phase 1 lands (parse / display / indicator); Phase 2 is explicitly gated on SDK support and tracked separately.

Status note: gated behind a nightly protocol feature; realistically parse-only for the foreseeable future.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions