package noise

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

Install

dune-project
 Dependency

Authors

Maintainers

Sources

noise-v0.2.0.tbz
sha256=3970103d44c960cd97a44f571079d0b04c170874a89f8fb1c9cd94ff912952db
sha512=fb5ffc7e3156532444556caf702d14180c94b08f12bd1b7db9febee4a16100868b73b31ff668f09bcfae5de04e973ecc1c4e83cf7630eaa4fd19afecebe5333b

Description

noise implements the Noise Protocol Framework (https://noiseprotocol.org/) in OCaml. It supports Curve25519 DH, AES-256-GCM and ChaCha20-Poly1305 ciphers, SHA-256, SHA-512, BLAKE2s and BLAKE2b hashes, all fundamental and deferred handshake patterns, and PSK modifiers.

Tags

cryptography networking

Added to opam-repository:

README

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.

Dependencies (5)

  1. digestif >= "1.3"
  2. mirage-crypto-ec >= "2.0"
  3. mirage-crypto >= "2.0"
  4. ocaml >= "5.0"
  5. dune >= "3.17"

Dev Dependencies (5)

  1. odoc with-doc
  2. ohex with-test & >= "0.2"
  3. yojson with-test & >= "2.0"
  4. alcotest with-test & >= "1.0"
  5. mirage-crypto-rng with-test & >= "2.0"

Used by

None

Conflicts

None