ocaml-noise is an OCaml implementation of the Noise Protocol Framework, revision 34.
Component | Supported |
|---|---|
DH | Curve25519 (X25519) |
AEAD ciphers | AES-256-GCM, ChaCha20-Poly1305 |
Hashes | SHA-256, SHA-512, BLAKE2s, BLAKE2b |
Patterns | all one-way (N, K, X), all 12 fundamental interactive, all 23 deferred |
Modifiers | single |
nix develop
dune runtest --forceRuns three tests:
test_vectors: 472 externally generated vectors from cacophony that cover each pattern * suite combination.test_negative: tests for malformed protocol names, truncated/corrupted/replayed messages, prologue and PSK mismatches, oversized messages, and state-machine misuse.test_roundtrip: full handshakes with freshly generated keys.