wolfssl icon indicating copy to clipboard operation
wolfssl copied to clipboard

Aarch64 no harware crypto assembly AES

Open SparkiDev opened this issue 1 month ago • 5 comments

Description

Implementations of AES-ECB, AES-CBC, AES-CTR, AES-GCM, AES-XTS with base instructions and NEON but not using crypto instructions.

Benchmark of AES-ECB added. Updated AES tests.

Testing

Regression tested Aarch64 and ARM32 assembly.

Checklist

  • [x] added tests
  • [ ] updated/added doxygen
  • [ ] updated appropriate READMEs
  • [ ] Updated manual and documentation

SparkiDev avatar Dec 05 '25 00:12 SparkiDev

retest this please

generic: wolf-linux-cloud-node-va1pm5 seems to be removed or offline (hudson.remoting.RequestAbortedException: java.io.StreamCorruptedException: invalid stream header: 636F7272); will wait for 5 min 0 sec for it to come back online

SparkiDev avatar Dec 05 '25 01:12 SparkiDev

retest this please

generic: java.io.StreamCorruptedException: invalid stream header: 636F7272

SparkiDev avatar Dec 05 '25 04:12 SparkiDev

I tested this on a Pi4. Its aarch64 without crypto extensions.

./configure --enable-armasm && make
...
  CPPAS    wolfcrypt/src/port/arm/src_libwolfssl_la-armv8-aes-asm.lo
wolfcrypt/src/port/arm/armv8-aes-asm.S: Assembler messages:
wolfcrypt/src/port/arm/armv8-aes-asm.S:54726: Error: selected processor does not support `rev64 x8,x8'
wolfcrypt/src/port/arm/armv8-aes-asm.S:54727: Error: selected processor does not support `rev64 x9,x9'
make[2]: *** [Makefile:7891: wolfcrypt/src/port/arm/src_libwolfssl_la-armv8-aes-asm.lo] Error 1
./configure --enable-armasm=inline && make
...
  CC       wolfcrypt/src/port/arm/src_libwolfssl_la-armv8-chacha-asm_c.lo
/tmp/ccyrMHSP.s: Assembler messages:
/tmp/ccyrMHSP.s:16173: Error: selected processor does not support `rev64 x8,x8'
/tmp/ccyrMHSP.s:16174: Error: selected processor does not support `rev64 x9,x9'
make[2]: *** [Makefile:8279: wolfcrypt/src/port/arm/src_libwolfssl_la-armv8-aes-asm_c.lo] Error 1

Same error even on Pi5 with ./configure --enable-armasm=no-crypto or even default ./configure --enable-armasm.

dgarske avatar Dec 05 '25 16:12 dgarske

Changed rev64 to rev.

SparkiDev avatar Dec 09 '25 22:12 SparkiDev

Jenkins retest this please. Request aborted

dgarske avatar Dec 09 '25 23:12 dgarske