├── .github ├── dependabot.yml └── workflows │ ├── dhkem.yml │ ├── frodo-kem.yml │ ├── ml-kem.yml │ ├── workspace.yml │ └── x-wing.yml ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── README.md ├── dhkem ├── CHANGELOG.md ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── src │ ├── ecdh_kem.rs │ ├── lib.rs │ └── x25519_kem.rs └── tests │ ├── hpke_p256_test.rs │ └── tests.rs ├── frodo-kem ├── .cargo │ └── config.toml ├── .gitignore ├── .pants-ignore ├── CHANGELOG.md ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── benches │ └── frodo.rs ├── src │ ├── error.rs │ ├── hazmat.rs │ ├── hazmat │ │ ├── models.rs │ │ └── traits.rs │ └── lib.rs └── tests │ ├── efrodoKAT │ ├── PQCkemKAT_19888.rsp │ ├── PQCkemKAT_19888_shake.rsp │ ├── PQCkemKAT_31296.rsp │ ├── PQCkemKAT_31296_shake.rsp │ ├── PQCkemKAT_43088.rsp │ ├── PQCkemKAT_43088_shake.rsp │ └── README.md │ ├── frodo.rs │ ├── frodoKAT │ ├── PQCkemKAT_19888.rsp │ ├── PQCkemKAT_19888_shake.rsp │ ├── PQCkemKAT_31296.rsp │ ├── PQCkemKAT_31296_shake.rsp │ ├── PQCkemKAT_43088.rsp │ ├── PQCkemKAT_43088_shake.rsp │ └── README.md │ ├── rng.rs │ └── rsp_reader.rs ├── ml-kem ├── CHANGELOG.md ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── benches │ └── mlkem.rs ├── src │ ├── algebra.rs │ ├── compress.rs │ ├── crypto.rs │ ├── encode.rs │ ├── kem.rs │ ├── lib.rs │ ├── param.rs │ ├── pkcs8.rs │ ├── pke.rs │ ├── traits.rs │ └── util.rs └── tests │ ├── README.md │ ├── encap-decap.json │ ├── encap-decap.rs │ ├── examples │ ├── ML-KEM-1024-seed.priv │ ├── ML-KEM-1024.pub │ ├── ML-KEM-512-seed.priv │ ├── ML-KEM-512.pub │ ├── ML-KEM-768-seed.priv │ └── ML-KEM-768.pub │ ├── key-gen.json │ ├── key-gen.rs │ └── pkcs8.rs └── x-wing ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md └── src ├── lib.rs └── test-vectors.json /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/dhkem.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/.github/workflows/dhkem.yml -------------------------------------------------------------------------------- /.github/workflows/frodo-kem.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/.github/workflows/frodo-kem.yml -------------------------------------------------------------------------------- /.github/workflows/ml-kem.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/.github/workflows/ml-kem.yml -------------------------------------------------------------------------------- /.github/workflows/workspace.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/.github/workflows/workspace.yml -------------------------------------------------------------------------------- /.github/workflows/x-wing.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/.github/workflows/x-wing.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/.gitignore -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/Cargo.toml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/README.md -------------------------------------------------------------------------------- /dhkem/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/dhkem/CHANGELOG.md -------------------------------------------------------------------------------- /dhkem/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/dhkem/Cargo.toml -------------------------------------------------------------------------------- /dhkem/LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/dhkem/LICENSE-APACHE -------------------------------------------------------------------------------- /dhkem/LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/dhkem/LICENSE-MIT -------------------------------------------------------------------------------- /dhkem/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/dhkem/README.md -------------------------------------------------------------------------------- /dhkem/src/ecdh_kem.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/dhkem/src/ecdh_kem.rs -------------------------------------------------------------------------------- /dhkem/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/dhkem/src/lib.rs -------------------------------------------------------------------------------- /dhkem/src/x25519_kem.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/dhkem/src/x25519_kem.rs -------------------------------------------------------------------------------- /dhkem/tests/hpke_p256_test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/dhkem/tests/hpke_p256_test.rs -------------------------------------------------------------------------------- /dhkem/tests/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/dhkem/tests/tests.rs -------------------------------------------------------------------------------- /frodo-kem/.cargo/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/.cargo/config.toml -------------------------------------------------------------------------------- /frodo-kem/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/.gitignore -------------------------------------------------------------------------------- /frodo-kem/.pants-ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/.pants-ignore -------------------------------------------------------------------------------- /frodo-kem/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/CHANGELOG.md -------------------------------------------------------------------------------- /frodo-kem/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/Cargo.toml -------------------------------------------------------------------------------- /frodo-kem/LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/LICENSE-APACHE -------------------------------------------------------------------------------- /frodo-kem/LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/LICENSE-MIT -------------------------------------------------------------------------------- /frodo-kem/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/README.md -------------------------------------------------------------------------------- /frodo-kem/benches/frodo.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/benches/frodo.rs -------------------------------------------------------------------------------- /frodo-kem/src/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/src/error.rs -------------------------------------------------------------------------------- /frodo-kem/src/hazmat.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/src/hazmat.rs -------------------------------------------------------------------------------- /frodo-kem/src/hazmat/models.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/src/hazmat/models.rs -------------------------------------------------------------------------------- /frodo-kem/src/hazmat/traits.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/src/hazmat/traits.rs -------------------------------------------------------------------------------- /frodo-kem/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/src/lib.rs -------------------------------------------------------------------------------- /frodo-kem/tests/efrodoKAT/PQCkemKAT_19888.rsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/tests/efrodoKAT/PQCkemKAT_19888.rsp -------------------------------------------------------------------------------- /frodo-kem/tests/efrodoKAT/PQCkemKAT_19888_shake.rsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/tests/efrodoKAT/PQCkemKAT_19888_shake.rsp -------------------------------------------------------------------------------- /frodo-kem/tests/efrodoKAT/PQCkemKAT_31296.rsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/tests/efrodoKAT/PQCkemKAT_31296.rsp -------------------------------------------------------------------------------- /frodo-kem/tests/efrodoKAT/PQCkemKAT_31296_shake.rsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/tests/efrodoKAT/PQCkemKAT_31296_shake.rsp -------------------------------------------------------------------------------- /frodo-kem/tests/efrodoKAT/PQCkemKAT_43088.rsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/tests/efrodoKAT/PQCkemKAT_43088.rsp -------------------------------------------------------------------------------- /frodo-kem/tests/efrodoKAT/PQCkemKAT_43088_shake.rsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/tests/efrodoKAT/PQCkemKAT_43088_shake.rsp -------------------------------------------------------------------------------- /frodo-kem/tests/efrodoKAT/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/tests/efrodoKAT/README.md -------------------------------------------------------------------------------- /frodo-kem/tests/frodo.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/tests/frodo.rs -------------------------------------------------------------------------------- /frodo-kem/tests/frodoKAT/PQCkemKAT_19888.rsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/tests/frodoKAT/PQCkemKAT_19888.rsp -------------------------------------------------------------------------------- /frodo-kem/tests/frodoKAT/PQCkemKAT_19888_shake.rsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/tests/frodoKAT/PQCkemKAT_19888_shake.rsp -------------------------------------------------------------------------------- /frodo-kem/tests/frodoKAT/PQCkemKAT_31296.rsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/tests/frodoKAT/PQCkemKAT_31296.rsp -------------------------------------------------------------------------------- /frodo-kem/tests/frodoKAT/PQCkemKAT_31296_shake.rsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/tests/frodoKAT/PQCkemKAT_31296_shake.rsp -------------------------------------------------------------------------------- /frodo-kem/tests/frodoKAT/PQCkemKAT_43088.rsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/tests/frodoKAT/PQCkemKAT_43088.rsp -------------------------------------------------------------------------------- /frodo-kem/tests/frodoKAT/PQCkemKAT_43088_shake.rsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/tests/frodoKAT/PQCkemKAT_43088_shake.rsp -------------------------------------------------------------------------------- /frodo-kem/tests/frodoKAT/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/tests/frodoKAT/README.md -------------------------------------------------------------------------------- /frodo-kem/tests/rng.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/tests/rng.rs -------------------------------------------------------------------------------- /frodo-kem/tests/rsp_reader.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/frodo-kem/tests/rsp_reader.rs -------------------------------------------------------------------------------- /ml-kem/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/CHANGELOG.md -------------------------------------------------------------------------------- /ml-kem/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/Cargo.toml -------------------------------------------------------------------------------- /ml-kem/LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/LICENSE-APACHE -------------------------------------------------------------------------------- /ml-kem/LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/LICENSE-MIT -------------------------------------------------------------------------------- /ml-kem/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/README.md -------------------------------------------------------------------------------- /ml-kem/benches/mlkem.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/benches/mlkem.rs -------------------------------------------------------------------------------- /ml-kem/src/algebra.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/src/algebra.rs -------------------------------------------------------------------------------- /ml-kem/src/compress.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/src/compress.rs -------------------------------------------------------------------------------- /ml-kem/src/crypto.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/src/crypto.rs -------------------------------------------------------------------------------- /ml-kem/src/encode.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/src/encode.rs -------------------------------------------------------------------------------- /ml-kem/src/kem.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/src/kem.rs -------------------------------------------------------------------------------- /ml-kem/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/src/lib.rs -------------------------------------------------------------------------------- /ml-kem/src/param.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/src/param.rs -------------------------------------------------------------------------------- /ml-kem/src/pkcs8.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/src/pkcs8.rs -------------------------------------------------------------------------------- /ml-kem/src/pke.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/src/pke.rs -------------------------------------------------------------------------------- /ml-kem/src/traits.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/src/traits.rs -------------------------------------------------------------------------------- /ml-kem/src/util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/src/util.rs -------------------------------------------------------------------------------- /ml-kem/tests/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/tests/README.md -------------------------------------------------------------------------------- /ml-kem/tests/encap-decap.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/tests/encap-decap.json -------------------------------------------------------------------------------- /ml-kem/tests/encap-decap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/tests/encap-decap.rs -------------------------------------------------------------------------------- /ml-kem/tests/examples/ML-KEM-1024-seed.priv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/tests/examples/ML-KEM-1024-seed.priv -------------------------------------------------------------------------------- /ml-kem/tests/examples/ML-KEM-1024.pub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/tests/examples/ML-KEM-1024.pub -------------------------------------------------------------------------------- /ml-kem/tests/examples/ML-KEM-512-seed.priv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/tests/examples/ML-KEM-512-seed.priv -------------------------------------------------------------------------------- /ml-kem/tests/examples/ML-KEM-512.pub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/tests/examples/ML-KEM-512.pub -------------------------------------------------------------------------------- /ml-kem/tests/examples/ML-KEM-768-seed.priv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/tests/examples/ML-KEM-768-seed.priv -------------------------------------------------------------------------------- /ml-kem/tests/examples/ML-KEM-768.pub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/tests/examples/ML-KEM-768.pub -------------------------------------------------------------------------------- /ml-kem/tests/key-gen.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/tests/key-gen.json -------------------------------------------------------------------------------- /ml-kem/tests/key-gen.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/tests/key-gen.rs -------------------------------------------------------------------------------- /ml-kem/tests/pkcs8.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/ml-kem/tests/pkcs8.rs -------------------------------------------------------------------------------- /x-wing/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/x-wing/Cargo.toml -------------------------------------------------------------------------------- /x-wing/LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/x-wing/LICENSE-APACHE -------------------------------------------------------------------------------- /x-wing/LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/x-wing/LICENSE-MIT -------------------------------------------------------------------------------- /x-wing/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/x-wing/README.md -------------------------------------------------------------------------------- /x-wing/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/x-wing/src/lib.rs -------------------------------------------------------------------------------- /x-wing/src/test-vectors.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustCrypto/KEMs/HEAD/x-wing/src/test-vectors.json --------------------------------------------------------------------------------