├── .gitignore ├── .ocamlformat ├── .travis.yml ├── CHANGES.md ├── CODE_OF_CONDUCT.md ├── LICENSE.md ├── README.md ├── chacha20 ├── lib │ ├── chacha20.ml │ ├── chacha20.mli │ └── dune └── test │ ├── .ocamlformat │ ├── dune │ ├── test_all.ml │ └── test_all.mli ├── dune-project ├── lib ├── cipher.ml ├── cipher.mli ├── cipher_aes_gcm.ml ├── cipher_aes_gcm.mli ├── cipher_chacha_poly.ml ├── cipher_chacha_poly.mli ├── cipher_state.ml ├── cipher_state.mli ├── dh.ml ├── dh.mli ├── dh_25519.ml ├── dh_25519.mli ├── dh_448.ml ├── dh_448.mli ├── dune ├── hash.ml ├── hash.mli ├── hkdf.ml ├── hkdf.mli ├── pattern.ml ├── pattern.mli ├── private_key.ml ├── private_key.mli ├── protocol.ml ├── protocol.mli ├── public_key.ml ├── public_key.mli ├── state.ml ├── state.mli ├── symmetric_state.ml ├── symmetric_state.mli ├── util.ml └── util.mli ├── noise.opam ├── test ├── .ocamlformat ├── bench │ ├── bench.ml │ └── dune ├── examples │ ├── dune │ ├── noise_demo_one_way.expected │ ├── noise_demo_one_way.ml │ ├── noise_demo_one_way.mli │ ├── noise_demo_two_way.expected │ ├── noise_demo_two_way.ml │ └── noise_demo_two_way.mli ├── helpers │ ├── dune │ ├── hex_string.ml │ ├── hex_string.mli │ ├── infix.ml │ └── infix.mli ├── unit │ ├── dune │ ├── test_all.ml │ ├── test_cipher.ml │ ├── test_cipher.mli │ ├── test_cipher_aes_gcm.ml │ ├── test_cipher_aes_gcm.mli │ ├── test_cipher_chacha_poly.ml │ ├── test_cipher_chacha_poly.mli │ ├── test_cipher_state.ml │ ├── test_cipher_state.mli │ ├── test_dh.ml │ ├── test_dh.mli │ ├── test_dh_25519.ml │ ├── test_dh_25519.mli │ ├── test_hash.ml │ ├── test_hash.mli │ ├── test_hkdf.ml │ ├── test_hkdf.mli │ ├── test_pattern.ml │ └── test_pattern.mli └── vectors │ ├── README.md │ ├── cacophony.txt │ ├── dune │ ├── noise-c-basic.txt │ ├── test_vectors.ml │ └── test_vectors.mli └── tweetnacl ├── lib ├── dune ├── tweetnacl.c ├── tweetnacl.h ├── tweetnacl.ml ├── tweetnacl.mli └── tweetnacl_stubs.c └── test ├── .ocamlformat ├── dune ├── test_all.ml └── test_all.mli /.gitignore: -------------------------------------------------------------------------------- 1 | _build 2 | .merlin 3 | *.install 4 | -------------------------------------------------------------------------------- /.ocamlformat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/.ocamlformat -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/.travis.yml -------------------------------------------------------------------------------- /CHANGES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/CHANGES.md -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/README.md -------------------------------------------------------------------------------- /chacha20/lib/chacha20.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/chacha20/lib/chacha20.ml -------------------------------------------------------------------------------- /chacha20/lib/chacha20.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/chacha20/lib/chacha20.mli -------------------------------------------------------------------------------- /chacha20/lib/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/chacha20/lib/dune -------------------------------------------------------------------------------- /chacha20/test/.ocamlformat: -------------------------------------------------------------------------------- 1 | disable=true 2 | -------------------------------------------------------------------------------- /chacha20/test/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/chacha20/test/dune -------------------------------------------------------------------------------- /chacha20/test/test_all.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/chacha20/test/test_all.ml -------------------------------------------------------------------------------- /chacha20/test/test_all.mli: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dune-project: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/dune-project -------------------------------------------------------------------------------- /lib/cipher.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/cipher.ml -------------------------------------------------------------------------------- /lib/cipher.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/cipher.mli -------------------------------------------------------------------------------- /lib/cipher_aes_gcm.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/cipher_aes_gcm.ml -------------------------------------------------------------------------------- /lib/cipher_aes_gcm.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/cipher_aes_gcm.mli -------------------------------------------------------------------------------- /lib/cipher_chacha_poly.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/cipher_chacha_poly.ml -------------------------------------------------------------------------------- /lib/cipher_chacha_poly.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/cipher_chacha_poly.mli -------------------------------------------------------------------------------- /lib/cipher_state.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/cipher_state.ml -------------------------------------------------------------------------------- /lib/cipher_state.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/cipher_state.mli -------------------------------------------------------------------------------- /lib/dh.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/dh.ml -------------------------------------------------------------------------------- /lib/dh.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/dh.mli -------------------------------------------------------------------------------- /lib/dh_25519.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/dh_25519.ml -------------------------------------------------------------------------------- /lib/dh_25519.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/dh_25519.mli -------------------------------------------------------------------------------- /lib/dh_448.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/dh_448.ml -------------------------------------------------------------------------------- /lib/dh_448.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/dh_448.mli -------------------------------------------------------------------------------- /lib/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/dune -------------------------------------------------------------------------------- /lib/hash.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/hash.ml -------------------------------------------------------------------------------- /lib/hash.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/hash.mli -------------------------------------------------------------------------------- /lib/hkdf.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/hkdf.ml -------------------------------------------------------------------------------- /lib/hkdf.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/hkdf.mli -------------------------------------------------------------------------------- /lib/pattern.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/pattern.ml -------------------------------------------------------------------------------- /lib/pattern.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/pattern.mli -------------------------------------------------------------------------------- /lib/private_key.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/private_key.ml -------------------------------------------------------------------------------- /lib/private_key.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/private_key.mli -------------------------------------------------------------------------------- /lib/protocol.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/protocol.ml -------------------------------------------------------------------------------- /lib/protocol.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/protocol.mli -------------------------------------------------------------------------------- /lib/public_key.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/public_key.ml -------------------------------------------------------------------------------- /lib/public_key.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/public_key.mli -------------------------------------------------------------------------------- /lib/state.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/state.ml -------------------------------------------------------------------------------- /lib/state.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/state.mli -------------------------------------------------------------------------------- /lib/symmetric_state.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/symmetric_state.ml -------------------------------------------------------------------------------- /lib/symmetric_state.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/symmetric_state.mli -------------------------------------------------------------------------------- /lib/util.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/util.ml -------------------------------------------------------------------------------- /lib/util.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/lib/util.mli -------------------------------------------------------------------------------- /noise.opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/noise.opam -------------------------------------------------------------------------------- /test/.ocamlformat: -------------------------------------------------------------------------------- 1 | disable=true 2 | -------------------------------------------------------------------------------- /test/bench/bench.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/bench/bench.ml -------------------------------------------------------------------------------- /test/bench/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/bench/dune -------------------------------------------------------------------------------- /test/examples/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/examples/dune -------------------------------------------------------------------------------- /test/examples/noise_demo_one_way.expected: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/examples/noise_demo_one_way.expected -------------------------------------------------------------------------------- /test/examples/noise_demo_one_way.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/examples/noise_demo_one_way.ml -------------------------------------------------------------------------------- /test/examples/noise_demo_one_way.mli: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/examples/noise_demo_two_way.expected: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/examples/noise_demo_two_way.expected -------------------------------------------------------------------------------- /test/examples/noise_demo_two_way.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/examples/noise_demo_two_way.ml -------------------------------------------------------------------------------- /test/examples/noise_demo_two_way.mli: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/helpers/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/helpers/dune -------------------------------------------------------------------------------- /test/helpers/hex_string.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/helpers/hex_string.ml -------------------------------------------------------------------------------- /test/helpers/hex_string.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/helpers/hex_string.mli -------------------------------------------------------------------------------- /test/helpers/infix.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/helpers/infix.ml -------------------------------------------------------------------------------- /test/helpers/infix.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/helpers/infix.mli -------------------------------------------------------------------------------- /test/unit/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/unit/dune -------------------------------------------------------------------------------- /test/unit/test_all.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/unit/test_all.ml -------------------------------------------------------------------------------- /test/unit/test_cipher.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/unit/test_cipher.ml -------------------------------------------------------------------------------- /test/unit/test_cipher.mli: -------------------------------------------------------------------------------- 1 | val suite : OUnit2.test 2 | -------------------------------------------------------------------------------- /test/unit/test_cipher_aes_gcm.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/unit/test_cipher_aes_gcm.ml -------------------------------------------------------------------------------- /test/unit/test_cipher_aes_gcm.mli: -------------------------------------------------------------------------------- 1 | val suite : OUnit2.test 2 | -------------------------------------------------------------------------------- /test/unit/test_cipher_chacha_poly.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/unit/test_cipher_chacha_poly.ml -------------------------------------------------------------------------------- /test/unit/test_cipher_chacha_poly.mli: -------------------------------------------------------------------------------- 1 | val suite : OUnit2.test 2 | -------------------------------------------------------------------------------- /test/unit/test_cipher_state.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/unit/test_cipher_state.ml -------------------------------------------------------------------------------- /test/unit/test_cipher_state.mli: -------------------------------------------------------------------------------- 1 | val suite : OUnit2.test 2 | -------------------------------------------------------------------------------- /test/unit/test_dh.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/unit/test_dh.ml -------------------------------------------------------------------------------- /test/unit/test_dh.mli: -------------------------------------------------------------------------------- 1 | val suite : OUnit2.test 2 | -------------------------------------------------------------------------------- /test/unit/test_dh_25519.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/unit/test_dh_25519.ml -------------------------------------------------------------------------------- /test/unit/test_dh_25519.mli: -------------------------------------------------------------------------------- 1 | val suite : OUnit2.test 2 | -------------------------------------------------------------------------------- /test/unit/test_hash.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/unit/test_hash.ml -------------------------------------------------------------------------------- /test/unit/test_hash.mli: -------------------------------------------------------------------------------- 1 | val suite : OUnit2.test 2 | -------------------------------------------------------------------------------- /test/unit/test_hkdf.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/unit/test_hkdf.ml -------------------------------------------------------------------------------- /test/unit/test_hkdf.mli: -------------------------------------------------------------------------------- 1 | val suite : OUnit2.test 2 | -------------------------------------------------------------------------------- /test/unit/test_pattern.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/unit/test_pattern.ml -------------------------------------------------------------------------------- /test/unit/test_pattern.mli: -------------------------------------------------------------------------------- 1 | val suite : OUnit2.test 2 | -------------------------------------------------------------------------------- /test/vectors/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/vectors/README.md -------------------------------------------------------------------------------- /test/vectors/cacophony.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/vectors/cacophony.txt -------------------------------------------------------------------------------- /test/vectors/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/vectors/dune -------------------------------------------------------------------------------- /test/vectors/noise-c-basic.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/vectors/noise-c-basic.txt -------------------------------------------------------------------------------- /test/vectors/test_vectors.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/test/vectors/test_vectors.ml -------------------------------------------------------------------------------- /test/vectors/test_vectors.mli: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tweetnacl/lib/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/tweetnacl/lib/dune -------------------------------------------------------------------------------- /tweetnacl/lib/tweetnacl.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/tweetnacl/lib/tweetnacl.c -------------------------------------------------------------------------------- /tweetnacl/lib/tweetnacl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/tweetnacl/lib/tweetnacl.h -------------------------------------------------------------------------------- /tweetnacl/lib/tweetnacl.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/tweetnacl/lib/tweetnacl.ml -------------------------------------------------------------------------------- /tweetnacl/lib/tweetnacl.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/tweetnacl/lib/tweetnacl.mli -------------------------------------------------------------------------------- /tweetnacl/lib/tweetnacl_stubs.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/tweetnacl/lib/tweetnacl_stubs.c -------------------------------------------------------------------------------- /tweetnacl/test/.ocamlformat: -------------------------------------------------------------------------------- 1 | disable=true 2 | -------------------------------------------------------------------------------- /tweetnacl/test/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/tweetnacl/test/dune -------------------------------------------------------------------------------- /tweetnacl/test/test_all.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emillon/ocaml-noise/HEAD/tweetnacl/test/test_all.ml -------------------------------------------------------------------------------- /tweetnacl/test/test_all.mli: -------------------------------------------------------------------------------- 1 | --------------------------------------------------------------------------------