Thom Wiggers
fe4e12308b
Fix memory leaks in LEDAkem
2020-03-03 10:15:56 -05:00
Thom Wiggers
81caa58b57
Fix memory leaks in NewHope
2020-03-03 10:15:56 -05:00
Douglas Stebila
b4de294f68
Fix memory leak in Kyber
2020-02-16 14:55:19 -05:00
Thom Wiggers
65a6a63e08
Put all common primitives on the heap ( #266 )
...
* Put AES ctx on the heap
This forces people to use the ``ctx_release`` functions, because otherwise there will be leaks
* Put fips202 on the heap
* Add much more docs for fips202.h
* fixup! Put fips202 on the heap
* Put SHA2 on the heap-supporting API
* Fix clang-tidy warnings
* Fix unreachable free() in falcon
* Fix McEliece8192128f-sse GNU Makefile
2020-02-11 11:15:14 +01:00
Thom Wiggers
7862f7faae
Fix McEliece8192128f makefile
2020-02-11 09:17:55 +01:00
Thom Wiggers
53d50fd751
Fix alignment problems with vectors in McEliece AVX2 and fix McEliece 8192128f ( #267 )
...
* Fix alignment problems with vectors
* Fix required CPU flags for McEliece
* Fix McElice8192128f that was missed in #259
* fixup! Fix McElice8192128f that was missed in #259
* Fix initialization
2020-02-07 11:13:59 +01:00
Thom Wiggers
b3f9d4f8d6
Classic McEliece ( #259 )
...
* Add McEliece reference implementations
* Add Vec implementations of McEliece
* Add sse implementations
* Add AVX2 implementations
* Get rid of stuff not supported by Mac ABI
* restrict to two cores
* Ditch .data files
* Remove .hidden from all .S files
* speed up duplicate consistency tests by batching
* make cpuinfo more robust
* Hope to stabilize macos cpuinfo without ccache
* Revert "Hope to stabilize macos cpuinfo without ccache"
This reverts commit 6129c3cabe1abbc8b956bc87e902a698e32bf322.
* Just hardcode what's available at travis
* Fixed-size types in api.h
* namespace all header files in mceliece
* Ditch operations.h
* Get rid of static inline functions
* fixup! Ditch operations.h
2020-02-05 13:09:56 +01:00
Leon Botros
f9d192036e
Add ephemeral versions of ThreeBears
2020-01-15 10:43:50 +01:00
Thom Wiggers
e762163478
Don't advertise MacOS support for Kyber-AVX2
...
In light of #251
2019-11-13 13:27:26 +01:00
Thom Wiggers
bb8ed7af9b
Merge pull request #248 from leonbotros/threebears
...
Add {Baby,Mama,Papa}Bear reference implementations
2019-11-04 11:45:49 +01:00
Leon Botros
f1511f35b9
use the same compiler flags as other implementations
2019-10-25 19:09:12 +02:00
Leon Botros
5720e25c54
add -Werror
2019-10-25 13:35:23 +02:00
Leon Botros
6a7506f520
move modulus function to source, namespace it
2019-10-25 13:14:25 +02:00
Leon Botros
cbbc9cd18f
fix namespacing for mamabear, papabear
2019-10-24 19:35:55 +02:00
Leon Botros
03b4153941
remove empty line, add version
2019-10-24 19:35:55 +02:00
Leon Botros
c53d332090
add ThreeBears
2019-10-24 19:35:55 +02:00
Matthias J. Kannwischer
762706f5fe
remove unnecessary if in kyber768
...
clang-tidy9.0.0 added a new check: bugprone-branch-clone
(https://releases.llvm.org/9.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html )
This doesn't like both branches of an if are the same.
In this case I don't think there is any reason to do this, so I've removed it.
2019-10-23 08:00:26 +02:00
Thom Wiggers
f792b925b4
Enable optimizers on Windows ( #244 )
2019-10-21 14:23:59 +02:00
Matthias J. Kannwischer
df8cc49670
fix kyber-90s warning if size_t is not 32 bits
2019-10-15 15:20:57 +02:00
Matthias J. Kannwischer
39246b808d
fix for big-endian
2019-10-04 13:10:29 +02:00
Matthias J. Kannwischer
9571a3b017
use common aes256_ecb instead of providing local AES implementation
2019-10-04 09:31:16 +02:00
Thom Wiggers
ac1f8cc74d
fixup! Add Kyber90s
...
Fix CRYPTO_ALGNAME
2019-09-24 08:01:54 +02:00
Thom Wiggers
526a841886
Add Kyber90s
2019-09-24 08:01:54 +02:00
Matthias J. Kannwischer
7d10484030
fix algo names for schemes that are inconsistent with the api.h
2019-09-19 12:44:26 +02:00
Thom Wiggers
f4bd312180
Adds AVX2 variants of Kyber512, Kyber768, Kyber1024 ( #225 )
...
* Integrate Kyber-AVX2 into PQClean
* Fix types and formatting in Kyber
* Workaround a valgrind crash
* Remove comment in shuffle.s
* Remove some extraneous truncations
* fixup! Fix types and formatting in Kyber
2019-09-10 11:45:01 +02:00
Leon Botros
9190172f1a
fix a bug where error array is allocated way too big
2019-08-27 15:38:34 +02:00
Leon Botros
7dd7223587
more fixed sizes, hopefully fix mscv warnings
2019-08-24 16:40:47 +02:00
Leon Botros
9dd4a4b5da
fix requested changes
2019-08-24 15:48:38 +02:00
Leon Botros
823ba3f13b
fix msvc complaints #2
2019-08-23 14:21:09 +02:00
Leon Botros
50665606f0
serialize error before hashing
2019-08-23 12:57:17 +02:00
Leon Botros
46145a3183
hopefully fix msvc complaints
2019-08-23 12:41:58 +02:00
Leon Botros
537d2a1ac0
serialize pk/ct
2019-08-23 11:30:02 +02:00
Leon Botros
1fc2f51f82
fix clang-tidy warnings, replace variable-time schoolbook multiplications
2019-08-22 12:59:04 +02:00
Leon Botros
901d53ebe4
constant-time decapsulation/decryption failure
2019-08-21 21:27:53 +02:00
Leon Botros
d3d72f64cc
constant-time inverses
2019-08-21 18:54:04 +02:00
Leon Botros
e4a5cc3cf2
add karatsuba + toom-cook-3 without VLAs
2019-08-21 17:31:57 +02:00
Leon Botros
ca898f01bc
update implementations to leda v2.1
2019-08-21 14:28:31 +02:00
Thom Wiggers
2108bdcdb5
Make a static global explicitly const
2019-07-18 13:42:37 +02:00
Thom Wiggers
0ed5ba4a30
Merge pull request #192 from PQClean/saber
...
Add Saber
2019-07-04 15:53:57 +02:00
Matthias J. Kannwischer
756b550ceb
add Saber LICENSE
2019-07-01 07:48:17 +02:00
Douglas Stebila
4157e0fbad
Add release function for AES key schedule
2019-06-25 09:37:23 -04:00
Matthias J. Kannwischer
acde8afff2
Convert into a list for the Saber parameter sets
2019-06-24 09:18:58 +02:00
Matthias J. Kannwischer
515b04d87b
fix warnings
2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
931f466937
switch to the polymul from the submission
2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
8378132c5e
clean up of comments and packing
2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
61b36e933b
remove wrong cast
2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
cc94db88fa
fix vs warning
2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
6aafbd56f2
add firesaber
2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
8539bd8684
add lightsaber
2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
15a9e77b4c
remove pre-processor conditionals
2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
510a7baee8
move header guards to the top
2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
ccfe87a4a3
refactoring to make vs more happy
2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
03596d4705
another vs warning
2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
ef0ad8e752
fix some vs warnings
2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
31f9ee52ce
add license
2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
f18e464a68
add Saber
2019-06-24 09:14:00 +02:00
Thom Wiggers
4cea81d15f
Convert principal-submitter
into a list
...
There are schemes, like SABER (#192 ) that have more than one principal
submitter. Consistency warrants that we turn it into a list for all
schemes and don't do something with allowing either a str or a list:
that would just be very annoying to parse.
Closes #194
2019-06-21 09:30:55 +02:00
Leon
3c733b6691
resolve todo, remove asserts, add duplicate checks and make sure they pass
2019-06-17 14:03:59 +02:00
Leon
e5b9b13160
rename impl to leaktime
2019-06-16 17:01:29 +02:00
Leon
db99d3ec09
more msvc complaints
2019-06-14 16:07:31 +02:00
Leon
e353081cc2
fix msvc warnings
2019-06-14 15:04:30 +02:00
Leon
bf0aca644e
avoid global state by including 2nd round threshold in secret key
2019-06-14 14:23:58 +02:00
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