https://github.com/mupq/pqm4
Revision 12d5e56f1554339d9609b148782a920f86a8127e authored by rpls on 06 June 2021, 20:12:45 UTC, committed by GitHub on 06 June 2021, 20:12:45 UTC
* Adapt the PQM3 Multiplatform & Scheme Discovery to PQM4 * Add HAL support for CW308T-STM32F3 * Adapt platform interfaces * Implement simplified platform running interface * Simplify chipwhisperer interface * Fix for systems without the GNU findutils * Add the mps2-an386 platform, which is also supported by QEMU * Speed up scheme search * Skip scheme list generation if IMPLEMENTATION_PATH is given * Optionally push all data/bss into the "flash" portion of the MPS2 The flash is actually just a RAM. The main purpose of the board here is stack testing and this will allow us to use all 4MB of the "ram" memory region for stack/heap. * Implement stack size querying * Don't capture stdin for QEMU platforms * Fix argument parsing for benchmarks * Add possibility to run QEMU benchmarks directly from make * Fix scheme list generation * Remove automatic call to git * Add some comments for the scheme finding mechanism * Add the possibility for scheme specific makefiles * Clean up makefiles * Generate a skiplist for each platform * Move reusable buildsystem and interface code to mupq * Move randombytes implementation to hal for testvector test * Make all-in-one compilation the default * Document the new platforms in the README.md * Update mupq * Add _sbrk wrapping to opencm3 * Update mupq * adjust pqm4 to run multiple iterations in a single binary * Always add LTO flag * Update mupq * Reorganize symmetric crypto sources * Include HAL and crypto sources in AIO compilation * Fix LTO compilation * Use existing linker script if present * Update mupq * Don't use the nano libc (worse performance) * Fix compilation for self-tests * Quick-fix build error for bikel1 on mps2-an386 platform * Update benchmarks * Use full ram for some frodokem schemes * Fix compilation on mps2-an386 platform * Update skip_list.py * switch to mupq master Co-authored-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
1 parent 8274c41
Tip revision: 12d5e56f1554339d9609b148782a920f86a8127e authored by rpls on 06 June 2021, 20:12:45 UTC
Multiplatform support (#174)
Multiplatform support (#174)
Tip revision: 12d5e56
skiplist.py
skip_list = [
{'scheme': 'bikel1', 'implementation': 'm4f', 'estmemory': 103424},
{'scheme': 'bikel3', 'implementation': 'm4f', 'estmemory': 181248},
{'scheme': 'frodokem640aes', 'implementation': 'm4', 'estmemory': 124928},
{'scheme': 'firesaber', 'implementation': 'm4f', 'estmemory': 15360},
{'scheme': 'frodokem640shake', 'implementation': 'm4', 'estmemory': 113664},
{'scheme': 'kyber1024-90s', 'implementation': 'm4', 'estmemory': 14336},
{'scheme': 'kyber1024', 'implementation': 'm4', 'estmemory': 12288},
{'scheme': 'kyber512-90s', 'implementation': 'm4', 'estmemory': 9216},
{'scheme': 'kyber512', 'implementation': 'm4', 'estmemory': 7168},
{'scheme': 'kyber768-90s', 'implementation': 'm4', 'estmemory': 11264},
{'scheme': 'lightsaber', 'implementation': 'm4f', 'estmemory': 10240},
{'scheme': 'ntruhps2048509', 'implementation': 'm4f', 'estmemory': 25600},
{'scheme': 'kyber768', 'implementation': 'm4', 'estmemory': 9216},
{'scheme': 'ntruhps2048677', 'implementation': 'm4f', 'estmemory': 33792},
{'scheme': 'ntruhps4096821', 'implementation': 'm4f', 'estmemory': 40960},
{'scheme': 'ntruhrss701', 'implementation': 'm4f', 'estmemory': 32768},
{'scheme': 'saber', 'implementation': 'm4f', 'estmemory': 12288},
{'scheme': 'ntrulpr761', 'implementation': 'm4f', 'estmemory': 30720},
{'scheme': 'sikep434', 'implementation': 'm4', 'estmemory': 10240},
{'scheme': 'sikep610', 'implementation': 'm4', 'estmemory': 14336},
{'scheme': 'sikep751', 'implementation': 'm4', 'estmemory': 16384},
{'scheme': 'sikep503', 'implementation': 'm4', 'estmemory': 11264},
{'scheme': 'sntrup761', 'implementation': 'm4f', 'estmemory': 70656},
{'scheme': 'bikel1', 'implementation': 'opt', 'estmemory': 90112},
{'scheme': 'sikep434', 'implementation': 'opt', 'estmemory': 10240},
{'scheme': 'bikel3', 'implementation': 'opt', 'estmemory': 175104},
{'scheme': 'sikep610', 'implementation': 'opt', 'estmemory': 14336},
{'scheme': 'sikep503', 'implementation': 'opt', 'estmemory': 10240},
{'scheme': 'sikep751', 'implementation': 'opt', 'estmemory': 16384},
{'scheme': 'frodokem1344aes', 'implementation': 'clean', 'estmemory': 3852288},
{'scheme': 'frodokem1344aes', 'implementation': 'opt', 'estmemory': 305152},
{'scheme': 'frodokem1344shake', 'implementation': 'clean', 'estmemory': 3852288},
{'scheme': 'frodokem1344shake', 'implementation': 'opt', 'estmemory': 252928},
{'scheme': 'firesaber', 'implementation': 'clean', 'estmemory': 28672},
{'scheme': 'frodokem640aes', 'implementation': 'clean', 'estmemory': 932864},
{'scheme': 'frodokem640aes', 'implementation': 'opt', 'estmemory': 144384},
{'scheme': 'frodokem640shake', 'implementation': 'clean', 'estmemory': 932864},
{'scheme': 'frodokem640shake', 'implementation': 'opt', 'estmemory': 119808},
{'scheme': 'frodokem976aes', 'implementation': 'clean', 'estmemory': 2080768},
{'scheme': 'frodokem976aes', 'implementation': 'opt', 'estmemory': 222208},
{'scheme': 'frodokem976shake', 'implementation': 'clean', 'estmemory': 2079744},
{'scheme': 'frodokem976shake', 'implementation': 'opt', 'estmemory': 185344},
{'scheme': 'hqc-rmrs-128', 'implementation': 'clean', 'estmemory': 81920},
{'scheme': 'hqc-rmrs-192', 'implementation': 'clean', 'estmemory': 161792},
{'scheme': 'hqc-rmrs-256', 'implementation': 'clean', 'estmemory': 257024},
{'scheme': 'kyber1024-90s', 'implementation': 'clean', 'estmemory': 28672},
{'scheme': 'kyber1024', 'implementation': 'clean', 'estmemory': 28672},
{'scheme': 'kyber512-90s', 'implementation': 'clean', 'estmemory': 15360},
{'scheme': 'kyber512', 'implementation': 'clean', 'estmemory': 14336},
{'scheme': 'kyber768-90s', 'implementation': 'clean', 'estmemory': 21504},
{'scheme': 'kyber768', 'implementation': 'clean', 'estmemory': 21504},
{'scheme': 'lightsaber', 'implementation': 'clean', 'estmemory': 15360},
{'scheme': 'mceliece348864', 'implementation': 'clean', 'estmemory': 833536},
{'scheme': 'mceliece348864f', 'implementation': 'clean', 'estmemory': 833536},
{'scheme': 'mceliece460896', 'implementation': 'clean', 'estmemory': 4733952},
{'scheme': 'mceliece460896f', 'implementation': 'clean', 'estmemory': 4733952},
{'scheme': 'mceliece6688128', 'implementation': 'clean', 'estmemory': 5255168},
{'scheme': 'mceliece6688128f', 'implementation': 'clean', 'estmemory': 5255168},
{'scheme': 'mceliece6960119', 'implementation': 'clean', 'estmemory': 5257216},
{'scheme': 'mceliece6960119f', 'implementation': 'clean', 'estmemory': 5257216},
{'scheme': 'mceliece8192128', 'implementation': 'clean', 'estmemory': 5568512},
{'scheme': 'mceliece8192128f', 'implementation': 'clean', 'estmemory': 5568512},
{'scheme': 'ntruhps2048509', 'implementation': 'clean', 'estmemory': 29696},
{'scheme': 'ntruhps2048677', 'implementation': 'clean', 'estmemory': 38912},
{'scheme': 'ntruhps4096821', 'implementation': 'clean', 'estmemory': 47104},
{'scheme': 'ntruhrss701', 'implementation': 'clean', 'estmemory': 38912},
{'scheme': 'ntrulpr653', 'implementation': 'clean', 'estmemory': 18432},
{'scheme': 'ntrulpr761', 'implementation': 'clean', 'estmemory': 19456},
{'scheme': 'ntrulpr857', 'implementation': 'clean', 'estmemory': 23552},
{'scheme': 'saber', 'implementation': 'clean', 'estmemory': 20480},
{'scheme': 'sntrup653', 'implementation': 'clean', 'estmemory': 15360},
{'scheme': 'sntrup761', 'implementation': 'clean', 'estmemory': 18432},
{'scheme': 'sntrup857', 'implementation': 'clean', 'estmemory': 20480},
{'scheme': 'dilithium2', 'implementation': 'clean', 'estmemory': 60416},
{'scheme': 'dilithium2aes', 'implementation': 'clean', 'estmemory': 61440},
{'scheme': 'dilithium3aes', 'implementation': 'clean', 'estmemory': 92160},
{'scheme': 'dilithium3', 'implementation': 'clean', 'estmemory': 91136},
{'scheme': 'dilithium5', 'implementation': 'clean', 'estmemory': 136192},
{'scheme': 'dilithium5aes', 'implementation': 'clean', 'estmemory': 138240},
{'scheme': 'falcon-1024', 'implementation': 'clean', 'estmemory': 90112},
{'scheme': 'falcon-512', 'implementation': 'clean', 'estmemory': 47104},
{'scheme': 'rainbowI-circumzenithal', 'implementation': 'clean', 'estmemory': 490496},
{'scheme': 'rainbowI-classic', 'implementation': 'clean', 'estmemory': 445440},
{'scheme': 'rainbowI-compressed', 'implementation': 'clean', 'estmemory': 387072},
{'scheme': 'rainbowIII-circumzenithal', 'implementation': 'clean', 'estmemory': 2383872},
{'scheme': 'rainbowIII-classic', 'implementation': 'clean', 'estmemory': 2046976},
{'scheme': 'rainbowIII-compressed', 'implementation': 'clean', 'estmemory': 2032640},
{'scheme': 'rainbowV-circumzenithal', 'implementation': 'clean', 'estmemory': 6140928},
{'scheme': 'rainbowV-classic', 'implementation': 'clean', 'estmemory': 3587072},
{'scheme': 'rainbowV-compressed', 'implementation': 'clean', 'estmemory': 4732928},
{'scheme': 'sphincs-haraka-128f-robust', 'implementation': 'clean', 'estmemory': 23552},
{'scheme': 'sphincs-haraka-128f-simple', 'implementation': 'clean', 'estmemory': 23552},
{'scheme': 'sphincs-haraka-128s-robust', 'implementation': 'clean', 'estmemory': 13312},
{'scheme': 'sphincs-haraka-128s-simple', 'implementation': 'clean', 'estmemory': 13312},
{'scheme': 'sphincs-haraka-192f-robust', 'implementation': 'clean', 'estmemory': 43008},
{'scheme': 'sphincs-haraka-192f-simple', 'implementation': 'clean', 'estmemory': 43008},
{'scheme': 'sphincs-haraka-192s-robust', 'implementation': 'clean', 'estmemory': 23552},
{'scheme': 'sphincs-haraka-192s-simple', 'implementation': 'clean', 'estmemory': 23552},
{'scheme': 'sphincs-haraka-256f-robust', 'implementation': 'clean', 'estmemory': 59392},
{'scheme': 'sphincs-haraka-256f-simple', 'implementation': 'clean', 'estmemory': 59392},
{'scheme': 'sphincs-haraka-256s-robust', 'implementation': 'clean', 'estmemory': 38912},
{'scheme': 'sphincs-haraka-256s-simple', 'implementation': 'clean', 'estmemory': 38912},
{'scheme': 'sphincs-sha256-128f-robust', 'implementation': 'clean', 'estmemory': 21504},
{'scheme': 'sphincs-sha256-128f-simple', 'implementation': 'clean', 'estmemory': 21504},
{'scheme': 'sphincs-sha256-128s-robust', 'implementation': 'clean', 'estmemory': 12288},
{'scheme': 'sphincs-sha256-128s-simple', 'implementation': 'clean', 'estmemory': 12288},
{'scheme': 'sphincs-sha256-192f-robust', 'implementation': 'clean', 'estmemory': 41984},
{'scheme': 'sphincs-sha256-192f-simple', 'implementation': 'clean', 'estmemory': 41984},
{'scheme': 'sphincs-sha256-192s-robust', 'implementation': 'clean', 'estmemory': 22528},
{'scheme': 'sphincs-sha256-192s-simple', 'implementation': 'clean', 'estmemory': 22528},
{'scheme': 'sphincs-sha256-256f-robust', 'implementation': 'clean', 'estmemory': 57344},
{'scheme': 'sphincs-sha256-256f-simple', 'implementation': 'clean', 'estmemory': 57344},
{'scheme': 'sphincs-sha256-256s-robust', 'implementation': 'clean', 'estmemory': 37888},
{'scheme': 'sphincs-sha256-256s-simple', 'implementation': 'clean', 'estmemory': 37888},
{'scheme': 'sphincs-shake256-128f-robust', 'implementation': 'clean', 'estmemory': 21504},
{'scheme': 'sphincs-shake256-128f-simple', 'implementation': 'clean', 'estmemory': 21504},
{'scheme': 'sphincs-shake256-128s-robust', 'implementation': 'clean', 'estmemory': 12288},
{'scheme': 'sphincs-shake256-128s-simple', 'implementation': 'clean', 'estmemory': 12288},
{'scheme': 'sphincs-shake256-192f-robust', 'implementation': 'clean', 'estmemory': 41984},
{'scheme': 'sphincs-shake256-192f-simple', 'implementation': 'clean', 'estmemory': 41984},
{'scheme': 'sphincs-shake256-192s-robust', 'implementation': 'clean', 'estmemory': 22528},
{'scheme': 'sphincs-shake256-192s-simple', 'implementation': 'clean', 'estmemory': 21504},
{'scheme': 'sphincs-shake256-256f-robust', 'implementation': 'clean', 'estmemory': 57344},
{'scheme': 'sphincs-shake256-256f-simple', 'implementation': 'clean', 'estmemory': 57344},
{'scheme': 'sphincs-shake256-256s-robust', 'implementation': 'clean', 'estmemory': 37888},
{'scheme': 'sphincs-shake256-256s-simple', 'implementation': 'clean', 'estmemory': 37888},
{'scheme': 'falcon-1024-tree', 'implementation': 'opt-ct', 'estmemory': 186368},
{'scheme': 'falcon-1024-tree', 'implementation': 'opt-leaktime', 'estmemory': 186368},
{'scheme': 'falcon-1024', 'implementation': 'opt-leaktime', 'estmemory': 90112},
{'scheme': 'falcon-1024', 'implementation': 'opt-ct', 'estmemory': 90112},
{'scheme': 'falcon-512-tree', 'implementation': 'opt-ct', 'estmemory': 91136},
{'scheme': 'falcon-512-tree', 'implementation': 'opt-leaktime', 'estmemory': 91136},
{'scheme': 'falcon-512', 'implementation': 'opt-ct', 'estmemory': 47104},
{'scheme': 'falcon-512', 'implementation': 'opt-leaktime', 'estmemory': 47104},
{'scheme': 'dilithium2', 'implementation': 'm4', 'estmemory': 60416},
{'scheme': 'dilithium3', 'implementation': 'm4', 'estmemory': 91136},
{'scheme': 'falcon-1024', 'implementation': 'm4-ct', 'estmemory': 90112},
{'scheme': 'falcon-512-tree', 'implementation': 'm4-ct', 'estmemory': 91136},
{'scheme': 'falcon-512', 'implementation': 'm4-ct', 'estmemory': 47104},
]
Computing file changes ...