76 Commits

Author SHA1 Message Date
Douglas Stebila
4d492b9270 Add macros containing compilation information and print in test programs
Fixes #331
2019-08-02 22:03:13 -04:00
Douglas Stebila
d42462a90f Add Rainbow from PQClean 2019-07-31 19:59:10 -04:00
Douglas Stebila
8d17b22961 Add SPHINCS+ Haraka and SHAKE256 variants 2019-07-31 09:49:05 -04:00
Douglas Stebila
a1a50771e7 Missing hooks for SHA-2 implementation in build system 2019-07-30 13:01:08 -04:00
Douglas Stebila
11e09f4cbc Remove LEDAcrypt temporarily 2019-07-16 15:43:32 -04:00
Douglas Stebila
f9ab067dc5 Add LEDAkem 2019-07-15 22:41:08 -04:00
Douglas Stebila
5d97502e9c Consolidate configure options for OpenSSL 2019-07-05 15:12:32 -04:00
Douglas Stebila
eda92b0b4a
Merge pull request #513 from open-quantum-safe/ds-add-saber
Add SABER from PQClean
2019-07-04 17:29:06 -04:00
Douglas Stebila
a6c6be76fd Add SABER from PQClean 2019-07-04 13:43:27 -04:00
Douglas Stebila
5227cc7cd2 Add MQDSS from PQClean 2019-07-04 13:33:47 -04:00
Douglas Stebila
eccb05cef4 Wording change 2019-06-28 14:48:57 -04:00
Douglas Stebila
9aceb8e75a Allow KEM_DEFAULT and SIG_DEFAULT to be set via configure 2019-06-28 11:57:27 -04:00
Douglas Stebila
9546fed9fc Remove Frodo from PQClean auto generation 2019-06-25 11:36:51 -04:00
Douglas Stebila
223ced1de7 Merge remote-tracking branch 'oqs/master' into PQClean_Dilithium 2019-06-18 20:28:22 -04:00
Douglas Stebila
16ea923cec Replace NewHope with PQClean round 2 version, update PQClean KEMs 2019-06-13 20:34:35 -04:00
dimisik
e8d1dbaed8 Integrates Dilithium 2019-06-13 16:39:35 -04:00
Douglas Stebila
dc12209ad7 Add Kyber round 2 from PQClean 2019-05-12 15:36:05 -04:00
Douglas Stebila
2cbbc8bca9 Remove manually added Kyber 2019-05-12 15:22:49 -04:00
Douglas Stebila
75cd636110 Add NTRU Round 2 2019-05-12 15:18:16 -04:00
Douglas Stebila
a9aa144d93 Fix configure.ac auto-generation 2019-05-12 14:58:16 -04:00
Douglas Stebila
2d9dec989b Auto-generate more KEM files for PQClean implementations 2019-05-12 14:52:59 -04:00
cryptojedi
1e36f1f000 Add Kyber to master branch (#448)
* Added Kyber to the liboqs Master branch

* Added OQS_MEM_cleanse calls to Kyber

* Updated file formatting with make prettyprint

* Added algorithm datasheet for Kyber

* Added Kyber KAT files

* Copied kyber header file to Visual Studio dir.
2018-12-20 17:00:03 -05:00
Douglas Stebila
499a587b55 Update for 0.1.0 release 2018-11-13 11:30:09 -05:00
Douglas Stebila
b7b824ab23 Update for rc3 2018-11-08 23:36:07 -05:00
Douglas Stebila
e4bce8b3ec Update documentation for 0.1.0-rc2 2018-11-05 15:17:58 -05:00
Christian Paquin
d3c5a157b5 Add version and branch to config on master branch (#433)
* Added example_kem/sig and speed_kem/sig to Visual Studio.

* Added version and branch info to configure script.
2018-10-30 11:01:42 -07:00
Douglas Stebila
67a2411ba4
Set version in configure, library, and algorithms (#411)
* Set version of liboqs master and add draft release notes

* Add alg_version field for KEMs and signature schemes

* Prettyprint

* Added alg_version for qtesla and picnic.

* Update versioning proposal
2018-10-12 19:20:58 -04:00
Douglas Stebila
2f05262bf4 Rename NewHope to NewHopeNIST to be consistent with nist-branch 2018-10-09 21:49:11 -04:00
Douglas Stebila
84e8dcb119
Remove old OQS_RAND object and API (#403)
* Remove old RAND API, AES-CTR and ChaCha20-based RNGs, and test_rand.

* Fix build and API for shared libraries

* Fix problems from merge with master
2018-10-09 20:36:57 -04:00
Shravan Mishra
95cdb90059 Master add kem newhopenist (#382)
* Add newhope kem

* kem newhope

* Fix code for KAT

* Fix KAT target

* Add datasheet

* Fix parameter set

* Fix parameter set

* Formatting changes

* Add newhope to window's build

* Further windows changes and pretty-print

* ifdef gcc attribute syntax for windows

* Pretty print

* Fixed newhope's Visual Studion inclusion.

* Added missing files.

* Remove rng.h

* Added kem_newhope.h to the installed headers.
2018-10-09 19:47:30 -04:00
Shravan Mishra
3dbd609e92 Master rm kex (#402)
* Remove kex_ntru from master (issue #370).

* Remove KEX components (issue #372).

* Remove anything kex

* Tweaks to READMEs re: removal of KEX.
2018-10-03 21:16:49 -04:00
Shravan Mishra
d6bfc7384c Shared library support added (#363)
* Shared library support added

* Ignore warnings regrading no symbols in object files on Mac

* Fix a typo

* Add libtool flag to bike

* Test

* Fix static build flag

* Whitespace

* Separate tests into two parts one exercising exposed api versus intertnal apis

* Openssl include fix

* Fix all-tests.sh

* test already builds kat_kem

* Indentation and variable name change
2018-10-03 11:36:15 -04:00
Christian Paquin
dc9617f81f Refactored sig api following nist-branch (issue380) (#391)
* Fixed a typo in a comment

* Refactored sig API following nist-branch (also fixes issue 380)

* Fixed Windows compilation error in sig.c.

* Added Picnic to Windows' config, and changed defaul alg to Picnic (since qTesla is not yet supported on Windows)

* Moved sig_picnic and sig_qtesla under sig directory, to harmonize with kem api

* Use different default sig alg on Windows to fix Travis back-compat tests and platform gap.

* Further changes required for OQS to be properly used by applications

* Compare OQS functions's return values to OQS error codes in sig.c.

* Fixed typos in comments.

* Replaced minimal_oqs_sig with example_sig.

* Ensure travis tests fail on error

* Add try-catch block in all-tests.sh

* Ignore example_sig

* Point global-namespace-check to .libs/liboqs.a

* More precise error handling in global-namespace-check

* Warning colours in travis tests and error handling in free-check

* Error handling in style-check

* Clean up style-check

* Removed leftover minimal_sig_oqs ref and VS projects.

* Prettyprint

* Revert clang-format version check

* Re-revert clang-format style check

* Prettyprint

* Added speed_sig to master.

* Removed superfluous extern from sig schemes .h
2018-09-26 10:01:53 -04:00
Ben Davies
493e5ece37 Remove kex_code_mcbits (issue 371). (#384) 2018-09-21 15:48:17 +02:00
Christian Paquin
b4766939a9 Migrated SIDH to KEM API (issue 350) (#368)
* Exposed SIDH through KEM API.

* Removed old kex_sidh_msr refs

* Removed kex_sidh_msr refs from Visual Studio project

* Removed kex_sidh_msr from test_kex.

* Added sidh alg sheet

* Skip sidh in kat check (no kat files for sidh, unlike the related sike alg)

* Added return values to sidh KEM methods (to fix wrong default return values on mac).

* Addressed review comments on PR368.

* Removed text_kex from Visual Studio; no more KEX built by default on Windows.

* Removed test_kex from appveyor test.

* Removed minimal_kex from appveyor
2018-09-17 05:00:52 -04:00
Douglas Stebila
78a231247e Remove kex_rlwe_newhope 2018-09-04 16:09:29 -04:00
Douglas Stebila
453516248b
Move tests to a common directory (#335) 2018-08-14 17:00:29 -04:00
Nir Drucker
d3ff24cd31 Add BIKE to master and some autotools/Makefiles changes (#333)
* Supporting BIKE KEM reference code

* Hiding print global symbol when VERBOSE!=2

* Supporting USE_OPENSSL + OPENSSL_DIR

* - The file config/.gitkeep is no longer needed its purpose was to allow git having an empty folder (config).
- Moved the file acinclude.m4 to the config directory (where all the *.m4 files are).
- Added .travis/defs.sh - this file holds common definitions used by travis scripts.
- Changed style-check to first check for clang-format only then handle modified files.
- Sodium support is no longer required.
- Breaked configure.ac into sub m4 files
- Sorted the flags list.
- Changed FrodoKEM to Frodo for consistency with SIKE and BIKE. Note that it is already under the KEM directory.
- Chaned USE_* protocl flags to ENABLE_* for consistency
- Adjaust most of the makefile to have a consistent compilation flags
- Added some more compilation warnings.

* Rename functions by using a legend instead of the FN() macro

* prettyprint

* 1) Some more Makefiles cleanup 2)Adding OQS_API defnition - hidding other symbols

* Reverting frodo renaming

* Reverting the checks order.

* Removing NEW_API.md

* pretty print

* 1)Disable bad warnings on gcc4.8/4.9 2) Disable all warnings on SIKE

* Disable the cast-align warning for now

* Documentation

* 1) Reenable BIKE error messages
2) Auto detection of AVX/AVX2/BMI features.

* Enable AVX features only on X86_64 Linux platforms

* Adding BIKE additional implementation for Linux(x86_64) and GCC

* Fixing configure.ac when OpenSSL is disabled

* Enabling BIKE's AVX512 implementation

* Wrap AVX512 code with ifdef

* Changes from code review

* Prettyprint

* Fix typo

* Rename symbol
2018-08-14 13:07:16 -04:00
Douglas Stebila
12f194cfcf Merge branch 'master-new-api' 2018-07-26 21:42:27 -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
Christian Paquin
67733d6840 Add qTESLA (#306)
* Added qTESLA (I, III-size, III-speed) to master branch.

* Renamed some qtesla functions to satisfy coding guidelines.

* prettyprint

* Removed const int value from array init, was failing on Travis/macOS.
2018-07-17 22:18:38 -04:00
Douglas Stebila
08330aee8b Remove KEX_RLWE_BCNS15 2018-07-08 16:10:56 -04:00
Douglas Stebila
38757741fc
Add new KEM API and SIKE (#295)
* Initial attempt at adding new KEM API and first KEM (SIKE)

* Fix name spacing in kem_sike

* Prettyprint kem_sike

* Use OQS_STATUS return codes

* Get speed_kem working

* Add missing config.h file for SIKE
2018-06-18 09:22:56 -04:00
Douglas Stebila
aed3059e31
Remove kex_rlwe_msrln16 (#286) 2018-05-16 13:58:23 -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
3a5542f9e8 Fix build on ARM. (#233) 2018-03-05 10:17:07 -05: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
Douglas Stebila
ae488e69bf Merge branch 'paquin_add_sike' of https://github.com/christianpaquin/liboqs into christianpaquin-paquin_add_sike 2018-01-11 22:40:51 -05:00
Tancrède Lepoint
5fd3475ed4 Remove old version of Kyber (#211) 2018-01-10 15:08:34 -05:00