Dear all,
We would like to announce AIMer version update v2.1.
The updates are as follows:
Implementation Updates- updated our implementations to be more friendly to PQClean project and run all tests of PQClean test framework.
- merged Reference C and Optimized C version of the v2.0 implementation to Reference C in the v2.1 implementation.
- renamed (additional) AVX2 implementation to Optimized implementation.
- added mem_opt C implementation targeting on memory-constrained devices.
- added aarch64_shake_opt implementation which utilizes ARM Advanced SIMD instructions on SHAKE.
- aarch64 and aarch64_shake_opt implementations can be compiled for ARM-based Apple SoCs (Apple M series).
Software Patches for TIMECOPIn response to software recommendations from Prof. D. J. Bernstein, we have applied following patches:
- Since the variables of patch-1-reveal, patch-7-commits, and patch-8-alpha were public data, we have utilized crypto_declassify function.
- patch-2-poly64: added recommended poly64_mul as poly64_mul_s, and applied it to arithmetic related to secret data.
- patch-3-htole: replaced htole64() and ltohe64() with recommended byte computations, and removed the portable_endian.h file.
- patch-4-loadstore: replaced _load_ and _store_ with _loadu_ and _storeu_ in the AVX2 implementation.
- patch-5-square: modified all implementations to use recommended code for square arithmetic in the Reference and mem_opt implementations.
- patch-6-selfaddmask: removed the selfaddmask function from all implementations.
- patch-9-initialize: added the recommended initialization process to the AVX2 implementation.
- Lastly, we have included TIMECOP results for all TIMECOP-supported implementations.
The updated implementations are available on
https://github.com/samsungsds-research-papers/AIMerBest regards,
Jihoon Kwon.