Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crypto abstraction for hardware #29

Open
jbdatko opened this issue Dec 19, 2014 · 1 comment
Open

Crypto abstraction for hardware #29

jbdatko opened this issue Dec 19, 2014 · 1 comment

Comments

@jbdatko
Copy link
Contributor

jbdatko commented Dec 19, 2014

I'm still reading the code, so this may be a non-issue, but is there a concept of a crypto-abstraction layer for devices that have hardware support?

While people are quick to throw out "pkcs11" as _the_ abstraction for these things, I'm not sure it makes sense here (or most places ;) ). Some SoCs have support for hardware acceleration and it might be nice to plan for some ability to switch between software and hardware implementations.

@quartzjer
Copy link
Member

Yep, of course :)

Take a look at cs1a.c init for an example of the abstraction, where function pointers are returned for the different crypto calls that e3x requires.

My expectation is that when another implementation shows up to just replace one algo in a cipher set (such as AES-128) that we extend/grow that list of callbacks and let e3x overlay them (add a cs1a_accel_init after the base one that e3x would overlay onto the first when the CSID matches).

Of course, that plan has to encounter the first real world example yet :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants