I recently stumbled upon your module and tried to implement it in the snapshot version of OpenWrt for my Netgear R6120 which is equiped with a MediaTek MT7628an CPU.
I set up the build system and added your engine as a custom package. I also made sure to enable hardware support for the openssl library, but things are a little bit different due to OpenWrt having upgraded openssl to v1.1.1 in the latest snapshot.
Compilation and installation were no problem, the crypto module is initialized on bootup:
As a result, benchmarks are comparable to those I had before:
root@OpenWrt:~# openssl speed -evp aes-256-cbc
Doing aes-256-cbc for 3s on 16 size blocks: 681895 aes-256-cbc's in 2.05s
Doing aes-256-cbc for 3s on 64 size blocks: 190770 aes-256-cbc's in 1.92s
Doing aes-256-cbc for 3s on 256 size blocks: 37423 aes-256-cbc's in 1.42s
Doing aes-256-cbc for 3s on 1024 size blocks: 15586 aes-256-cbc's in 2.36s
Doing aes-256-cbc for 3s on 8192 size blocks: 956 aes-256-cbc's in 1.20s
Doing aes-256-cbc for 3s on 16384 size blocks: 803 aes-256-cbc's in 2.00s
OpenSSL 1.1.1c 28 May 2019
built on: Fri Jul 12 14:12:01 2019 UTC
options:bn(64,32) rc4(char) des(long) aes(partial) blowfish(ptr)
compiler: mipsel-openwrt-linux-musl-gcc -fPIC -pthread -mabi=32 -Wa,--noexecstack -Wall -O3 -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -O3 -fpic -ffunction-sections -fdata-sections -znow -zrelro -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DAES_ASM -DNDEBUG -DOPENSSL_PREFER_CHACHA_OVER_GCM
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
aes-256-cbc 5322.11k 6359.00k 6746.68k 6762.74k 6526.29k 6578.18k
As I mentioned before, I think this might be related due to the update of openssl to v1.1.1, however, I can't just use the stable version of OpenWrt 18.06 (which still uses openssl 1.0.4), as that version does not yet support my Netgear router.
Hi,
I recently stumbled upon your module and tried to implement it in the snapshot version of OpenWrt for my Netgear R6120 which is equiped with a MediaTek MT7628an CPU.
I set up the build system and added your engine as a custom package. I also made sure to enable hardware support for the openssl library, but things are a little bit different due to OpenWrt having upgraded openssl to v1.1.1 in the latest snapshot.
Compilation and installation were no problem, the crypto module is initialized on bootup:
The hardware acceleration is available according to /proc/crypto: [shortened]
OpenSSL uses the /dev/crypto engine:
but it doesn't list any supported ciphers there...
Additional information from openssl about the cyphers and digest supported:
As a result, benchmarks are comparable to those I had before:
As I mentioned before, I think this might be related due to the update of openssl to v1.1.1, however, I can't just use the stable version of OpenWrt 18.06 (which still uses openssl 1.0.4), as that version does not yet support my Netgear router.