Commit Graph

324 Commits

Author SHA1 Message Date
Leon Botros
c95f1b4ebb move modulus function to source, namespace it 2021-03-24 21:02:45 +00:00
Leon Botros
4c84fd915b fix namespacing for mamabear, papabear 2021-03-24 21:02:44 +00:00
Leon Botros
e94842b0ef remove empty line, add version 2021-03-24 21:02:44 +00:00
Leon Botros
3b740033ef add ThreeBears 2021-03-24 21:02:44 +00:00
Matthias J. Kannwischer
6c98832774 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.
2021-03-24 21:02:44 +00: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
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