1228 Commits

Author SHA1 Message Date
Zane Beckwith
25f3e56b2e
Use SecRandomCopyBytes for system randomness on iOS (to allow building on iOS) (#1219)
* Use SecRandomCopyBytes on iOS for system randomness

* Link iOS Security Framework as a library dependency

* Fix style
2022-06-05 14:05:24 -04:00
Ted Eaton
feea2f3864
Issues and passes for aarch64 const time checks (#1214) 2022-05-25 10:47:34 -04:00
Douglas Stebila
fc7d89c074
Deal with some issues identified by clang scan-build (#1211)
* Fix memory leak detected by scan-build

* Remove unused statement (identified via clang scan-build)
2022-05-14 06:20:25 +02:00
Michael Baentsch
9dea0430ed
Correct OQS_DIST_BUILD for ARM (#1202)
* unify naming for OQS_DIST_ARM64_V8_BUILD

* Unified naming for OQS_DIST_ARM32_V7_BUILD

Co-authored-by: Jason Goertzen <Martyrshot@gmail.com>
2022-04-24 14:09:35 -04:00
Ted Eaton
be8fc96df7
Edits to key scheduling for AES on ARM to be constant time (#1200) 2022-04-08 11:22:16 -04:00
Michael Baentsch
e858c7a642
skip yamllint test for good (#1196)
* skip yamllint test for good

* remove yamllint completely
2022-03-22 10:13:07 -04:00
Jason Goertzen
55bc8cb38d
ARMv8 optimized Dilithium (#1194)
* Updated sig templates to add support for arch specific upstreams. Currently behaves as expected, but still need to test (and integrate) dilithium

* Fixed a couple of build errors, and started work on dilithium integration from pqclean. Currently failing kat tests

* Updated templating for both sig and kem to make them look a little better

* Renamed dilithium folders so they are consistent across pqclean and pqcrystals so that copy_from_upstream script will function correctly

* Added arm optimized version of dilithium[2|3|5]

* Updating other signature schemes CMakeLists.txt to be the output of the updated templates

* Arm optimized implementation of dilithium is added, with randomized signing patched into it. copy_from_upstream script is working properly. Still need to update the update_docs scripts before ready to merge

* Finished updating docs scripts and yml files. Builds pass, so should be ready for a merge

* Fixed template issue with multiple compile flags

* Updated doc generation scripts so that all '_' in scheme names are replaced with '\_'
2022-03-09 15:17:42 -05:00
Michael Baentsch
6639d3b465
adding warning re Rainbow to documentation [skip ci] (#1193) 2022-03-04 17:25:03 +01:00
Michael Baentsch
5894d9af56
create and install cmake import files (#1191)
* create and install cmake package import files

* add openssl cmake includes only where needed
2022-02-26 10:51:42 +01:00
Douglas Stebila
bcc94dad5e
Suppress constant time check for public matrix generation on Kyber AVX2 (#1189)
* Suppress constant time check for public matrix generation on Kyber AVX2

* Update tests/constant_time/kem/passes/kyber-90s

Co-authored-by: Basil Hess <basil.hess@gmail.com>

* Remove temporary CI job [skip ci]

Co-authored-by: Basil Hess <basil.hess@gmail.com>
2022-02-16 20:19:19 -05:00
Jason Goertzen
5b8e2bd4d5
Resolves an issue when building sha2 using arm crypto extensions with gcc on Darwin. (#1184) 2022-02-01 16:04:24 -05:00
Michael Baentsch
fb8f0ffa18
weekly job moved to Sunday [skip ci] (#1183) 2022-01-28 12:56:29 -05:00
Michael Baentsch
3733dcaf46
syntax fix for weekly github run [skip ci] (#1182)
temporary daily run to test more quickly
2022-01-27 22:25:59 +01:00
Sebastian Ramacher
0a0adf1639
Update to picnic 3.0.11 (fixes #1178) (#1181) 2022-01-25 12:42:26 -05:00
Michael Baentsch
18b3fe39b2
disable BIKE on all 32bitters except x86 (#1180) 2022-01-22 10:27:46 -05:00
Jason Goertzen
4ec538e3c8
Fixed build issue on arm based macs when using gcc11 (#1177)
* Fixed a build issue when trying to use gcc11 on an arm based mac. Also updated kem templates so that any pqclean scheme that has a similar problem in the future can be fixed by just patching the assembly files

* adding M1 CI for gcc-11

Co-authored-by: Michael <57787676+baentsch@users.noreply.github.com>
2022-01-20 10:27:46 -05:00
Douglas Stebila
b9acf95ca3 Add VeriSign Inc. to README acknowledgements [skip ci] 2022-01-17 11:18:17 -05:00
Michael Baentsch
d5f28d02dd
skip sphincs,rainbow in shortened weekly testing (#1176) 2022-01-17 15:17:57 +01:00
Michael Baentsch
b632938f5b
extend timeout to 10h (#1175)
* extend timeout to 10h

* added .dsci.yml
2022-01-10 10:59:02 -05:00
Douglas Stebila
a34cabb4bf
Mark stack non-executable when compiling with clang or gcc (#1161)
* Mark stack non-executable when compiling with clang or gcc

Fixes #1159

* Change noexecstack option on gcc

* Use gcc noexecstack only on non-Darwin

* Check for non-executable stack in shared object builds on Linux
2022-01-09 11:30:10 -05:00
Sebastian Ramacher
9227b2a233
Update to Picnic 3.0.9 (#1167)
* Update to Picnic 3.0.10 (fixes #1165)

* Disable Picnic SIMD optimizations on Cygwin (fixes #1163)

* Set WITH_OPT only if required

* Revert "remove picnic from cygwin build (#1171)"

This reverts commit 5608b465748281c8f84a97858dbd9887e77d6bd3.

* Update supported CPU extensions for Picnic
2022-01-09 11:28:56 -05:00
Christian Paquin
2af8ad71e2
Updated constant_time suppression files after picnic update (#1174) 2022-01-04 14:54:02 -05:00
John Schanck
4d938b1d04
Update XKCP and avoid assembler .ifdef directives (#1173)
* copy_from_xkcp: Update to latest version and fix merge conflicts

* Add macOS gcc-11 CI job

Co-authored-by: Douglas Stebila <dstebila@uwaterloo.ca>
2022-01-03 07:25:23 +01:00
Michael Baentsch
fde936b56b
extend weekly run timeout [skip ci] (#1172) 2022-01-02 13:58:53 -05:00
Michael Baentsch
a38d3ff59c
adding constant time test as weekly github action (#1170)
* adding constant time test as weekly github action
2021-12-30 11:19:18 +01:00
Michael Baentsch
5608b46574
remove picnic from cygwin build (#1171)
* remove picnic from cygwin build
2021-12-29 07:08:59 +01:00
pkubaj
5ea49c2a44
Add support for powerpc64. (#1160)
This is 64-bit POWER big-endian. Since s390x (64-bit big-endian) and ppc64le
(64-bit POWER) are already supported, this shouldn't be an issue.
2021-12-23 18:03:25 -05:00
Michael Baentsch
6890afc2b2
XCode update (#1162)
* upgrading XCode in CCI

* remove python2 removal for XCode 13
2021-12-21 10:40:33 -05:00
Sebastian Ramacher
4479f50da8
Update Picnic to 3.0.7 (#1158)
* Define PICNIC_EXPORT instead of PICNIC_STATIC

PICNIC_STATIC builds some internal functions only required for testing.

* Handle SSE2/AVX2/NEON in Picnic similar to other schemes

* Update to Picnic 3.0.8
2021-12-20 11:01:10 -05:00
Douglas Stebila
2f4f301b18 Switch version to 0.7.2-dev [skip ci] 2021-12-20 11:01:00 -05:00
Douglas Stebila
a39d08e00a liboqs 0.7.1 0.7.1 2021-12-16 13:34:53 -05:00
Michael Baentsch
ed19084847
add trigger for oqs-provider CI (#1157) 2021-12-15 15:54:35 -05:00
ax1
7b54997181
docs: set license MIT for Falcon Signature (#1156)
https://github.com/open-quantum-safe/liboqs/blob/main/docs/algorithms/sig/falcon.md states **license CC0-1.0**

But the license in the header file at https://falcon-sign.info/impl/falcon.h.html is  ** license MIT** , the same at https://github.com/PQClean/PQClean/blob/master/crypto_sign/falcon-1024/clean/LICENSE
2021-12-14 13:05:27 -05:00
Michael Baentsch
ae6c7b4798
Output documented build options (#1155)
* explaining all config options in system_info output
2021-12-13 15:33:19 +01:00
Jason Goertzen
abf1080ddd
Added spdx headers to noregress.[py|sh] (#1154) 2021-12-12 21:39:21 -05:00
Michael Baentsch
ca0cd60a1b
release performance regression test (#1152)
* performance regression test script [skip ci]

* parameterized no-regress testing [skip ci]
2021-12-11 13:51:15 -05:00
Douglas Stebila
0a61d5d066 0.7.1-rc1 [skip ci] 0.7.1-rc1 2021-12-09 14:23:49 -05:00
Douglas Stebila
bcfd007766
Tweaks to benchmarking code (#1150)
- Fix bug in standard deviation calculation
- Cast values to protect against overflows
2021-12-09 14:05:46 -05:00
Michael Baentsch
3b7b8d7816
aarch64 dist build (#1148)
* aarch64 dist generator run

* removing undocumented OQS_DIST_ARM64_V8_BUILD

* re-activate ARMV8 specific dist build
2021-12-09 11:47:45 -05:00
Douglas Stebila
c97706c6b3
Option to use PMU for benchmarking on ARM (#1147)
* Add CMake option and compiler flag for using ARM PMU in speed

* Enabling use of ARM PMU for benchmarking when compiler flag is enabled (#1141)

* Enabling use of ARM PMU for benchmarking when compiler flag is enabled

* Adding documentation in code on how to enable PMU

Co-authored-by: Ted Eaton <ted@eeaton.ca>
2021-12-08 12:28:14 -05:00
Michael Baentsch
8e22871ff6
NIST copyright clarification (#1142)
* added NIST license clarification

* corrected style
2021-12-05 14:18:54 -05:00
Ted Eaton
cf6535dc52
Adding a speed_common script to benchmark OQS AES and hash algorithms (#1144)
* Adding a speed_common script to benchmark OQS AES and hash algorithms
2021-12-05 08:02:58 +01:00
Michael Baentsch
188e6a38b2
enable ARM64 optimizations when using MINIMAL_BUILD option (#1139) 2021-12-01 07:08:07 +01:00
Michael Baentsch
6888e9ea95
add downlevel compiler warning (#1137)
* add downlevel compiler warning

* correct warning message

* warning added to code generator script

* implement PR feedback
2021-11-30 09:25:37 -05:00
Jason Goertzen
71b570c59c
Adding arm64_v8 optimized versions of saber. (#1131)
* Added aarch64 optimized version of saber, lightsaber, and firesaber from pqclean

* Updated to latest commit of pqclean which fixes saber aarch64.

* Updated saber docs as per @dstebila's comment

* Removed duplicate lines from README.md

* Fixed local issue for duplicate lines in README.md. This is the output of the update docs script after fixing my local issue
2021-11-27 15:24:05 -05:00
Christian Paquin
f067882704
Added supported-platforms compile guards in the SIKE CMakeLists (#1136)
* Added supported-platforms compile guards in the SIKE CMakeLists

* Disable SIKE globally on unsupported platforms
2021-11-26 09:02:22 -05:00
Michael Baentsch
8c5bab6a26
more code style checks (#1135)
* more code style checks in one run
2021-11-24 07:18:50 +01:00
Michael Baentsch
8df1a81dd7
skip more ClassicMcEliece weekly CI constant time tests [skip ci] (#1134) 2021-11-22 09:39:30 -05:00
Michael Baentsch
f5d7afae47
LF everywhere (#1133) 2021-11-22 09:35:07 -05:00
Douglas Stebila
14d64d379d
Fix gcc 11 error for Kyber on arm64 (#1127)
* Set new version of Kyber ARM to use from PQClean

* Result of running copy_from_upstream

* Removed the need for pqclean aarch64 patches

* Updating doc generation to be a little more careful about when required flags is an empty list

Co-authored-by: Jason Goertzen <Martyrshot@gmail.com>
2021-11-19 16:40:04 -05:00