1
1
mirror of https://github.com/henrydcase/pqc.git synced 2024-11-26 17:31:38 +00:00
Commit Graph

1115 Commits

Author SHA1 Message Date
e57a891583 frodo: move benchmarks to separated file 2021-07-17 00:20:45 +01:00
286414feca adds frodo decaps bench 2021-07-17 00:08:28 +01:00
470295de62 memsan: modify ending of the ciphertext as in the paper 2021-07-16 23:48:56 +01:00
b4622770fd ct_expect/require_umr -> ct_expect/require_uum 2021-07-16 10:59:06 +01:00
66c5365885 CT checks for Frodo 2021-07-16 10:57:52 +01:00
e96e7aaea8 ct_expect/require_umr -> ct_expect/require_uum 2021-07-16 10:57:34 +01:00
5f5b48891c License 2021-07-11 16:09:25 +01:00
e72cc74f00 change names of some tests 2021-07-10 00:55:39 +01:00
997b7111ca backport some changes from ct study 2021-07-10 00:48:12 +01:00
4f25353aa9 Change names of the tests 2021-06-29 23:41:13 +01:00
55719e929c ct: use inline static instead of macros 2021-06-29 09:12:29 +01:00
caa97d8dfb Test CT sanitizer and CTGRIND functionality 2021-06-28 12:02:18 +01:00
e4eff10297 memsan: enable kyber in bench 2021-06-24 08:06:19 +01:00
ea54cd3ea9 use memory sanitizer in cpu_features build also 2021-06-24 07:48:25 +01:00
0bb09a6e22 prevent updating llvm-project during 'make' 2021-06-24 07:48:25 +01:00
175a5725b7 Enable all tests 2021-06-24 07:48:25 +01:00
7ba897ed4d ensure sike doest use uinitialized reads 2021-06-24 07:48:25 +01:00
c1283aa979
Update README.md 2021-06-23 14:14:25 +01:00
bb3fe16bd5 Memory Sanitizer build 2021-06-23 07:12:29 +01:00
2ce8a28e41 fix build 2021-06-22 01:14:17 +01:00
d9344d6956 improves makefile 2021-06-22 01:10:08 +01:00
6d3550454a msan: in msan mode disable bench for kyber INDCPA encryption 2021-06-21 09:55:39 +01:00
ced21a0c79 makes MSan happy 2021-06-21 09:20:48 +01:00
9b7b7277ce remove not needed flag 2021-06-20 21:36:11 +01:00
77ca982b4c Redesign CMakeLists.txt for MemorySanitizer
The test programs use googletest and google-benchmark
libraries in order to ensure right level of optimizations
and proper unit testing.
Those two libraries are written in C++ and they
use C++ standard library.

If you want MemorySanitizer to work properly and not
produce any false positives, you must ensure that all
the code in your program and in libraries it uses is
instrumented. That includes C++ standard library.

(see here: https://github.com/google/sanitizers/wiki/MemorySanitizerLibcxxHowTo)

With this change, the Memory Sanitizer build (enabled
by -DMEMSAN=1) will also build MSan-instrumented libc++
from LLVM and will use it as a standard C++ library
when building unit tests and benchmarks.

In particular what I do is this:
1. Clone LLVM project and build libcxx and libcxxabi with
   MSan enabled
2. Build GTEST and GBENCH with -fsanitize=memory and -stdlib=libc++.
   Additionally link against -lc++abi
3. Then use this special version of libc++ and GTEST/GBENCH
   in order to build final binaries containing unit/benchmark tests

The actuall tests with memory sanitizer are disabled, as
I'm getting some errors which need to be investigated first.

Additionally I've splitted single build into multiple, for
release,debug,clang,gcc and AddressSanitizer.

On unrelated note, I've also added flags to ignore some errors
which I'm getting when using newer GCC (see GH#10 GH#11).
2021-06-20 21:34:58 +01:00
7be2562de5 Build libcxx and libcxxabi with Memory Sanitizer 2021-06-20 21:34:58 +01:00
24881fade8 Run KAT in separated step 2021-06-20 21:34:58 +01:00
74e87f1ae2 remove MSan build for now 2021-06-20 21:34:58 +01:00
af2cee5b17 adds address and memory sanitizer 2021-06-20 21:34:58 +01:00
a0e38afc59 Adds flags for memory and address sanitizer 2021-06-20 21:34:58 +01:00
950479bdee adds fpic 2021-06-20 21:34:58 +01:00
6cef14338a updates gbench 2021-06-20 21:34:58 +01:00
5ce7524c1d multiple compilations 2021-06-20 21:34:58 +01:00
944543c9b9 fix bug in kyber
previous commit introduced a bug in Barrett reduction
2021-05-27 10:16:04 +01:00
c98780b4d5 adds McEliece 2021-05-26 13:39:05 +01:00
f3aa725c4c don't use submodules
Use cmake FetchContent instead
2021-05-26 11:15:24 +01:00
974f62bb26
Update README.md 2021-05-26 11:15:16 +01:00
e9249a2bee remove duplication 2021-05-25 22:18:22 +01:00
1120727660 remove duplication 2021-05-25 22:16:57 +01:00
fd21b95a2d kat: run in release mode 2021-05-25 12:30:35 +01:00
7ff8d8fcef Implelments Falcon 512/1024 Round3
* Enable KAT testing for Falcon
* Prefix all algorithms with PQC_ALG_SIG/KEM_
2021-05-25 12:29:54 +01:00
8bf02c41cd henrydcase -> kriskwiatkowski 2021-05-17 16:06:36 +01:00
f0c2436311 change comment 2021-05-17 16:00:10 +01:00
791c59ef06 reorder scheme definitions 2021-05-17 11:24:49 +01:00
7a20d33c15
Update README.md 2021-05-15 22:21:09 +01:00
4e10c0925f prefix structs with pqc_ 2021-05-10 16:36:24 +01:00
895d9c0abd bench ntt 2021-05-09 18:11:18 +01:00
395896dc92 basemul bench 2021-05-06 12:09:28 +01:00
977d449ce3
Update README.md 2021-05-04 07:47:35 +01:00
832da09aa8 fix build 2021-04-26 12:36:24 +01:00