257 Commits

Author SHA1 Message Date
Christian Paquin
3fe6afaa2a (Re)Added SIDHv3/SIKE to Visual Studio. 2018-01-12 23:08:29 -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
mvd-ows
581fbbb2eb Initialize out-parameters to NULL (#183)
* Initialize out-pointers to NULL

* Adjust code formatting

* Restore error handling in OQS_KEX_lwe_frodo_new

* Initialize priv_key pointer in OQS_KEX_ntru_alice_0
2017-10-25 09:34:06 -04:00
mvd-ows
0d8a3540f3 Properly separate SIDH CLN16 from SIDH CLN16 compressed (#181)
* Properly separate SIDH CLN16 from SIDH CLN16 compressed

* Adjust code formatting

* Disable warning 4090 - assign const ptr to non-const ptr
2017-10-25 09:32:18 -04:00
Nikolaus Thümmel
8bc8cd9db8 Added VisualStudio DLL build configurations (#182)
* Added VisualStudio DLL build configurations

Add inline preprocessor definition to VisualStudio project file - this allows compilation with older versions of VisualStudio (e.g. 2013) which do not support the C99 inline keyword
Removed newhope.c from VisualStudio build files, as it is already included in kex_rlwe_newhope.c and will lead to multiple symbol definition errors in shared library builds
Add ENABLE_CODE_MCBITS guard to kex_code_mcbits.c to protect against missing symbol definition errors in VisualStudio shared library builds
Added VisualStudio shared library exports file dll.def, including the necessary core functions to use oqs from applications
Also export free when building Windows DLLs - this is important as the correct runtime library has to be used to free memory allocated by the OQS library. Applications may be using multiple runtime libraries or memory managers, calling the wrong free will result in memory corruption or segfault

* Add missing newline at end of file.
2017-10-24 09:31:35 -04:00
mvd-ows
fc522d6121 Embed SIDH IQC REFERENCE parameters (#180)
* Embed SIDH IQC REFERENCE parameters

* Adjust code formatting

* Add default selection of parameters
2017-10-23 09:46:13 -04:00
Christian Paquin
40ffb4eb38 Updated Windows build (added sig, fixed warnings, 2017 update) (#169)
* Updated Visual Studio solution to 2017 version, fixed build warnings (issue #159), added signature and Picnic support.

* commit

treat warnings as errors

* Fix ENABLED_PICNIC macro in sig_picnic.

* Prettyprint

* Try to fix Travis error or macOS.
2017-10-18 16:50:24 -04:00
Vlad Gheorghiu
a329060696 Update README.md (#178)
* Update README.md

* Update README.md
2017-09-25 11:07:39 -04:00
Vladimir Valyukh
fcbd0f35b8 KEX memory benchmarks (#171)
* added benchmark options

* added memory benchmarking module

* removed comment

* memory bech script added; TODO: clean it up a bit

* small fix in bench-memory script

* fixed prettyprint

* fixed tabs in help options

* updated documentation

* updated documentation
2017-09-11 10:53:14 -04: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
Douglas Stebila
f3e24e1e66 Link to algorithm data sheets. 2017-09-10 17:04:37 -04:00
Christian Paquin
28cc05a886 Added datasheets for SIDH and Picnic. (#166) 2017-09-08 15:48:57 -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
Douglas Stebila
461b563f5e AppVeyor badge should point to master branch. 2017-07-25 14:40:00 -04:00
smashra
95df321556 copy header files instead of link (#157) 2017-07-24 22:47:50 -04:00
Vlad Gheorghiu
2a058c507e Windows continuous integration (#155)
* Added appveyor build status icon

Windows continuous integration

* added appveyor.yml

* Integrate AppVeyor into project build settings

When I tried to add AppVeyor to the project settings so that it shows up in pull requests etc., it asked me to link with my GitHub account, so I'm switching to that.
2017-07-24 22:46:15 -04:00
Vlad Gheorghiu
ae3dd114f2 Merge pull request #154 from open-quantum-safe/fix-illegal-instruction
Fix illegal instruction on macOS, redux
2017-07-20 21:36:20 -04:00
Douglas Stebila
caede46535 Bring macOS build config closer to original. 2017-07-20 14:05:51 -04:00
Douglas Stebila
b2730934ba Try a few changes to see if we can narrow down the bug. 2017-07-20 12:08:31 -04:00
Douglas Stebila
0022252601 Switch to a different version of Xcode and set travis-tests to fail on error. 2017-07-20 10:39:04 -04:00
Christian Paquin
1385ddc8ff Fix windows build july2017 (#151)
* Fixed Windows build after NTRU refactoring and Kyber addition.

* Removed duplicate variable.

* Un-commnented malloc.h, repairing SIDH on Windows.

* Prettyprint and fix malloc.h error on macOS.
2017-07-20 10:16:38 -04:00