package noise

  1. Overview
  2. Docs

ocaml-noise

CI

ocaml-noise is an OCaml implementation of the Noise Protocol Framework, revision 34.

Supported algorithms

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 pskN (e.g. NNpsk0, XXpsk3)

Testing

nix develop
dune runtest --force

Runs 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.