Files
zeekay c97c4ec940 pqrns: bootstrap PQ-RNS hybrid post-quantum profile for Reticulum
PQ-RNS extends the Reticulum Network Stack (markqvist/Reticulum) with
a hybrid PQ identity and key-exchange layer without forking the
reference protocol. Capability-negotiated; mixed networks coexist
with native classical RNS peers.

Initial drop:
  - cmd/pqrnsd        daemon: serve / announce / dial / identity / version
  - pkg/identity      hybrid identity wire layout (PublicIdentitySize = 3200 bytes)
                        Ed25519 || X25519 || ML-DSA-65 || ML-KEM-768
                        16-byte SHA-256 fingerprint (matches native RNS shape)
  - pkg/link          (skeleton; hybrid link establishment + session KDF)
  - pkg/announce      (skeleton; capability-bearing announce frames)
  - pkg/cap           (skeleton; capability negotiation:
                        require / hybrid_full / hybrid_psk modes)
  - .github/workflows CI (build / vet / test / gofmt)
  - LICENSE           Apache-2.0
  - README            crypto stack, layout, config, composition, status

Primitives:
  identity sig   Ed25519 + ML-DSA-65 (FIPS 204)
  KEX            X25519 + ML-KEM-768 (FIPS 203)
  session enc    AES-256-CBC + HMAC-SHA-256 (unchanged from native RNS)
  KDF            HKDF-SHA-256 with explicit per-layer context strings:
                   PQRNS-LINK-v1
                   PQRNS-IDENTITY-SIG-v1
                   PQRNS-ANNOUNCE-SIG-v1
                   PQRNS-LINK-REKEY-v1

The paper at luxfi/papers/pq-rns/pq-rns.tex is the authoritative spec.
Implementation tracks the paper.

Composition: pairs with luxfi/zwing (TCP/IP transport) and luxfi/pqsafe
(file envelope). Carrier-agnostic; the PQSAFE envelope rides either
Z-Wing on TCP/IP or PQ-RNS on mesh / LoRa / packet radio / optical.
2026-05-12 18:00:01 -07:00
..