277 Commits

Author SHA1 Message Date
Christian Paquin
cebaa10083 Added defines to enable all supported KEX schemes. 2018-01-30 15:15:51 -05:00
Christian Paquin
590f4a4914 Added closing tag for oqs.h filter item, fixing the filter file. 2018-01-30 15:14:36 -05:00
Vlad Gheorghiu
35688bf463
Merge branch 'master' into cp-update-picnic 2018-01-30 12:47:31 -05:00
Christian Paquin
298c983f43 Changed SIDH ref in Travis scripts to reflect new names. (#216) 2018-01-30 10:31:23 -05:00
Vlad Gheorghiu
20348ca55d Vsoftco refactor oqs success (#219)
* refactoring

- Introduced typedef int OQS_status; in src/common/common.h and
refactored the
  code accordingly. Now it's easy to figure out whether the function
returns
  an error status or an int.

- Refactored hard-coded returns so now we return the OQS_status as
either
  OQS_SUCCESS or OQS_ERROR. OQS_RAND_get_system_entropy() and all other
  KEX/SIG API functions now return OQS_STATUS instead of int.

- Introduced src/common/oqs.h, which include all other necessary liboqs
  headers. All standalone programs now only #include <oqs/oqs.h>

- src/kex.c:23, the UNUSED macro was re-defined differently from
  oqs/common.h:25, so re-defined kex.c's UNUSED to UNUSED_KEX

- Got rid of PRINT_(PART)_HEX macros and introduced stand-alone
functions in
  src/common.h (with definitions in src/common.c)

    void OQS_print_hex_string(const char *label, uint8_t *str, size_t
len);
    void OQS_print_part_hex_string(const char *label, uint8_t *str,
size_t len, size_t sub_len);

* commit

fixed stdint.h missing #include

* commit

* commit

* commit

* These files are part of the patch

* Modified patch

* added oqs.h in the Windows build

* VS build

* Fixed VS build

* fixed VS build

* Fixed test_rand VS project

added WINDOWS macro in the VS configuration for test_rand
2018-01-30 10:30:26 -05:00
Christian Paquin
07c4635fc9 Added OQS sig functions to DLL exports and fixed DLL projects to include picnic. 2018-01-29 10:45:12 -05:00
Christian Paquin
076b7533a6 Prettyprint. 2018-01-25 22:31:50 -05:00
Christian Paquin
f9d8d95979 Added picnic cmake's msbuild to gitignore. 2018-01-25 12:01:27 -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
Christian Paquin
5aa9e6280a Removed unused sike header. (#215) 2018-01-24 20:57:29 -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
fe29d8d124 Merge remote-tracking branch 'upstream/master' into cp-update-picnic
Merging upstream master.
2018-01-23 14:40:38 -05:00
Christian Paquin
46a8976399 (Re)Added SIDHv3/SIKE to Visual Studio. (#213) 2018-01-21 20:30:45 -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
a59979ac91 Merge remote-tracking branch 'origin/cp-add-sike-visualstudio' into cp-update-picnic
Merge-in VS studio sike update PR.
2018-01-18 11:45:18 -05:00
Christian Paquin
3fe6afaa2a (Re)Added SIDHv3/SIKE to Visual Studio. 2018-01-12 23:08:29 -05:00
Christian Paquin
4eee16d144 Removed the mention about recursive cloning in the readme. 2018-01-12 13:09:47 -05:00
Christian Paquin
a132e4911e Merge remote-tracking branch 'origin/master' into cp-update-picnic
Merging with master, fixing merge error in gitignore.
2018-01-12 10:07:03 -05:00
Christian Paquin
ee401c80cb Added previously ignored config file, and added exception to gitignore. 2018-01-12 10:02:03 -05:00
Christian Paquin
0b285e0ae0 Updated the picnic library, and removed it as a patched submodule and instead committed the code direclty. 2018-01-11 23:19:54 -05:00
Douglas Stebila
28007ec426 Merge branch 'christianpaquin-paquin_add_sike' 2018-01-11 22:42:42 -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
e559be3b43 Fixed typo in SIDH inclusion macro. 2018-01-10 13:57:27 -05:00
Christian Paquin
ee88fe0779 Removed SIDH from the Visual Studio project, until it is properly added back in a different PR. 2018-01-10 13:32:12 -05:00
Christian Paquin
36d0868a8b Removed extern keyword from functions that are directly included in source file. 2018-01-10 10:37:14 -05:00
Christian Paquin
f8f28c981d Ignore SIDH_MSR for prettyprint. 2018-01-08 21:19:07 -05:00
Christian Paquin
980d78d66a make prettyprint 2018-01-08 20:47:58 -05:00
Christian Paquin
1695d0fbe4 Renamed extern functions that can't be made static to satisfy coding conventions. 2018-01-08 17:13:40 -05:00
Christian Paquin
d8e03d020c Added missing SIDH's config.h, and modified gitignore that ignored it in the first place. 2018-01-08 16:09:40 -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
dcd57e2f5d Revised the SIDH/SIKE bits of security. 2018-01-08 10:27:41 -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
Douglas Stebila
98e683e019
Move UNUSED attribute definition into common header (#205) 2018-01-02 20:14:00 -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
smashra
18f97c80ab Copy headers to install path (#199)
* Copy headers to install path

* Apply patch before installing header and then cleanup

* install related updates
2017-12-15 13:57:51 -05:00
Douglas Stebila
07218a6c95
Separate .gitignore check prior to prettyprint check (#196) 2017-12-15 13:57:04 -05:00
Christian Paquin
04d161ad06 Merge remote-tracking branch 'upstream/master' into paquin_add_sike 2017-12-13 14:51:30 -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
ed65bd47a4 Created placeholders for sidhv3 + sike 2017-12-11 15:41:36 -05:00
Vlad Gheorghiu
ff3986ab95 removed hard paths (#193)
* removed hard paths

* removed hard paths
2017-12-11 14:50:47 -05:00
Christian Paquin
f62bb02104 Enabled and documented building on ARM32 (Raspberry Pi). (#179)
* Enabled and documenented building on ARM32 (Raspberry Pi). A hardcoded 'defined ARM' in ds_benchmark.h must be removed (and integrated in the build system) before merging this branch.

* Now uses a macro set by the compiler to detect ARM. Also modified README enabling more algs.

* Prettyprint.
2017-12-11 14:39:38 -05:00
smashra
9dab6f6d2c Flags for configured algorithms generated in config.h (#177)
* Flags for configured algorithms generated in config.h

* Fix issue 168

* Separate artifacts for windows build and Non-windows build
2017-12-11 14:38:11 -05:00
smashra
2d5eb13732 Covscan defect fix (#189)
* Fix - Unintended sign extension

* Fix - if cdf_table_len is 0 then there will be a problem

* Fix - Resource Leak

* Integer handling issues  (OVERFLOW_BEFORE_WIDEN)

* Update Resource leak

* pretty print

* Provide func declaration

* Removing picnic flags which make it disabled by default.

* Remove picnic flag
2017-12-04 09:22:32 -05:00
Vlad Gheorghiu
a5b239d532 Updated README (#191) 2017-11-20 08:50:18 -05:00
mvd-ows
d7a72e2c0d Add checks to verify length of input data for McBits (#186) 2017-11-13 08:56:27 -05:00
Vlad Gheorghiu
cbee5ef1bd Vsoftco issue160 (#188)
* updated appveyor

use release build for faster testing

* commit

* commit

* commit
2017-11-13 08:56:01 -05:00