372 Commits

Author SHA1 Message Date
Douglas Stebila
7fa2f8bf95 Sync common headers on master with nist 2018-10-02 17:26:22 -04:00
Douglas Stebila
5135f5c0cd Sync scripts/check_kats on master with nist 2018-10-02 17:10:13 -04:00
Douglas Stebila
69765b6d50 Sync .travis on master with nist-branch 2018-10-02 17:04:25 -04:00
Christian Paquin
76538fde13 Update to Visual Studio (Sept 2018) (#395)
* Added example_kem/sig and speed_kem/sig to Visual Studio.

* Added kat_kem to VS

* Re-added SIDH/SIKE to Visual Studio
2018-10-01 16:22:23 -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
Ben Davies
ad361d95e8 Remove residual KEX sidh_msr (#369). (#385) 2018-09-21 12:58:37 +02:00
Christian Paquin
9b27edb54e Remove KEX-related items from Visual Studio (#383)
* Removed KEX from Visual Studio.

* Removed further refs to KEX items in Visual Studio.
2018-09-21 12:54:11 +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
himsen
d6e1c5ab88 Too early to make (#381) 2018-09-19 13:43:52 +02:00
Christian Paquin
e2a467dc9e Refactored sig API (#379)
* Removed the OQS_RAND object from the sig API, to harmonize with the KEM API (issue 374)

* Updated sig API to match nist-branch's (except for the sign/open functions).
2018-09-18 18:09:11 +02:00
Ben Davies
3a674765e7 Fix some typos. (#378) 2018-09-18 18:04:05 +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
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
Douglas Stebila
e7b12b2c9f
Don't symbolically link liboqs.a in make links (#364) 2018-09-06 10:29:25 -04:00
Shravan Mishra
61a456abf4
Merge pull request #361 from open-quantum-safe/master-aes-256
Add AES 256 and refactor AES test vectors
2018-09-06 09:16:52 -04:00
Douglas Stebila
8ae74ba3c4 Add AES 256 and refactor AES test vectors 2018-09-05 22:55:39 -04:00
Douglas Stebila
625c5c3cc8 Switch minimal_kex_oqs to use SIKE 2018-09-05 20:21:51 -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
Christian Paquin
306c5265ab Updated qtesla with new 08-27-2018 package on master. (#356) 2018-09-04 10:30:51 -04:00
Christian Paquin
9e6786dd13 Adds KEM API and frodokem to Visual Studio (#354)
* Added KEM API to Visual Studio build, and added frodokem.

* Fixed call to Windows' system randomness, and released crypto context at exit (issue 349).

* Added missing test_kem files.
2018-08-30 16:54:07 -04:00
Douglas Stebila
588511fa59
Switch automake to using check for test programs that aren't installed (#353)
* Switch automake to using check for test programs that aren't installed

* Fix image embedding for AppVeyor badge
2018-08-30 15:06:27 -04:00
s24mishra
945e5055b7 Add free usage check (#334)
* Add free-check script from nist-branch

* Make free-check happy

* Make free-check happy

* Make free-check happy

* Make free-check happy

* Update

* Update

* Apply free-check

* Add free-check

* Fix insecure memory release to secure release

* Remove patch based approach

* Fix clang and free check errors

* Remove empty line

* Fix errors from clang compilation

* Fix Makefile error

* Fix Makfile

* Fix Makfile

* Fix build

* Update script to look into comments containing free keyword

* Use secure free

* Silence warning on pointer conversion

* Use common include for bash script colours

* Fix some missed secure memory release

* Update Windows build info in README
2018-08-30 11:33:35 -04:00
Christian Paquin
6287e58ed6 Fixed Visual Studio build after master's API refactoring. (#352)
* Fixed Visual Studio build after master's API refactoring.

* Replaced deleted kex_frodo with kex_newhope in minimal_kex_oqs.
2018-08-30 11:10:42 -04:00
Nir Drucker
b566b97f09 Match BIKE from NIST branch and master branch. (#347)
* Supporting BIKE KEM reference code

* Hiding print global symbol when VERBOSE!=2

* Supporting USE_OPENSSL + OPENSSL_DIR

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

* prettyprint

* Matching BIKE to BIKE in nist-branch
2018-08-28 22:06:48 -04:00
Douglas Stebila
e67890f8aa
Update README (#340)
* Update README

* Fix typos in README
2018-08-28 22:02:11 -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
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
eed6761dff
Add instruction about libtoolize error during autoreconf (#320) 2018-07-27 10:52:29 -04:00
Douglas Stebila
12f194cfcf Merge branch 'master-new-api' 2018-07-26 21:42:27 -04:00
Douglas Stebila
877aa55d68 Revert "Add free-check.sh"
This reverts commit 52f116544c24d9f36ac9c89d04c7034ec7f4da17.
2018-07-26 21:06:04 -04:00
s24mishra
52f116544c Add free-check.sh 2018-07-25 14:39:51 -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
7f3d1b9e53
Add datasheet for SIKE (#301)
* Add tentative datasheet for SIKE

* Added submitter's website

Added submitter's website
2018-07-09 09:14:17 -04:00
Douglas Stebila
d39d15f892 Rename algorithm data sheets folder for consistency with nist-branch 2018-07-08 16:19:08 -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
Vlad Gheorghiu
89d290a75f Fix alice_priv_free in implementations (#293)
* fix

replaced free by OQS_MEM_secure_free where necessary

* commit

* commit

* removed //free(alice_priv)
2018-06-01 10:26:46 -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
2f77850599 Temporarily disable Appveyor on master-new-* branches. 2018-05-16 13:00:37 -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
068c48ae37 Replaced SIKE's sha3 implementation with OQS'. (#256) 2018-04-03 11:08:16 -04:00
Douglas Stebila
f299efee50
Fix regular expression in Appveyor config 2018-03-24 23:33:07 -04:00
Douglas Stebila
021aa38a8e
Fix typo in appveyor config. 2018-03-24 23:32:32 -04:00
Douglas Stebila
5e5636d7b7
Fix regular expression in appveyor configuration 2018-03-24 23:31:56 -04:00
Douglas Stebila
c3e1d2fb0a
Disable Appveyor on nist-branch. 2018-03-24 23:31:12 -04:00