49 Commits

Author SHA1 Message Date
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
5f383ebe56 Remove BMI2 detection 2019-07-09 09:58:16 -04:00
Douglas Stebila
dce10891f3 Newer CPU feature detection 2019-07-09 09:58:16 -04:00
Douglas Stebila
39122076be BIKE additional implementation dependent on AES instructions 2019-07-08 17:52:30 -04:00
Douglas Stebila
a25ade84b0 Detect AES operations 2019-07-08 17:41:06 -04:00
Douglas Stebila
1d3ff68bae Remove AES-NI build option 2019-07-08 17:12:29 -04:00
Douglas Stebila
d05ba23030 Use OpenSSL for AES when available 2019-07-08 17:07:19 -04:00
Douglas Stebila
c5a2611ff6 Fix error in enable/disable detection 2019-07-05 17:23:39 -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
f52e2ced5c Reorganize configure enable/disable macros 2019-07-05 15:43:29 -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
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
Christian Paquin
b073ecc5de Merge remote-tracking branch 'origin/master' into cp-sike-round2
Merge with master.
2019-07-02 00:30:38 -04:00
Douglas Stebila
43676d9297 More consistent naming 2019-07-01 15:17:20 -04:00
Douglas Stebila
350880a2b8 Partial work on signature templating 2019-07-01 14:19:27 -04:00
Christian Paquin
f492161d99 Merge remote-tracking branch 'origin/master' into cp-sike-round2
Merge with upstream master.
2019-06-28 16:59:34 -04:00
Christian Paquin
ae49150581 Initial integration of SIDH/SIKE v2. Still need to enable optimizations and all platforms. 2019-06-28 16:31:40 -04:00
Douglas Stebila
9546fed9fc Remove Frodo from PQClean auto generation 2019-06-25 11:36:51 -04:00
Douglas Stebila
c951cf63d5 Consistent Dilithium capitalization 2019-06-19 10:15:56 -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
cd006f698b Merge branch 'master' of github.com:open-quantum-safe/liboqs into cp-add-picnic-round2 2019-06-10 11:02:28 -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
2d9dec989b Auto-generate more KEM files for PQClean implementations 2019-05-12 14:52:59 -04:00
Christian Paquin
8198072ce7 Integrated Picnic round2. 2019-05-02 22:07:21 -04:00
Douglas Stebila
8fe4928dd6 Add FrodoKEM-976 and 1344 to build system 2019-04-14 16:24:03 -04:00
Douglas Stebila
19251c41ad Remove FrodoKEM round 1 and start adding FrodoKEM round 2 2019-04-13 15:24:52 -04:00
Tobias Heider
7005a1d07f Add support for building on OpenBSD (#471) 2019-03-26 21:13:11 -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
e365ea4f14
Rename OQS' config.h to oqsconfig.h and separate autoconf variables (#437)
* Create separate public oqsconfig.h

* Fix compiler flags for BIKE additional implementation

* No BIKE reference implementation macro
2018-11-01 11:11:31 -07:00
Douglas Stebila
2f05262bf4 Rename NewHope to NewHopeNIST to be consistent with nist-branch 2018-10-09 21:49:11 -04:00
oittaa
654e2e5af3 Use getentropy() if available (#407)
* Check if getentropy exists in configure.ac

* Use getentropy in rand.c if available

* rand.c: try to fix broken osx

* Use /dev/urandom with broken operating systems

* Enable getentropy on macOS

* Don't include <sys/random.h> on Windows

* getentropy needs different header on old Linux versions

* Move getentropy check to different autoconf file
2018-10-09 20:36:26 -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
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
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
Douglas Stebila
09cff0d2fd Autotools (#99)
* Autotools infrastructure

* update for autotools

* Readme update

* More gitignore updates

* Make prettyprint.

* Formatting in README.

* Makefile cleanups
2017-02-08 12:16:28 -05:00