Crypto Interface Specification
Version: 0.1.0-draftOverview
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)
Required Modules
Implementations MUST include at minimum:| Module ID | Algorithms | Status |
|---|---|---|
pq-v1 | Dilithium + Kyber + AES-256-GCM + BLAKE3 | Default |
classical-v1 | Ed25519 + X25519 + AES-256-GCM + BLAKE3 | Legacy compatibility |
| Module ID | Algorithms | Status |
|---|---|---|
hybrid-v1 | Both PQ and classical (dual signatures) | Transition period |