package noise

  1. Overview
  2. Docs
An OCaml implementation of the Noise Protocol Framework (rev 34)

Install

dune-project
 Dependency

Authors

Maintainers

Sources

noise-0.1.0.tbz
sha256=fcd0da39248e25d9c96405d665d2a019b981449967611e1f41aa026c75af9ecc
sha512=450557c5ccb8cc0efb026574918466c59b2585f8c138b873b7501dae129ac21ebb197555ea27839f6f03bb90112055e84d22d051d3989cac3532b2468526b9cd

doc/README.html

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)

Any protocol name combining the above works, e.g. Noise_XX_25519_ChaChaPoly_BLAKE2s.

Testing

nix develop
dune runtest --force

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