crypto-tk
crypto-tk copied to clipboard
Replace AES in the AEZ code
The AEZ implementation, which is indeed the reference implementation of AEZ, uses AES instructions to compute the AES round function, making the code not portable (although both AES-NI and NEON instructions are supported).
Replace calls to the AES primitive (even pruned ones) by calls to an already implemented primitive in libsodium. These include Blake2b and ChaCha20, although directly using ChaCha20 might be hard. Full Blake2b would be a very secure (quite inefficient) choice.