OpenSSL with Crypto Acceleration on BBB

I'm excited to say I've got OpenSSL using crypto acceleration working on 
the BBB using debian!  (at least, I'm pretty sure based on my OpenSSL tests 
;) )

The quick instructions are:

1. Download R. Nelson's kernel headers for Debian (since that's what I was 
using).
2. Make the cryptodev kernel module*
3. Recompile OpenSSL to use CRYPTODEV

*I had to tweak arch/arm/include/asm/timex.h to change the line
#include <mach/timex.h> to read: #include
<usr/src/linux-headers-3.8.13-bone26/arch/arm/include/asm/timex.h>

Detailed instructions are on my website:
http://datko.net/2013/10/03/howto_crypto_beaglebone_black/

Josh

Here's the output of the openssl-tests:

Without cryptodev

debian@arm:~/openssl-1.0.1e/cryptodev-linux-1.6$ time openssl speed -evp 
aes-128-cbc
Doing aes-128-cbc for 3s on 16 size blocks: 2666405 aes-128-cbc's in 2.99s
Doing aes-128-cbc for 3s on 64 size blocks: 905987 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 256 size blocks: 240811 aes-128-cbc's in 2.99s
Doing aes-128-cbc for 3s on 1024 size blocks: 61145 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 8192 size blocks: 7677 aes-128-cbc's in 3.00s
OpenSSL 1.0.1e 11 Feb 2013
built on: Mon Mar 18 21:48:12 UTC 2013
options:bn(64,32) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) 
blowfish(ptr)
compiler: gcc -fPIC -DOPENSSLPIC -DZLIB -DOPENSSLTHREADS -DREENTRANT 
-DDSODLFCN -DHAVEDLFCNH -DLENDIAN -DTERMIO -g -O2 -fstack-protector 
--param=ssp-buffer-size=4 -Wformat -Werror=format-security 
-DFORTIFY_SOURCE=2 -Wl,-z,relro -Wa,--noexecstack -Wall
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-128-cbc 14268.39k 19327.72k 20617.93k 20870.83k 20963.33k

real 0m15.114s
user 0m15.031s
sys 0m0.041s

With cryptodev

debian@arm:/usr/local/ssl/bin$ time /usr/local/ssl/bin/openssl speed -evp 
aes-128-cbc
Doing aes-128-cbc for 3s on 16 size blocks: 28166 aes-128-cbc's in 0.04s
Doing aes-128-cbc for 3s on 64 size blocks: 22445 aes-128-cbc's in 0.03s
Doing aes-128-cbc for 3s on 256 size blocks: 29933 aes-128-cbc's in 0.05s
Doing aes-128-cbc for 3s on 1024 size blocks: 16018 aes-128-cbc's in 0.04s
Doing aes-128-cbc for 3s on 8192 size blocks: 4861 aes-128-cbc's in 0.02s
OpenSSL 1.0.1e 11 Feb 2013
built on: Fri Oct 4 01:48:18 UTC 2013
options:bn(64,32) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) 
idea(int) blowfish(ptr)
compiler: gcc -DOPENSSLTHREADS -DREENTRANT -DDSODLFCN -DHAVEDLFCNH 
-DHAVECRYPTODEV -DUSECRYPTDEVDIGESTS -march=armv7-a -Wa,--noexecstack 
-DTERMIO -O3 -Wall -DOPENSSLBNASMMONT -DOPENSSLBNASMGF2m -DSHA1ASM 
-DSHA256ASM -DSHA512ASM -DAESASM -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 11266.40k 47882.67k 153256.96k 410060.80k 1991065.60k

real 0m15.326s
user 0m0.225s
sys 0m5.990s

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to