package noise
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
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.
README
ocaml-noise
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 |
Testing
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.
Dependencies (5)
-
digestif
>= "1.3" -
mirage-crypto-ec
>= "2.0" -
mirage-crypto
>= "2.0" -
ocaml
>= "5.0" -
dune
>= "3.17"
Dev Dependencies (5)
-
odoc
with-doc -
ohex
with-test & >= "0.2" -
yojson
with-test & >= "2.0" -
alcotest
with-test & >= "1.0" -
mirage-crypto-rng
with-test & >= "2.0"
Used by
None
Conflicts
None
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page