Refactor primitives
-
Make sure to have different implementations of AES for different purposes -
PRF (deterministic, no IV, can be ECB mode) -
Encryption (randomized, IV, no ECB) -
PRG (deterministic, no IV, incremented counter) -
Hash (from PRF)
-
-
Also, make sure AES uses AES-NI instruction. -
Also, fix PRG to pre-fetch more pseudo random bytes than requested and cache them. -
Also, create low-bitness PRP for LewiORE (that works for 2, 4, 8 bits) as a on-the-fly generated table. Compare this to Feistel. -
Make sure scheme operation do not share cache.
Edited by Dmytro Bogatov