71 Commits

Author SHA1 Message Date
Basil Hess
e26d36ead9
Revert "Disable erroring TravisCI build" (#1960)
* Revert "Disable erroring TravisCI build"

This reverts commit b59d78c0f02455da91ce8a34fa742c2b063ccddd.

Signed-off-by: Basil Hess <bhe@zurich.ibm.com>

* disable cross on s390x

Signed-off-by: Basil Hess <bhe@zurich.ibm.com>

* remove status badge

Signed-off-by: Basil Hess <bhe@zurich.ibm.com>

---------

Signed-off-by: Basil Hess <bhe@zurich.ibm.com>
2024-11-11 08:09:42 +01: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
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
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
cd67eed98c
update .travis.yml (#1629) 2023-12-14 20:07:08 +01:00
Basil Hess
5c2e13062c
Disable BIKE build on s390x (big endian) (#1115) 2021-10-21 20:57:07 -04:00
Basil Hess
016404076d
S390x support (#1103)
* s390x support

* - Fix for FrodoKEM-SHAKE for big endian support
- Fix unused variable in Keccak code on big endian
2021-10-12 14:39:56 -04:00
Douglas Stebila
b803b54179
Use Github Actions for some CI (#1069)
* Disable other CI's on ghactionsonly- branches

* Stylecheck in Github Actions

* Add runs-on

* Add buildcheck in Github Actions

* Typo

* Debugging

* Debugging environment variables

* More debugging

* Add alpine job in Github Actions

* Debugging

* Debugging

* More debugging

* Add alpine-noopenssl job in Github Actions

* Alpine as a strategy matrix

* Debugging strategy matrix

* Reorganize strategy matrix

* Add ARM emulated job in Github Actions

* Finalize initial move to Github Actions

* Skip alg info test on ARM emulated
2021-08-11 20:59:27 -04:00
Basil Hess
568a9df20c
Suppression file update for Dilithium (#1048)
Simple TravisCI integration for ppc64le
2021-07-08 08:36:40 +02:00
xvzcf
889a03bd15
Switched build system to CMake. (#556)
* Removed cross-compilation scripts and associated Travis CI workflows.
2020-02-14 14:03:29 -05:00
Douglas Stebila
28f7c668f1
OSX testing on CircleCI alternative (#597)
* Use OpenSSL's EVP_MD_CTX_new and _free

* OSX testing added (only on checkin, only on master)

* Alternative way of running stuff only on recent check-ins

* OR not AND

* Build OSX on commit temporarily

* Missing checkout

* Install missing Python module on OSX

* Remove macOS on Travis

Co-authored-by: Michael Baentsch <57787676+baentsch@users.noreply.github.com>
2020-01-30 22:40:01 -05:00
Douglas Stebila
6d87c34dda
Use OpenSSL's EVP_MD_CTX_new and _free (#591)
* Check for OpenSSL 1.1.0 or higher

* Use OpenSSL's EVP_MD_CTX_new and _free

* Detect OpenSSL version without compiling

* Remove Ubuntu Xenial testing on CircleCI and add some on Ubuntu Bionic

* Rename Bionic CI images
2020-01-30 09:06:29 -05:00
Douglas Stebila
4fd64be75d Parallelize pytest on Travis macOS 2019-08-01 20:58:01 -04:00
Douglas Stebila
34d33d0eba Suppress brew update when installing 2019-08-01 20:11:03 -04:00
Douglas Stebila
fa2c84a967 Skip clang-format check on Travis macOS 2019-08-01 16:20:09 -04:00
Douglas Stebila
48a5b1c0a9 Move Travis test scripts into .travis.yml 2019-08-01 14:57:22 -04:00
Douglas Stebila
52ccd7729a Switch style checks to Python test suite 2019-08-01 14:13:39 -04:00
Douglas Stebila
7e77c7c81c Remove brew update 2019-07-31 21:16:02 -04:00
Douglas Stebila
dea01e490f Install pytest packages differently 2019-07-30 21:46:58 -04:00
Douglas Stebila
d804a52f39 Install pytest for Travis 2019-07-30 21:04:27 -04:00
Douglas Stebila
1d3ff68bae Remove AES-NI build option 2019-07-08 17:12:29 -04:00
Douglas Stebila
9d61d2e136 Improved OpenSSL detection; start using OpenSSL for SHA-3 if available 2019-07-05 17:04:19 -04:00
Douglas Stebila
5d97502e9c Consolidate configure options for OpenSSL 2019-07-05 15:12:32 -04:00
Douglas Stebila
745e630dae Remove libsodium reference 2019-07-05 14:19:24 -04:00
Douglas Stebila
e0eda13ca8
Add build scripts and continuous integration for ARM (#460)
* Scripts for ARM build

* Set permissions

* Fix ARM script bugs

* Fix typo

* Tweak ARM build

* Update README with ARM build instructions
2019-02-12 16:42:34 -05:00
Douglas Stebila
7772e7ab7c Remove duplicate macOS Travis target 2018-10-03 11:59:07 -04:00
Ben Davies
493e5ece37 Remove kex_code_mcbits (issue 371). (#384) 2018-09-21 15:48:17 +02:00
Ben Davies
ad361d95e8 Remove residual KEX sidh_msr (#369). (#385) 2018-09-21 12:58:37 +02:00
Shravan Mishra
4b3052b624 KAT check should run without OpenSSL (#386)
* Kat check should run without openssl

* Add rand_nist.c back

* Add MacOS build without OpenSSL to check KAT
2018-09-21 12:52:56 +02:00
Shravan Mishra
a23741082b
Merge pull request #358 from open-quantum-safe/master-remove-kex-newhope
Remove kex_rlwe_newhope
2018-09-14 11:34:47 -04:00
Shravan Mishra
18365bf828 Add KAT checks (#348)
* Enable KAT-check

* Add check_kats script

* Add kat kem checks

* Make pretty print happy

* Update travis

* Update .gitignore

* Add kat-check to travis

* Fix path in  kat-check

* Add -lm for kat

* Update travis.yml

* If algorithm is not enabled then kat check should not throw errors

* Prevent code duplication

* Add new kat files and modified script from nist-branch for bike

* Don't fail if algorithm not enabled

* Add rand_nist.c to VisualStudio build (manually edited VS files)

* Remove rand_nist.c from windows build

* Disable rand nist for windowa

* Fix
2018-09-04 21:36:07 -04:00
Douglas Stebila
78a231247e Remove kex_rlwe_newhope 2018-09-04 16:09:29 -04:00
Douglas Stebila
8ecc191cec
Make doxygen mandatory and fix undocumented functions / add deprecation notices (#329)
* Make doxygen mandatory and fix undocumented functions / add deprecation notices

* NTRU needs HAVE_BOOL in the right spot

* Add doxygen to Travis environment

* Prettyprint

* Doxygen build changes

* Doxygen / prettyprint incompatibility
2018-08-07 22:00:39 -04:00
Douglas Stebila
f5df1c159f
Remove kex_lwe_frodo and add kem_frodokem to master-new-api (#302)
* Remove kex_lwe_frodo

* Add FrodoKEM

* Prettyprint

* Missing liboqs.a

* Fix errors because of disabling frodokem

* Fix sike OQS_KEM_ prefix related inconsistencies

* Fix naming inconsistensies
2018-07-24 22:42:49 -04:00
Douglas Stebila
23bbd6719b
Remove kex_sidh_iqc_ref (#285)
* Remove kex_sidh_iqc_ref

* Try fixing core dump in Travis
2018-05-16 13:40:06 -04:00
Douglas Stebila
e278842b49
Add new randomness API and various other build changes (#284)
* Move rand.h and rand.c to common directory and add most of RNG API from nist-branch

* Try to fix continuous integration errors

* Try fixing compilation bug on Windows

* Copy common.h and common.c from nist-branch

* Add OpenSSL PRNG if OpenSSL enabled

* Move common files around to match locations in nist-branch

* Add OpenSSL include to common build

* Only do prettyprint check on some Travis builds to shorten runtime

* Reorganize some files

* Missing variable in Travis config
2018-05-16 12:57:42 -04:00
Christian Paquin
baabaf7772 Included picnic directly (vs. as cmake-built 3rd party lib).
Now uses OQS's rand; modified to avoid pedantic warnning; modified build and CI scripts.
2018-02-15 20:07:23 -05:00
Christian Paquin
298c983f43 Changed SIDH ref in Travis scripts to reflect new names. (#216) 2018-01-30 10:31:23 -05:00
Tancrède Lepoint
5fd3475ed4 Remove old version of Kyber (#211) 2018-01-10 15:08:34 -05:00
Christian Paquin
6fee71699a Added optimized version of Picnic (#190)
* Replaced the implementation of Picnic with the optimized version of https://github.com/IAIK/Picnic.git.

Some notes:
 - Picnic is now a git submodule, built separately (build_picnic.sh) and linked into OQS.
 - The params are part of the Picnic library, no need to generate them separately.
 - The Picnic params have been renamed
 - Picnic has been disabled in the Visual Studio build (until the library supports VS)

* Deleted script to download old picnic implementation.

* Added picnic build commands to the configure script.

* Updated travis to build new picnic lib.

* Added note that clone must be recursive (to get picnic submodule).

* Removed dependency on m4ri and added picnic build instruction in travis (since apparently the configure scrip is not run as usual).

* Changed build_picnic.sh script invocation.

* install cmake3.8

Fix for PR 190

* commit

* commit

* Pulled down update to picnic submodule.

* pulled picnic update fixing compat macros failure

* Added openssl lib to test_sig linker if openssl is enabled.

* Disable Picnic on gcc < 5.

* Fixed travis.yml syntax error.

* Pulled updates to Picnic submodule (fixing build error on MacOS).

* Removed banned-functions test that only checks for bzero. For some strange reason, it doesn't work on travis while building picnic, even if bzero is not in the code.

* prettyprint

* Changed prettyprint's picnic exclusion dir.

* external lib changes

* Disable LTO in Picnic that prevents lib merging.

* Changed mode on build_picnic.sh.

* Added newline at the end of the file.

* Updated version of Picnic.

* Added patch to picnic to satisfy the global functions namespace convention.

* Added force option to patch to avoid error when rebuilding.

* Updated picnic-related entries, and added cmake files (obtained by travis).

* Updated ignore patch for picnic.

* Ignore mods (patched files) in 3rd party picnic library.

* Changed return code if no sig algs are configured, from error to success.
It's not really an error, and this makes the Travis build fail otherwise.

* Updated external picnic, and modified how it is patched and built (to avoid multiple patching).

* disabled Picnic on gcc 4

* Silenced picnic's dry-run patching (to avoid error messages if lib has already been patched).

* added comments to script

* Ignore (patched) submodule when checking for modified files.
Also delete a "grep -v" for picnic that meant to do the same thing, but
was in the wrong place after refactoring.

* Added --ignore-submodules to second call to git status

* Add temp/ to gitignore, to prevent Travis style-check failure on mac.
2017-12-20 09:54:45 -05:00
smashra
160a739a39 Patch-based approach for adding NewHope AVX2 (#176)
* Original newhope avx2 code and a patchfile

* Integrate AVX2 into kex

* Makefile.am is needed whether the algorithm is enabled or not

* Updated patch

style-check

update

update

Life is painful

update

* Update Documentation - How to integrate external implementations

* Remove binary files

* brew update for mac

* Makefile.am included

* Remove patch functionality from travis test

* Revert patch

* Rename files.

* Rename file.
2017-12-11 21:33:41 -05:00
Christian Paquin
40ffb4eb38 Updated Windows build (added sig, fixed warnings, 2017 update) (#169)
* Updated Visual Studio solution to 2017 version, fixed build warnings (issue #159), added signature and Picnic support.

* commit

treat warnings as errors

* Fix ENABLED_PICNIC macro in sig_picnic.

* Prettyprint

* Try to fix Travis error or macOS.
2017-10-18 16:50:24 -04:00
boson-lepton
04d7eaa4ea Enable or disable each algorithm (#158)
* Enable or disable each algorithm

* Enable disable tests in travis and silencing warnings
2017-08-03 09:33:49 -04:00
Christian Paquin
498756396e Add sig api with picnic (#120)
* Added sig API and Picnic signature algs.

* Removed ifdef around Picnic defines, to avoid modifying calling apps.

* Some clean-ups: updated Picnic reference in Readme, made download script executable, added TODO in test_sig.

* Removed const-removing cast since Picnic API now uses const.

* Revamped test_sig, cleaned-up sig and sig_picnic.

* Enables setting location of picnic params through an env variable (vs. hardcoded).

* Minor change.

* Enable travis test for picnic

* Fix yml error

* Fix yml error

* Fix apt package error

* Fix include for picnic

* Exit on first error

* Setup picnic external

* Fix a typo

* c99 mode for picnic matrices file in picnic

* update .gitignore

* Remove warnings from picnic

* Typo

* Another typo

* add picnic build for mac

* formatting

* Updated README after Picnic refactoring.

* Update and uniformization of README.md

* Minor typos in README.md

* Fix merge mistake.

* Fix M4RI_DIR path

* Undo README changes.

* Removing merge artifacts

* File not being used anywhere
2017-07-31 21:32:00 -04:00
Douglas Stebila
caede46535 Bring macOS build config closer to original. 2017-07-20 14:05:51 -04:00
Douglas Stebila
b2730934ba Try a few changes to see if we can narrow down the bug. 2017-07-20 12:08:31 -04:00
Douglas Stebila
0022252601 Switch to a different version of Xcode and set travis-tests to fail on error. 2017-07-20 10:39:04 -04:00
Douglas Stebila
c3cdcfb26d Fix clang-format on macOS at version 3.9. 2017-07-10 10:06:44 -04:00
Tancrède Lepoint
4d28c38a8a Enabling NTRU by default, minor cleaning of configure.ac (#142)
* Minor modifications configure.ac

* Remove optional for NTRU #135 and order by alphabetical order in several places

* Minor

* make prettyprint
2017-07-10 09:11:17 -04:00
Tancrède Lepoint
f07f64d455 Add 2 OSX to travis (#132)
* Add 2 OSX to travis

* Remove picnic

* Fix the compilation on macOS

* Remove libm4ri-dev

* make prettyprint inconsistency, travis typo, travis add OPENSSL_DIR

* Missed one comment, should work everywhere now

* Actually need CC_OQS
2017-07-03 15:38:21 -04:00