just fooling around with this board, running ARch linux on it. The board has a crypto accelerator in the form of the Geode AES engine, which should AFAIK be used by openssl. However, it appears it's not using it. Right now, i'm averaging about 8-10 megs of performance, which is pretty bad, even if the main CPU is 500mhz... Digging around places tells me that openssl needs to be compiled with "cryptodev" support, which it looks like mine is not:
Code:
[root@ ]# openssl speed -engine cryptodev -evp aes-128-cbc
invalid engine "cryptodev"
3073488572:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:187:filename(/usr/lib/engines/libcryptodev.so): /usr/lib/engines/libcryptodev.so: cannot open shared object file: No such file or directory
3073488572:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244:
3073488572:error:260B6084:engine routines:DYNAMIC_LOAD:dso not found:eng_dyn.c:450:
3073488572:error:2606A074:engine routines:ENGINE_by_id:no such engine:eng_list.c:417:id=cryptodev
3073488572:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:187:filename(libcryptodev.so): libcryptodev.so: cannot open shared object file: No such file or directory
3073488572:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244:
3073488572:error:260B6084:engine routines:DYNAMIC_LOAD:dso not found:eng_dyn.c:450:
Doing aes-128-cbc for 3s on 16 size blocks: 674597 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 64 size blocks: 184185 aes-128-cbc's in 3.01s
Doing aes-128-cbc for 3s on 256 size blocks: 47251 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 1024 size blocks: 23926 aes-128-cbc's in 3.01s
Doing aes-128-cbc for 3s on 8192 size blocks: 3003 aes-128-cbc's in 3.00s
OpenSSL 1.0.1f 6 Jan 2014
built on: Mon Jan 6 21:28:15 CET 2014
options:bn(64,32) rc4(4x,int) des(ptr,risc1,16,long) aes(partial) idea(int) blowfish(idx)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-128-cbc 3597.85k 3916.23k 4032.09k 8139.61k 8200.19k
I guess i need to recompile openssl then? Or should i look elsewhere?