https://github.com/mupq/pqm4
Revision e122421d0ce033fbeabe217e1bae4e1a5f17b756 authored by Marc on 01 December 2023, 08:17:04 UTC, committed by Marc on 01 December 2023, 08:18:31 UTC
Add slightly modified reference implementations to haetae2, Add slightly modified reference implementations to haetae2, haetae3 and haetae5 with lower stack memory footprint than the original reference implementation. This enables the test vector comparison for all schemes. CAVEAT: This commit modifies the following PQM4 core files * ldscripts/stm32f4discovery.ld * ldscripts/stm32f4discovery_fullram.ld * mk/stm32f4discovery.mk The two load scripts are modified as recommended in [issue 310](https://github.com/mupq/pqm4/issues/310#issuecomment-1810255939). The make file is modified to use full ram for the implementations m4f and ref of scheme haetae5, as they would run out of memory otherwise, similar to dilithium5. The stack memory footprint was reduced by: * Storing A1 using uint16 instead of int32, halving its footprint * Grouping some vectors inside `crypto_sign_signature()`, whose periods of liveliness do not overlap, into unions. The modification is light enough to easily verify consistency with the reference implementation.
1 parent 258a11f
Tip revision: e122421d0ce033fbeabe217e1bae4e1a5f17b756 authored by Marc on 01 December 2023, 08:17:04 UTC
add low-mem ref implementation to all schemes
add low-mem ref implementation to all schemes
Tip revision: e122421
File | Mode | Size |
---|---|---|
common | ||
crypto_kem | ||
crypto_sign | ||
hostside | ||
ldscripts | ||
libopencm3 @ 1f3abd4 | ||
mk | ||
mupq @ 0abc3df | ||
.gitignore | -rw-r--r-- | 107 bytes |
.gitmodules | -rw-r--r-- | 168 bytes |
Makefile | -rw-r--r-- | 357 bytes |
README.md | -rw-r--r-- | 26.1 KB |
benchmarks.csv | -rw-r--r-- | 20.8 KB |
benchmarks.md | -rw-r--r-- | 31.8 KB |
benchmarks.py | -rwxr-xr-x | 1.1 KB |
build_everything.py | -rwxr-xr-x | 341 bytes |
convert_benchmarks.py | -rwxr-xr-x | 417 bytes |
interface.py | -rw-r--r-- | 3.6 KB |
requirements.txt | -rw-r--r-- | 19 bytes |
skiplist.py | -rw-r--r-- | 14.2 KB |
st_nucleo_l4r5.cfg | -rw-r--r-- | 225 bytes |
test.py | -rwxr-xr-x | 342 bytes |
testvectors.py | -rwxr-xr-x | 342 bytes |
Computing file changes ...