Finished Signature generation and Verification. There is negligible speed up Key generation from FFT implementation.
If you don't have the hardware, inside each folder has *.md files,
which are the benchmarked results for AVX (Intel chip), Apple M1, Cortex-A72.
Feel free to reproduce results. Steps are described below.
Go to ref-avx (reference implementation of Falcon), then run:
make avx_59b: to run speed benchmark for 59b message (as shown in paper)make avx_ghz: to run speed benchmark and frequency of the CPUmake avx: to run default Falcon speed benchmark and my function benchmark
There is no need for sudo.
Go to neon folder, make build first, then run:
make m1_59b: to run speed benchmark for 59b message (as shown in paper)make m1_ghz: to run speed benchmark and frequency of the CPUmake m1: to run default Falcon speed benchmark and my function benchmarkmake m1_test: to run default Falcon test vectorsmake kat: to generate KAT file.
To clean up, run make clean.
Note: You may need sudo password to perform benchmark (cycle count in Apple M1 requires sudo).
Go to ref-avx (reference implementation of Falcon), then run:
make m1_59b: to run speed benchmark for 59b message (as shown in paper)make m1_ghz: to run speed benchmark and frequency of the CPUmake m1: to run default Falcon speed benchmark and my function benchmark
To clean up, run make clean.
Note: You may need sudo password to perform benchmark (cycle count in Apple M1 requires sudo).
Go to neon folder, make build first, then run:
make a72_59b: to run speed benchmark for 59b message (as shown in paper)make a72_ghz: to run speed benchmark and frequency of the CPUmake a72: to run default Falcon speed benchmark and my function benchmarkmake a72_test: to run default Falcon test vectorsmake kat: to generate KAT file.
To clean up, run make clean.
There is no need for sudo.
Go to ref-avx (reference implementation of Falcon), then run:
make a72_59b: to run speed benchmark for 59b message (as shown in paper)make a72_ghz: to run speed benchmark and frequency of the CPUmake a72: to run default Falcon speed benchmark and my function benchmark
There is no need for sudo.
See small-fft-ref folder for my compressed FFT roots in  C code.
I'm writing a tool to convert all my intrinsic instructions to asm.