96 Commits

Author SHA1 Message Date
dkostic
a1bdce9894
BIKE Round-4 update (#1369)
* BIKE Round-4 update

* Export BIKE symbols

---------

Co-authored-by: dkostic <dkostic@amazon.com>
Co-authored-by: Douglas Stebila <dstebila@users.noreply.github.com>
2023-02-08 06:54:30 +01:00
Michael Baentsch
04ff6fd871
compiler future-proofing Release builds (#1378)
* compiler future-proofing Release builds
2023-02-07 07:24:40 +01:00
Goutam Tamvada
924ea88cb0
Updated PQClean commit in copy_from_upstream.yml (#1359) 2023-01-16 11:06:08 -05:00
Michael Baentsch
1d76b2e6a1
add cpack (for .deb packages) (#1362) 2023-01-16 07:09:33 +01:00
Michael Baentsch
da0dd47c5d
Config update (#1361)
* update default configs docs and DIST_BUILD

* toggle OQS_DIST_BUILD CCI tests

* setting ARM64 default for CMAKE_ARGS
2023-01-16 07:08:56 +01:00
Douglas Stebila
aed3b4965f
Build Doxygen docs in whatever the CMake build directory is (#1357)
* Build Doxygen docs in whatever the CMake build directory is

Fixes #1341.

* Missing Doxygen build directory in CI
2023-01-13 16:58:03 -05:00
Jeevesh Rishi Dindyal (Sarvesh)
2e42595804
Add ntruprime (#1328)
* Add back sntrup761
2022-12-22 07:37:44 +01:00
Goutam Tamvada
a7e1b8a32f
Removed NTRU. (#1335) 2022-12-15 12:19:29 -05:00
Goutam Tamvada
f5d96cab5c
Removed SABER. (#1326) 2022-12-01 14:04:08 -05:00
Goutam Tamvada
c50d38e5a8
Removed NTRU-Prime. (#1325) 2022-11-29 07:31:53 +01:00
Goutam Tamvada
fac5a818ed
Removed the Picnic signature scheme. (#1323) 2022-11-28 15:29:10 -05:00
Goutam Tamvada
203c9c269b
Removed the rainbow signature scheme (#1321). 2022-11-28 11:34:59 -05:00
Michael Baentsch
e9cd9a5c55
automatically activate USE_RASPBERRY_PI define (#1313)
* automatically activate USE_RASPERRY_PI define

* prefix RASPBERRY_PI define with OQS_
2022-11-18 08:12:19 +01:00
Michael Baentsch
46deaac9a9
update version string indicating dev status (#1305) 2022-09-14 17:17:09 +02:00
Douglas Stebila
ea44f391fd 0.7.2 2022-08-21 15:54:09 -04:00
Douglas Stebila
da6e54103a 0.7.2-rc2 2022-08-10 13:26:37 -04:00
Douglas Stebila
3cf9849cc4 0.7.2-rc1 2022-08-03 17:07:33 -04:00
Douglas Stebila
1e47e14556
Remove SIDH and SIKE (#1272)
Due to https://eprint.iacr.org/2022/975.

Fixes #1268.
2022-08-03 10:19:28 -04:00
Michael Baentsch
7d7fd33879
improve Windows crosscompile handling (#1236) 2022-06-29 07:40:32 +02:00
Michael Baentsch
d9c2cd2136
doxygen update (#1228)
* upgrade script to support doxygen 1.9.3

* update CI script for doc generation

* add license identifiers
2022-06-21 10:53:16 -04: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
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
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 2021-12-16 13:34:53 -05:00
Douglas Stebila
0a61d5d066 0.7.1-rc1 [skip ci] 2021-12-09 14:23:49 -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
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
Douglas Stebila
d071f2bc8c
Add powerpc64le name as alternative to ppc64le (#1112)
* Add powerpc64le name as alternative to ppc64le

FreeBSD uses powerpc64le name for 64-bit POWER little endian.

* Remove parentheses

Co-authored-by: pkubaj <pkubaj@FreeBSD.org>
2021-10-19 08:48:51 -04:00
Basil Hess
016404076d
S390x support (#1103)
* s390x support

* - Fix for FrodoKEM-SHAKE for big endian support
- Fix unused variable in Keccak code on big endian
2021-10-12 14:39:56 -04:00
Douglas Stebila
6f649807cd liboqs 0.7.0 2021-08-11 17:22:32 -04:00
Douglas Stebila
2db7f97922 liboqs 0.7.0-rc4 2021-08-06 10:17:11 -04:00
Douglas Stebila
0f6d6a93b6 liboqs 0.7.0-rc3 2021-08-01 17:04:06 -04:00
Douglas Stebila
d0ad484a46 liboqs 0.7.0-rc2 2021-07-30 15:28:36 -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
Douglas Stebila
9b4d4bb683
Change CMake files to support macos on Apple Silicon (#1034) 2021-07-05 11:55:39 -04: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
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
Douglas Stebila
00d6c7d541 liboqs 0.6.0 2021-06-08 10:42:31 -04:00
Douglas Stebila
08ac2b1ced liobqs 0.6.0-rc3 2021-06-06 19:35:22 +00:00
Douglas Stebila
f8e339dcae liboqs 0.6.0 RC2 2021-06-02 21:04:37 -04: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
Douglas Stebila
5f28a2af5d liboqs 0.6.0-rc1 2021-04-25 16:43:56 -04:00
John Schanck
efd7b1926a
Speed up ARM jobs in CI (#964)
* CMake: ARM toolchain files

* CI: Cross compile for ARM instead of emulating the entire build

* CMake: do not use mcpu=native when cross compiling

* CI: Disable testapproval [skip ci]

* CI: Disable armel tests

* CI: Disable test_mem on ARM
2021-04-08 14:49:56 -04:00
John Schanck
b36ff9f17c
Replace OQS_PORTABLE_BUILD and OQS_USE_CPU_EXTENSIONS (#951)
* Replace OQS_PORTABLE_BUILD with OQS_DIST_BUILD

Also introduces OQS_OPT_TARGET and removes OQS_USE_CPU_EXTENSIONS

* Only compile sha3 avx2 code on Linux|Darwin

* Use new ARCH_ARM[X] flags in SIKE CMakeLists

* Update test_portability and rename to test_distbuild

* Update documentation for building Windows AMD64 from Ubuntu Bionic

* Update scripts/build-android.sh

* More specific CMAKE_SYSTEM_PROCESSOR for rasppi toolchain

* CI: Use OQS_DIST_BUILD in some jobs

* Replace OQS_get_available_CPU_extensions by OQS_CPU_has_extension

* ARM64v8/ARM32v7 runtime cpu feature detection

* Compile-time detection of some ARM features

* Toolchain files to cross compile for ARM32v7 and ARM64v8

* Remove unnecessary references to CMAKE_BUILD_TYPE=Release

* Use OQS_DIST_BUILD=ON on Windows
2021-03-31 16:30:54 -04:00
John Schanck
3f2da47b36
Pull latest SPHINCS from PQClean; bump liboqs version to 0.6.0-dev (#950) 2021-03-27 14:11:00 -04:00
John Schanck
7dc4b378d6
Refactor SHA3 implementations and improve API (#922)
* sha3: remove old implementations

* sha3: new implementations

* picnic: use liboqs sha3 and sha3x4

* frodo: use new sha3x4 interface

* sphincs: use liboqs sha3x4

* fixup

* skip test_spdx on xkcp_low directory
* xkcp_sha3: explicit casts to avoid narrowing warnings
* xkcp_sha3x4: explicit casts to avoid narrowing warnings
* sha3: disable platform specific xkcp if OQS_PORTABLE_BUILD
* sha3: fix Wcast-qual warnings on clang-9
* fix 'reset' functions
* xkcp_sha3: skip fastloop call if input is not long enough
* xkcp_low: Enable lane complementing for plain-64bits
* xkcp_low: remove Kravatte definitions from times4/avx2

* Add common OQS_MEM_aligned_alloc and OQS_MEM_aligned_free

* Require both OQS_USE_OPENSSL and OQS_USE_SHA3_OPENSSL to enable OpenSSL's SHA3

* Fix some undefined behaviour in KeccakP-1600/plain-64bits

* Fix some undefined behaviour in KeccakP-1600times4/avx2

* Expand shake tests

* Add sha3x4.h include to oqs.h

* Add xkcp_low license info to readme [skip-ci]

* Add copy_from_xkcp scripts [skip-ci]

* SPDX License Info for new scripts [skip-ci]
2021-03-22 19:54:32 -04:00
John Schanck
4b1a9e23ee
Make OQS_USE_CPU_EXTENSIONS imply OQS_PORTABLE_BUILD=OFF; alternative to #939 (#942) 2021-03-14 15:32:52 -04:00
John Schanck
707750e034
Fix OQS_PORTABLE_BUILD logic for Frodo (#927)
* Fix OQS_PORTABLE_BUILD logic for Frodo

* Refine 'OQS_PORTABLE_BUILD' by general architecture, e.g. x86_64

* Use CMake to define ARCH_X86_64 and ARCH_ARM_ANY used in common.{c,h}

* Avoid triggering portable build on ARM

* Set OQS_USE_CPU_EXTENSIONS even on MSVC

* Compile AES-NI code in portable x86_64 builds
2021-03-11 21:31:26 -05:00