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
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
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
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
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
d0p1
edfed5f0b9
fix build shared lib on msys ( #1758 )
...
Signed-off-by: d0p1 <contact@d0p1.eu>
2024-04-23 11:37:34 -04: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
Michael Baentsch
5ac9bcfb2f
switching to dev mode again ( #1743 )
...
* switching to dev mode again
* activating backwards compatible pip3 mode
Signed-off-by: Michael Baentsch <57787676+baentsch@users.noreply.github.com>
2024-04-03 15:19:33 +02:00
Douglas Stebila
36be57445d
0.10.0 release ( #1734 )
...
* Bump version string, add release notes, dates, and update support level
Signed-off-by: Michael Baentsch <57787676+baentsch@users.noreply.github.com>
---------
Signed-off-by: Michael Baentsch <57787676+baentsch@users.noreply.github.com>
Co-authored-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
Co-authored-by: Michael Baentsch <57787676+baentsch@users.noreply.github.com>
2024-03-23 13:34:28 +01:00
Basil Hess
60adf53107
Add ML-DSA-ipd and ML-KEM-ipd & NIST supplied test vectors ( #1626 )
...
Pulls ML-DSA-ipd and ML-KEM-ipd
Adds test cases with NIST supplied test vectors for ML-DSA/ML-KEM
Adds aliases (ML-<name> are aliases of ML-<name>-ipd)
[trigger downstream]
2024-02-19 10:28:28 +01:00
Spencer Wilson
cc453db4a6
Make internal API available to (only) test programs ( #1667 )
...
* Separate public and internal headers
* Add necessary #include statements in FrodoKem code
* Build oqs-internal library
* Link test programs with oqs-internal
* Update header file documentation
* Refactor test Makefile
* Move rand_nist to internal API only
* Delete nistseedexpander shim
* Remove internal headers from Doxyfile
2024-01-22 09:03:35 -05:00
trigpolynom
bb23b3f61b
Riscv zephyr support ( #1641 )
...
* added riscv32 to zephyr (qemu)
* added to PLATFORMS.md
2024-01-14 08:37:50 +01:00
Michael Baentsch
ed86578c03
Correct cmake version requirement ( #1643 )
...
* upgrade minimum cmake version supported: cmake 3.15 is first version accepting object lists for TARGET_OBJECTS
2024-01-04 11:05:47 +01:00
Tobias Frauenschläger
4906c3fc88
Add support for embedded Zephyr RTOS ( #1621 )
...
* Zephyr RTOS support
This commit adds initial support for the zephyr operating system. Some
minor changes to the library build system have been made for it to be
compilable with zephyr. Furthermore, we added support for an embedded
build option to disable standard library methods for random number
generation.
* Zephyr: added algorithm selection
The algorithms can now be selected with Kconfig. Per default, we only
enable the algorithms selected by NIST to be standardized. However, all
supported algorithms can be enabled or disabled individually on a per
project basis.
* Zephyr: added testable samples
Added two sample applications within the zephyr directory for KEMs and
Signatures. These are also intended for CI testing.
* Zephyr: added CI tests
* Zephyr: Add documentation
Signed-off-by: Tobias Frauenschläger <t.frauenschlaeger@me.com>
2023-12-20 08:20:56 +01:00
Michael Baentsch
78e65bf143
add uninstall support ( #1604 )
2023-11-07 16:59:03 -05:00
Spencer Wilson
aeac3a441d
Pull new HQC implementation from upstream ( #1585 )
...
* Update Sphincs+ PQClean patch
* Don't apply PQClean Dilithium and Kyber patches
* Run copy_from_upstream; don't apply Dilithium and Kyber changes
* Run HQC KATs with custom PRNG
* Satisfy astyle
* Add licence for common code
* Fix CI build errors
* Update HQC version, OQS version, and SOVERSION
* Move HQC PRNG into test file
* Satisfy astyle
* Fix SHA3 link error
* Reset HQC issues/passes
* fixup! Fix SHA3 link error
* fix kat_kem linkage to make HQC PR pass CI (#1601 )
* fix kat_kem linkage
* remove armhf CI support
* Revert "remove armhf CI support"
This reverts commit af759bbf743bb3ecc2e7315cf10c1785e93bcc05.
---------
Co-authored-by: Michael Baentsch <57787676+baentsch@users.noreply.github.com>
2023-11-06 16:40:50 -05:00
Douglas Stebila
7c3a0e9aa7
liboqs 0.9.0 release
2023-10-12 16:42:15 -04:00
Spencer Wilson
f0326a4220
liboqs 0.9.0 release candidate 1 ( #1570 )
...
* Update version number and add release notes
* Fix noregress script
* Fix date in release notes
2023-09-29 15:31:56 -04: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
Michael Baentsch
d81c64cc0f
update version and remove CCI triggers ( #1498 )
2023-06-15 06:02:47 +02:00
Douglas Stebila
db08f12b5a
liboqs 0.8.0 release
2023-06-07 20:50:36 -04:00
Douglas Stebila
7728f20d4d
0.8.0-rc1
2023-05-22 19:41:41 -04:00
Michael Baentsch
d704da0c5f
Limit gcc version supported ( #1451 )
...
* tie down minimal gcc version
2023-05-09 06:47:33 +02:00
Douglas Stebila
d5be452ec8
Add missing x86 check in CMakeLists ( #1445 )
2023-04-28 16:19:18 -04:00
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