Accelerated Crypto Functions from C code

Is it possible to call an AES128 hardware accelerated function from C code?

Most of what I am seeing is kernel/driver calls to openssl which use the accelerated hardware. Is it possible to get an API exposed for C code to be compiled and run on the BeagleBoneBlack?

Thank you,
sal

This is my understanding of the Crypto hardware on the BeagleBone. I've
blogged about it here: http://datko.net/?s=crypto+acceleration but I'll
try to summarize what I've learned. Part of the problem, is that the
crypto hardware on the processor is protected by a NDA from TI (most
crypto hardware is). I have not signed a NDA with TI.

1. I've blogged about this here:
http://datko.net/?s=crypto+acceleration, this is probably the openssl
code to which you are referring.

2. I believe the kernel can access the crypto hardware with the OMAP
drivers. But as the docs are NDA'd, I'm not positive.

3. To use the hardware from userspace, the kernel driver somehow needs
an interface to userspace. I believe the cryptodev module will do
this. Therefore, if you build cryptodev you *should* be able to use the
HW crypto drivers and therefore the hardware.

My assumption is that the OMAP drivers in the kernel provide access to
the crypto hardware on the AM3358. I haven't confirmed this.

If you, or anybody else, wants to pick up this task, I'd be happy to
clarify some of my experiments so far. However, I don't think I have the
cycles to work on this in the near future.

Josh