Our scheme is currently under submission and constant revision. But you can find some of our code here:


C:


Our C implementation can be found here.


The library provides a reference, optimize and Intel AVX2 optimized implementation.

AES-NI is used by default, if available, in the optimized versions.


They can be built in this way:

  • Reference: build with CMake with the option: -DMAYO_BUILD_TYPE=ref.
  • Optimize: build with CMake with the option: -DMAYO_BUILD_TYPE=opt.
  • Intel AVX2 Optimize: build with CMake with the option for avx2 op: -DMAYO_BUILD_TYPE=avx2.

Sage:


Our pure sage implementation can be found here.


Arm Cortex-M4:


Our Arm Cortex-M4 implementation can be found here. It has also been merged into pqm4.