Skip to content

rcan-py v1.2.1 — ML-DSA-65 only (RCAN v2.2)

Choose a tag to compare

@craigm26 craigm26 released this 27 Mar 03:25
· 87 commits to main since this release
69a555e

Breaking Changes

  • Ed25519 fully removed — KeyPair class raises DeprecationWarning and redirects to MLDSAKeyPair
  • pq_sig field removed from wire format — signature.alg = "ml-dsa-65" is the sole signing block
  • sign_message() simplified: sign_message(msg, mldsa_keypair)
  • verify_message() simplified: verify_message(msg, trusted: list[MLDSAKeyPair])

What's New

  • ML-DSA-65 (NIST FIPS 204) is the ONLY signing algorithm
  • Bob (RRN-000000000001) is the first robot running this stack
  • Q-Day timeline: ML-DSA-65 primary NOW (2026), Ed25519 sunset 2027, NIST deadline 2029
  • 675 tests passing

Install

pip install rcan==1.2.1
pip install "rcan[pq]==1.2.1"  # includes dilithium-py