Skip to content

raquentin/ocaml-noise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

🔊 an impl of the Noise Protocol Framework in OCaml

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks