Social

Contact

Search

Tor and Hardware Acceleration with the BeagleBone Black

I’ve made some progress with using hardware acceleration on the BeagleBone Black (BBB) and running Tor. It appears that OpenSSL cryptodev engine does not use all the algorithms that the linux-cryptodev module makes available. I believe this can be changed with a patch for the OpenSSL cryptodev engine. But otherwise, at least from running Tor as a client, initial results seem better than before.

Specific AES modes in the AM335X

The documentation seems to be vague on what modes and key sizes the AM335x supports. However, a post on the TI boards seems to indicate they support a nice swath of modes and key sizes (128, 192, and 256).

Getting Tor and cryptodev enabled OpenSSL to play nicely

I was initially having trouble getting Tor to interact cleanly with my cryptodev compiled OpenSSL. Compiling OpenSSL by scratch drops everything under /usr/local/ssl but the Debian package places things where Debian wants. Fortunately, I found a very helpful post that suggests modifying the Debian source package and statically compiling with OpenSSL. The instructions are updated here for the current version and hardware acceleration:

Cryptodev in OpenSSL

Looking at OpenSSL’s eng_cryptodev.c, it doesn’t support AES-128-ECB, so that explains that. I’m at a loss for SHA1 though. I’m also a bit confused by the line “No AES engine found; using AES* functions.” So that needs further investigation.