Overview
NTL defines a cryptographic module interface that all signing, verification, encryption, and key exchange operations MUST go through. No cryptographic algorithm is hardcoded into the protocol.Interface
Implementations MUST provide a module that satisfies this interface:Module Negotiation
During synapse handshake, nodes exchange their supported crypto module IDs. The synapse MUST use a mutually supported module. If no common module exists, the synapse formation MUST fail. Priority order for module selection:- Both nodes’ preferred module (if same)
- Highest-versioned mutually supported module
- Failure (no common module)
Modules
An implementation MUST provide
classical-v1 — it is the floor that makes two
arbitrary nodes able to negotiate anything at all.
The point of this interface is that the choice is not baked into the protocol —
not that any particular module already exists. Post-quantum readiness means a
node can adopt pq-v1 without a wire-format change, which holds today.