542 Commits

Author SHA1 Message Date
Anjan Roy
b018b5125b remove some redundant const keywords
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-09-18 20:34:37 +04:00
Anjan Roy
1264364774 ask clang-format to use Mozilla code style when formatting sources
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-09-18 20:33:56 +04:00
Anjan Roy
6c26599adf rewrite Make recipes for ease of maintaining
Collected inspiration from b0f5ac2891/Makefile

Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-09-18 20:24:53 +04:00
Anjan Roy
3dcf0c29e7 just maintain a single file for benchmarks of KEM routines
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-09-18 20:24:07 +04:00
Anjan Roy
76f7f19573 relocate examples to different directory
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-09-18 20:22:13 +04:00
Anjan Roy
8cbb09472d Merge pull request #35 from itzmeanjan/use-gtest
Transition to using `google-test`
2023-07-16 18:56:00 +04:00
Anjan Roy
e39d340765 update github actions workflow script so that testing using CI works as expected
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-07-16 18:52:22 +04:00
Anjan Roy
14539cac96 mention about google-test dependency on README
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-07-16 18:48:55 +04:00
Anjan Roy
d60713e0c8 update/ add MAKE recipes for ease of testing
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-07-16 16:54:29 +04:00
Anjan Roy
a8512938f1 use google-test library for writing/ running tests
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-07-16 16:53:28 +04:00
Anjan Roy
8760317253 move benchmark helper header to directory where benchmark runner translation unit lives
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-07-16 15:45:45 +04:00
Anjan Roy
36473f8745 Merge pull request #34 from itzmeanjan/udt-deps
Update Dependency; Compute CPU Cycles During Benchmarking
2023-07-16 15:38:10 +04:00
Anjan Roy
5704ea2831 update project documentation, reflecting latest state of project
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-07-16 15:36:59 +04:00
Anjan Roy
8d8d0e86ce use newly introduced SHA3 reset API so that we create lesser number of hashers
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-07-16 15:22:20 +04:00
Anjan Roy
38cb9db4d1 update/ add MAKE recipes for ease of benchmarking
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-07-16 15:09:51 +04:00
Anjan Roy
253b9c4e10 prefer allocating memory on heap using std::vector, when benchmarking Kyber KEM routines
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-07-16 15:01:28 +04:00
Anjan Roy
c1e8116d96 update git submodule based dependency SHA3 to latest commit
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-07-16 14:40:02 +04:00
Anjan Roy
d7b47ffef7 Merge pull request #32 from itzmeanjan/rm-pke
Remove Kyber Public Key Encryption API
2023-06-03 12:12:38 +04:00
Anjan Roy
9043b7e739 update project documentation/ usage/ benchmarks
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-03 12:11:43 +04:00
Anjan Roy
09dcfc1cb7 don't try to setup python dependencies in CI testing
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-03 11:07:57 +04:00
Anjan Roy
c989098c30 Merge pull request #33 from itzmeanjan/improve-kat
Improve Known Answer Tests
2023-06-03 11:05:45 +04:00
Anjan Roy
1896a254da remove redundant tests (for larger shared secret byte size, just stick to 32 -bytes)
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-03 11:01:56 +04:00
Anjan Roy
a2197d40a8 remove Kyber512 PKE API usage example, update Kyber512 KEM API usage example
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-03 11:00:15 +04:00
Anjan Roy
06e158448c get rid of make recipes used for building libraries, update some recipes related for source formatting
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 19:23:10 +04:00
Anjan Roy
31f977fcd1 remove shell script used for running KATs using pytest
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 19:22:10 +04:00
Anjan Roy
803a55d0db remove files from git ignore list which shouldn't existing in source tree anymore
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 19:21:27 +04:00
Anjan Roy
8d4585a8dc get rid of C, Python wrapper API for kyber KEM - they were used for running KATs
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 19:20:27 +04:00
Anjan Roy
81d651e1e0 perform correctness and conformance test of Kyber1024 KEM using C++ API and KATs - run all KAT tests against C++ API now
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 19:16:44 +04:00
Anjan Roy
57c7b3da33 perform correctness and conformance test of Kyber768 KEM using C++ API and KATs
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 19:14:19 +04:00
Anjan Roy
685357ec60 perform correctness and conformance test of Kyber512 KEM using C++ API and KATs
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 19:10:32 +04:00
Anjan Roy
85e3c4e495 rename test function to shorter name
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 18:46:57 +04:00
Anjan Roy
5589c97b69 given hex string, parse it as byte array
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 18:43:32 +04:00
Anjan Roy
fe5d1c74e8 don't compute min, max, mean and median exeuction time of benchmark, using multiple repeatitions
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 18:31:54 +04:00
Anjan Roy
2892144772 update kyber KEM benchmark routines, remove kyber PKE benchmark helper routines
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 18:22:51 +04:00
Anjan Roy
3f7a5fd932 rename compile-time executable functions, make them shorter
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 18:19:55 +04:00
Anjan Roy
b6516e95d3 capture kyber KAT tests (run using pytest) using pattern
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 18:12:26 +04:00
Anjan Roy
9b57030e86 update C wrapper interface to conform to new KEM API
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 18:11:54 +04:00
Anjan Roy
e50e9b943c remove kyber PKE tests, update kyber KEM tests as per new API
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 17:31:58 +04:00
Anjan Roy
c42da637ac remove kyber KEM wrapper function which used to take PRNG as input
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 17:31:25 +04:00
Anjan Roy
89c78e8705 remove compile-time executable functions for computing byte length of PKE keypair/ cipher text
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 17:26:13 +04:00
Anjan Roy
36617b1753 remove static keyword from function definition
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 17:25:33 +04:00
Anjan Roy
b906216e33 refactor kyber1024 KEM API
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 17:21:02 +04:00
Anjan Roy
01bcfb8de4 mention row number of table from where parameters are taken
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 17:17:28 +04:00
Anjan Roy
e56ac042b5 refactor kyber768 KEM API
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 17:16:11 +04:00
Anjan Roy
a12f409cbb updated kyber512 KEM API
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 17:10:43 +04:00
Anjan Roy
672307da40 remove redundant files which used to hold parts of kyber KEM
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 16:52:16 +04:00
Anjan Roy
e863bb4633 move all kyber KEM related routines (i.e. keygen/ encaps/ decaps) under same file
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 16:51:22 +04:00
Anjan Roy
660d7c9b28 get rid of kyber PKE routines - don't expose them for public usage
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 16:43:24 +04:00
Anjan Roy
da67ac1732 keep PKE keygen/ encrypt/ decrypt routines in same file (under namespace pke::)
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 16:42:42 +04:00
Anjan Roy
1c20822c37 gitinore development time files, don't commit them to VCS
Signed-off-by: Anjan Roy <hello@itzmeanjan.in>
2023-06-02 16:41:45 +04:00