https://github.com/mupq/pqm4
Revision 8627f530f821a00f6e924a7f998f55604c6b5864 authored by Matthias J. Kannwischer on 01 May 2019, 10:02:18 UTC, committed by GitHub on 01 May 2019, 10:02:18 UTC
* 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
1 parent eaf7c6e
History
Tip revision: 8627f530f821a00f6e924a7f998f55604c6b5864 authored by Matthias J. Kannwischer on 01 May 2019, 10:02:18 UTC
pqm4 V2 (#78)
Tip revision: 8627f53
File Mode Size
common
crypto_kem
crypto_sign
hostside
libopencm3 @ 8b1ac58
mupq @ de339e2
.gitignore -rw-r--r-- 77 bytes
.gitmodules -rw-r--r-- 168 bytes
Makefile -rw-r--r-- 5.0 KB
README.md -rw-r--r-- 18.1 KB
benchmarks.csv -rw-r--r-- 6.7 KB
benchmarks.md -rw-r--r-- 10.5 KB
benchmarks.py -rwxr-xr-x 551 bytes
build_everything.py -rwxr-xr-x 209 bytes
convert_benchmarks.py -rwxr-xr-x 417 bytes
interface.py -rw-r--r-- 1.4 KB
requirements.txt -rw-r--r-- 14 bytes
stm32f405x6.ld -rw-r--r-- 1.2 KB
test.py -rwxr-xr-x 228 bytes
testvectors.py -rwxr-xr-x 228 bytes

README.md

back to top