76 Commits

Author SHA1 Message Date
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
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
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
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
Vladimir Valyukh
b9854b400f Arm compilation (#170)
* liboqs crosscompiles for android

* andriod compilation cleanup

* andriod compilation cleanup wip

* cc working, TODO: merge back what was removed..

* put back error output

* renamed android-build.sh to configure-android

* android compilation done

* removed the use of generic SIDH implementation if optimizied version was available

* added correct CFLAGS for android

* added ARM64 assembly optimizations for sidh

* sidh arm assembly opitimizations wip

* ARM64 optimimizations for SIDH done

* added android build documentation

* fixed prettyprint issue

* removed asm opimizations for darwin
2017-09-11 09:44:49 -04:00
boson-lepton
04d7eaa4ea Enable or disable each algorithm (#158)
* Enable or disable each algorithm

* Enable disable tests in travis and silencing warnings
2017-08-03 09:33:49 -04:00
Christian Paquin
498756396e Add sig api with picnic (#120)
* Added sig API and Picnic signature algs.

* Removed ifdef around Picnic defines, to avoid modifying calling apps.

* Some clean-ups: updated Picnic reference in Readme, made download script executable, added TODO in test_sig.

* Removed const-removing cast since Picnic API now uses const.

* Revamped test_sig, cleaned-up sig and sig_picnic.

* Enables setting location of picnic params through an env variable (vs. hardcoded).

* Minor change.

* Enable travis test for picnic

* Fix yml error

* Fix yml error

* Fix apt package error

* Fix include for picnic

* Exit on first error

* Setup picnic external

* Fix a typo

* c99 mode for picnic matrices file in picnic

* update .gitignore

* Remove warnings from picnic

* Typo

* Another typo

* add picnic build for mac

* formatting

* Updated README after Picnic refactoring.

* Update and uniformization of README.md

* Minor typos in README.md

* Fix merge mistake.

* Fix M4RI_DIR path

* Undo README changes.

* Removing merge artifacts

* File not being used anywhere
2017-07-31 21:32:00 -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
Tancrède Lepoint
8f7cff5b75 Mlwe kyber (#131)
* Adding Kyber

* make prettyprint

* Remove picnic

* Fix the compilation on macOS

* Remove libm4ri-dev

* make prettyprint inconsistency, travis typo, travis add OPENSSL_DIR

* Missed one comment, should work everywhere now

* Remove .DS_Store file.
2017-07-03 15:34:26 -04:00
smashra
d08b510b8f Remove picnic (#134)
* Remove picnic

* Fix the compilation on macOS

* Remove libm4ri-dev

* make prettyprint inconsistency, travis typo, travis add OPENSSL_DIR

* Missed one comment, should work everywhere now
2017-07-03 15:13:50 -04:00
smashra
68533e7bc4 Adding Picnic algorithm from MSR 2017-06-17 15:24:36 -04:00
smashra
c9d0404d4f --enable-mcbits needs --with-mcbits-dir option 2017-06-12 11:36:25 -04:00
smashra
d6aecfafbd Rename configure options to match naming scheme 2017-06-12 08:35:20 -04:00
smashra
152d6839ca Fix make distclean errors #106 2017-06-08 10:36:12 -04:00
Tancrède Lepoint
03b099b7c0 Add silent rules if possible (#123) 2017-05-24 21:20:33 -04:00
Shravan Mishra
1bd6ef012f Revert to fix globalspace pollution warnings 2017-04-18 12:37:34 -04:00
Shravan Mishra
b91c93098f Flag warning as error and fix warnings 2017-04-18 11:58:27 -04:00
Douglas Stebila
d0ec688e33 Fix build problems on macOS. (#114) 2017-02-27 23:24:55 -05:00
Shravan Mishra
a466e9abd9 Enable openssl and gmp dir to be specified 2017-02-23 12:51:14 -05:00
Shravan Mishra
35bd9bc741 Ntru build related changes 2017-02-21 10:45:35 -05:00
Shravan Mishra
6b6afa837f Adding Javad's SIDH IQC implementation 2017-02-15 19:48:56 -05:00
Shravan Mishra
475c713002 Provide ON_DARWIN flag for both the platforms 2017-02-14 10:47:19 -05:00
Shravan Mishra
f6d08ccccb Silent rule;NTRU build;Darwin test program build updates 2017-02-14 10:41:57 -05: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