1
1
Commit graph

1108 Commits

Autor SHA1 Nachricht Datum
a2cd3fb88d ct: adds chained memcmp test 2021-06-30 23:40:09 +01:00
be7a0bbdb8 CT checks for Frodo 2021-06-30 09:45:43 +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
d7ca0ddad6 fix memory overrun 2021-04-26 12:20:39 +01:00
744461b0ff add drone.yml 2021-04-26 12:20:39 +01:00
89a34ac04b SIKE: enable optimized version
Adds cpu_features library from Google to
recognize CPU capabilities on which implementation
is running.

Uses that library to run either generic-C
or assembly optimized implementation of
some field operations
2021-04-26 12:20:39 +01:00
9cb7e5a265 SIKE/p434
Pulls SIKE/p434 from CECPQ2 implementation
changed to use SHAKE instead of SHA2
2021-04-26 12:20:39 +01:00
15b97bc74e Change variable name 2021-04-25 22:34:30 +01:00
128b5406cc Add bench for rejection sampling 2021-04-25 22:23:54 +01:00
40e3fff409 remove gtest header 2021-04-22 23:30:21 +01:00