1645 Commits

Author SHA1 Message Date
Sergey Fedorov
0a8ec57414
CMakeLists: add ppc case (#1816)
Signed-off-by: Sergey Fedorov <barracuda@macos-powerpc.org>
2024-08-27 16:09:41 +02:00
Pravek Sharma
a6e0bfcb75
Fix incorrect formatting in unix.yml (#1902)
* fix GH action file unix.yml

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* add additional test entries under include for testing libjade in unix.yml and weekly.yml

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

---------

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>
2024-08-26 16:38:57 -04:00
Spencer Wilson
66f713f550
Update OpenSSH downstream branch to OQS-v9 (#1898)
* Trigger GitHub CI for OpenSSH OQS-v9

Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
2024-08-22 09:51:54 -04:00
Basil Hess
6a24482eac
Disable erroring TravisCI build (#1901)
Signed-off-by: Basil Hess <bhe@zurich.ibm.com>
2024-08-22 13:14:07 +02:00
Loganaden Velvindron
9901a286ca
Use explicit_memset if available. NetBSD has support for it: (#1872)
https://man.netbsd.org/NetBSD-10.0/explicit_memset.3

Work done together with Ritesh Gomind & Ali Koheeallee
from University of Mauritius RICRG while porting liboqs to NetBSD.

Signed-off-by: Loganaden Velvindron <logan@cyberstorm.mu>
2024-08-20 09:13:44 -04:00
Pravek Sharma
e520ec1c38
Integrate Kyber from libjade (#1745)
* Add copy_from_libjade.yml

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Modify copy_from_upstream.py

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Add patches for libjade Kyber code

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Update alg_support.cmake templates

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Update KEM famiy templates

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Fix copy_from_upstream.py

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Correct copy_from_upstream.py

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Modify copy_from_upstream.yml

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Update KEM family templates

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Fix copy_from_upstream.py

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Fix KEM family templates

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Fix KEM family templates

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Update templates for build system files

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Update build system files

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Fix add_enable_by_alg_conditional.libjade

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Run copy_from_upstream.py

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Update KEM family templates

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Update KEM templates

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Update KEM templates

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Update copy_from_upstream.yml with libjade implementation info

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Update KEM templates

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Edit KEM templates

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Run copy_from_upstream.py

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Update copy_from_upstream.py

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Fix KEM temlates

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Run copy_from_upstream.py

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Add libjade_shim

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Add jasmin/libjade namespaces to test_binary.py

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Update testing

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Allow manually triggering CI tests

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Change container for upstreamcheck in unix.yml

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Update copy_from_upstream.py

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Edit unix.yml

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Edit unix.yml

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Restrict copying of code from libjade repo to relevant files

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Remove irrelevant libjade code

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Remove redundant KEM templates

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Update KEM template to accomodate new dir structure

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Debug: tweak unix.yml

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Re-build libjade with jasmin version used in CI

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Debug: undo unix.yml tweak

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Allow MSVC to ignore libjade_shims

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Simplify name scheme for libjade code

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Update alg docs, libjade code name scheme, and license

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Update copy_from_upstream documentation

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Fix copy_from_upstream.py and simply libjade code name scheme

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Update alg docs and CBOM

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Correct alg doc generation

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Generate CBOM with unique bom-ref

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Cleanup unix.yml

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* fix patches to include api.c; fix kem templates

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* fix kyber patch

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* turn off weekly constant time tests for libjade implementations

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* update documentation

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* change upstream to stable libjade release

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* fix kyber documentation

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* fix kyber documentation

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* fix kem template again

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* fix weekly.yml and unix.yml to test libjade code

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* rename libjade asm files from *.s to *.S

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* end libjade_kyber*/api.c files with newline

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* fix kem template to prevent duplicate symbols in object files

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* fix indentation in weekly.yml

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* skip testing libjade on macos-14 in CI

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* use release tag/branch with libjade upstream url instead of commit

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* fix build error when OQS_ENABLE_LIBJADE_KEM_ALG=OFF

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* initialize LIBJADE_RANDOMBYTES when OQS_LIBJADE_BUILD=OFF

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* remove redundant comment

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* fix comment typo

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* make string explicit when comparing with variable in cmake

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* add libjade kyber licensing to README.md

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* remove reference to oldpqclean_kyber* code from libjade if branchin kem_kyber_*.c

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Update CMakeLists.txt

Co-authored-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* track jasminc version in copy_from_libjade.yml; check jasminc version in copy_from_upstream.py

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* add OQS_LIBJADE_BUILD to build flags output

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* remove link from CONFIGURE.md

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Update libjade to dual license

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Patch gcc version for MacOS CI runs

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Fix doc generation

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* Fix libjade docs

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* fix license info in README.md

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* update libjade_randombytes spdx-license

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

---------

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>
Co-authored-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
2024-08-18 12:02:37 -04:00
Spencer Wilson
fc2264d150
Fix overflow in example_sig_stfl (credit @wangweij) (#1887)
Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
2024-08-12 15:54:11 -04:00
Spencer Wilson
4f8c9e2c67
Don't hardcode OPENSSL_ROOT_DIR to /usr on Linux (#1873)
* Don't hardcode OPENSSL_ROOT_DIR to /usr on Linux

* Run buildcheck with latest docker image

---------

Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
2024-08-09 13:14:47 -04:00
Spencer Wilson
2acfd964b9
Fix downstream CI trigger (#1857)
Explicitly use secret variable in GitHub Actions workflow

Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
2024-07-30 13:16:28 -04:00
Spencer Wilson
3488f0a598
Check return value of fscanf in LMS/XMSS KAT tests (#1874)
Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
2024-07-29 17:43:09 -04:00
Spencer Wilson
841e903b05
Quick fixes from Trail of Bits audit Week 1 (#1869)
* Remove unused variables from CI workflows

* Add missing OpenSSL guards

* Fix broken link and misplaced comment in common.c

---------

Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
2024-07-29 11:01:03 -04:00
Spencer Wilson
45972eaa42
Add a convenience script for consistent astyle formatting (#1861)
* Add script to format code in a CI container

* Update CONTRIBUTING.md to document script
---------

Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
2024-07-26 08:39:10 -04:00
Spencer Wilson
2f02bf44e3
Move from CircleCI to GitHub Actions (#1849)
Duplicate jobs from the CircleCI workflow as closely as possible in GitHub Actions. Remove Ubuntu Bionic / i386 support in CI.

---------

Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
2024-07-24 13:07:57 -04:00
Basil Hess
476f8352d0
ML-KEM NIST tests, fix order of d and z (#1854)
* ML-KEM NIST tests, fix order of d and z

---------

Signed-off-by: Basil Hess <bhe@zurich.ibm.com>
2024-07-24 08:45:22 +02:00
Basil Hess
0f837591c7
Fix passes.json entries for MAYO (#1852)
Signed-off-by: Basil Hess <bhe@zurich.ibm.com>
2024-07-22 16:58:29 +02:00
Spencer Wilson
62e9026bd6
Use cmake -LA -N instead of cmake -LA in CI (#1848)
To ensure that there are no unwanted no side effects when the library config is printed.
---------

Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
2024-07-21 09:30:11 -04:00
Andrés Vega
60cd3d83c9
Fix CI status badges for CircleCI and Travis CI (#1844)
- Update CircleCI badge to use shield style
- Correct Travis CI badge URL and use shields.io for better customization
- Remove redundant text labels preceding badges

Signed-off-by: Andrés Vega <av@monkey.org>
2024-07-18 14:14:58 -04:00
dependabot[bot]
5670edf59f Bump zipp in /scripts/copy_from_upstream in the pip group
Bumps the pip group in /scripts/copy_from_upstream with 1 update: [zipp](https://github.com/jaraco/zipp).


Updates `zipp` from 3.4.0 to 3.19.1
- [Release notes](https://github.com/jaraco/zipp/releases)
- [Changelog](https://github.com/jaraco/zipp/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/zipp/compare/v3.4.0...v3.19.1)

---
updated-dependencies:
- dependency-name: zipp
  dependency-type: direct:production
  dependency-group: pip
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-16 11:28:26 -04:00
Basil Hess
4cc88845e8
Add MAYO signature scheme from NIST onramp (#1707)
Add MAYO signature scheme from NIST onramp, C and AVX2 versions
Add AES128CTR to common code

Signed-off-by: Basil Hess <bhe@zurich.ibm.com>
2024-07-13 21:38:01 +02:00
Daiki Ueno
26feef2e8a
Expose callback API for replacing low-level cryptographic primitives (#1832)
This makes the callback API to replace low-level cryptographic
implementation public again after open-quantum-safe#1667.

Signed-off-by: Daiki Ueno <dueno@redhat.com>
2024-07-11 11:53:46 -04:00
Nigel Jones
d2089c5017
Add OpenSSF scorecard
pinned python/gh action dependencies, explicit action permissions 
Fixes #1706

Signed-off-by: Nigel Jones <jonesn@uk.ibm.com>
2024-07-01 15:03:56 +02:00
Duc Tri Nguyen
51ddd33cc0
Add XMSS-SHAKE256_{10, 16, 20}_256 parameters (#1819)
* add XMSS-SHAKE256_*_256 parameters

Signed-off-by: Duc Tri Nguyen <dnguye69@gmu.edu>

* [trigger downstream]

Signed-off-by: Duc Tri Nguyen <dnguye69@gmu.edu>

---------

Signed-off-by: Duc Tri Nguyen <dnguye69@gmu.edu>
2024-06-25 15:29:30 +00:00
Duc Tri Nguyen
e3f05cbfba
add XMSS-SHAKE256_*_192 parameters (#1818)
make server astyle happy

update xmss.yml

update algorithm list and README



clean up



[trigger downstream]

Signed-off-by: Duc Tri Nguyen <dnguye69@gmu.edu>
2024-06-18 18:31:43 +00:00
Duc Tri Nguyen
5e3111617b
Add XMSS-SHA256_{10, 16, 20}_192 parameters (#1817)
* add XMSS-SHA2_*_192 parameters

Signed-off-by: Duc Tri Nguyen <dnguye69@gmu.edu>

make astyle happy

Signed-off-by: Duc Tri Nguyen <dnguye69@gmu.edu>

update xmss.md

Signed-off-by: Duc Tri Nguyen <dnguye69@gmu.edu>

update algorithm list

Signed-off-by: Duc Tri Nguyen <dnguye69@gmu.edu>

* [trigger downstream]

Signed-off-by: Duc Tri Nguyen <dnguye69@gmu.edu>

* format xmss.md

Signed-off-by: Duc Tri Nguyen <dnguye69@gmu.edu>

* [trigger downstream]

Signed-off-by: Duc Tri Nguyen <dnguye69@gmu.edu>

---------

Signed-off-by: Duc Tri Nguyen <dnguye69@gmu.edu>
2024-06-18 13:34:21 -04:00
Spencer Wilson
21ab5930f0
Increment version [skip ci] (#1813)
Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
2024-06-18 13:31:43 -04:00
qnfm
c8a2beb5a6
Fix test_alg_info.py on Windows platform (#1821)
* Fix test_alg_info.py on Windows platform

Signed-off-by: zinag <uzinag@163.com>

* Remove incorrect print

Signed-off-by: zinag <uzinag@163.com>

---------

Signed-off-by: zinag <uzinag@163.com>
2024-06-17 09:19:22 -04:00
Spencer Wilson
6ee5de2522
Move Linux ARM64 "build" test from CircleCI to GitHub Actions (#1814)
---------

Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
2024-06-11 15:47:30 -04:00
Spencer Wilson
39688e908b
Forward-declare OQS_SIG type in sig_stfl.h (#1820)
Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
2024-06-11 14:55:29 -04:00
Norman Ashley
971173ad82
Add Stateful Signature (XMSS and LMS) (#1650)
Add support for LMS and XMSS. Key generation and signing are disabled behind a feature flag labelled "hazardous experimental."

---------

Signed-off-by: Duc Tri Nguyen <dnguye69@gmu.edu>
Signed-off-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
Signed-off-by: Norman Ashley <nashley@cisco.com>
Signed-off-by: Douglas Stebila <dstebila@uwaterloo.ca>
Co-authored-by: Duc Tri Nguyen <dnguye69@gmu.edu>
Co-authored-by: Douglas Stebila <dstebila@uwaterloo.ca>
Co-authored-by: Duc Nguyen <106774416+ducnguyen-sb@users.noreply.github.com>
Co-authored-by: Douglas Stebila <dstebila@users.noreply.github.com>
Co-authored-by: Duc Nguyen <ductri.nguyen@sandboxquantum.com>
Co-authored-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
Co-authored-by: Jason Goertzen <133878263+jgoertzen-sb@users.noreply.github.com>
2024-06-05 15:59:40 -04:00
Nigel Jones
0a89cf6fd4 ensure no autoupdate
Signed-off-by: Nigel Jones <jonesn@uk.ibm.com>
2024-06-05 12:18:10 +02:00
Nigel Jones
8066012110 add back gcc override
Signed-off-by: Nigel Jones <jonesn@uk.ibm.com>
2024-06-05 12:18:10 +02:00
Nigel Jones
41699656cd remove gcc override to validate gcc change resulted in build success (and this fails)
Signed-off-by: Nigel Jones <jonesn@uk.ibm.com>
2024-06-05 12:18:10 +02:00
Nigel Jones
9ae06c545f Force gcc 13.2.0 over 13.3.0
Signed-off-by: Nigel Jones <jonesn@uk.ibm.com>
2024-06-05 12:18:10 +02:00
Basil Hess
982c762c24 Pull Kyber/ML-KEM CT-Fix from upstream
Signed-off-by: Basil Hess <bhe@zurich.ibm.com>
2024-06-05 12:02:05 +02:00
Basil Hess
755c023102
Fix for incorrect macros in signatures. (#1799)
Signed-off-by: Basil Hess <bhe@zurich.ibm.com>
2024-05-28 16:25:59 +02:00
Bence Mali
7eecda6095
Errors not printed when OPENSSL_NO_STDIO is set (#1774)
Signed-off-by: Bence Mali <bence.mali@tresorit.com>
2024-05-20 17:51:32 +02:00
Bence Mali
9c097d997c
use OPENSSL_cleanse if OpenSSL is used (#1773)
Signed-off-by: Bence Mali <bence.mali@tresorit.com>
2024-05-20 17:51:03 +02:00
Dmitry Belyavskiy
a5ec23cf19
Algorithm selection clarification (#1784)
Resolves: #1781

Signed-off-by: Dmitry Belyavskiy <beldmit@gmail.com>
2024-05-07 16:00:13 +02:00
dependabot[bot]
4b8d10d65f
Bump jinja2 from 3.1.3 to 3.1.4 in /scripts/copy_from_upstream (#1782)
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.3...3.1.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-07 08:49:10 -04:00
Ry Jones
b392919f6e Add workflow dispatch to action
Signed-off-by: Ry Jones <ry@linux.com>
2024-05-04 08:37:39 -07:00
Pravek Sharma
a23046ffce
Fix README.md to work with Doxygen release 1.10.0 (#1775)
* fix link in README.md

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* simplify linux and mac link in README.md

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* update Doxyfile

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

* update CI to use /scripts/run_doxygen.sh

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>

---------

Signed-off-by: Pravek Sharma <sharmapravek@gmail.com>
2024-05-03 15:21:47 -04:00
Vlad Gheorghiu
9c8db18ec1
Update README.md (#1769)
fixed typo in link

Signed-off-by: Vlad Gheorghiu <vsoftco@gmail.com>
2024-04-25 11:33:38 -04:00
Michael Baentsch
2bb1d2584c
restrict Windows platform support documentation [skip ci] (#1762)
Signed-off-by: Michael Baentsch <57787676+baentsch@users.noreply.github.com>
2024-04-23 17:53:27 +02:00
d0p1
edfed5f0b9
fix build shared lib on msys (#1758)
Signed-off-by: d0p1 <contact@d0p1.eu>
2024-04-23 11:37:34 -04:00
carson radtke
7b6d9f3326 add compile_commands.json to .gitignore
We set CMAKE_EXPORT_COMPILE_COMMANDS=ON so the compilation database is
automatically exported to the build directory. However, many language
servers expect this file to be in the project root directory, so a common
post-build step is to:

```shell
$ ln -s <build-directory>/compile_commands.json
```

This PR enables developers to do this without having to worry about
accidentally commiting a symlink file.

Signed-off-by: carson radtke <nosrac925@gmail.com>
2024-04-15 17:07:47 -07:00
Weijun Wang
6f0c46187c
remove "maximum" words for various length fields (#1747)
Signed-off-by: Weijun Wang <weijun.wang@oracle.com>
2024-04-09 10:13:13 -04:00
Eddy Kim
cfc41f7560
Refactor OpenSSL Implementation of SHA3 SHAKE to use new Squeeze API (#1694)
* Refactor OQS OpenSSL SHA3 SHAKE to use new EVP_DigestSqueeze() #1539

* Add OpenSSL 3.3.0 test and conditional fix

* Update ref to use human readable commit tag

Signed-off-by: Eddy Kim <Eddy.M.Kim@outlook.com>
Co-authored-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
2024-04-07 19:27:15 +02:00
matlimatli
701dea5d2a
Allow windows linking of test programs (#1751)
The kat_kem and kat_sig programs could not be linked when building natively on windows. This was caused by multiple definitions of symbols. By using the /FORCE:MULTIPLE compiler option, this is allowed, similar in spirit to what was already used for cross-compiling to Windows.

Fixes #1749

Signed-off-by: Mattias Lindblad <matlin@gmail.com>
2024-04-07 19:00:08 +02:00
Daiki Ueno
32afec8fcc
Add option to dynamically load libcrypto.so.* (#1603)
* sha2: Use EVP_MD_CTX_free instead of EVP_MD_CTX_destroy

According to the manual page, EVP_MD_CTX_destroy has been renamed to
EVP_MD_CTX_free in OpenSSL 1.1.0 and only provided as a compatibility
macro in later OpenSSL releases:
https://www.openssl.org/docs/man1.1.1/man3/EVP_MD_CTX_free.html

Signed-off-by: Daiki Ueno <dueno@redhat.com>

* ossl_helpers: Use pthread_once instead of CRYPTO_THREAD_run_once

Throughout the code base, liboqs uses pthread_once for one-shot
initialization and falls back to thread-unsafe code if it is not
supported nor enabled on the system.  For consistency and to remove
additional dependency on OpenSSL, this switches the use of
CRYPTO_THREAD_run_once with that.

Signed-off-by: Daiki Ueno <dueno@redhat.com>

* Make common algorithms pluggable

This allows applications to replace the implementation of common
cryptographic algorithms at runtime, by setting callback functions for
each operations with OQS_AES_set_callbacks, OQS_SHA2_set_callbacks,
OQS_SHA3_set_callbacks, and OQS_SHA3_x4_callbacks.  Those functions
may be called once before OQS_init; otherwise the default
implementation will be used.

Signed-off-by: Daiki Ueno <dueno@redhat.com>

* Add option to dynamically load libcrypto.so.*

This adds OQS_DLOPEN_OPENSSL build option to use OpenSSL through
dynamically loaded libcrypto.so.* with dlopen, instead of linking to
the library at build time.

That way the applications could use their favorite implementation of
common cryptographic primitives without pulling in the OpenSSL as a
hard dependency.

Signed-off-by: Daiki Ueno <dueno@redhat.com>

* Add tests for OQS_*_set_callbacks

This adds tests that exercise OQS_*_set_callbacks by overriding one of
the function of each and ensuring the wrapper function is called.

Signed-off-by: Daiki Ueno <dueno@redhat.com>

---------

Signed-off-by: Daiki Ueno <dueno@redhat.com>
2024-04-05 16:20:17 +02:00
PI
7a6df815bb
Document Fix (#1735)
Signed-off-by: PI <74706004+pi-314159@users.noreply.github.com>
2024-04-04 14:01:52 -04:00