1152 Commits

Author SHA1 Message Date
Wandering Consciousness
2c23fa4d5a
Add instructions on how to build shared/dynamic library to the README (#1077)
* Add instructions on how to build shared/dynamic library

* Improve wording and add link to BUILD_SHARED_LIBS section in Wiki
2021-08-23 14:09:26 -04:00
Michael Baentsch
0d11cb4461
Run constant time and undefined sanitizer jobs weekly (#1078) 2021-08-21 16:34:47 -04:00
Douglas Stebila
b803b54179
Use Github Actions for some CI (#1069)
* Disable other CI's on ghactionsonly- branches

* Stylecheck in Github Actions

* Add runs-on

* Add buildcheck in Github Actions

* Typo

* Debugging

* Debugging environment variables

* More debugging

* Add alpine job in Github Actions

* Debugging

* Debugging

* More debugging

* Add alpine-noopenssl job in Github Actions

* Alpine as a strategy matrix

* Debugging strategy matrix

* Reorganize strategy matrix

* Add ARM emulated job in Github Actions

* Finalize initial move to Github Actions

* Skip alg info test on ARM emulated
2021-08-11 20:59:27 -04:00
Douglas Stebila
6f649807cd liboqs 0.7.0 0.7.0 2021-08-11 17:22:32 -04:00
Douglas Stebila
c2eedffb1f
Fix a bug where intrinsics were ignored when compiling for apple silicon (#1074)
* Found an error on apple silicon not reporting that it supports SHA2 instructions

* Update output of test_hash

Co-authored-by: Jason Goertzen <Martyrshot@gmail.com>
2021-08-09 13:02:50 -04:00
Douglas Stebila
2db7f97922 liboqs 0.7.0-rc4 0.7.0-rc4 2021-08-06 10:17:11 -04:00
Douglas Stebila
a934455362
Update Valgrind suppression files for recent implementation changes (#1068) 2021-08-06 09:47:08 -04:00
Douglas Stebila
b72b89efdb
Add test suite comparing parameters in C with parameters in YML (#1070)
* Add test suite comparing parameters in C with parameters in YML

* Fix/bypass CI failures for test_alg_info
2021-08-05 15:32:43 -04:00
Douglas Stebila
2049555b7c
Compile-time guard for some BIKE AVX2 and AVX512 code (#1067)
* Compile-time guard for some BIKE AVX512 code

* Compile-time guard for some BIKE AVX2 code

* Typo PCLMUL->PCLMULQDQ
2021-08-05 09:41:26 -04:00
Douglas Stebila
1d31f51fa4 Update CODEOWNERS [skip-ci] 2021-08-04 21:48:34 -04:00
Douglas Stebila
6e911621f8
Remove UNUSED macro from OQS API (#1065) 2021-08-04 09:43:22 -04:00
Michael Baentsch
35155ce481
use doc YMLs to count non-copy-from-upstream algs [skip ci] (#1063)
* use doc YMLs to count non-upstream provided algs [skip ci]
2021-08-03 17:49:45 +02:00
Douglas Stebila
0f6d6a93b6 liboqs 0.7.0-rc3 0.7.0-rc3 2021-08-01 17:04:06 -04:00
Douglas Stebila
30fbfd826f
Sync with PQClean (#1061)
* Sync with PQClean 6c1ea921ee4a06a6b50c742ca540bb9b5e51aee2

* Update documentation YML from PQClean

* Update documentation from PQClean
2021-08-01 17:02:22 -04:00
Douglas Stebila
d0ad484a46 liboqs 0.7.0-rc2 2021-07-30 15:28:36 -04:00
Douglas Stebila
286e68674c
Add CI job for x86 (#1058) 2021-07-30 15:23:41 -04:00
Goutam Tamvada
4de651c723
Refactoring documentation generation. (#1057) 2021-07-30 13:26:44 -04:00
Jason Goertzen
636d9725b2
Adding armv8 crypto extensions to SHA256/224 (#1052)
* sha256 cyrpto extensions seem to work, want to add neon version if crypto isn't available

* Added additional files to CMakeLists.txt

* SHA256 armv8 implementation is done. Still need to double check that everything is happen when complied on a non-arm system, and an arm system that doesn't have the cyrpto extensions

* Updated sha2 CMakeList.txt to resolve issue compiling on aws ARM system

* I think I have resolved the aws/rock1 build issues

* Removed an resolved TODO comment

* Fixed a cmake build bug when OQS_DIST_BUILD is "ON"

* Made CMAKE sha2 build more flexible when using OQS_DIST_BUILD

* Signature datasheets (#1053).

* Fixed a typo in the common CMakeLists.txt file related to SHA2

* Add runtime feature detection for macOS on Apple Silicon

* Changed macos_feature_detection to return unsigned int to fix warnings, and updated some uint32_t to const uint32_t to fix warnings on macOS on Apple silicon

Co-authored-by: Goutam Tamvada <xvzcf@users.noreply.github.com>
Co-authored-by: Douglas Stebila <dstebila@uwaterloo.ca>
2021-07-29 20:09:47 -04:00
Karolin Varner
e0c7f33689
Fixes necessary to compile on raspberry pi 4 with clang (#1055)
* Make compile on raspberry pi 4 with clang

* asm -> __asm__

* Prettyprint

Co-authored-by: Douglas Stebila <dstebila@uwaterloo.ca>
2021-07-29 13:25:52 -04:00
Goutam Tamvada
6315abe19e
Signature datasheets (#1053). 2021-07-23 14:35:24 -04:00
Goutam Tamvada
760b3886fa
New datasheets (#1030)
* Documentation YAML files and automatic markdown generation for KEMS.

* Escape underscores

Co-authored-by: Douglas Stebila <dstebila@uwaterloo.ca>
2021-07-15 13:50:46 -04:00
Douglas Stebila
f52f908715 liboqs 0.7.0-rc1 2021-07-14 11:13:01 -04:00
Vitaly Chikunov
9c2b485cd0
Support for x86 and ppc64le architectures (#1037)
* x86: Optimistic port to x86

No processor extensions support.
Tests are passed.

Signed-off-by: Vitaly Chikunov <vt@altlinux.org>

* ppc64le: Optimistic port to ppc64le

No (AltiVec/VSX) processor extensions support is detected.
Tests are passed.

Note that `secure_cmp32` may require additional treatment for this
architecture.

Signed-off-by: Vitaly Chikunov <vt@altlinux.org>
2021-07-09 10:30:20 -04:00
Basil Hess
568a9df20c
Suppression file update for Dilithium (#1048)
Simple TravisCI integration for ppc64le
2021-07-08 08:36:40 +02:00
Douglas Stebila
9b4d4bb683
Change CMake files to support macos on Apple Silicon (#1034) 2021-07-05 11:55:39 -04:00
Douglas Stebila
1009721f15
Update Doxygen file (#1046)
Fixes #1029
2021-07-05 17:23:52 +02:00
Christian Paquin
c4122ecfea
Added macOS formatting rules for exported arm assembly symbols (#1042)
* Added macOS formatting rules for exported arm assembly symbols

* namespaced assembly exports

* Added alignment instruction in ARM asm files.
2021-07-02 14:12:50 -04:00
Michael Baentsch
706cc898c7
removing BIKE R2 from README (#1047) 2021-07-01 17:48:49 +02:00
Michael Baentsch
f3caccff9e
Removing default algs (#1044)
* change to retain OQS_MINIMAL_BUILD logic

* remove default alg support
2021-07-01 11:42:12 +02:00
John Schanck
21dcba4eae
Remove old versions of BIKE (#1045)
* oqsconfig.h: CLMUL definitions

* BIKE: unhook old versions from OQS

* BIKE: improve cpu_features.h

* BIKE: update CMakeLists.txt

* BIKE: support dist build on compilers without -mvpclmulqdq

* BIKE: compile with -Wno-missing-braces -Wno-missing-field-initializers

* Manually update algorithm count
2021-07-01 07:05:49 +02:00
Christian Paquin
c071b01272
Sike June updates (#1028)
* Integrated SIKE's latest commits.

* Integrated SIKE June 2021 commits, part 2

* Reverted back asm macro guards
2021-06-29 15:08:45 -04:00
Michael Baentsch
a822f0e62d
PQClean / NTRU Prime update (#1039)
* updating upstream algorithms

* update Kyber upstream ref

* adding compat.h

* add SPDX

* move to PQClean shims

* alpine-breaking gcc feature check changed

* remove error case as per PR review comment
2021-06-29 15:05:34 -04:00
John Schanck
d9fb4e0e81
Add OQS_PERMIT_UNSUPPORTED_ARCHITECTURE flag (#1021)
* Add OQS_PERMIT_UNSUPPORTED_ARCHITECTURE flag

* Add warning for unsupported architecture

Co-authored-by: Douglas Stebila <dstebila@uwaterloo.ca>
2021-06-24 20:57:34 -04:00
Geovandro Pereira
7a5097dbd4
Make BIKE compile for different CMake versions when AVX512 is used (#1033) 2021-06-24 10:22:57 -04:00
Goutam Tamvada
44cbde234a
Fixed downstream triggering bug in CircleCI config and also refactored the config.yml (#1027) 2021-06-22 11:17:31 -04:00
John Schanck
bf0e388545
Remove Picnic's compatibility layer (#1023)
* Add OQS_MEM_secure_bcmp

* Replace picnic compat.h with OQS shims

* Remove exceptions from test_namespace
2021-06-17 16:07:06 -04:00
dkostic
17d3e0bab5
Import BIKE Round-3 Additional code (#1013)
* Import BIKE Round-3 Additional code

* astyle fix

* Fix for the shared build

* Added KATs sha256sum for BIKE-L1 and BIKE-L3

* Add check if the compiler supports VPCLMUL flag (some older ones don't)

* Disable BIKE build on 32-bit ARM

* Addressing comments on the PR

Co-authored-by: Dusan Kostic <dkostic@amazon.com>
2021-06-17 11:17:22 -04:00
John Schanck
dc0a14445e
CMake: Do not set march or mcpu when OQS_OPT_TARGET=generic (#1017) 2021-06-14 12:39:12 -04:00
Douglas Stebila
00d6c7d541 liboqs 0.6.0 0.6.0 2021-06-08 10:42:31 -04:00
Douglas Stebila
08ac2b1ced liobqs 0.6.0-rc3 0.6.0-rc3 2021-06-06 19:35:22 +00:00
Douglas Stebila
70eae32dd5
Quick fix to Kyber768-90s NIST level (#1014) 2021-06-05 07:08:07 +02:00
Douglas Stebila
2e7f65752b Add astyle to Ubuntu install instructions [skip ci] 2021-06-04 17:45:35 +00:00
Douglas Stebila
f8e339dcae liboqs 0.6.0 RC2 0.6.0-rc2 2021-06-02 21:04:37 -04:00
John Schanck
bd23977818
tests/constant_time: update SIKE suppression files [skip ci] (#1009) 2021-06-01 17:50:17 -04:00
Douglas Stebila
8d7e8f5579
Consistent type in KEM decaps API (#1004) (#1005)
* Consistent type in KEM decaps API (#1004)

* uint8_t in non-PQClean KEM APIs

* uint8_t in PQCleam KEM APIs

* Additional uint8_t tweaks in PQClean KEM APIs

Co-authored-by: Sebastian <sebastianv89@users.noreply.github.com>
2021-06-01 17:49:32 -04:00
Christian Paquin
63ffa9854a
Integrated sike compressed elligator fix. (#1008)
* Integrated sike compressed elligator fix.

* Updated SIKE's github commit ref
2021-06-01 14:30:13 -04:00
Michael Baentsch
35489ee823
ARM64 via CCI machine (#1010)
* activating ARM64 machine use for CCI
2021-06-01 07:21:37 +02:00
Michael Baentsch
3a56677a93
fix for #865 (#1002) 2021-05-21 15:52:03 -04:00
Michael Baentsch
92e6418b35
BIKE and Picnic enablement for cygwin (#1001)
* BIKE and Picnic enablement for cygwin

* no doxygen support for cygwin
2021-05-18 08:17:05 +02:00
John Schanck
530d7059b2
sha3: respect OQS_ENABLE_SHA3_xkcp_low_avx2=OFF in CMakeLists.txt (#999) 2021-05-11 21:09:34 -04:00