simde icon indicating copy to clipboard operation
simde copied to clipboard

X86-64 AES-ni support

Open mjmacleod opened this issue 4 years ago • 6 comments

It would be nice if simde implemented support for AES, especially AES round as this particular part of AES is also used in a lot of hash algorithms etc.

Many x86 based CPUs support this via AES-ni; and a lot of armv8 cores implement it via 'crypto extensions'. For arm cpus that don't have neon its possible to make use of other neon intrinsics.

I've submitted a PR to sse2neon that implements _mm_aesenc_si128 which is the most important instruction - it might be nice to have this as a starting point https://github.com/DLTcollab/sse2neon/pull/6

  • [x] _mm_aesenc_si128
  • [x] _mm_aesdec_si128
  • [x] _mm_aesdeclast_si128
  • [x] _mm_aesenclast_si128
  • [x] _mm_aesimc_si128
  • [ ] _mm_aeskeygenassist_si128

Reference: https://software.intel.com/sites/landingpage/IntrinsicsGuide/#othertechs=AES

mjmacleod avatar Sep 10 '19 09:09 mjmacleod