Leon
5a4b7f24a3
(de)serialization instead of pointer casts
2019-06-12 15:33:20 +02:00
Leon
6811a40527
move implementations of functions to .c files
2019-06-11 22:50:33 +02:00
Leon
9e3f973f56
define a constant for max number of rng bytes, remove unnecessary check
2019-06-11 21:45:39 +02:00
Leon
889a1f1e53
fix mvsc warning
2019-06-11 17:09:28 +02:00
Leon
9c2449387a
include stdint in api
2019-06-11 16:50:38 +02:00
Leon
26dad0211d
remove unused functions
2019-06-11 16:39:41 +02:00
Leon
98e643e5c7
use size_t for index in aes xof buffer and not for index of digits
2019-06-11 16:20:31 +02:00
Leon
e5da5da9a6
use uint8_t in api
2019-06-11 16:18:21 +02:00
Leon
3caad74525
variable declarations at the beginning, namespace extern variables
2019-06-11 14:21:49 +02:00
Leon
737cb1bb2e
add ledakemlt32
2019-06-10 20:42:31 +02:00
leonbotros
4f97fa82b6
Merge pull request #1 from PQClean/master
...
update fork
2019-06-10 18:56:06 +02:00
Leon
6aafab57ef
add ledakemlt52
2019-06-10 18:57:26 +02:00
Leon
c0aa560186
remove commented code, update license
2019-06-07 15:07:22 +02:00
Leon
48912d76ff
msvc warning + removing commented code
2019-06-07 13:57:15 +02:00
Leon
e4add57844
more cleaning
2019-06-07 13:40:02 +02:00
Leon
6f31e7e4c2
serialize error_vector before hashing instead of pointer cast
2019-06-07 13:02:25 +02:00
Leon
b320752f2a
fix more msvc warnings
2019-05-27 23:58:49 +02:00
Leon
ca6d935bbc
fix msvc warnings
2019-05-27 22:48:15 +02:00
Leon
7b9e254a8b
fix reading outside buffer
2019-05-27 20:21:05 +02:00
Leon
a7b3aa73b2
fix gcc/clang-tidy warnings, remove preprocessor conditionals
2019-05-27 20:17:53 +02:00
Leon
1680f3f125
add nmake makefile
2019-05-27 19:16:31 +02:00
Leon
cc551546bf
cleaning & fixing gcc warnings
2019-05-24 18:38:54 +02:00
Douglas Stebila
9a82706697
Merge pull request #176 from PQClean/frodoopt
...
Add optimized FrodoKEM
2019-05-22 11:45:20 +02:00
Matthias J. Kannwischer
c7c080568e
add opt versions of frodokem976aes, frodokem976shake, frodokem1344aes, frodokem1344shake and the corresponding duplicate checks
2019-05-22 07:42:43 +02:00
Matthias J. Kannwischer
743b28f7a8
make VS compiler happy in matrix_aes.c
2019-05-22 07:31:03 +02:00
Joost Rijneveld
2244735a87
Merge pull request #175 from PQClean/hash_state_struct
...
Use opaque structs for the hashing API
2019-05-21 17:03:50 +02:00
Matthias J. Kannwischer
901761d88a
make VS compiler happy in matrix_shake.c
2019-05-21 16:22:09 +02:00
Matthias J. Kannwischer
57ad79ae3a
remove preprocessor conditionals from frodokem640shake
2019-05-21 15:51:56 +02:00
Matthias J. Kannwischer
cf8e4e5179
add optimized frodokem640aes
2019-05-21 15:46:59 +02:00
Matthias J. Kannwischer
7701666093
remove OPENSSL preprocessor conditionals
2019-05-21 15:17:57 +02:00
Matthias J. Kannwischer
081442bb8d
use more recent version of the code
2019-05-21 15:15:52 +02:00
Thom Wiggers
199adb8072
Add -Wredundant-decls
2019-05-20 16:12:01 +02:00
Matthias J. Kannwischer
a4906713be
use optimized matrix_shake.c for frodokem640shake
2019-05-20 15:12:51 +02:00
Thom Wiggers
98002329ad
Port NewHope to fips202 structs
2019-05-20 10:30:35 +02:00
Thom Wiggers
23e118207d
Port Kyber{512,768,1024} to fips202 ctx struct
2019-05-20 10:23:22 +02:00
Leon
17ea905952
moved license to one license file
2019-05-19 19:52:19 +02:00
Leon
7cbeeaee59
update META.yml
2019-05-19 19:51:36 +02:00
Leon
fcbd6918c2
create api.h
2019-05-19 19:41:03 +02:00
Leon
d02c1879e9
added todo
2019-05-19 19:40:38 +02:00
Leon
b40d53b0d8
added license
2019-05-19 19:39:57 +02:00
Leon
10aa790154
remove this one
2019-05-19 19:16:16 +02:00
Leon
587090e744
renamed to something more appropriate, copied source code, ran astyle
2019-05-19 19:14:46 +02:00
Douglas Stebila
82fdce64a2
Macro for loop length
2019-05-18 11:27:45 +02:00
Matthias J. Kannwischer
3d67b4c1c2
add duplicate consistency checks and remove some comments
2019-05-17 16:10:07 +02:00
Leon
752ff05b52
add folder + META.yml for ledacrypt kem lt for category 1 with n0=2
2019-05-16 15:20:06 +02:00
Matthias J. Kannwischer
0127ba93f5
Add IND-CPA/IND-CCA2 security field to METADATA. add test for it as well ( #165 )
2019-05-13 11:20:32 -04:00
Matthias J. Kannwischer
6659ba1d9c
add IND-CPA/IND-CCA2 flag to newhope
2019-05-13 13:30:01 +02:00
Matthias J. Kannwischer
50b1bf959e
Merge branch 'cpaccametadata' into newhope
2019-05-13 13:23:57 +02:00
Matthias J. Kannwischer
1597e62514
add IND-CPA/IND-CCA2 security field to METADATA. add test for it as well
2019-05-13 13:17:41 +02:00
Douglas Stebila
ba04db65d7
Fix wrong security level for FrodoKEM-976-AES
...
[skip ci]
2019-05-10 14:16:10 -04:00
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