257 Commits

Author SHA1 Message Date
Douglas Stebila
adcfddd423 Prettyprint. 2016-12-12 14:43:49 -05:00
Douglas Stebila
28b5b3be39 Change benchmarks to output Markdown-formatted tables. 2016-12-12 14:41:03 -05:00
Douglas Stebila
adf5aa3d78 Fix compilation problem on macOS using gcc. 2016-12-12 14:40:49 -05:00
Christian Paquin
3d5facbeaa Merge remote-tracking branch 'upstream/master'
Merge with master.
2016-12-12 14:17:44 -05:00
Alex Parent
c5382941ae Clean up and optimize Frodo implementation (#60) 2016-12-07 19:32:25 -05:00
Christian Paquin
812404e535 Merge remote-tracking branch 'upstream/master'
Merge in changes from winbuild fix.
2016-12-06 08:48:45 -05:00
Christian Paquin
36ae6bf418 Fixes Visual Studio projects after crypto re-factoring (#68) 2016-12-05 21:00:58 -05:00
Christian Paquin
5741875965 Merge remote-tracking branch 'upstream/master'
Merge upstream/master.
2016-12-01 16:12:57 -05:00
Alex Parent
b7c3e86cb9 Merge pull request #62 from aparent/sha3
Factor out Sha3
2016-12-01 14:13:22 -05:00
Alex Parent
dc69b4426f Reorganize common crypto code. 2016-11-28 16:23:00 -05:00
Christian Paquin
6119d1e730 Merge remote-tracking branch 'upstream/master'
Merge with master after SIDH addition.
2016-11-28 11:32:06 -05:00
Alex Parent
4764de9963 Factor out SHA3 from msrln16. 2016-11-28 11:18:59 -05:00
Alex Parent
8f706feb47 Factor out SHA3 from newhope. 2016-11-28 11:18:59 -05:00
Alex Parent
d23f8d3edd Fix possible memory leaks. 2016-11-25 17:43:55 -05:00
Douglas Stebila
fcbc380970 Rename file. 2016-11-24 16:16:04 -05:00
Douglas Stebila
d94b54e99f Rename file. 2016-11-24 16:15:46 -05:00
Christian Paquin
7babc31f8b Integrates MSR's SIDH library into OQS (#59) 2016-11-24 16:13:50 -05:00
Douglas Stebila
76a3480df5 Update README.md. 2016-11-23 12:35:55 -05:00
Christian Paquin
cfda5d550b Merge remote-tracking branch 'upstream/master'
Merging with upstream master, after it merged with pull 58.
2016-11-23 12:12:35 -05:00
Douglas Stebila
9705212671 Update README.md. 2016-11-23 11:08:06 -05:00
Christian Paquin
7fcf29d37f Integrates MSR's RLWE Latticecrypto library into OQS. (#58) 2016-11-23 11:06:54 -05:00
Alex Parent
04b841ca2c Remove statements which have no affect. (#51) 2016-11-21 20:37:35 -05:00
Alex Parent
5921e74587 Fix double memset_s. 2016-11-20 15:14:06 -05:00
Alex Parent
8901962d40 Add function for zeroing memory. 2016-11-20 15:14:06 -05:00
Alex Parent
6e033165ad Merge pull request #57 from aparent/doc
Add AES documentation.
2016-11-20 15:11:58 -05:00
Alex Parent
3e68b61a56 Merge pull request #53 from aparent/travis
Revert the previous change in 250681196f
2016-11-20 15:11:47 -05:00
Alex Parent
e5a2360ef0 Add AES documentation. 2016-11-17 16:06:16 -05:00
Alex Parent
96ff4c2bd2 Write the name of the test which was was passed. 2016-11-17 15:24:10 -05:00
Christian Paquin
ab352e4a56 Merge remote-tracking branch 'upstream/master'
Merge upstream.
2016-11-17 14:27:34 -05:00
Alex Parent
4c3ec162af Remove -E option from find.
Not necessary for the regex and not compatible with the linux(GNU)
version of find.
2016-11-16 11:02:25 -05:00
Alex Parent
20b1f0809a Revert the previous change in 250681196f
Make style check fail when astyle fails.
2016-11-14 18:50:31 -05:00
Alex Parent
250681196f Speedup Travis and reduce build errors by installing astyle as a package. 2016-11-14 14:07:40 -05:00
Douglas Stebila
e937a6a664 Add Travis check for banned functions.
bzero not supported on Windows
2016-11-10 15:01:30 -05:00
Christian Paquin
afc321d352 Fix aesctr on windows (#49)
* Added AES-CTR files to Visual Studio project and fixed compilation errors on Windows.
2016-11-10 14:47:14 -05:00
Christian Paquin
71b217e9e9 Merge remote-tracking branch 'upstream/master' 2016-11-09 18:51:02 -05:00
Douglas Stebila
88e5316005 Frodo optimizations using macros (#45)
* Use macros to create versions of Frodo functions with hard-coded parameters to enable compiler optimization

* Undefine macros to avoid any confusion later.
2016-11-03 22:31:06 -04:00
Douglas Stebila
4753c4b2db Missing include for compiler warning. 2016-11-02 14:46:34 -04:00
Douglas Stebila
3b5903467c Update ds_benchmark to latest public version. 2016-10-31 21:12:16 -04:00
Christian Paquin
c949205f5d Enabled building Frodo on Windows (#39)
* Enables Windows build.

* Modified CAPI call to avoid error when no key container is present for the user.

* Removed spurious white spaces.

* Enabled building Frodo on Windows using the Visual Studio solution.

* Replaced non-portable packed bit fields with bit masks.

* Removed commented-out code and defined macro that has been moved to preprocessor defs.

* Disabled AES NI when using x86 Visual Studio projects.

* Prettyprint.
2016-10-31 21:09:22 -04:00
Alex Parent
20ecde9692 Add option to only run tests/benchmarks for specified algorithms. (#44)
* Add option to only run tests/benchmarks for a single algorithm.

* Allow multiple algorithms to be specified on command-line.
2016-10-31 21:02:02 -04:00
mofojed
14d6246c96 Fix memory leak (#42)
* Fix memory leaks with named_parameters.

They were not being freed in the Frodo and NewHope implementions. The bcns15 implementation never allocates them.

* Fix memory leaks in speed tests.

Many of the tests were running through many iterations of the same command, but were not cleaning up the memory used after each iteration.
As a result, running the tests would leak tons of memory onto the heap.
To help, created the TIME_OPERATION_SECONDS_CLEANUP function, that allows timing of a function with a cleanup function run after each iteration.

Verified no memory was leaked by running valgrind through each of the test cases:
valgrind --leak-check=full ./test_kex
valgrind --leak-check=full ./test_aes
valgrind --leak-check=full ./test_rand

Each case verified that heap use was cleaned up after running the tests:
All heap blocks were freed -- no leaks are possible

* Fix inlen passed into oqs_kex_lwe_frodo_pack function.

Was passing the number of bits allocated for the array, rather than the length of the array. This caused an invalid read of size 2 when running the test cases.
Verified with valgrind there is no more invalid read.

* Run 'make prettyprint' to fix up the formatting. Should pass the Travis CI build now.

* Change TIME_OPERATION_SECONDS macro so it can handle multiple operations.
2016-10-31 20:40:32 -04:00
Douglas Stebila
1698c32989 Smaller OQS_AES128 public API and support use of OpenSSL AES for faster operations. (#40)
* Make OQS_AES128 use a void schedule pointer.

* Fewer functions in AES public API.

* Reorganize RAND_urandom_aesctr to not use cache for n.

* Focus AES API on ECB mode rather than raw operations.

* Optionally use OpenSSL for AES.
2016-10-28 00:22:34 -04:00
Alex Parent
2777bfd449 Add PRNG based on AES-CTR (#37) 2016-10-26 21:46:19 -04:00
Christian Paquin
7b2d2b3146 Merge remote-tracking branch 'upstream/master'
Merge upstream/master.
2016-10-24 15:15:11 -04:00
Alex Parent
42cad43e15 Fixes (#35)
* Fixes some potential memory leaks

* Fix possible freeing of uninitialized values.
2016-10-23 13:55:11 -04:00
Douglas Stebila
fc493561a2 Fix compiler error with gcc; common benchmarking code; fix cycle counts. 2016-10-22 18:28:36 -04:00
Douglas Stebila
b0d771b0bc Switch Frodo encryption to use AES-ECB with precomputed key schedule. 2016-10-22 11:23:10 -04:00
Douglas Stebila
5e5c4e6915 Prettyprint. 2016-10-22 01:21:25 -04:00
Douglas Stebila
087dc7215a Add LWE-Frodo to liboqs. (#33) 2016-10-22 01:04:32 -04:00
Douglas Stebila
a9b34cc5af Prettyprint. 2016-10-22 00:23:42 -04:00