1da1518 | Matthias J. Kannwischer | 21 April 2020, 07:08:26 UTC | LACv3 Benchmarks (#147) | 21 April 2020, 07:08:26 UTC |
1a6ee85 | Matthias J. Kannwischer | 21 April 2020, 07:05:29 UTC | Update PQClean (#148) * integrate sha512 from supercop20200409 * skip mceliece * Port https://github.com/PQClean/PQClean/pull/279 I'm not a big fan of this change, but we have to do it to be compatible with PQClean. * Port HQC; skip because it does not fit https://github.com/PQClean/PQClean/pull/202 | 21 April 2020, 07:05:29 UTC |
04a8be2 | Ko- | 17 April 2020, 16:58:06 UTC | Integrate SIKE M4 implementation (#146) * Add SIKE m4 implementations Taken from https://github.com/solowal/SIKE_M4 * update sike LICENSE * Fix bug by adding naked attribute to two functions sikep434 and sikep751 now terminate at least, but testvectors still don't match * Change cSHAKE_simple back to SHAKE * Change CRYPTO_BYTES for p503 from 16 back to 24 * Change wrong number in comment to avoid confusion * Add benchmarks Co-authored-by: Matthias J. Kannwischer <matthias@kannwischer.eu> | 17 April 2020, 16:58:06 UTC |
90754b1 | Matthias J. Kannwischer | 17 April 2020, 04:51:51 UTC | Faster SHA512 (#136) * integrate sha512 from supercop20200409 * update benchmarks with new SHA512 | 17 April 2020, 04:51:51 UTC |
20f1dff | Matthias J. Kannwischer | 05 April 2020, 09:20:26 UTC | Update libopencm3 to fix build with make >= 4.3 make 4.3 changed the behaviour of '+=' in a backward-incompatible way. (See https://lwn.net/Articles/810071/) This broke the libopencm3 build and got fixed in https://github.com/libopencm3/libopencm3/commit/72274d3caf09a5b4a6646e65bf376c91b8fa2ef1 | 05 April 2020, 09:20:26 UTC |
7e7703c | Ko- | 25 March 2020, 08:35:03 UTC | Update Round5 to third round (#135) * Update mupq; Round5 opt implementations * Remove SNEIK variants * Rename Round5 m4 CCA variants * Update r5nd-1cca-5d m4 implementation * Update symlinks other Round5 m4 implementations * Add Round5 m4 CPA variants * Force assembly addsub for Round5 m4 * Update round5 benchmarks (#134) * Update Round5 opt benchmarks Co-authored-by: Daan Sprenkels <daan@dsprenkels.com> | 25 March 2020, 08:35:03 UTC |
3b0ca85 | Matthias J. Kannwischer | 05 March 2020, 09:40:15 UTC | Update mupq to make serial output processing more robust See https://github.com/mupq/mupq/pull/43 | 05 March 2020, 09:41:47 UTC |
0972616 | Matthias J. Kannwischer | 15 February 2020, 09:41:15 UTC | Fixes #132 (#133) | 15 February 2020, 09:41:15 UTC |
7b37f04 | Matthias J. Kannwischer | 04 February 2020, 11:52:48 UTC | Take clean CPA three bears from PQClean (#131) * update three bears benchmarks for clean implementation * update mupq | 04 February 2020, 11:52:48 UTC |
2f3b8bd | Erdem ALKIM | 30 January 2020, 13:35:35 UTC | Remove unneeded file in NewHope m4 (#130) | 30 January 2020, 13:35:35 UTC |
f0f573e | Erdem ALKIM | 30 January 2020, 10:08:04 UTC | Integrate faster NewHope m4 implementation (#129) In https://ia.cr/2020/012 Erdem Alkim, Yusuf Alper Bilgin, Murat Cenk, and François Gérard propose more optimizations to the NewHope M4 implementation. This integrates their nice work. We report a slightly higher cycle count than in that paper because of an extra bit reversal and because we currently don't use -flto. | 30 January 2020, 10:08:04 UTC |
944b3c3 | Yusuf Alper Bilgin | 20 January 2020, 16:43:41 UTC | Integrate faster Kyber m4 implementation (#128) In https://ia.cr/2020/012 Erdem Alkim, Yusuf Alper Bilgin, Murat Cenk, and François Gérard propose more optimizations to the Kyber M4 implementation. This integrates their nice work. We report a slightly higher cycle count than in that paper because of an extra Barrett reduction and because we currently don't use -flto. | 20 January 2020, 16:43:41 UTC |
8136c82 | Ko- | 03 December 2019, 08:05:37 UTC | Fix Round5 CCA KEMs (#127) * Update mupq; fixes Round5 opt CCA KEMs * Fix Round5 m4 CCA KEMs * Update Round5 benchmarks | 03 December 2019, 08:05:37 UTC |
89e9eb1 | Matthias J. Kannwischer | 25 November 2019, 13:33:26 UTC | Update libopencm3 (#125) In https://github.com/libopencm3/libopencm3/commit/ca6dcfbea137bd2145b4a7fbf24379f565f8280d libopencm3 slightly changed the clock setup so we need to adjust that as well. As all changes are in the clock setup, this does not affect benchmarks at all. | 25 November 2019, 13:33:26 UTC |
1624ff1 | Matthias J. Kannwischer | 18 November 2019, 09:34:49 UTC | add benchmarks of clean threebears (#124) | 18 November 2019, 09:34:49 UTC |
6ba5207 | Markku-Juhani O. Saarinen | 15 November 2019, 12:34:27 UTC | len and flag were flipped (#123) * len and flag were flipped * apply same fix to mupq | 15 November 2019, 12:34:27 UTC |
670ec38 | Matthias J. Kannwischer | 29 October 2019, 13:52:15 UTC | update mupq (#122) https://github.com/mupq/mupq/pull/34 refactors our number printing to reduce code size. For pqm4 this does not matter that much, but let's keep it in sync with mupq. Our code benchmarks exclude this common code, so there is no need to update those numbers. This also pulls in a newer version of PQClean, which now includes qTesla (https://github.com/PQClean/PQClean/pull/239) Unfortunately, qtesla-I-p needs 174.5 KiB and qtesla-p-III needs 403.2 KiB of RAM, so it does not fit on our platform. | 29 October 2019, 13:52:15 UTC |
f25922b | Ko- | 08 October 2019, 11:15:00 UTC | Add RQC{128,192,256} ref implementations (#121) * Update mupq; adds rqc ref implementations * Add RQC benchmarks | 08 October 2019, 11:15:00 UTC |
20bdec1 | Ko- | 08 October 2019, 10:48:50 UTC | Add ROLLO-{I,II,III}-{128,192,256} ref implementations (#120) * Update mupq; adds ROLLO ref implementations * Add ROLLO benchmarks | 08 October 2019, 10:48:50 UTC |
970afc2 | Matthias J. Kannwischer | 07 October 2019, 13:43:24 UTC | Add optimized Kyber-90s and update Kyber-90s from PQClean (#119) * change naming of falcon parameter sets to pqclean naming * add kyber-90 parameter sets * use our AES API in Kyber * fix symlinks * update pqclean; make kyber use fast aes * update kyber-90s benchmarks | 07 October 2019, 13:43:24 UTC |
fdd41fa | Daan Sprenkels | 07 October 2019, 08:34:53 UTC | Add missing fields in benchmarkclock struct The missing fields are initialized with default values following the conventions of the predefined profiles from <libopencm3.org/docs/latest/stm32f4/html/rcc_8c_source.html>. I did not test this patch on the M4 hardware. | 07 October 2019, 12:07:29 UTC |
667d80b | Matthias J. Kannwischer | 01 October 2019, 23:48:38 UTC | Update PQClean (#116) * change naming of falcon parameter sets to pqclean naming * ignore rainbow paramter sets * add benchmarks for clean implementations of kyber-90s, falcon, and saber * update mupq to fix SHA2 SPHINCS+ builds | 01 October 2019, 23:48:38 UTC |
7514870 | leonbotros | 30 September 2019, 11:58:39 UTC | Fix kyber (#115) * fix inlined comparison * update documentation of indcpa_enc_cmp The `cmov` that is used in `crypto_kem_dec` to either derive the shared secret from the pre-key or the random `z` expects the `fail` input to be either 0 (if re-encryped ciphertext was the same as input ciphertext) or 1 (otherwise). We've inlined the comparison that used to be done by `verify` into `indcpa_enc` (renamed to `indcpa_enc_cmp`) to reduce the stack footprint. We made a small mistake in there so that it returned 0 in case of no failure and some other byte otherwise. This means that in case of a mismatch, cmov would write a mix of the pre-key and `z`. As this is hashed together with the ciphertext later this will still result in some shared secret different from the correct one, but this is not what you want. | 30 September 2019, 11:58:39 UTC |
b4fea3f | Matthias J. Kannwischer | 25 September 2019, 08:44:35 UTC | Update Falcon to new fixed upstream version (#114) * Update Falcon to new fixed upstream version. On the 2019-09-18 the Falcon team announced that their implementation had two severe bugs that caused signatures to leak information about the secret key. These bugs also affected the implementations that were in pqm4. This commit updates our falcon implementation to the new upstream version from https://falcon-sign.info/ which fixes these bugs. * Update Falcon benchmarks | 25 September 2019, 08:44:35 UTC |
8a1a476 | Ko- | 24 September 2019, 07:19:14 UTC | Update LUOV to v2.1 | 24 September 2019, 07:22:20 UTC |
8e662d7 | Matthias J. Kannwischer | 19 September 2019, 07:38:03 UTC | update mupq to fix Python 3.6 compatibility and dubious use of printf (#112) | 19 September 2019, 07:38:03 UTC |
3f2f58a | Matthias J. Kannwischer | 10 September 2019, 09:43:44 UTC | fix incremental sha512 (#110) | 10 September 2019, 09:43:44 UTC |
f5198cb | Ko- | 09 September 2019, 08:16:08 UTC | Fix hal_get_time() hal_get_time() gave wrong values if the SysTick counter reached 0 between reading overflowcnt and calling systick_get_value(). This behavior is now addressed by retrying if that happens. Thanks to djb for pointing that out to us. The reset value is also increased to the maximum of 2^24-1, such that there is less overhead from the interrupt handler, and overflowcnt is marked volatile. | 10 September 2019, 08:42:46 UTC |
60e418f | Matthias J. Kannwischer | 05 September 2019, 12:13:32 UTC | fix sphincs-haraka-192s-robust benchmarks there seems to be a small mistake in our previous SPHINCS+ results. For sphincs-haraka-192s-robust the cycle count for key gen and signing was the same which doesn't make sense. When re-running the benchmarks I got vastly different numbers. This must have been a glitch during the previous benchmarks. | 05 September 2019, 12:23:31 UTC |
be0c421 | fragerar | 05 September 2019, 07:53:57 UTC | New ARM assembly optimized code for NewHope (#108) * newhope512cpa * newhope512cca 1024cpa and 1024cca * benchmark newhope | 05 September 2019, 07:53:57 UTC |
da6104f | Ko- | 03 September 2019, 12:36:26 UTC | Fix broken links in README | 03 September 2019, 12:36:26 UTC |
93cfaf4 | Matthias J. Kannwischer | 20 August 2019, 16:19:49 UTC | remove withdrawn qTesla parameter sets (#107) | 20 August 2019, 16:19:49 UTC |
b87b354 | Matthias J. Kannwischer | 15 August 2019, 12:50:42 UTC | Merge pull request #106 from mupq/posix Don't use any sed flags | 15 August 2019, 12:50:42 UTC |
64468e6 | Ko- | 15 August 2019, 12:01:28 UTC | Don't use any sed flags | 15 August 2019, 12:01:28 UTC |
b2d4a8a | PRASANNA-RAVI | 15 August 2019, 11:09:48 UTC | Optimizations of Dilithium's signing procedure (#105) * Create opt * Delete opt * Create .gitkeep * Create .gitkeep * Delete .gitkeep * Delete .gitkeep * Create .gitkeep * Add files via upload * Delete poly.c * Delete poly.h * Delete sign.c * Add files via upload * Create .gitkeep * Create .gitkeep * Add files via upload * Add files via upload * dilithium signing procedure changes * prasanna latest commit * prasanna latest commit * Revert symlinks for r5nd-5kemcca-5d * prasanna latest commits with dilithium4 * Revert change to Makefile * Revert change to AES * Revert changes to r5nd-5kemcca-0d * add new dilithium benchmarks | 15 August 2019, 11:09:48 UTC |
93d444a | Matthias J. Kannwischer | 22 July 2019, 14:00:26 UTC | Fix Kyber assembly for older compilers (#103) Newer compilers manage to detect this automatically and use movw instead, but this throws errors on older ones (e.g., on arm-none-abi-gcc 6.3.1). | 22 July 2019, 14:00:26 UTC |
f8408c0 | Matthias J. Kannwischer | 18 July 2019, 06:07:34 UTC | Add Falcon (#102) * add -lm to LDFLAGS_HOST * skip implementations of falcon1024-tree * add m4 optimized implementations of falcon * add benchmarks | 18 July 2019, 06:07:34 UTC |
cd3d685 | Matthias J. Kannwischer | 06 July 2019, 15:01:52 UTC | Update qTesla code (#101) * update mupq and README * qtesla benchmarks * update mupq | 06 July 2019, 15:01:52 UTC |
b5fd63b | Matthias J. Kannwischer | 01 July 2019, 06:52:57 UTC | Skip pqclean implementations of ledakemlt{12,32,52} These implementations consume way too much RAM (see #59): - ledakemlt12: 853 KiB - ledakemlt32: 1533 KiB - ledakemlt52: 2523 KiB | 01 July 2019, 06:52:57 UTC |
7e000ce | Matthias J. Kannwischer | 01 July 2019, 06:51:13 UTC | update mupq to add release function for AES key schedule. Fixes #98 (#100) | 01 July 2019, 06:51:13 UTC |
3533104 | Ko- | 27 June 2019, 07:19:15 UTC | Add Round5 (#99) * Add R5ND_1KEMCCA_5d m4 implementation * Add other Round5 parameter sets * Add linker scripts for R5N1_5KEM parameter sets * Add Round5 benchmarks * Update mupq; integrate Round5 opt implementations | 27 June 2019, 07:19:15 UTC |
ee9fdb0 | Matthias J. Kannwischer | 13 June 2019, 14:33:37 UTC | Merge branch 'frodokemround2' | 13 June 2019, 14:33:37 UTC |
972aa92 | Matthias J. Kannwischer | 13 June 2019, 14:31:41 UTC | Merge branch 'frodokemround2' | 13 June 2019, 14:31:41 UTC |
c46a47b | Matthias J. Kannwischer | 13 June 2019, 14:11:12 UTC | frodo benchmarks | 13 June 2019, 14:11:12 UTC |
f84574d | Matthias J. Kannwischer | 13 June 2019, 09:10:19 UTC | frodokem640aes | 13 June 2019, 09:13:27 UTC |
711be16 | Matthias J. Kannwischer | 13 June 2019, 08:06:04 UTC | reduce stack usage to make frodokem640aes fit | 13 June 2019, 08:06:04 UTC |
9a12821 | Matthias J. Kannwischer | 12 June 2019, 14:08:30 UTC | optimized frodokem640shake round 2 | 12 June 2019, 14:08:30 UTC |
cd1c7e4 | Ko- | 12 June 2019, 11:26:57 UTC | Update README with cSHAKE The cshake{128,256}_simple API is now deprecated. Implementations should use the more generic cSHAKE API from sp800-185.h. | 12 June 2019, 11:26:57 UTC |
6e4d959 | Ko- | 12 June 2019, 09:36:45 UTC | Add ThreeBears (#96) * Update mupq; import ThreeBears implementations * Add sp800-185.c to Makefile * Add ThreeBears to benchmarks | 12 June 2019, 09:36:45 UTC |
2362319 | Matthias J. Kannwischer | 12 June 2019, 08:44:29 UTC | Update README.md | 12 June 2019, 08:44:29 UTC |
93c5c86 | Matthias J. Kannwischer | 12 June 2019, 08:42:54 UTC | Merge branch 'dilithium' | 12 June 2019, 08:42:54 UTC |
5e62e82 | Ko- | 12 June 2019, 08:25:49 UTC | Add LUOV (#94) * Update mupq * Add larger LUOV parameter sets to skip_list * Add LUOV to benchmarks | 12 June 2019, 08:25:49 UTC |
2b67625 | Matthias J. Kannwischer | 12 June 2019, 06:26:14 UTC | update dilithium | 12 June 2019, 08:23:13 UTC |
50b6e0c | Joost Rijneveld | 21 May 2019, 12:56:04 UTC | Fix typo in ldscript Makefile selection | 12 June 2019, 06:29:50 UTC |
4525a4b | Joost Rijneveld | 21 May 2019, 12:47:47 UTC | Allow implementation-specific linker scripts This already adds one for Frodo640AES/opt | 12 June 2019, 06:29:32 UTC |
3ba5029 | Ko- | 10 June 2019, 15:04:32 UTC | Allow AES to be called with non-aligned pointers (#93) Passing a pointer to an address that is not a multiple of 4 bytes will incur a minor performance penalty. It's only a couple of cycles and it is better than hanging completely. To aligned pointers, there is no speed difference. Only a slightly larger code size. | 10 June 2019, 15:04:32 UTC |
375bf99 | leonbotros | 05 June 2019, 17:12:55 UTC | Cleaning m4 implementations of Kyber (#92) | 05 June 2019, 17:12:55 UTC |
79579db | Matthias J. Kannwischer | 31 May 2019, 06:44:52 UTC | rename dilithium to dilithium2 | 31 May 2019, 06:44:52 UTC |
0f29c2a | Ko- | 29 May 2019, 12:50:00 UTC | Update NTRU Prime to Round 2 and add parameter sets (#91) * Update mupq * Update benchmarks NTRU Prime * Remove NTRU Prime from Round 1 list in README | 29 May 2019, 12:50:00 UTC |
7b01d1d | Matthias J. Kannwischer | 27 May 2019, 00:40:03 UTC | update README.md | 27 May 2019, 00:40:03 UTC |
9e86604 | Matthias J. Kannwischer | 27 May 2019, 00:38:30 UTC | remove old m4 implementations | 27 May 2019, 00:39:37 UTC |
99a9a9e | Matthias J. Kannwischer | 26 May 2019, 12:57:53 UTC | benchmarks frodokem opt | 27 May 2019, 00:39:37 UTC |
48772d0 | Matthias J. Kannwischer | 26 May 2019, 12:30:39 UTC | update mupq; update skip_list | 27 May 2019, 00:39:37 UTC |
e209755 | Joost Rijneveld | 21 May 2019, 12:56:04 UTC | Fix typo in ldscript Makefile selection | 27 May 2019, 00:39:37 UTC |
1f1b96f | Joost Rijneveld | 21 May 2019, 12:47:47 UTC | Allow implementation-specific linker scripts This already adds one for Frodo640AES/opt | 27 May 2019, 00:39:37 UTC |
2cc2be9 | Matthias J. Kannwischer | 21 May 2019, 12:40:16 UTC | update frodokem to r2 | 27 May 2019, 00:39:37 UTC |
31280bc | Ko- | 26 May 2019, 11:45:01 UTC | Update mupq/pqclean and port the opaque structs for the hashing API (#89) * Update Kyber m4 with opaque structs * Update NewHope m4 with opaque structs * Update Dilithium m4 with opaque structs * Update mupq mupq/pqclean now use an opaque state struct in the hashing API * Update README with modified hashing API | 26 May 2019, 11:45:01 UTC |
0da66bc | Matthias J. Kannwischer | 21 May 2019, 08:37:25 UTC | Update README.md | 21 May 2019, 08:37:25 UTC |
3a581d7 | Matthias J. Kannwischer | 21 May 2019, 08:30:03 UTC | Add NewHope Round2 (clean+m4) (#87) * fix skip list in interface.py * benchmark clean implementations of all new hopes * add m4 implementations of round2 newhope * update newhope in readme * benchmarks for newhope m4 | 21 May 2019, 08:30:03 UTC |
ab68fb4 | Ko- | 20 May 2019, 08:46:38 UTC | Fix interface.py Commit bfb9144fd749e1b77be96755989b9346f5c1908e introduced a syntax error. For me it works again now. | 20 May 2019, 08:47:36 UTC |
bca2a07 | Matthias J. Kannwischer | 20 May 2019, 07:46:31 UTC | add optimized ntru variants; add benchmarks (#86) | 20 May 2019, 07:46:31 UTC |
bfb9144 | Joost Rijneveld | 18 May 2019, 12:09:04 UTC | Add SPHINCS+ benchmarks (#85) * Add SPHINCS+ benchmarks * Add SPHINCS+ to the scheme list in README * Bring mupq/pqclean up to date for SPHINCS+ This includes MQDSS, which we need to skip * update mupq | 18 May 2019, 12:09:04 UTC |
83e9906 | Matthias J. Kannwischer | 17 May 2019, 14:41:19 UTC | Update README.md | 17 May 2019, 14:41:19 UTC |
94230ec | Matthias J. Kannwischer | 16 May 2019, 08:21:04 UTC | properly check for errors for signatures | 16 May 2019, 08:21:04 UTC |
d99fe32 | Ko- | 15 May 2019, 08:13:23 UTC | Add SIKEp{434,503,610,751} | 15 May 2019, 09:40:09 UTC |
99b58d9 | Ko- | 15 May 2019, 09:36:20 UTC | Add LAC (#84) | 15 May 2019, 09:36:20 UTC |
5926ab3 | Ko- | 15 May 2019, 09:35:04 UTC | Add LAC to list in README.md | 15 May 2019, 09:35:04 UTC |
65f7a29 | Matthias J. Kannwischer | 15 May 2019, 09:27:43 UTC | update mupq to include lac reference implementations; add benchmarks for lac | 15 May 2019, 09:31:47 UTC |
4fe0327 | Ko- | 15 May 2019, 08:35:00 UTC | Update SHA-2 API in README.md | 15 May 2019, 08:35:55 UTC |
03153ea | Matthias J. Kannwischer | 15 May 2019, 06:58:43 UTC | Update SABER to round 2, add LightSABER and FireSABER (#81) * Update SABER to round 2, add LightSABER and FireSABER * Update benchmarks for SABER Compiled with arm-none-eabi-gcc 9.1.0, 100 measurements. * update mupq * change ntruhrss701 back to clean | 15 May 2019, 06:58:43 UTC |
4457e5b | Ko- | 15 May 2019, 06:57:45 UTC | Add option to skip other types of benchmarks | 15 May 2019, 06:57:45 UTC |
4b9c6e3 | Matthias J. Kannwischer | 15 May 2019, 06:52:48 UTC | change ntruhrss701 back to clean | 15 May 2019, 06:52:48 UTC |
188fd79 | Matthias J. Kannwischer | 15 May 2019, 06:49:53 UTC | Merge branch 'master' into saber | 15 May 2019, 06:49:53 UTC |
13579e4 | Matthias J. Kannwischer | 15 May 2019, 06:26:56 UTC | allow filter in build_everything.py | 15 May 2019, 06:26:56 UTC |
90fdaca | Matthias J. Kannwischer | 15 May 2019, 06:25:37 UTC | Re-benchmark with arm-none-eabi-gcc 9.1.0 (#82) * skip clean frodo implementations; they don't fit * re-benchmarked everything with arm-none-eabe-gcc 9.1.0; differences are mostly minor * update gcc version | 15 May 2019, 06:25:37 UTC |
530f4cb | Matthias J. Kannwischer | 14 May 2019, 07:47:41 UTC | update mupq | 14 May 2019, 07:47:41 UTC |
b85ef84 | Ko- | 13 May 2019, 16:12:49 UTC | Update benchmarks for SABER Compiled with arm-none-eabi-gcc 9.1.0, 100 measurements. | 13 May 2019, 16:26:14 UTC |
7be7ce2 | Ko- | 13 May 2019, 14:56:31 UTC | Update SABER to round 2, add LightSABER and FireSABER | 13 May 2019, 16:18:18 UTC |
0bec37d | Matthias J. Kannwischer | 13 May 2019, 13:08:22 UTC | Update README.md | 13 May 2019, 13:08:22 UTC |
a04f89a | Matthias J. Kannwischer | 13 May 2019, 12:08:35 UTC | Add memory-efficient high-speed Kyber M4 implementation (#80) * update m4 implementations of kyber512, kyber768, and kyber1024 * update kyber benchmarks | 13 May 2019, 12:08:35 UTC |
1a0c3a9 | Matthias J. Kannwischer | 10 May 2019, 09:42:20 UTC | update kyber512, kyber768, kyber1024, ntruhrss701; add ntruhps2048677, ntruhps4096821 (#79) | 10 May 2019, 09:42:20 UTC |
8627f53 | Matthias J. Kannwischer | 01 May 2019, 10:02:18 UTC | pqm4 V2 (#78) * Add mupq submodule * Word-align the address of polymul_asm (#37) * added hal.h * hal.h * Rewrite utils to use interface.py Fix dev references * Actually register submodule * add stm32f4 hal.c * Refactor Makefile; build single binaries * kick-out schemes that did not make it to round2. Resolves #40 * Shrink RAM from 128 KiB to 112 KiB (#73) By not using SRAM2 we get more consistent benchmarks since SRAM2 seems to slow down memory accesses. This lead to schemes that are wasteful with stack (i.e., overflowing the 16 KiB SRAM2 into SRAM1) were faster. * Move common sources and headers to mupq * Use a pattern rule for various tests in Makefile * replaced cortexm4 specific function calls by hal calls * Adhere to slightly changed randombytes API * integrate hal for stm32f4 * fix variable renaming * update mupq * use hal.h from mupq * fix crypto sign benchmarks * adds hashing benchmarks. Closes #29 * Update README.md * Update README.md * Big refactor of python files * Include project into makefile targets * fix frodo builds * add hashing benchmarks * benchmarks * Refactor makefile As a bonus, includes build_everything.py * fix sike build * support sign in type detection * Add mupq note * suppress output of st-flash * removed stuff that now resides in mupq from pqm4, resolved symlinks * updated submodule * Use context manager to handle device * fix builds for kyber and frodo * add mupq implementations to builds * allow partial benchmarks and tests; small bug fixes * fix build everything and allow skipping stack benchmarks * fix recovery after flashing fails * remove duplicate code * CSV Benchmarks (#75) * hashing benchmarks * some more refactoring * sample benchmarks * sample benchmarks * new benchmarks * fix kyber1024 benchmarks * PQClean Integration (#76) * hashing benchmarks * some more refactoring * sample benchmarks * sample benchmarks * namespacing for pqclean * namespacing in testvectors on host * Integrate PQClean's AES into pqm4 * Fix path for host sources in Makefile * Update mupq * Fix bug in testvectors AES-128 * Add optimized AES-192/256 implementations. Round-2-Kyber will use this. Everything is put into separate sections such that the linker with gc-sections will succesfully throw out an AES instance (or all of them) whenever it is not used by a scheme. * Update mupq * fix incremental keccak implementation * added benchmarks for ntruhps2048509 and sphincs-shake256-128f-simple * make frodo scheme naming consistent with PQClean (breaks testvectors) * rename frodo in benchmark results * Measure code size (#77) * code-size in benchmarks * update README.md * Fix minor typo's in README.md * Add instructions for using AES to README * Update README.md * Some more polishing of README.md | 01 May 2019, 10:02:18 UTC |
eaf7c6e | Henry Case | 06 April 2019, 05:18:53 UTC | Fix typo in README: 571->751 (#74) | 06 April 2019, 05:18:53 UTC |
ae06d3d | Matthias J. Kannwischer | 31 January 2019, 10:15:17 UTC | Add kyber512 and kyber1024 (#35) * add kyber512 and kyber1024 ref * add m4 optimized kyber512 and kyber1024 * add kyber512 and kyber1024 benchmarks | 31 January 2019, 10:15:17 UTC |
c589096 | Matthias J. Kannwischer | 25 January 2019, 13:38:07 UTC | fix flashing retry | 25 January 2019, 13:38:07 UTC |
60aba47 | Matthias J. Kannwischer | 17 December 2018, 12:07:33 UTC | Add M4 version of Dilithium (#34) | 17 December 2018, 12:07:33 UTC |
a1c5bab | Matthias J. Kannwischer | 17 December 2018, 11:55:48 UTC | Add M4 versions of frodo640-cshake and frodo640-aes [Fly, you fool!] (#33) | 17 December 2018, 11:55:48 UTC |
9ba4793 | Matthias J. Kannwischer | 11 December 2018, 11:01:10 UTC | add some canaries in tests to detect implementations reading/writing out of bounds (#32) | 11 December 2018, 11:01:10 UTC |
402048b | Ko- | 22 November 2018, 09:27:46 UTC | Fix 2 typos in README and more consistency with -ise/-ize | 22 November 2018, 09:27:46 UTC |
bc61119 | Ko- | 22 November 2018, 09:05:08 UTC | Refactor crypto_hash_sha512 and add sha384 (#31) This renames crypto_hash_sha512 to sha512. This makes it more consistent with the fips202 functions. The header is renamed to sha2.h, such that it can also contain other SHA-2 instances. In particular, SHA-384 is added as some NIST submissions use it. | 22 November 2018, 09:05:08 UTC |