997 Commits

Author SHA1 Message Date
Douglas Stebila
795c1b7932
Add Falcon from PQClean (#660)
* More cleanup after replaced dashes in filenames

* Add Falcon from PQClean and sync with latest PQClean commits

* Try to fix type punning warning in Falcon

* Missed templating

* Formatting change
2020-03-14 10:56:42 -04:00
xvzcf
adcfe2744c Replaced dashes in filenames with underscores for consistency. 2020-03-11 15:06:26 -04:00
xvzcf
9f4cffbfda Moved the contents of src/crypto into src/common. 2020-03-11 15:06:26 -04:00
xvzcf
0d39a601b1
CMake refactoring. (#652)
* Overhauled the propagation of compiler flags

* Added "Dependency" CMake build type

* Removed src/common/CMakeLists.txt and src/crypto/CMakeLists.txt

* Set default build type to exclude CPU extension-based optimizations
2020-03-11 10:48:28 -04:00
Douglas Stebila
5653455ff1 Don't skip build if running in CircleCI local 2020-03-11 09:28:26 -04:00
Christian Paquin
2cedf0abb9
Only enable picnic avx2 on Linux. (#656) 2020-03-10 15:36:27 -04:00
Nikita Karpey
cd24c784a3
Improved support for Mingw-w64 (#648)
* Build fixed through Mingw-w64

* Initial try to build using appveyor and MSYS2
2020-03-10 11:06:52 -04:00
Nir Drucker
fc1bd942a3
Fixing BIKE CMAKE compilation when using Clang-3.9 and on an AVX512 platform (#655) 2020-03-10 11:06:33 -04:00
Christian Paquin
920a2747b3
Updated picnic to v.2.1.2 (#650)
* Updated picnic to v.2.1.2

* Enabled avx2 sha3 code
2020-03-09 21:37:00 -04:00
Nikita Karpey
7e9571a972
Added testing of SHA-3 AVX2 implementations (#651) 2020-03-09 19:56:01 -04:00
Douglas Stebila
2e2d66ea92
Merge BIKE latest (#646) 2020-03-05 14:21:25 -05:00
Douglas Stebila
63b4c6552b
Clear compiler warnings (#633)
* Fix clang on macOS warnings

* Clear gcc-9 on macOS warnings

* Work around gcc-4.9 warnings

* Disable one Picnic compiler warning

* Fix compiler warning on WSL
2020-03-05 11:01:10 -05:00
Christian Paquin
82e1828f4c
Merge pull request #632 from christianpaquin/cp-enable-sike-fast-mode-with-cmake
Updated SIKE implementation with latest changes.
2020-03-04 16:42:39 -05:00
Nir Drucker
0022984f60
BIKE-1 code update (#640)
* Updating to latest

* Fixing merge

* Applying changes also to kem_cpa.c

* Updating the KATs (sk format change only)
2020-03-03 21:57:21 -05:00
Christian Paquin
cc5613e16d Changed add_compile_options to target_compile_definitions. 2020-03-03 17:12:39 -05:00
Christian Paquin
2ea7cf173a Prettyprint 2020-03-03 16:50:56 -05:00
Christian Paquin
d2a46900d7 Changed add_compile_definitions to add_compile_options in sike's cmakelist. 2020-03-03 16:01:16 -05:00
Christian Paquin
781c43d219 Merge branch 'master' of https://github.com/open-quantum-safe/liboqs into cp-enable-sike-fast-mode-with-cmake
Merge with master.
2020-03-03 15:29:22 -05:00
Thom Wiggers
5437264139
Add -g3 debug information to ASAN builds (#641)
This helps track where it's crashing
2020-03-03 11:03:30 -05:00
Nick Fulton
24eb40f121
Enable cross-compilation for Android (#627)
* Update CMakeLists.txt

Prevent breaking options on Android compilation

* Create build-android.sh

Created build script for Android cross-compilation.
2020-02-29 16:05:57 -05:00
Michael Baentsch
8f78156dfa
Added generic optimized build type. (#631) 2020-02-27 15:03:41 -05:00
Christian Paquin
4c4342c1e9 Updated SIKE implementation with latest changes. 2020-02-26 13:38:36 -05:00
Nikita Karpey
785c9dc24e
Fixed detection processor architecture (#629) 2020-02-25 12:30:49 -05:00
Nikita Karpey
885645686e
Reworked search for executable files in tests (#630) 2020-02-25 12:29:09 -05:00
xvzcf
9c01847b21
Refactored oqsconfig.h.cmake (#628)
* Added OQS_ prefix and assigned values to all #defines in oqsconfig.h.cmake

* Updated CI and templating scripts
2020-02-24 18:04:01 -05:00
Nikita Karpey
023e9d40ef
Mingw-w64 support (#610) 2020-02-24 11:21:24 -05:00
Douglas Stebila
1095359c38
Update BIKE (FO) Round-2 to BIKE's v3.2 specification (#623)
* Updating BIKE code to meet BIKE v3.2 spec

* Fix alignment

* Update docs

* Missing inline

* Prettyprint

Co-authored-by: Nir Drucker <34063241+drucker-nir@users.noreply.github.com>
2020-02-24 11:18:47 -05:00
xvzcf
56eece81d1
Improved CPU extension handling and updated README. (#622) 2020-02-20 11:17:25 -05:00
Franziskus Kiefer
f857b57df8
Add UBSAN builds to CI (#621)
This will surface another set of errors.
2020-02-17 10:02:27 -05:00
Douglas Stebila
f8bfb1af1e
Add toolchain for Raspberry Pi cross compilation (#618) 2020-02-16 20:15:32 -05:00
Douglas Stebila
410caa77a1
Make AddressSanitizer available (#617)
* Initial format with astyle

* Fix templating to match

* Remove old line

* Add address sanitizer to CI

* Undo merge commit screwup
2020-02-16 17:32:56 -05:00
Douglas Stebila
a6f426044b
Sync with PQClean and update hashing API (#616)
* Sync with PQClean commit 6de728361e33ad3a5a6997e0896ff9fe8e44a999

* Revise SHA-2 API to match PQClean

* Revise SHA-3 API to match PQClean

* Fix compiler warning

* Fix typo

[skip ci]

* Fix typo

[skip ci]
2020-02-16 15:47:49 -05:00
Douglas Stebila
c868c6ceef Add shared library version 2020-02-16 15:41:33 -05:00
xvzcf
1b99376625
CMake Bugfixes (#615)
* Python ctypes.cdll.LoadLibrary should be able to load liboqs now.

* Trying to address a TODO.
2020-02-16 13:58:34 -05:00
Michael Baentsch
88a819be44
Retain (shared) lib version ID (#614) 2020-02-16 09:05:09 -05:00
Douglas Stebila
ca66375f30
Switch from clang-format to astyle (#613)
* Initial format with astyle

* Fix templating to match

* Fix files with missing newline at EOF

* Remove old line

* Remove old .clang-format spec

* Add prettyprint target to CMake
2020-02-15 23:34:31 -05:00
xvzcf
889a03bd15
Switched build system to CMake. (#556)
* Removed cross-compilation scripts and associated Travis CI workflows.
2020-02-14 14:03:29 -05:00
Douglas Stebila
fb45816569
Add ThreeBears and LEDAcrypt from PQClean (#589)
* Add SHA256 incremental state destroy function

Following https://github.com/PQClean/PQClean/pull/247

* Add ThreeBears from PQClean

* Parallelize make test

* Add KEMs and documentation for ThreeBears

* cSHAKE shims

* Add LEDAcryptKEM from PQClean

* Undo rebase quirk

* Undo rebase quirk
2020-01-31 07:36:27 -05:00
Douglas Stebila
28f7c668f1
OSX testing on CircleCI alternative (#597)
* Use OpenSSL's EVP_MD_CTX_new and _free

* OSX testing added (only on checkin, only on master)

* Alternative way of running stuff only on recent check-ins

* OR not AND

* Build OSX on commit temporarily

* Missing checkout

* Install missing Python module on OSX

* Remove macOS on Travis

Co-authored-by: Michael Baentsch <57787676+baentsch@users.noreply.github.com>
2020-01-30 22:40:01 -05:00
Douglas Stebila
6d87c34dda
Use OpenSSL's EVP_MD_CTX_new and _free (#591)
* Check for OpenSSL 1.1.0 or higher

* Use OpenSSL's EVP_MD_CTX_new and _free

* Detect OpenSSL version without compiling

* Remove Ubuntu Xenial testing on CircleCI and add some on Ubuntu Bionic

* Rename Bionic CI images
2020-01-30 09:06:29 -05:00
Douglas Stebila
ac03b34467
Fix memory leak on example_sig (#603)
Replaces #601
2020-01-30 09:03:26 -05:00
Douglas Stebila
077f88f7ea
SHA256_inc_finalize should also destroy (#602) 2020-01-28 13:40:29 -05:00
Nir Drucker
8451069750 Using sllv instead of slli for compiling BIKE with GCC-6 (#598) 2020-01-28 09:23:07 -05:00
Douglas Stebila
d4cd8d44a1
Don't use cycle count register on Raspberry Pi (#583)
* Don't use cycle count register on Raspberry Pi

* Prettyprint
2020-01-27 19:50:23 -05:00
Hye Sung Jung
30435a74b7 Fix spelling errors (#596) 2020-01-27 19:21:19 -05:00
Douglas Stebila
02b57bf420
Sync with PQClean as of January 22, 2020 (#584)
* Sync with PQClean as of January 22, 2020

* Add SHA256 incremental state destroy function

Following https://github.com/PQClean/PQClean/pull/247

* Fix typo

* Update PQClean commit in algorithm data sheets

[skip ci]

* Single underscore in header inclusion guards
2020-01-23 18:44:04 -05:00
Nir Drucker
f39499aa8c Compiling BIKE without AVX512-BW fix (#593)
* BIKE needs AVX512 full support

* Missing inline when compiling with AVX2
2020-01-23 13:49:59 -05:00
Nir Drucker
afdff6e0f3 Updating BIKE's code (#576)
* Supporting BIKE KEM reference code

* Hiding print global symbol when VERBOSE!=2

* Supporting USE_OPENSSL + OPENSSL_DIR

* Rename functions by using a legend instead of the FN() macro

* prettyprint

* Fixing the bug caused by OpenSSL GF2m_mod_inv API change in 1.1* see https://github.com/open-quantum-safe/openssl/issues/42 for more details.

* Updating BIKE's constant-time implementaion

* Fixing Makefile

* Missing declaration

* Merge

* Merge

* Missing cast

* Update license headers

* Missing include

* Update BIKE algorithm data sheet

* More details on implementation version

Based on email from Shay Gueron

Co-authored-by: Douglas Stebila <dstebila@users.noreply.github.com>
2020-01-22 21:13:00 -05:00
Michael Baentsch
8ef00c06d1 Centos testing added (#581) 2020-01-21 20:52:53 -05:00
Christian Paquin
bd671eb844 Disabled qtesla avx2 optimizations on darwin (#582)
* Disabled qtesla avx2 optimizations on darwin.

* Only use optimized qtesla kat file on linux
2020-01-21 20:36:36 -05:00