761 Commits

Author SHA1 Message Date
Goutam Tamvada
dd739fc8f2
OQS_BUILD_PORTABLE -> OQS_PORTABLE_BUILD and other refactoring. (#864)
* OQS_BUILD_PORTABLE -> OQS_PORTABLE_BUILD and associated changes.

* subprocess.run() -> subprocess.Popen() + subprocess.communicate().

* Changed temporary storage location used for memory benchmarking.
2020-12-09 15:03:57 -05:00
Christian Paquin
c91957ca7b
Integrated SIKE Dec 2020 update. (#863) 2020-12-08 17:46:26 -05:00
Douglas Stebila
65b3fb6e71
Sync with PQClean (Kyber Round 3) (#858)
* Delete Kyber Round 2

* Sync with PQClean

Major changes; Kyber Round 3
Minor changes: HQC and NTRU

PQClean commit 168e3625988defacdf10812642e4d412fb295dc0
2020-12-03 09:56:03 -05:00
Douglas Stebila
1ad950ac00
Sync with PQClean (#851)
* Remove HQC round 2

* Sync with PQClean

3c8be3cb1f8ca0953f2df44ea665f118efb468d6

* Add HQC from PQClean
2020-11-24 10:04:49 -05:00
Goutam Tamvada
49559aecfa
Triggering more downstream CircleCI jobs and removed GNUInstallDirs from CMake. (#850) 2020-11-05 10:53:59 -05:00
Douglas Stebila
46693cf93a
Add NTRU-Prime from PQClean (#848) 2020-11-03 13:36:24 -05:00
Goutam Tamvada
003a855695
Exported liboqs target in CMake and some CI refactoring. (#840) 2020-11-02 10:53:13 -05:00
Douglas Stebila
1a923c79e0
Sync with PQClean (#846)
* Change BMI1 and add PCLMUL

* Copy from PQClean

Commit b4078aae55f9efbc7b3ab7b3c702be376f7a7987, excluding HQC

* Update algorithm datasheets

* Prettyprint

* Update version to 0.5.0-dev
2020-10-29 19:46:39 -04:00
Christian Paquin
7c0aa19e8c
Upgraded picnic to v3.0.3. (#838)
* Upgraded picnic to v3.0.2.

* Fix explicit_bzero function.

* Fixed redefinition of AddByte on little endian platforms (picnic's and oqs's namespacing)

* Update picnic to v3.0.3

* Fixing some picnic functions namespacing

* Added namespacing for picnic function on little endian system.

* More picnic namespacing fixes

* More picnic namespacing fixes, round 2

* Added more namespacing prefix

* More picnic namespacing

* Explicit namespacing for KeccakP1600times4_StaticInitialize function
2020-10-22 10:31:51 -04:00
Michael Baentsch
e1dd9f72c4
correct compile time feature display (#837)
correct compile time feature display
2020-10-06 05:59:08 +02:00
Christian Paquin
8af52852c4
Sept 2020 SIKE updates (#836) 2020-10-02 15:43:50 -04:00
Douglas Stebila
4437b7da44
Sync with latest NTRU from PQClean (#827)
Fixes #826
2020-09-17 13:40:35 -04:00
Douglas Stebila
1d08c9d6ab
Sync with PQClean (#817)
* Sync with PQClean

* NTRU update

* SPHINCS updates

* Update commit in documentation
2020-09-10 18:16:18 -04:00
Christian Paquin
a44a6581c2
Fix macro defines on Windows. (#819) 2020-09-08 20:57:35 -04:00
Michael Baentsch
8476c10fad
addressing #802 (#823)
* addressing #802

* cmake API adaptation

* style fixes

* Limit CCI Win testing

* removed n/a features
2020-09-08 09:28:21 -04:00
Christian Paquin
4d0325518e
Integrated latest SIKE bug fix. (#816) 2020-08-25 13:47:11 -04:00
Douglas Stebila
9ed69af2c5
Wrap functions that call AES-NI code in ifdef (#815) 2020-08-24 11:22:24 -04:00
Douglas Stebila
226b4637d9
Remove non-Round 3 algorithms (NewHope, ThreeBears, MQDSS, qTesla) (#810) 2020-08-17 13:25:08 -04:00
Douglas Stebila
836b7e14b4
Fix undefined behaviour in FrodoKEM (#809) 2020-08-07 09:18:47 -04:00
Douglas Stebila
adac989932
Added HQC from PQClean. (#805) 2020-08-04 13:22:45 -04:00
Douglas Stebila
aa7f1dfa3d
Cleanup PQClean implementations (#803)
* Sync with PQClean commit 90630db2ebada4bacceb5331b0a1a9a356ba65b9

* Delete duplicate implementations due to underscore bug; add MQDSS AVX2

* Delete more duplicate PQClean implementations
2020-08-04 11:54:25 -04:00
Douglas Stebila
a3f386da31
AES-NI bug fixes (#800)
* Don't cast to unaligned pointer

It's not available in some intrinsics headers

* Fix AES decryption bug

* Argument isn't unused

* Ensure AES calls are 16-byte aligned for BIKE

* Print cmake configuration for debugging

* Switch AES NI to use unaligned load/store
2020-07-26 10:53:40 -04:00
Douglas Stebila
34ec4b83a7
Re-add AES-NI with CPU feature detection (#770)
* Start re-adding AES-NI with CPU feature detection

* Follow Goutam's feedback on CPU feature detection

* Macrify CPU feature detection logic in AES

* AES128 and AES256 using NI based on Romain Dolbeau's public domain code

* Fewer calls to C_OR_NI

* Restricting setting of OQS_USE_CPU_EXTENSIONS.

* Unroll AES loops

Co-authored-by: xvzcf <xvzcf@users.noreply.github.com>
2020-07-24 13:53:14 -04:00
Douglas Stebila
a3a5347202
Use C rounding code in Dilithium instead of AVX2 (#798)
Temporary workaround for #793 until proper fix developed

https://github.com/open-quantum-safe/liboqs/issues/793
https://github.com/pq-crystals/dilithium/issues/31
2020-07-24 13:06:48 -04:00
Michael Baentsch
2991696b4c
upstream dilithium (#794)
* added upstream dilithium

* switched to clang on Centos-8
2020-07-23 06:45:08 +02:00
Christian Paquin
9cffd175fb
Install dll in output bin directory on windows cross-compile (#792) 2020-07-21 19:48:40 -04:00
Michael Baentsch
b24a046495
Enable automated upstream imports (#789) 2020-07-16 15:36:58 +02:00
Christian Paquin
e5f33fea7a Removed temp code guard. 2020-07-12 17:10:13 -04:00
Christian Paquin
a371bc0497 Integrated SIKE commit 50f352. 2020-07-12 14:55:36 -04:00
Christian Paquin
0f9610e15f Integrated SIKE from upstream commit 521aab to 011e11 2020-07-09 17:03:36 -04:00
Michael Baentsch
d3b1d913cd
Fixed macOS build warnings. (#782) 2020-07-07 09:53:06 -04:00
Christian Paquin
56b2bda572 Added details on new params in alg doc sheet, and cleaned-up namescape macro file. 2020-06-29 15:31:36 -04:00
Christian Paquin
0d59d2bf0b Fix formatting for test_style 2020-06-26 20:09:30 -04:00
Christian Paquin
6ed4163f40 Fix L3/L5-full typo. 2020-06-26 19:25:58 -04:00
Christian Paquin
f4d4d47c81 Integrated picnic v3.0. 2020-06-24 20:18:39 -04:00
Christian Paquin
088284417e
Merge pull request #769 from christianpaquin/cp-sike-v3.3
Integrated SIKE v3.3
2020-06-22 20:56:03 -04:00
Christian Paquin
60e7875da9 Removed FIXMEOQS 2020-06-22 17:28:48 -04:00
Christian Paquin
f4312bd640 Updated SIKE to latest upstream commit 521aab, and fix P751 compressed typo 2020-06-22 17:21:07 -04:00
Christian Paquin
d1344c7f24 Selectively build files based on ENABLE_KEM_SIDH/SIKE macros 2020-06-22 15:44:20 -04:00
Christian Paquin
47cbc02e8c Uncommented missing sike p503 constant. 2020-06-21 10:57:50 -04:00
Christian Paquin
816a91c137 Fix sike P610 namespace macro def. 2020-06-20 21:25:41 -04:00
Christian Paquin
8c33c81317 Treat Darwin as Linux 2020-06-20 20:58:05 -04:00
Christian Paquin
b52762428e asm optimization clean-ups 2020-06-19 17:37:39 -04:00
Christian Paquin
63b7621f46 Fixed AMD64 and ARM64 macro detection in sike files. 2020-06-19 16:07:55 -04:00
Christian Paquin
2deda2ce96 Added missing darwin detection in sike cmakefile 2020-06-19 15:50:42 -04:00
Christian Paquin
b2b9ca2f8b Fix cmake sike file on darwin to enable optimizations 2020-06-19 15:37:14 -04:00
Christian Paquin
8288420afb Enabled optimizations on macOS 2020-06-19 14:34:23 -04:00
Douglas Stebila
5a44859088
Fix timing leak during decapsulation (#768)
As identified in: Qian Guo, Thomas Johansson, Alexander Nilsson. A key-recovery timing attack on post-quantum primitives using the Fujisaki-Okamoto transformation and its application on FrodoKEM. In CRYPTO 2020.
2020-06-19 14:13:37 -04:00
Christian Paquin
5a3b238139 Upgraded SIKE to v3.3. 2020-06-19 14:03:37 -04:00
Christian Paquin
7170c9824e Moved 3rd party sike files to external folder 2020-06-16 16:30:52 -04:00