542 Commits

Author SHA1 Message Date
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
Anjan Roy
13f5c5efbb correct link to the example program in project documentation
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-05 22:26:06 +04:00
Anjan Roy
ce3ba6ed56 reformat source tree with increased *ColumnLimit*
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-05 22:22:08 +04:00
Anjan Roy
1febce46ca bump git submodule based dependency sha3 to latest commit
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-05 22:22:07 +04:00
Anjan Roy
0fbad23ae4 update github actions CI script
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-05 22:22:05 +04:00
Anjan Roy
77f65777a5 random shuffle execution of tests with current time based seeding
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-05 22:22:04 +04:00
Anjan Roy
5ee6e4b712 refactor prime field arithmetic
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-12-05 22:22:02 +04:00
Anjan Roy
c7e0d0e7a8 fix small typo to render github flavoured markdown
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-11-24 10:37:53 +05:30
Anjan Roy
b145c0cca2 update README so that it renders properly
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-11-24 10:35:36 +05:30
Anjan Roy
60010d7db6 update makefile to automate importing of git submodule based dependencies
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-11-24 10:34:51 +05:30
Anjan Roy
6f8dc9070a Merge pull request #38 from itzmeanjan/switch-back-to-barrett-reduction
Switch back to using Barrett Reduction
2023-11-11 20:17:00 +04:00
Anjan Roy
ef0a7c4657 add benchmark results collected on a raspberry pi 4b
Addresses issue #39

Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-11-11 21:38:38 +05:30
Anjan Roy
83a3af78bf reflect latest state of project onto README
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-11-10 23:10:55 +05:30
Anjan Roy
7ee01a261d bump sha3 dependency to latest version
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-11-10 22:57:35 +05:30
Anjan Roy
4f0d00a168 added .clang-format configuration file; reformatted source tree
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-11-10 22:49:06 +05:30
Anjan Roy
e91593e7e3 adopt new API for Zq
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-11-10 22:34:38 +05:30
Anjan Roy
85b0a3cee1 switch to using barrett reduction instead of using montgomery form and reduction
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-11-10 16:28:17 +05:30
Anjan Roy
d7c0144d0b remove table specifying KEM function input/ outputs
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-10-01 11:57:04 +05:30
Anjan Roy
6f6ef9e7a6 fix minor typo
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-10-01 11:55:04 +05:30
Anjan Roy
a7432fa184 Merge pull request #37 from itzmeanjan/major-api-refactor
Prefer `std::span` over raw pointer based interfaces
2023-10-01 10:21:44 +04:00
Anjan Roy
ea4fd48660 update project documentation to reflect latest state
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-10-01 11:39:26 +05:30
Anjan Roy
5eee2a8240 change default compiler to clang
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-10-01 11:38:47 +05:30
Anjan Roy
5930d75188 update all remaining function interfaces to use statically defined std::span
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-10-01 09:41:47 +05:30
Anjan Roy
2c528a3857 only set -march=..., instead of setting both -march=... -mtune=...
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-09-27 23:55:59 +04:00
Anjan Roy
90658ea14e update API usage example to use new std::span based API
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-09-27 23:51:07 +04:00
Anjan Roy
d5a534db1f use span to compare shared secrets both parties arrived at
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-09-27 23:50:11 +04:00
Anjan Roy
8533a5103d use static extent std::span whenever possible
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-09-27 23:43:42 +04:00
Anjan Roy
5c6d104ff1 use new std::span based API for benchmarking
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-09-27 23:28:51 +04:00
Anjan Roy
3dab6c3622 refactor remaining API and all the tests to use new std::span based interface
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-09-27 23:15:44 +04:00
Anjan Roy
e363aa7319 refactor API surface of Kyber KEM by starting to use std::span
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-09-25 23:27:52 +04:00
Anjan Roy
0ebc63da9d refactor all pointer, length pair based APIs of Kyber PKE to use std::span instead
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-09-25 20:53:39 +04:00
Anjan Roy
6567f4882b bump dependency sha3 to latest commit
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-09-25 20:53:16 +04:00
Anjan Roy
4342044317 move test-helper function to test suite translation unit
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-09-23 16:04:11 +04:00