Commit Graph

366 Commits

Author SHA1 Message Date
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
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