1358 Commits

Author SHA1 Message Date
Spencer Wilson
f761b06c3d
Pull Neon implementation of Falcon from PQClean (#1547)
Pull aarch64 implementation of Falcon from PQClean

---------

Co-authored-by: Duc Nguyen <ductri.nguyen@sandboxquantum.com>
2023-09-13 08:59:11 -04:00
Pravek Sharma
7ef422a6f5
Update Classic McEliece suppression files (#1541)
* Update McEliece supression files.

* Update McEliece advisories.

* Update weekly constant time test workflow.

* Update weekly constant time test workflow. Update McEliece supression files.

* Update BIKE advisories.

* Restored BIKE advisories. Deleted unused BIKE supressions.
2023-09-13 08:46:45 -04:00
dependabot[bot]
456015c16f
Bump gitpython from 3.1.34 to 3.1.35 in /scripts/copy_from_upstream (#1551)
Bumps [gitpython](https://github.com/gitpython-developers/GitPython) from 3.1.34 to 3.1.35.
- [Release notes](https://github.com/gitpython-developers/GitPython/releases)
- [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES)
- [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.34...3.1.35)

---
updated-dependencies:
- dependency-name: gitpython
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-12 19:42:38 +02:00
Raihaan Shouhell
b3b0fbb16c
Prefer arc4random on Apple platforms (#1544)
* Prefer arc4random_buf on Apple platforms

We swap from getentropy() to arc4random_buf on Apple
platforms as Apple's documentation discourages its use.

This also allows us to not have to use SecCopyRandomBytes
which can fail. arc4random_buf() however never fails.

* Remove linking to unused Security framework
2023-09-10 11:24:52 -04:00
dependabot[bot]
0dafd4f02c
Bump gitpython from 3.1.32 to 3.1.34 in /scripts/copy_from_upstream (#1538)
Bumps [gitpython](https://github.com/gitpython-developers/GitPython) from 3.1.32 to 3.1.34.
- [Release notes](https://github.com/gitpython-developers/GitPython/releases)
- [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES)
- [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.32...3.1.34)

---
updated-dependencies:
- dependency-name: gitpython
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-07 07:59:51 +02:00
Michael Baentsch
f2f9076693
re-enable armhf speed testing (#1535) 2023-08-28 08:51:32 +02:00
Raihaan Shouhell
914764c9cc
Add CI for android (#1531) 2023-08-22 14:05:44 -04:00
dependabot[bot]
dcecd03d3c
Bump gitpython from 3.1.30 to 3.1.32 in /scripts/copy_from_upstream (#1524)
Bumps [gitpython](https://github.com/gitpython-developers/GitPython) from 3.1.30 to 3.1.32.
- [Release notes](https://github.com/gitpython-developers/GitPython/releases)
- [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES)
- [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.30...3.1.32)

---
updated-dependencies:
- dependency-name: gitpython
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-15 11:22:12 -04:00
Pravek Sharma
348ab36bbe
Update Classic McEliece supression files (#1527)
* Update constant suppression supression files for Round 4 Classic McEliece.

* Update constant suppression supression files for Round 4 Classic McEliece.
2023-08-15 10:48:54 -04:00
Michael Baentsch
ebf4638ab9
Bump XCode (#1526)
* update XCode version in CCI

* add OpenSSL to MacOS CCI
2023-08-12 11:58:25 -04:00
Douglas Stebila
d14825a755
Pull Falcon updates from PQClean (#1523)
c3abebf4ab
2023-08-10 13:43:23 -04:00
Basil Hess
be678118a5
kyber/dilithium aarch64 pull from pqclean + patches (#1512)
* fix compiler warning/error in aes256_armv8.c

* pull pqclean+paches

* pull pqclean+paches

* remove old patches & update algorithm md/yml

* add new patches

* add patch with fixes for arm/kyber768+kyber1024

* update licenses in yamls and mds

* update kyber/dil suppression files

* removes superfluous pqclean Makefiles & updates copy_from_upstream script to handle this case

* update license infos
2023-08-04 16:52:49 -04:00
Michael Baentsch
6c20a7ddeb
update BIKE documentation [skip ci] (#1509) 2023-07-18 17:03:36 +02:00
Pravek Sharma
0b64ca3c91
Update Classic McEliece (#1470)
* Update Classic McEliece

* Run copy_from_upstream.py

* Change crypto_declassify.h license

* Remove old McEliece vec/avx directories

* Add add_compile_options(-Wno-language-extension-token) to comipler_opts.cmake

* Fix CI errors. Reduce McEliece optimisation from -03 to -01. Patch PQClean McEliece.

* Update liboqs version number. Fix comments.

* Increment SOVERSION.

* Update Classic McEliece advisories. Replace

* Update Classic McEliece documentation YAML. Update KEM CMakeLists Jinja template.
2023-07-17 09:43:45 -04:00
Spencer Wilson
f032c20961
Trigger liboqs-python CI via GitHub API (#1507)
Trigger the CI for liboqs-python using the GitHub API in the `trigger-downstream-ci` job. The API call is made using a personal access token for the oqs-bot machine user, which is stored in a CircleCI environment variable for the liboqs project.
2023-07-11 15:52:19 -04:00
Nigel Jones
93e784725e
README correction to docs path & additional gitignore to macos + vscode (#1503)
* Add .DS_Store (macOS) to .gitignore

Signed-off-by: Nigel Jones <jonesn@uk.ibm.com>

* Correct path to built docs in README

Signed-off-by: Nigel Jones <jonesn@uk.ibm.com>

* Add Visual Studio Code .vscode & Jetbrains .idea to .gitignore

Signed-off-by: Nigel Jones <jonesn@uk.ibm.com>

---------

Signed-off-by: Nigel Jones <jonesn@uk.ibm.com>
2023-07-02 17:02:22 -04:00
Michael Baentsch
65adc841c9
create deb package and retain as artifact (#1501) 2023-06-27 07:05:15 +02:00
Douglas Stebila
55cc72796f Remove @xvzcf from CODEOWNERS [skip ci] 2023-06-19 10:46:18 -04:00
Michael Baentsch
d81c64cc0f
update version and remove CCI triggers (#1498) 2023-06-15 06:02:47 +02:00
Vitalio
f0e6b8646c
Fix libdir value in liboqs.pc (#1496)
Libdir is not always '/usr/lib' and its value is different between
distributions and architectures. Set it from CMAKE_INSTALL_LIBDIR.
Also, set includedir in a similar way.

Currently, this incorrect setting did not produce incorrect output by
pkg-config --libs because pkg-config strips 'system library paths' form
the output. But in non-standard build environments this may cause
incorrect linking.

Issue: https://github.com/open-quantum-safe/liboqs/issues/1495

Signed-off-by: Vitaly Chikunov <vt@altlinux.org>
2023-06-11 14:10:48 -04:00
Douglas Stebila
db08f12b5a liboqs 0.8.0 release 0.8.0 2023-06-07 20:50:36 -04:00
Douglas Stebila
b2ad3f97c3
Fix SPHINCS+ constant-time suppression files (#1480)
* Update SPHINCS+ AVX2 suppression files

* FIx names of SPHINCS+ algs in constant_time passes

* More SPHINCS+ suppressiosn

* SPHINCS SHAKE suppressions.

* Changed suppression annotations.

* Uncommented file name annotations.

---------

Co-authored-by: xvzcf <xvzcf@users.noreply.github.com>
2023-06-06 20:21:25 -04:00
Douglas Stebila
3e25479c16
Don't use cycle counter on ARM32 (#1485) 2023-05-31 20:02:45 -04:00
Douglas Stebila
7728f20d4d 0.8.0-rc1 0.8.0-rc1 2023-05-22 19:41:41 -04:00
Michael Baentsch
6e1f49aa48
Patch AVX2 support: No Win for Sphincs+ (#1478) 2023-05-20 12:38:14 -04:00
Douglas Stebila
36f3994388
Update SPHINCS+ specification version [skip ci] (#1477) 2023-05-19 11:36:48 -04:00
Michael Baentsch
aaa5695ae2
protect ossl cleanup from multithreading errors (#1472) 2023-05-18 17:22:37 -04:00
Douglas Stebila
e11e2d1048
Extend test_hash to cover more input lengths (#1468) 2023-05-18 13:00:39 -04:00
Goutam Tamvada
4d10a58abc
Renamed sphincs-sha256-X to sphincs-sha2-X and sphincs-shake256-X to sphincs-shake-X. (#1467)
Co-authored-by: Douglas Stebila <dstebila@uwaterloo.ca>
2023-05-17 13:12:03 -04:00
Michael Baentsch
5f5eee8428
once OSSL init (#1469) 2023-05-17 14:58:44 +02:00
Michael Baentsch
b63d5c068f
relax OpenSSL initialization error handling (#1463)
* relax OpenSSL initialization error handling
2023-05-17 07:18:16 +02:00
Douglas Stebila
35b1bf2704
Remove remaining references to SPHINCS+-Haraka, Kyber 90s, Dilithium-AES (#1465)
* Delete Haraka references

* Delete Kyber90s and Dilithium-AES source code and references

* Delete more references to Dilithium-AES
2023-05-16 12:27:12 -04:00
Douglas Stebila
fd1b89724a
Update SPHINCS+ (#1420)
* Switch to new PQClean commit for SPHINCS+ and remove old patch file

* Improve "compilability" on Apple M1 (ARM) (#1421)

* correct ARM SHA3 extension addition

* correct compile option for ARM SHA

* correct SHA3 enablement

* Remove SPHINCS+ robust and Haraka variants

* Fix SHA2 block sizes in OpenSSL wrapper

* enable Keccak for Sphincs even if OpenSSL shall provide SHA3

* properly handle xkcp enablement if only specific algorithms are selected

* correct conditional setting

* re-enable XKCP for other platforms

* Windows support

* alternate pqcrystals-AES removal

---------

Co-authored-by: Michael Baentsch <57787676+baentsch@users.noreply.github.com>
2023-05-16 10:54:28 -04:00
Michael Baentsch
24c7f4f078
Fixing OpenSSL SHA2 incremental API integration (#1454)
* disable OpenSSL if neither AES, SHA2, or SHA3 are OSSL-provided

* Fixes faulty OpenSSL incremental SHA2 API integration

* guard OpenSSL3 initialization

* initialize all OSSL3 statics if OQS_USE_OPENSSL=ON
2023-05-15 17:17:37 +02:00
Michael Baentsch
9f912c957b
disable OpenSSL if neither AES,SHA2, or SHA3 are OSSL-provided (#1453) 2023-05-12 06:53:06 +02:00
Michael Baentsch
d704da0c5f
Limit gcc version supported (#1451)
* tie down minimal gcc version
2023-05-09 06:47:33 +02:00
Mark Wooding
179c95cf38
src/common/common.c (set_available_cpu_extensions): Cope without `HWCAP_SHA3' (#1447)
Introduced in Linux 4.15, which, I admit, was a while ago.

Signed-off-by: Mark Wooding <mark.wooding@trustonic.com>
2023-05-07 14:15:29 -04:00
Douglas Stebila
d5be452ec8
Add missing x86 check in CMakeLists (#1445) 2023-04-28 16:19:18 -04:00
Thom Wiggers
9cf9e10df1
Use CMake flag for -Werror (#1444)
This allows us to override it when used in tandem with
OQS_STRICT_WARNINGS.

Closes #1432
2023-04-26 10:29:39 -04:00
Dmitry Belyavskiy
871f9e26d1
Initial fetching of MD and Cipher objects from OpenSSL(3) (#1431)
* Strawman version of one-time fetching MD objects from OpenSSL

We need init them and free them in one place to avoid threading
issues.

* Moving initialization of OpenSSL objects to a separate file

* Call OQS_init to ensure OpenSSL methods are cached

* Fix typo

* Use prefetch OpenSSL cipher object in rand_nist

---------

Co-authored-by: Douglas Stebila <beldmit@users.noreply.github.com>
Co-authored-by: Douglas Stebila <dstebila@uwaterloo.ca>
2023-04-25 12:19:42 -04:00
Marcin Puc
8f38bb44d2
Generate and install pkgconfig file (#1435) 2023-04-24 08:25:41 -04:00
Ricardo Fernández Serrata
d9f392a74b
fix "ths" typo (#1438) 2023-04-22 10:23:27 -04:00
Ricardo Fernández Serrata
5f181d96b3
rm duped "the" in pull_request_template.md (#1439) 2023-04-22 10:23:02 -04:00
dkostic
8b24019ba0
Make BIKE decode function void to avoid ct issues (#1400)
* Make decode function void to avoid ct issues

* Update test documentation

* add suppression files

* forgot to add the file

* typo fix

* Compute threshold without floating point operations

* Replace division by a constant with mul+shift

---------

Co-authored-by: dkostic <dkostic@amazon.com>
2023-04-14 14:46:14 -04:00
Michael Baentsch
b1d42d61f6
clarify OpenSSL config [skip ci] (#1429) 2023-04-06 07:14:33 +02:00
Douglas Stebila
d61d81c526
Add constant time suppression for Falcon AVX2 (#1415) ietf116 2023-03-09 10:43:07 -05:00
Michael Baentsch
50f7f1b14c
CI test copy_from_upstream (#1405)
* CI test copy_from_upstream

* improve pip install error test

* work around CBOM issue

* rebase and remove CBOM workaround
2023-03-07 05:51:37 +00:00
Basil Hess
4c7ced218a
Copy_from_upstream: no subprocess call & update_cbom fix for CI. (#1412)
* Refactor update_cbom and update_docs_from_yaml, allow copy_from_upstream to import them.
Workaround for issue in GitPython, caused update_cbom to fail in Github CI.

* updates after copy_from_upstream
2023-03-06 09:54:43 -05:00
Michael Baentsch
92b84c47c9
Add issue template [skip ci] (#1410) 2023-03-01 13:21:18 -05:00
Thom Wiggers
ec5c3be1ca
Update Falcon implementation (#1395)
* Update Falcon implementation

* Update license and upstream documentation

* Update Falcon constant-time suppressions

* Whitespace tweak from linter [skip ci]

* Update Falcon spec version [skip ci]

---------

Co-authored-by: Douglas Stebila <dstebila@uwaterloo.ca>
2023-03-01 11:03:38 -05:00