60 Commits

Author SHA1 Message Date
Anjan Roy
5f391a8755 Move test utility function to anonymous namespace
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2026-03-02 12:16:16 +04:00
Anjan Roy
b07677fd6f Add ACVP kats for decapsulation failure (resulting in implicit rejection)
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2026-02-14 14:21:08 +04:00
Anjan Roy
eabc29e4e9 Update property based tests to correctly compute the shared secret when implicit rejection code path is triggered
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2026-02-14 12:30:35 +04:00
Anjan Roy
4b447730cd Check compile-time computed shared-secret when testing ml-kem
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2026-02-14 10:29:03 +04:00
Anjan Roy
dce3f966f8 Add constexpr test for all ml-kem variants
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2026-02-14 10:17:58 +04:00
Anjan Roy
d3a9fecd7d Refactor fuzzing code - add bash script for ease of running
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2026-02-12 13:49:18 +04:00
Anjan Roy
194c3b7c80 Migrate from make files to cmake
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2026-02-11 10:48:57 +04:00
Anjan Roy
42ca5a0d61 Disable leak detection in asan test - macos with aarch64 does not support it
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2026-02-09 11:42:33 +04:00
Anjan Roy
b23c8aa491 Minor refactor to fuzzing related infra, doc and in its targets
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2026-02-09 11:40:27 +04:00
Anjan Roy
3b7fa65023 Fuzz keygen, encaps, decaps for three security levels separately
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2026-02-09 10:30:21 +04:00
Anjan Roy
e6b533c45b Mark variable unused in known answer testing
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2026-02-09 07:21:53 +04:00
Anjan Roy
c619cf2a17 Make recipes are now parallelism friendly (again)
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2026-02-08 18:27:23 +04:00
Anjan Roy
1ff0d50f04 Rename test files and format decapsulation fuzz file too
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2026-02-08 16:21:20 +04:00
Anjan Roy
0a63377239 Refactor testing - add fuzzing using llvm libFuzzer
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2026-02-08 15:47:24 +04:00
Anjan Roy
b1033331c3 Modifications to use latest version of RandomSHAKE CSPRNG API
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2025-11-17 18:13:27 +05:30
Anjan Roy
86d22d4c11 Merge all Known Answer Tests into a single file
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2025-09-23 09:59:34 +05:30
Anjan Roy
82bc552e4e Add tests for checking, bad secret-key must fail to successfully decapsulate shared secret, against ACVP KATs
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2025-09-23 09:25:57 +05:30
Anjan Roy
38d8088793 Give variables more appropriate name
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2025-09-23 09:14:11 +05:30
Anjan Roy
7ccf9630fe Add tests for checking encaps implementation against ACVP KATs
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2025-09-22 21:34:21 +05:30
Anjan Roy
43c7e02b4f Add tests for checking keygen implementation against ACVP KATs
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2025-09-22 20:47:34 +05:30
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
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
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
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
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
Anjan Roy
eef069f78b Refactor NTT and polynomial multiplication in NTT domain
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-18 13:03:27 +04:00
Anjan Roy
bf4863f1d8 Rename prime field arithmetic namespace to be more collision resistant
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-18 12:20:06 +04:00
Anjan Roy
a1f0ca56b5 Rename PRNG namespace to be more collision resistant
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-18 12:12:51 +04:00
Anjan Roy
cd0a3bd25b Rename public header files (along with namespaces) for ML-KEM
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-18 12:09:32 +04:00
Anjan Roy
0d0a151a64 Refactor PKE and KEM implementation
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-18 11:41:43 +04:00
Anjan Roy
df2139ba0f Refactor PRNG implementation to take bit_security_level as a template parameter
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-17 12:14:19 +04:00
Anjan Roy
f26d6e06ea Extract out functions for conversion between hex-string and byte-array, from core library logic
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-17 11:57:54 +04:00
Anjan Roy
bb8ef1e8d6 Rename constants, holding byte length information, to be more evident
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-17 11:10:53 +04:00
Anjan Roy
726b147dad Replace all links to round-3 Kyber specification with link of draft standard FIPS 203 from NIST
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-16 13:25:26 +04:00
Anjan Roy
0cd704b3d8 Change the directory structure of source tree
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-16 13:23:37 +04:00
Anjan Roy
d750b3cc83 Update tests, for now ignore return value of encaps function
We don't have sufficient tests to trigger this code-path.

Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-14 21:21:48 +04:00
Anjan Roy
ac836bbc49 Update tests to conform to new encaps/ decaps API
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-13 21:22:59 +04:00
Anjan Roy
10819b571f reduce number of measurements during each dudect sample collection iteration
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-01-24 20:00:53 +04:00
Anjan Roy
3376972acf use XOR operation (instead of AND) for mixing function return value well enough
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-01-24 19:59:42 +04:00
Anjan Roy
02bfcd5839 add console log message if dudect timing leakage is detected
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-01-13 13:26:13 +04:00
Anjan Roy
1bf3d6432d add dudect based timing leakage tests for kyber1024 KEM
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-21 09:14:39 +04:00
Anjan Roy
af36cb943c add timing leakage tests for kyber768 KEM
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-21 09:13:07 +04:00
Anjan Roy
28196dd689 update how dudect tests are executed
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-21 09:11:45 +04:00
Anjan Roy
9a621ff146 integrate dudect based all timing leakage tests under single test scenario
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-20 23:46:46 +04:00
Anjan Roy
2a7bbfd89c test whether internal functions of Kyber512 KEM are timing leakage free or not
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-20 22:52:02 +04:00
Anjan Roy
06fae52a49 test whether sampling of secret polynomial vector is timing leakage free or not
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-20 16:23:46 +04:00