Commit Graph

324 Commits

Author SHA1 Message Date
Matthias J. Kannwischer
75015226a2 add newhope1024cpa 2019-05-08 17:38:41 +02:00
Matthias J. Kannwischer
4f4ed3cc8b add newhope512cpa 2019-05-08 17:33:08 +02:00
Matthias J. Kannwischer
12fafb1bf0 rename newhope1024ccakem -> newhope1024cca 2019-05-08 17:07:57 +02:00
Matthias J. Kannwischer
d879595da3 add newhope512cca 2019-05-08 17:06:55 +02:00
Matthias J. Kannwischer
01b3bde4bd remove testvector hash 2019-05-07 19:40:46 +02:00
Matthias J. Kannwischer
82e53bfdd1 fix MS compiler warnings 2019-05-07 19:40:46 +02:00
Matthias J. Kannwischer
5065f46aa7 add newhope1024ccakem 2019-05-07 19:40:46 +02:00
cryptojedi
56a3715ddc Kyberv2 (#150)
* Replaced round-1 Kyber code with round-2 Kyber code (not yet cleaned/namespaced)

* Namespacing for Kyber

* Some more work on round-2 Kyber (more namespacing)

* Added missing files

* Round-2 Kyber768 now passing all tests under Linux

* Various small tweaks to make MS compiler happy

* Two more tweaks for MS compiler

* Added Kyber512 and Kyber1024 (round-2 versions)

* Making MS compiler happy

* More fixes for MS compiler

* Replaced round-1 Kyber code with round-2 Kyber code (not yet cleaned/namespaced)

* Namespacing for Kyber

* Some more work on round-2 Kyber (more namespacing)

* Added missing files

* Round-2 Kyber768 now passing all tests under Linux

* Various small tweaks to make MS compiler happy

* Two more tweaks for MS compiler

* Added Kyber512 and Kyber1024 (round-2 versions)

* Making MS compiler happy

* More fixes for MS compiler

* Started more cleanup work on Kyber768

* Replaced round-1 Kyber code with round-2 Kyber code (not yet cleaned/namespaced)

* Namespacing for Kyber

* Some more work on round-2 Kyber (more namespacing)

* Added missing files

* Round-2 Kyber768 now passing all tests under Linux

* Various small tweaks to make MS compiler happy

* Two more tweaks for MS compiler

* Added Kyber512 and Kyber1024 (round-2 versions)

* Replaced round-1 Kyber code with round-2 Kyber code (not yet cleaned/namespaced)

* Namespacing for Kyber

* Some more work on round-2 Kyber (more namespacing)

* Added missing files

* Round-2 Kyber768 now passing all tests under Linux

* Various small tweaks to make MS compiler happy

* Two more tweaks for MS compiler

* Added Kyber512 and Kyber1024 (round-2 versions)

* Making MS compiler happy

* Making MS compiler happy

* More fixes for MS compiler

* More fixes for MS compiler

* Started more cleanup work on Kyber768

* Kyber768 passing all tests locally

* Kyber512 passes all tests locally

* Kyber1024 now also passing all tests locally

* Now passing all tests with -Wmissing-prototypes

* Local tests (on Linux) passing again
2019-05-06 14:50:27 +02:00
Douglas Stebila
3494c96e53
Update to latest changes from upstream, fix correctness on MS Visual Studio (#163) 2019-05-05 18:33:34 -04:00
Douglas Stebila
6e1f66d047
Don't run testvectors checks on KEMs (#161) 2019-04-30 11:15:57 -04:00
Douglas Stebila
266a40d2fe Move length-secret-key 2019-04-29 09:48:15 -04:00
Douglas Stebila
e568dd09c0 Copy ntru fixes from recent commits 2019-04-29 09:41:17 -04:00
Douglas Stebila
6e86989eb2 Undo breaking compiler warning fix 2019-04-29 09:41:17 -04:00
Douglas Stebila
2927f42c59 Fix Windows compiler warnings 2019-04-29 09:41:17 -04:00
Douglas Stebila
5b733ede1c Add ntruhrss701 2019-04-29 09:41:17 -04:00
Douglas Stebila
ea8fd5886c Add ntruhps4096821 2019-04-29 09:41:17 -04:00
Douglas Stebila
fb31e71e7e Metadata and duplicate consistency fixes for ntruhps2048677 2019-04-29 09:41:17 -04:00
Douglas Stebila
580b0d76e3 Add ntruhps2048677 2019-04-29 09:41:17 -04:00
Joost Rijneveld
68b12866ce
Use more standard Wvla 2019-04-24 13:52:02 +02:00
Joost Rijneveld
e32666a0ab
Throw errors when using variable-length arrays
Windows already complains about this in CI, but this will
let us catch these issues on Linux as well.
2019-04-24 12:35:17 +02:00
Joost Rijneveld
baf93e2826
Merge pull request #146 from PQClean/move-secret-key-to-scheme-meta
Move secret key length back to scheme-level META
2019-04-18 17:14:08 +02:00
Thom Wiggers
b5d4e93478
Add -O3 to CFLAGS 2019-04-17 11:56:16 +02:00
Joost Rijneveld
972315dec5
Move secret key length back to scheme-level META 2019-04-17 11:08:45 +02:00
Douglas Stebila
c0cf260113 Merge branch 'master' into nist-kat 2019-04-16 16:20:31 -04:00
Douglas Stebila
24938353ac Merge branch 'master' into nist-kat 2019-04-16 14:19:20 -04:00
Thom Wiggers
48bae57f24
Fix NTRU implementation according to c7fa0b98bc 2019-04-16 15:25:18 +02:00
Thom Wiggers
e711d6e3b9
Fix hash length in NTRU 2019-04-16 13:37:50 +02:00
Thom Wiggers
873216c702
Fix integer overflow problems in NTRU 2019-04-16 13:37:50 +02:00
Thom Wiggers
eb5f7f1e57
Fix int/size_t comparison in frodo 2019-04-16 13:37:50 +02:00
Thom Wiggers
3431dd2e0a
No reason for C source files to be executable 2019-04-16 13:28:44 +02:00
Douglas Stebila
c42619d855 Merge branch 'master' into nist-kat 2019-04-14 19:28:59 -04:00
Douglas Stebila
ff71e7de11 Correct FrodoKEM submitter list 2019-04-14 17:38:53 -04:00
Douglas Stebila
8e7cf2b5cd Fix linter complaints 2019-04-14 17:29:58 -04:00
Douglas Stebila
a815543f32 Add NIST KAT check for KEMs 2019-04-14 17:17:11 -04:00
Douglas Stebila
e72fd489ba
Add ntruhps2048509 (#105)
* Initial ntruhps2048509 implementation

* Turn compile-time #if's into runtime if's

* Test vector hash

* Resolve linter complaints

* Apply astyle

* Address Windows compiler complaints

* Address more Windows compiler complaints

* More Windows compiler complaints

* Apply astyle

* Add -Wmissing-prototypes

Co-Authored-By: dstebila <dstebila@users.noreply.github.com>

* Fix -Wmissing-prototypes errors, update LICENSE
2019-04-13 13:08:07 -04:00
Matthias J. Kannwischer
5587cdb4a8 Add -Wmissing-prototypes (#109)
* fix prototypes for sphincs and static functions in aes.c

* fix missing prototypes in all frodo variants

* fix missing prototypes in kyber

* remove const from non-pointer arguments in Frodo

* add missing prototypes to requirements in README
2019-04-13 11:47:29 -04:00
Douglas Stebila
6ca367e2e6 Apply astyle 2019-04-11 08:18:49 -04:00
Douglas Stebila
b7f390368e Merge branch 'master' into frodo-aes 2019-04-11 08:15:40 -04:00
Douglas Stebila
cfc9705751 test_format wasn't actually checking output of astyle
It was only checking the return code, but astyle was always returning 0. 
Changed to parse the output and look for the string "Formatted"
2019-04-10 21:23:33 -04:00
Douglas Stebila
7e8bd90d8c Fix Windows compiler warnings and endianness 2019-04-10 12:21:53 -04:00
Douglas Stebila
30c8661d82 Add FrodoKEM-1344-AES 2019-04-10 12:16:24 -04:00
Douglas Stebila
999ea3afed Add FrodoKEM-976-AES 2019-04-10 12:11:27 -04:00
Douglas Stebila
e9427afeb2 Add FrodoKEM-640-AES 2019-04-10 11:51:09 -04:00
Joost Rijneveld
dfe9508551
Remove preprocessor ignored codepath for Kyber 2019-04-09 17:23:31 +02:00
Joost Rijneveld
8d1ed9afc0
Remove include from Kyber's api.h 2019-04-09 17:19:23 +02:00
Douglas Stebila
37ccc09168 Move length-secret-key 2019-04-09 09:11:16 -04:00
Douglas Stebila
6fabab1fd9 Merge branch 'master' into more-frodo 2019-04-09 09:06:20 -04:00
Joost Rijneveld
fe010541ec
Move secret key length to implementation meta 2019-04-08 11:39:17 +02:00
Douglas Stebila
2d6be066e7 Add FrodoKEM-1344-SHAKE 2019-04-06 09:22:15 -04:00
Douglas Stebila
13e74c7b67 Update test vectors for new number of iterations 2019-04-06 09:22:04 -04:00
Douglas Stebila
624d82cc67 New required metadata fields 2019-04-06 09:09:45 -04:00
Douglas Stebila
46aa7ff9b2 Move duplicate consistency data outside of META.yml 2019-04-06 09:07:44 -04:00
Douglas Stebila
a296085e57 Merge branch 'master' into more-frodo 2019-04-06 08:51:03 -04:00
Joost Rijneveld
e2fcad2823
Merge branch 'master' into reduce-iterations 2019-04-06 13:10:21 +02:00
Thom Wiggers
d39d7c66db
Add missing metadata to META 2019-04-05 16:38:26 +02:00
Douglas Stebila
19d177efb3 Use 5 iteractions for functional tests and test vectors 2019-04-05 10:22:52 -04:00
Douglas Stebila
6b5d144415
Correct security level 2019-04-04 14:51:17 -04:00
Douglas Stebila
249bfb6197 Add FrodoKEM-976-SHAKE 2019-04-04 12:05:55 -04:00
Douglas Stebila
72ff0dae94 Minor reformatting 2019-04-04 12:05:20 -04:00
Douglas Stebila
4162be0401 Switch for int and unsigned char to size_to and uint8_t 2019-04-02 14:06:06 -04:00
Douglas Stebila
41bc57689c Fix more compiler warnings 2019-03-31 21:55:55 -04:00
Douglas Stebila
1e5e9d96f8 Fix compiler warnings and bug 2019-03-31 21:52:35 -04:00
Douglas Stebila
9cb1c56ac1 Make Frodo code endian-agnostic 2019-03-31 21:44:36 -04:00
Douglas Stebila
028fb2120e Fix typo 2019-03-21 23:53:53 -04:00
Douglas Stebila
ca798ee18a Fix Windows warnings 2019-03-21 23:51:34 -04:00
Douglas Stebila
f0ba4f2051 Add Windows Makefile 2019-03-21 23:48:52 -04:00
Douglas Stebila
e153dfdf56 Apply clang-tidy 2019-03-21 23:40:12 -04:00
Douglas Stebila
7485f35366 Apply astyle 2019-03-21 23:27:16 -04:00
Douglas Stebila
a2399091a7 Initial FrodoKEM-640-SHAKE implementation 2019-03-21 22:56:45 -04:00
Thom Wiggers
6558773b21
Check if header guard is defined properly
Does this slightly uglily, but it should work.
2019-03-19 15:02:09 +00:00
Thom Wiggers
05b0f6d9cc
Namespace the #define constants. 2019-03-19 13:28:15 +00:00
Thom Wiggers
45e645c3a7
Fix Makefile.Microsoft_nmake header dependencies 2019-03-06 17:15:23 +01:00
Thom Wiggers
d503a712ba
Fix nmakefiles
LIB is already an environment variable on Windows
2019-03-06 17:14:35 +01:00
Thom Wiggers
07b8c2ebe9
Make all apis use the uint8_t and size_t types 2019-03-05 14:14:47 +01:00
Joost Rijneveld
879574b695
Include name of implementation in namespace 2019-02-27 09:18:38 +01:00
Douglas Stebila
5297954630 Add dependency to header files in Makefile 2019-02-18 10:19:07 -05:00
Peter Schwabe
a96abac2de Removed FIXME comment 2019-02-14 19:16:52 +01:00
Peter Schwabe
bab1d185cd Made one more cast explicit 2019-02-14 16:18:17 +01:00
Peter Schwabe
393c7a3cde Fixed one cast (added appropriate parantheses) 2019-02-14 16:16:50 +01:00
Peter Schwabe
8b8f27b003 Make various casts in kyber explicit to make MS compiler happy with /W4 2019-02-14 16:14:47 +01:00
Peter Schwabe
81797c2c13 Increased warning level for compilation under Windows to /W4 2019-02-14 16:02:57 +01:00
Peter Schwabe
55b63353a8 Fixed Makefile 2019-02-14 16:00:52 +01:00
Peter Schwabe
9b29d34bf9 Merge branch 'reformat-kyber'
Fixed (hopefully) both formatting and astyle config to not break
formatting again
2019-02-14 15:32:12 +01:00
Peter Schwabe
8e594f3c23 Some cleanup, expanded dependencies, removed two unnecessary files in kyber768 2019-02-14 15:30:55 +01:00
Thom Wiggers
3b73ea134d
Formatted everything with astyle
clang-format was not flexible enough to allow lining out things on
columns with spaces.
2019-02-14 14:08:16 +01:00
Douglas Stebila
f64a7e0dd4 Reimplement Python tests using nose framework 2019-02-13 22:25:34 -05:00
Douglas Stebila
157977258c Make makefiles for Dilithium consistent with merged Kyber makefiles 2019-02-08 10:06:07 -05:00
Douglas Stebila
f1f0c1d332 Merge branch 'master' into make-dilithium 2019-02-08 10:02:24 -05:00
Douglas Stebila
24e28e3402 Use a single Makefile for BSD and GNU Make and add comments 2019-02-08 09:42:53 -05:00
Douglas Stebila
2d684ea323
Revert temporary error 2019-02-07 10:01:06 +01:00
Douglas Stebila
5d931897e6
Temporary check that errors really make the build fail 2019-02-07 10:01:06 +01:00
Douglas Stebila
7c0ecc0cdb
Create nmake file for building on Windows and fix compilation error 2019-02-07 10:01:06 +01:00
Douglas Stebila
e98d053623
Rename 2019-02-07 10:01:06 +01:00
Douglas Stebila
4a387d7896
Rename GNU Makefile 2019-02-07 10:01:06 +01:00
Douglas Stebila
84d8d5a6c2
Clean up Makefile 2019-02-07 10:01:05 +01:00
Douglas Stebila
da2667a846
Add local Makefile for kyber768 2019-02-07 10:01:05 +01:00
Douglas Stebila
dcc18d9b66 Revert temporary error 2019-02-06 20:24:26 -05:00
Douglas Stebila
c22d445e98 Temporary check that errors really make the build fail 2019-02-06 20:22:59 -05:00
Douglas Stebila
e914d18696 Create nmake file for building on Windows and fix compilation error 2019-02-06 18:37:50 -05:00
Douglas Stebila
06223ecb3a Rename 2019-02-06 12:46:50 -05:00
Douglas Stebila
d6d7217742 Rename GNU Makefile 2019-02-06 12:41:55 -05:00
Douglas Stebila
da6dd5f792 Clean up Makefile 2019-02-06 12:22:58 -05:00
Douglas Stebila
65918c0fa8 Add local Makefile for kyber768 2019-02-01 20:58:26 -05:00
Matthias J. Kannwischer
3b47fb2db7 check for license files 2019-01-29 17:45:37 +01:00
Thom Wiggers
66d5284e43
Fix specification of current implementations
See #2
2019-01-29 17:25:55 +01:00
Thom Wiggers
0c65364f34
Remove obsolete SHA3 hash from META.yml files.
We moved to SHA256 for compatibility with older versions of Python 3, and this hash is thus unchecked. It will only get out of date, so it seems better to remove it.
2019-01-29 16:39:27 +01:00
Joost Rijneveld
5d5b6f26a3
Ensure Python3.5 compatibility
This means we must downgrade to SHA256, as SHA3 is not in hashlib.
2019-01-23 11:27:43 +01:00
Joost Rijneveld
4cac434f47
Namespace Kyber768 and Dilithium-III 2019-01-22 17:40:27 +01:00
Matthias J. Kannwischer
f7fb850ecf check testvectors 2019-01-18 14:43:05 +01:00
Joost Rijneveld
e61a320aed
Move tests to separate directory 2019-01-17 17:44:55 +01:00
Joost Rijneveld
9760f45a46
Move scheme-specific META to scheme directory 2019-01-16 18:09:21 +01:00
Thom Wiggers
4d0082fa43
Add travis config
Also fixes some tidy issues

Not sure why my local clang-tidy doesn't complain
2019-01-16 14:54:24 +01:00
Matthias J. Kannwischer
e32b091ead add testvector generation 2019-01-16 14:21:52 +01:00
Thom Wiggers
c0deaa4952
Add automatic testing 2019-01-16 13:52:53 +01:00
Thom Wiggers
6a8a9a0bf3
Fix tidy for signing 2019-01-16 13:02:35 +01:00
Joost Rijneveld
7028025eb9
Normalize whitespace 2019-01-16 11:02:32 +01:00
Thom Wiggers
b22a21c08a
Add clang-tidy, only require SCHEME where needed 2019-01-16 10:45:27 +01:00
Joost Rijneveld
2a5a628e48
Add Dilithium-III 2019-01-16 10:21:05 +01:00
Joost Rijneveld
d3d6f7b7b7
Replace functional test by tests from PQM4
This also adds some code for canaries, and unifies crypto_{kem,sign}
2019-01-15 17:13:19 +01:00
Joost Rijneveld
8c5f2773cb
Reduce the number of functional tests 2019-01-15 16:50:22 +01:00
Joost Rijneveld
39dfbe4e32
Add list of submitters to kyber768/META.yml
Separating this into principal and auxiliary submitters was
chosen by NIST. If we do not do the same thing, we would have to
decide how to order names. People seem to have opinions on ordering.
2019-01-15 16:38:16 +01:00
Matthias J. Kannwischer
39aba8ac24 add .clang-format and formatted all the files 2019-01-15 16:34:01 +01:00
Joost Rijneveld
b35856eece
Add a META.yml for Kyber768 2019-01-15 16:25:37 +01:00
Joost Rijneveld
fa6aedb068
Add minimal Makefile and kyber768 as startingpoint 2019-01-15 16:03:38 +01:00