364 Commits

Author SHA1 Message Date
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
Douglas Stebila
d61d81c526
Add constant time suppression for Falcon AVX2 (#1415) 2023-03-09 10:43:07 -05: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
Michael Baentsch
1f62f66a47
correct free in test_kem/sig (#1399)
* correct free in test_kem/sig

* code simplification
2023-02-23 17:24:40 +01:00
Michael Baentsch
20fadb89ef
Add full-cycle speed test (#1391)
* adding true repetitive full-cycle testing

* fix mem leak in speed testing
2023-02-17 10:06:51 +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
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
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
f272232c86
Build dump_alg_info in tests (#1353)
Fixes #1334
2023-01-12 13:03: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
Mark Albert
d577d0b4e9
add valgrind option (#1327) 2022-12-07 07:26:46 +01: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
Jason Goertzen
c520cdb871
Fixing OQS ARM inconsistencies (#1307)
* Renamed sha2 C_OR_NI to C_OR_ARM since we only select between C and ARM

* Updated AES C_OR_NI_OR_ARM's formatting and logic

* Renamed sha2_ni.c to sha2_armv8.c and updated CMakeLists.txt to fix build issues with arm optimized AES linking

* Fixed a feature detection logic issue

* Found an issue when compiling a distributed version

* Only apply -march=armv8-a+crypto to arm builds

* updated some naming
2022-11-15 16:47:36 -05:00
Michael Baentsch
222374e067
addressing sig length questions (#1306)
* addressing sig length questions

Co-authored-by: Douglas Stebila <dstebila@users.noreply.github.com>
2022-09-15 06:49:03 +02:00
thb@sb
c5b8cfe478
Solve '-Wstrict-prototypes' for clang >= 15.0 (#1293)
* Solve '-Wstrict-prototypes'

Manual changes are applied to the following algorithms only:

 * Bike
 * Frodo
 * Picnic

* Add prototype for implementation of `OQS_SIG_alg_count`

* Add prototype for implementation of `OQS_KEM_alg_count`

* Run `copy_from_upstream.py`

Now, the constructors have a full prototype. It compiles with clang 16.0
2022-08-30 11:20:05 +02:00
Sebastian Ramacher
542b2d0b6b
Cover SHA3/SHAKE-implementation specific code paths in Picnic suppression files (#1286) 2022-08-10 10:06:31 -04:00
Sebastian Ramacher
0511af68d7
Update to Picnic 3.0.17 (#1280)
* Update to Picnic 3.0.17

* Added valgrind constant time execptions for picnic

Co-authored-by: Christian Paquin <cpaquin@microsoft.com>
2022-08-08 17:02:00 +02:00
Douglas Stebila
42f36c2a1b
Add option to all pytests to skip particular algorithms (#1282)
* Add SKIP_ALGS option to all pytests to skip particular algorithms
2022-08-07 06:36:45 +02:00
Michael Baentsch
84fde26ed2
Fixup dilithium-avx2 valgrind test file (#1283) 2022-08-06 17:43:24 -04:00
Michael Baentsch
91bfca9bdd
Add library version retrieval function (#1273) 2022-08-03 13:32:11 -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
Douglas Stebila
478ccba970
Remove Rainbow level 1 (#1263)
Fixes #1260
2022-07-27 15:12:16 -04:00
HY Chang(splasky)
664c6f331d
Fix memory leak detected by valgrind (#1250) 2022-07-17 15:35:35 -04:00
Michael Baentsch
a8dad8d305
adding memory leak testing (#1234)
* adding memory leak testing for x86_64 on ubuntu

* document test exclusion of Classic-McEliece-8192128
2022-07-01 09:09:03 +02:00
Basil Hess
719a84ecdd
Integrates pqcrystals with common-aes / extends common code AES CTR-API (#1221)
* Integrates pqcrystals (ref and avx2) with liboqs common AES code (for Kyber-90s and Dilithium-AES).
* Extends libOQS AES-CTR with Incremental API: OQS_AES256_CTR_inc_init, OQS_AES256_CTR_inc_iv, OQS_AES256_CTR_inc_ivu64, OQS_AES256_CTR_inc_stream_iv, OQS_AES256_CTR_inc_stream_blks.
* Adds some AES-CTR shim API.
* Faster AESNI CTR code (improved iv handling, 4x interleaved blocks for higher throughput).
* OpenSSL AES supporting CTR API.
* Updated pqcrystals patches (API, context releases).
* Removes redundant AES implementations from Kyber and Dilithium.
* Copy-from-upstream with updated patches.
* Uses internal AES on x86_64 (dist & AES) because of increased performance with the internal AESNI code.
* Adds AES-CTR benchmarks to speed_common
* Update CONFIGURE.md
2022-06-23 14:44:36 +02:00
Jason Goertzen
e37ad5b5d8
Added typecasts to ds benchmark to make clang happy (#1225) 2022-06-14 06:31:29 +02:00
Ted Eaton
feea2f3864
Issues and passes for aarch64 const time checks (#1214) 2022-05-25 10:47:34 -04:00
Douglas Stebila
fc7d89c074
Deal with some issues identified by clang scan-build (#1211)
* Fix memory leak detected by scan-build

* Remove unused statement (identified via clang scan-build)
2022-05-14 06:20:25 +02:00
Michael Baentsch
e858c7a642
skip yamllint test for good (#1196)
* skip yamllint test for good

* remove yamllint completely
2022-03-22 10:13:07 -04:00
Michael Baentsch
5894d9af56
create and install cmake import files (#1191)
* create and install cmake package import files

* add openssl cmake includes only where needed
2022-02-26 10:51:42 +01:00
Douglas Stebila
bcc94dad5e
Suppress constant time check for public matrix generation on Kyber AVX2 (#1189)
* Suppress constant time check for public matrix generation on Kyber AVX2

* Update tests/constant_time/kem/passes/kyber-90s

Co-authored-by: Basil Hess <basil.hess@gmail.com>

* Remove temporary CI job [skip ci]

Co-authored-by: Basil Hess <basil.hess@gmail.com>
2022-02-16 20:19:19 -05:00
Douglas Stebila
a34cabb4bf
Mark stack non-executable when compiling with clang or gcc (#1161)
* Mark stack non-executable when compiling with clang or gcc

Fixes #1159

* Change noexecstack option on gcc

* Use gcc noexecstack only on non-Darwin

* Check for non-executable stack in shared object builds on Linux
2022-01-09 11:30:10 -05:00
Christian Paquin
2af8ad71e2
Updated constant_time suppression files after picnic update (#1174) 2022-01-04 14:54:02 -05:00
Michael Baentsch
ae6c7b4798
Output documented build options (#1155)
* explaining all config options in system_info output
2021-12-13 15:33:19 +01:00
Douglas Stebila
bcfd007766
Tweaks to benchmarking code (#1150)
- Fix bug in standard deviation calculation
- Cast values to protect against overflows
2021-12-09 14:05:46 -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
Ted Eaton
cf6535dc52
Adding a speed_common script to benchmark OQS AES and hash algorithms (#1144)
* Adding a speed_common script to benchmark OQS AES and hash algorithms
2021-12-05 08:02:58 +01:00
Michael Baentsch
8c5bab6a26
more code style checks (#1135)
* more code style checks in one run
2021-11-24 07:18:50 +01:00
Michael Baentsch
2c98b97fa4
adding ntruhps40961229 ntruhrss1373
clean code only added (https://github.com/PQClean/PQClean/pull/427)
2021-11-19 06:43:43 +01:00
Christian Paquin
ba5b61a779
Added Keccak constant time exclusion for Picnic AVX2 (#1124) 2021-11-16 11:03:04 -05:00