aboutsummaryrefslogtreecommitdiff
path: root/src/aesround.rs
AgeCommit message (Collapse)Author
2025-04-15make portable_simd optionalDaniel Schadt
2025-04-11add comment about AES NI instructionsDaniel Schadt
2025-04-11use simd instructionsDaniel Schadt
(requires nightly compiler)
2025-04-10implement aes4 and aes10 with native instructionsDaniel Schadt
Even though aes::hazmat::cipher_round uses aes-ni instructions under the hood, simply loading the data (and the keys!) takes a significant amount of time. Sadly, there's no way that aes exposes that lets you re-use the "loaded" keys. By implementing aes4/aes10 directly with _mm_aesenc, we can keep the keys properly aligned. We still keep the software backend as fallback, using the software implementation of the aes crate. This gives a ~70% speedup.