Commit Graph

498 Commits

Author SHA1 Message Date
Anjan Roy
45f0ceb299 Add Python script for parsing NIST ACVP KATs for ML-KEM keygen to local KAT format
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2025-09-20 21:06:44 +05:30
Anjan Roy
9ccaa5b1c8 Use a permissive license 2025-07-11 10:50:37 +05:30
Anjan Roy
c466968e42 Merge pull request #55 from itzmeanjan/bump-sha3-version
Bump dependency `sha3` to latest commit
2025-03-06 22:35:24 +04:00
Anjan Roy
6302be22e5 Prefer setting up google-test on github actions CI manually due to https://github.com/itzmeanjan/ml-kem/actions/runs/13701500559
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2025-03-06 20:04:23 +04:00
Anjan Roy
71e059d5da Update benchmark results
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2025-03-06 20:04:21 +04:00
Anjan Roy
98432f85d2 Pin RandomShake git submodule to latest commit
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2025-03-06 18:30:57 +04:00
Anjan Roy
68b112cc7f Pin sha3 git submodule to latest commit
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2025-03-06 18:29:00 +04:00
Anjan Roy
61cf680b1c Merge pull request #53 from itzmeanjan/use-randomshake-as-csprng
Switch to using "RandomShake" as CSPRNG
2024-11-21 20:18:07 +04:00
Anjan Roy
08d2b7bd12 Update project documentation
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-11-21 20:01:40 +04:00
Anjan Roy
a84b0664ad Add benchmark results in JSON format for multiple targets
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-11-21 20:01:38 +04:00
Anjan Roy
551c27645a Export benchmark results to JSON file
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-11-21 20:01:37 +04:00
Anjan Roy
8b538a8b9c Recursively clone all submodules inside "RandomShake" module
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-11-19 23:16:24 +04:00
Anjan Roy
5cf204e2ed Refactor variable names to be more verbose
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-11-19 23:06:28 +04:00
Anjan Roy
7356a9ede4 Do not include header what is not used
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-11-18 23:27:35 +04:00
Anjan Roy
274a25d821 Shorter name of github actions test
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-11-18 23:26:42 +04:00
Anjan Roy
343a800943 Refactor github actions file using AI 🤩
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-11-18 23:08:38 +04:00
Anjan Roy
eb4a8ea335 Run examples using Make command
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-11-18 22:19:51 +04:00
Anjan Roy
19512ecb53 Update example to use "RandomShake" as CSPRNG
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-11-18 22:19:09 +04:00
Anjan Roy
8437420c9e Switch to using "RandomShake" as CSPRNG
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-11-18 20:41:59 +04:00
Anjan Roy
9cd25955c8 Split Makefile into multiple units
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-11-18 20:17:23 +04:00
Anjan Roy
f1942886ec Bump version of sha3 dependency
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-11-18 11:10:05 +04:00
Anjan Roy
493ca3bee8 Add "RandomShake" as git submodule based dependency
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-11-18 11:09:11 +04:00
Anjan Roy
b43b819e88 Merge pull request #52 from itzmeanjan/conform-to-fips-203-standard
Conform to NIST Standard FIPS 203
2024-09-03 20:34:29 +04:00
Anjan Roy
a52a5de8b8 Change github actions linux runner image to ubuntu-24.04
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-09-02 23:38:32 +04:00
Anjan Roy
43aad07071 Update project documentation README
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-09-02 21:19:50 +04:00
Anjan Roy
0ab30f5200 Update in-code comments, referring to ML-KEM standard
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-09-02 20:41:18 +04:00
Anjan Roy
4621071758 Remove redundant header file include
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-09-02 19:42:47 +04:00
Anjan Roy
186b841633 Remove dudect -based constant-time tests
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-09-01 23:47:48 +04:00
Anjan Roy
5cb46afd16 Refactor KAT test runner functions, reducing lines of code
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-09-01 23:41:37 +04:00
Anjan Roy
53c0afa644 Declare lambda functions as constexpr
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-09-01 23:13:58 +04:00
Anjan Roy
0f2849520b Add new header, with MACRO definition, for ease of forcing inlining of small functions
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-09-01 23:09:17 +04:00
Anjan Roy
48c06432ee Update github actions script to run all combination of ASAN, UBSAN tests, with two compilers i.e. Clang and GCC
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-09-01 21:11:28 +04:00
Anjan Roy
30e0710c2e Add capability of running ASAN, UBSAN tests in both debug and release mode
Collects inspiration from bfa45f9f22/Makefile

Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-09-01 21:07:16 +04:00
Anjan Roy
05e92a0d45 Add utility functions for computing (preferably at compile-time) byte length of K-PKE keys and cipher text
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-09-01 20:48:21 +04:00
Anjan Roy
c9087f37ff Add domain separation in K-PKE key generation step
See section C.2 of https://doi.org/10.6028/NIST.FIPS.203

Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-09-01 20:38:36 +04:00
Anjan Roy
07883453dd Update Known Answer Test files
See gist @ https://gist.github.com/itzmeanjan/c8f5bc9640d0f0bdd2437dfe364d7710

Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-08-31 13:23:05 +04:00
Anjan Roy
f1d5f4d548 Merge pull request #51 from itzmeanjan/get-rid-of-kyber
Rename repository to `ml-kem`
2024-06-23 13:44:05 +04:00
Anjan Roy
223d4a0caa Rename repository to ml-kem
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-23 12:59:00 +04:00
Anjan Roy
b71107b038 Merge pull request #50 from itzmeanjan/test-encap-decap-failures
Test Encapsulation/ Decapsulation Failure Scenarios
2024-06-21 22:45:43 +04:00
Anjan Roy
08c8a5f1e8 Mention about constexpr capability of this library in the README
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-21 22:43:34 +04:00
Anjan Roy
5c66033c0a Update README file with names of new tests added
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-20 15:38:11 +04:00
Anjan Roy
cda537bb95 Trigger decapsulation failure by random bit-flipping cipher text - implicit rejection
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-20 11:05:12 +04:00
Anjan Roy
11655121cd Trigger encapsulation failure by providing with malformed (i.e. non-reduced) public key
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-20 11:05:10 +04:00
Anjan Roy
8b0e78ec99 Merge pull request #49 from itzmeanjan/conform-to-nist-fips-203-ipd
Conform to NIST FIPS-203 Draft Standard for ML-KEM
2024-06-18 22:03:47 +04:00
Anjan Roy
e2529a97ef Update benchmark results on all platforms
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-18 21:54:29 +04:00
Anjan Roy
a5aa2a2f11 Update project documentation, API usage example
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-18 21:09:07 +04:00
Anjan Roy
1884d75c3a Update LICENSE 2024-06-18 19:42:51 +04:00
Anjan Roy
91a86d4b3f Split ML-KEM benchmarks into their own files, based on security level
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-18 18:29:44 +04:00
Anjan Roy
bf6a22a872 Split ML-KEM KAT and property-based tests into their own files, based on security level
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-18 18:29:42 +04:00
Anjan Roy
69d50e5fee Correctly name test-cases
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-18 14:38:36 +04:00