Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PQClean Integration #76

Merged
merged 17 commits into from
Apr 17, 2019
Merged

PQClean Integration #76

merged 17 commits into from
Apr 17, 2019

Conversation

mkannwischer
Copy link
Contributor

This integrates the current version of https://github.com/PQClean/PQClean
Currently, it only includes

  • ntruhps2048509
  • sphincs-shake256-128f-simple
  • all variants of Frodo (which cannot run on our platform due to memory constraints)

When new schemes are added to PQClean an update of the submodule should be sufficient to get them included in the testing and benchmarking.

Closes #43

@mkannwischer mkannwischer merged commit d3d19d2 into v2 Apr 17, 2019
@mkannwischer mkannwischer mentioned this pull request Apr 19, 2019
mkannwischer added a commit that referenced this pull request May 1, 2019
* 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
@mkannwischer mkannwischer deleted the pqclean-integration branch May 1, 2019 10:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants