102 Commits

Author SHA1 Message Date
Douglas Stebila
e031efa15c Default algorithms for VisualStudio builds 2019-06-28 12:01:46 -04:00
Douglas Stebila
9aceb8e75a Allow KEM_DEFAULT and SIG_DEFAULT to be set via configure 2019-06-28 11:57:27 -04:00
dimisik
c1d575efbe Update README 2019-06-14 11:23:36 -04:00
Tobias Heider
7005a1d07f Add support for building on OpenBSD (#471) 2019-03-26 21:13:11 -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
himsen
35c0fd5b19 Specified the intended use of liboqs default algorithms (#455) 2019-01-04 13:15:43 -05:00
Douglas Stebila
d6e311fe94
Update list of contributors 2018-12-20 17:02:35 -05:00
Douglas Stebila
e3ae7b5496
Add ARM instructions to README.md (#443) 2018-11-10 08:14:09 -05:00
Douglas Stebila
e4bce8b3ec Update documentation for 0.1.0-rc2 2018-11-05 15:17:58 -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
9b1984d4e4 Update README formatting and list of systems tested on 2018-10-25 16:14:17 -04: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
2b9a61789a
Clarify public versus internal API and documentation (#414) 2018-10-10 08:36:14 -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
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
Douglas Stebila
99e594d65e Update funding acknowledgements in README. 2018-10-03 10:44:31 -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
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
himsen
d6e1c5ab88 Too early to make (#381) 2018-09-19 13:43:52 +02:00
Ben Davies
3a674765e7 Fix some typos. (#378) 2018-09-18 18:04:05 +02:00
Douglas Stebila
78a231247e Remove kex_rlwe_newhope 2018-09-04 16:09:29 -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
Douglas Stebila
e67890f8aa
Update README (#340)
* Update README

* Fix typos in README
2018-08-28 22:02:11 -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
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
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
9c01154cae Add revised SHA-3 implementation. 2018-03-06 11:01:38 -05:00
Christian Paquin
3a5542f9e8 Fix build on ARM. (#233) 2018-03-05 10:17:07 -05:00
Vlad Gheorghiu
3eab0e8275 Update README.md (#232) 2018-02-20 13:29:43 -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
Christian Paquin
eb46360fae Added 32-bit projects to Visual Studio, and moved scheme defines to winconfig.h file. 2018-02-01 17:05:52 -05:00
Christian Paquin
38d4c6ad74 Merge remote-tracking branch 'upstream/master' into cp-update-picnic
Merged with upstream master.
2018-01-25 10:25:18 -05:00
Christian Paquin
db6639687d Added Picnic sig to Visual Studio. 2018-01-25 10:23:53 -05:00
Vlad Gheorghiu
65a8db3ea8 Issue 187 and 207 (#214)
* Add minimal kex and sig example file showing the api usage

* Fix regular expression

* update

* Update global namespace regex

* Further updates to gloabalnamespace script

* added minimal_sig/kex_oqs as test cases

* commit

* commit

* commit

updated tabs to spaces

* commit

make prettyprint

* commit

replaced macros with functions

* commit

changed print_hex_string to disp_hex_string to comply to the coding
standards

* updated regex

* Remove spurious regex updates

* commit

* Added back _ntt_double and _rec in regex

Otherwise gcc fails on travis

* commit
2018-01-24 20:56:48 -05:00
Christian Paquin
872c68a796 Picnic update and direct code commit (vs. being a submodule) (#212)
* Updated the picnic library, and removed it as a patched submodule and instead committed the code direclty.

* Added previously ignored config file, and added exception to gitignore.

* Removed the mention about recursive cloning in the readme.
2018-01-21 20:30:04 -05:00
Christian Paquin
4eee16d144 Removed the mention about recursive cloning in the readme. 2018-01-12 13:09:47 -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
Christian Paquin
bc3e9ff1a8 Removed SIDH CLN16 implementation (replaced with SIDH MSR). Added new datasheet. Fixed refs to SIDH header. 2018-01-08 12:36:46 -05:00
Christian Paquin
76201b0f7e Merge remote-tracking branch 'upstream/master' into paquin_add_sike
Merged upstream/master.
2018-01-05 16:22:32 -05:00
Christian Paquin
6b9e5751f4 Added SIDHv3/SIKE from https://github.com/Microsoft/PQCrypto-SIDH. test_kex pass.
Still some refactoring needed.
2018-01-05 16:19:40 -05:00
Christian Paquin
e4ed17372f Removed old info about Picnic in README (#201)
* Removed old info about picnic in the README.
2018-01-02 14:09:00 -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