Commit Graph

424 Commits

Author SHA1 Message Date
Anjan Roy
803f7e1e89 Update KAT files to conform to standard branch of Kyber reference implementation repo
See https://gist.github.com/itzmeanjan/c8f5bc9640d0f0bdd2437dfe364d7710
KAT files were generated at d1321ce5ac

Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-06-13 19:32:34 +04:00
Anjan Roy
8f2aae4636 Merge pull request #48 from itzmeanjan/update-ct-tests
Improve the State of Constant-Time Tests
2024-01-24 20:21:24 +04:00
Anjan Roy
7add490b4d update instructions for running constant-time tests
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-01-24 20:09:25 +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
2521d598c3 just build dudect -based constant-time tests, instead of running them using Make recipe
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-01-24 19:56:48 +04:00
Anjan Roy
d04f259455 Merge pull request #47 from itzmeanjan/bump-sha3-to-latest
Bump `sha3` to latest commit
2024-01-22 20:14:19 +04:00
Anjan Roy
9d9a07239c update Github Actions script to use latest version v4
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-01-22 19:38:08 +04:00
Anjan Roy
ecf5f7acb9 add/ update benchmark results
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-01-22 19:35:54 +04:00
Anjan Roy
f651e68253 ensure that submodule fetch commands are run while respecting dependency chain
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-01-22 19:28:17 +04:00
Anjan Roy
43d04c28f1 ensure that submodule based dependency is correctly downloaded always
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-01-22 19:20:03 +04:00
Anjan Roy
6f9f57a588 pin git submodule based dependency sha3 to latest commit
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-01-22 19:07:27 +04:00
Anjan Roy
caac4e2c41 use gtest-parallel to run tests in parallel
Collects inspiration from cb4527c8ed

Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-01-22 19:03:30 +04:00
Anjan Roy
ebb86900ab Merge pull request #46 from itzmeanjan/update-dudect
Update `dudect` - timing leakage checker
2024-01-13 13:40:20 +04:00
Anjan Roy
6650298541 update dudect to latest commit
Why it is important ? Read https://github.com/oreparaz/dudect/pull/30

Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-01-13 13:28:41 +04:00
Anjan Roy
566011480f run multiple dudect binaries in parallel 🤩
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2024-01-13 13:26:58 +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
5be3dca6e7 Merge pull request #45 from itzmeanjan/collect-rdtsc-on-x86
Collect RDTSC on x64_64
2023-12-28 23:36:21 +04:00
Anjan Roy
ddd4171717 update benchmark results
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-28 23:30:36 +04:00
Anjan Roy
cba633265a collect cpu ticks on x86_64 targets, using RDTSC instruction
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-28 22:36:01 +04:00
Anjan Roy
caf3cd1174 fix *G*ithub *F*lavoured *M*arkdown not rendering issue
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-21 17:16:32 +04:00
Anjan Roy
17cd973d60 Merge pull request #43 from itzmeanjan/integrate-dudect
Make it Constant-Time
2023-12-21 17:14:54 +04:00
Anjan Roy
ace1a3c7e0 mention about availability of dudect based timing leakage test
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-21 17:04:06 +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
7e5f3a7603 explicitly declare common type
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-21 00:11:11 +04:00
Anjan Roy
a62ad394ad make it easy to run all dudect binaries
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-21 00:00:11 +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
3bda8f9ec8 rename functions for sake of better readability
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-20 23:45:37 +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
3551f37afd refactor constant-time {byte array comparison and conditional memcpy} into their own functions
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-20 20:03:30 +04:00
Anjan Roy
260957590a don't rely on result on comparison operator for reducing by prime modulus
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-20 17:33:13 +04:00
Anjan Roy
1d16c8ec3e get rid of division by non-power-of-2 value
See issue https://github.com/itzmeanjan/kyber/issues/41

Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-20 17:32:20 +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
Anjan Roy
b5c9a95543 add dudect based constant-timeness test for kyber512 KEM
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-17 21:13:43 +04:00
Anjan Roy
f4ce1d2adc setup build infra for dudect based constant-time testing
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-17 21:13:08 +04:00
Anjan Roy
dde96f4e79 use function parameters, instead of template parameters for computing keypair and cipher text byte length
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-17 20:25:24 +04:00
Anjan Roy
4775a10451 add dudect as git submodule based dependency
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-17 17:47:22 +04:00
Anjan Roy
0d7b6322d4 Merge pull request #42 from itzmeanjan/add-asan-msan-ubsan
Add ASAN, UBSAN
2023-12-17 17:18:03 +04:00
Anjan Roy
a1d92dd368 update benchmark results
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-17 16:36:41 +04:00
Anjan Roy
de19f1e77a run both *address* and *undefined-behaviour* sanitizer tests on Github Actions CI
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-17 13:13:03 +04:00
Anjan Roy
67a41dc1ec when benchmarking also measure minimum and maximum execution time
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-17 13:09:41 +04:00
Anjan Roy
aee334b648 add option for building tests with *undefined-behaviour-sanitizer* enabled, while removing *memory-sanitizer*
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-17 12:58:18 +04:00
Anjan Roy
38330bcc18 add option for building tests with *memory-sanitizer* enabled
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-17 12:34:48 +04:00
Anjan Roy
d63a6453bb add option for building tests with *address-sanitizer* enabled
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-17 12:22:30 +04:00
Anjan Roy
cd26dbe9c4 Merge pull request #40 from itzmeanjan/use-lesser-mod-reduce
Optimize Prime Field Arithmetic
2023-12-05 23:17:51 +04:00
Anjan Roy
ddb0021f37 update benchmark results
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-05 23:13:55 +04:00
Anjan Roy
b27c9d52e4 address issue with initialization of the "git submodule"
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-05 23:13:54 +04:00
Anjan Roy
4f76fa36fd increase number of benchmark repetitions
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-05 23:13:51 +04:00