231 Commits

Author SHA1 Message Date
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
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
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
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
Spencer Wilson
7e5dbaf2e8
Support Falcon PADDED format (#1710)
Additionally:
- re-enable Falcon-1024 in weekly KAT tests
- Update Falcon licence documentation
- Update deprecated CircleCI image
2024-03-06 12:02:43 -05: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
f468d212f2
Update Markdown from YAML (#1690) 2024-02-07 16:32:06 -05:00
Spencer Wilson
da3dab860d
Update SPHINCS+ "clean" suppression files (#1683) 2024-02-07 13:30:32 -05:00
Spencer Wilson
6bce0103a0
Update BIKE documentation to exclude x86 (#1679)
* Update BIKE documentation to exclude x86; clarify comments in
alg_support

* Update Markdown
2024-01-30 16:03:15 -05: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
Spencer Wilson
c2c969c028 Run copy_from_upstream 2024-01-08 11:51:01 -05:00
Pravek Sharma
bf294f9ba1 Run copy_from_upstream.py 2024-01-08 11:51:01 -05:00
Basil Hess
0febc30848
pull kyber from upstream: dda29cc63af721981ee2c831cf00822e69be3220 (#1631) 2023-12-15 19:41:51 +01: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
Michael Baentsch
02da5677ea
enable several pqclean upstreams (#1595) 2023-10-30 16:43:10 +01:00
Michael Baentsch
bd943ce5ee
Run copy_from_upstream and test (#1589)
* update docs from copy_from_upstream

* move cleanup code to the end to ensure documentation patches survive
2023-10-30 06:32:31 +01:00
Pravek Sharma
e6c650c2ef
Document Falcon constant time errors (#1552)
* Document Falcon constant time errors.

* Update McEliece docs.

* Update Falcon YML to include aarch64 implementation

* Correct Falcon docs.

---------

Co-authored-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
2023-09-18 13:04:41 -04:00
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
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
Douglas Stebila
36f3994388
Update SPHINCS+ specification version [skip ci] (#1477) 2023-05-19 11:36:48 -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
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
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
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
Basil Hess
341cf22427
Copy from upstream (Kyber), add pqcrystals-* licenses to README (#1403)
* Copy from upstream (Kyber), add pqcrystals-* licenses to README

* update algorithm docs
2023-02-25 08:20:41 +01:00
Michael Baentsch
49164467b6
update BIKE documentation (#1387) 2023-02-20 17:43:34 +01:00
Michael Baentsch
f96d9c2fff
Revert "Update Falcon to 20230207 (PQClean commit 96dfee95cc56207d1ec5e3a2df306d6614ad7c6c) (#1386)" (#1392)
This reverts commit 40b01fdbb270f8614fde30e65d30e9da18c02393.
2023-02-17 07:43:26 +01:00
Douglas Stebila
40b01fdbb2
Update Falcon to 20230207 (PQClean commit 96dfee95cc56207d1ec5e3a2df306d6614ad7c6c) (#1386)
Fixes #1315
2023-02-10 10:58:42 -05:00
Douglas Stebila
d9c39e2485
Fix rendering error in Markdown (#1384)
* Fix rendering error in Markdown

* Revert line ordering change in Markdown [skip ci]

* Apply line ordering change to Markdown [skip ci]
2023-02-09 09:38:47 -05: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
Goutam Tamvada
f214011218
Fixed mismatch between YAML and markdown docs for some algorithms. (#1365) 2023-01-17 16:22:07 -05:00
Goutam Tamvada
924ea88cb0
Updated PQClean commit in copy_from_upstream.yml (#1359) 2023-01-16 11:06:08 -05:00
Michael Baentsch
fe3cb02cb1
NIST std algs list selection enablement (#1355)
* std/r4/all algs enablement

* Switch example to use Kyber-768.

* std algs as option only

Co-authored-by: Douglas Stebila <dstebila@uwaterloo.ca>
2023-01-14 10:01:29 +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
Basil Hess
63d4a00d07
Adds CBOM for liboqs (#1337)
* Adds CBOM:
- CBOM generator: update_cbom.py
- CBOM: cbom.json
- CBOM schema validation: validate_cbom.sh
- CBOM schema validation added to github actions

Adds oqs_alg to docs yml.
Corrects common crypto sources in Kyber and Dilithium docs.

* - removes forward references to OpenSSL OIDs
- move cbom to docs dir
- move update and validate cbom files to scripts dir
- update copy_from_upstream: scripts runs update_cbom.py (after update_docs_from_yaml.py)
2023-01-11 18:32:08 -05:00
Michael Baentsch
cdf709864f
Revert "Enable algorithm filtering (#1333)" (#1351)
This reverts commit 9ba752ea9b0b4db375e21d2b27a16ed1de30e2be.
2023-01-11 09:05:49 -05:00
Michael Baentsch
9ba752ea9b
Enable algorithm filtering (#1333)
* std/r4/all algs enablement

* add documentation

* make doxygen happy

* Revert "make doxygen happy"

This reverts commit 9aedf2a7e651e0a686b2c5cade38db9af1e4b988.

* fall back to doxygen 1.9.2

* update github workflow to new filter naming

* adding appveyor testing for new OQS_ALGS_ENABLED option

* don't enable disabled vars

* add empty input test

* documenting focus on standard algs

* correct alg name typo

* Update README.md

Co-authored-by: Douglas Stebila <dstebila@users.noreply.github.com>

* Switch example to use Kyber-768.

Co-authored-by: Douglas Stebila <dstebila@users.noreply.github.com>
Co-authored-by: Douglas Stebila <dstebila@uwaterloo.ca>
2023-01-10 20:29:24 -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