├── .github └── workflows │ └── pr-tests.yml ├── .gitignore ├── CONTRIBUTING.md ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── README.md ├── SECURITY.md ├── examples ├── basic_dual_layer.rs ├── basic_hybrid.rs ├── basic_no_getrandom.rs ├── basic_nq.rs ├── basic_pq.rs ├── custom_crypto.rs └── psk.rs ├── fuzz-all.sh ├── fuzz ├── .gitignore ├── Cargo.toml ├── README.md └── fuzz_targets │ ├── nq_handshake_payload.rs │ ├── nq_handshake_read.rs │ ├── nq_transport.rs │ ├── pq_handshake_payload.rs │ ├── pq_handshake_read.rs │ └── pq_transport.rs ├── pre-commit.sh ├── rustfmt.toml ├── src ├── bytearray.rs ├── cipherstate.rs ├── constants.rs ├── crypto_impl │ ├── aes.rs │ ├── blake2.rs │ ├── chacha.rs │ ├── mod.rs │ ├── pqclean_ml_kem.rs │ ├── random.rs │ ├── rust_crypto_ml_kem.rs │ ├── sha.rs │ └── x25519.rs ├── error.rs ├── handshakepattern.rs ├── handshakestate │ ├── dual_layer.rs │ ├── hybrid.rs │ ├── hybrid_dual_layer.rs │ ├── mod.rs │ ├── nq.rs │ └── pq.rs ├── lib.rs ├── symmetricstate.rs ├── traits.rs └── transportstate.rs ├── test.sh ├── tests ├── Cargo.toml └── src │ ├── lib.rs │ ├── no_getrandom_smoke.rs │ └── smoke.rs └── vectors ├── Cargo.toml ├── README.md ├── build.rs ├── cacophony.txt ├── snow.txt └── src ├── lib.rs └── vectors.rs /.github/workflows/pr-tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/.github/workflows/pr-tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/README.md -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/SECURITY.md -------------------------------------------------------------------------------- /examples/basic_dual_layer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/examples/basic_dual_layer.rs -------------------------------------------------------------------------------- /examples/basic_hybrid.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/examples/basic_hybrid.rs -------------------------------------------------------------------------------- /examples/basic_no_getrandom.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/examples/basic_no_getrandom.rs -------------------------------------------------------------------------------- /examples/basic_nq.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/examples/basic_nq.rs -------------------------------------------------------------------------------- /examples/basic_pq.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/examples/basic_pq.rs -------------------------------------------------------------------------------- /examples/custom_crypto.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/examples/custom_crypto.rs -------------------------------------------------------------------------------- /examples/psk.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/examples/psk.rs -------------------------------------------------------------------------------- /fuzz-all.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/fuzz-all.sh -------------------------------------------------------------------------------- /fuzz/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | corpus 3 | artifacts 4 | coverage 5 | -------------------------------------------------------------------------------- /fuzz/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/fuzz/Cargo.toml -------------------------------------------------------------------------------- /fuzz/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/fuzz/README.md -------------------------------------------------------------------------------- /fuzz/fuzz_targets/nq_handshake_payload.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/fuzz/fuzz_targets/nq_handshake_payload.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/nq_handshake_read.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/fuzz/fuzz_targets/nq_handshake_read.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/nq_transport.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/fuzz/fuzz_targets/nq_transport.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/pq_handshake_payload.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/fuzz/fuzz_targets/pq_handshake_payload.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/pq_handshake_read.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/fuzz/fuzz_targets/pq_handshake_read.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/pq_transport.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/fuzz/fuzz_targets/pq_transport.rs -------------------------------------------------------------------------------- /pre-commit.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/pre-commit.sh -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/rustfmt.toml -------------------------------------------------------------------------------- /src/bytearray.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/bytearray.rs -------------------------------------------------------------------------------- /src/cipherstate.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/cipherstate.rs -------------------------------------------------------------------------------- /src/constants.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/constants.rs -------------------------------------------------------------------------------- /src/crypto_impl/aes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/crypto_impl/aes.rs -------------------------------------------------------------------------------- /src/crypto_impl/blake2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/crypto_impl/blake2.rs -------------------------------------------------------------------------------- /src/crypto_impl/chacha.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/crypto_impl/chacha.rs -------------------------------------------------------------------------------- /src/crypto_impl/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/crypto_impl/mod.rs -------------------------------------------------------------------------------- /src/crypto_impl/pqclean_ml_kem.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/crypto_impl/pqclean_ml_kem.rs -------------------------------------------------------------------------------- /src/crypto_impl/random.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/crypto_impl/random.rs -------------------------------------------------------------------------------- /src/crypto_impl/rust_crypto_ml_kem.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/crypto_impl/rust_crypto_ml_kem.rs -------------------------------------------------------------------------------- /src/crypto_impl/sha.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/crypto_impl/sha.rs -------------------------------------------------------------------------------- /src/crypto_impl/x25519.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/crypto_impl/x25519.rs -------------------------------------------------------------------------------- /src/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/error.rs -------------------------------------------------------------------------------- /src/handshakepattern.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/handshakepattern.rs -------------------------------------------------------------------------------- /src/handshakestate/dual_layer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/handshakestate/dual_layer.rs -------------------------------------------------------------------------------- /src/handshakestate/hybrid.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/handshakestate/hybrid.rs -------------------------------------------------------------------------------- /src/handshakestate/hybrid_dual_layer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/handshakestate/hybrid_dual_layer.rs -------------------------------------------------------------------------------- /src/handshakestate/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/handshakestate/mod.rs -------------------------------------------------------------------------------- /src/handshakestate/nq.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/handshakestate/nq.rs -------------------------------------------------------------------------------- /src/handshakestate/pq.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/handshakestate/pq.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/symmetricstate.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/symmetricstate.rs -------------------------------------------------------------------------------- /src/traits.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/traits.rs -------------------------------------------------------------------------------- /src/transportstate.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/src/transportstate.rs -------------------------------------------------------------------------------- /test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/test.sh -------------------------------------------------------------------------------- /tests/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/tests/Cargo.toml -------------------------------------------------------------------------------- /tests/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/tests/src/lib.rs -------------------------------------------------------------------------------- /tests/src/no_getrandom_smoke.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/tests/src/no_getrandom_smoke.rs -------------------------------------------------------------------------------- /tests/src/smoke.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/tests/src/smoke.rs -------------------------------------------------------------------------------- /vectors/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/vectors/Cargo.toml -------------------------------------------------------------------------------- /vectors/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/vectors/README.md -------------------------------------------------------------------------------- /vectors/build.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/vectors/build.rs -------------------------------------------------------------------------------- /vectors/cacophony.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/vectors/cacophony.txt -------------------------------------------------------------------------------- /vectors/snow.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/vectors/snow.txt -------------------------------------------------------------------------------- /vectors/src/lib.rs: -------------------------------------------------------------------------------- 1 | // Stuff generated by build.rs messes up clippy 2 | #[allow(unused)] 3 | mod vectors; 4 | -------------------------------------------------------------------------------- /vectors/src/vectors.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmlepisto/clatter/HEAD/vectors/src/vectors.rs --------------------------------------------------------------------------------