Asymmetric cryptography HW offloading

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

CAAM crypto engine (drivers/crypto/caam/*) is capable of asymmetric operations, like: modular exponentiation, RSA sign/verify/encrypt/decrypt, (EC)DSA sign etc. I would appreciate some design guidelines on how to harness these capabilities, for crypto engines in general.

1. In-kernel interface for asymmetric crypto
Should crypto/asymmetric_keys/* be used, i.e. appended with modular exponentiation, other asymmetric operations? I am asking since this seems to be closer to key management than to asymmetric crypto... If so, should an algorithm priority be defined, similar to Crypto API interface for symmetric algos (so that for e.g. a HW implementation of RSA verify would be preferred over a SW implementation)? Currently interface does not allow for two or more implementers of the same algo/operation.

Currently, SW implementation of modular exponentiation - mpi_powm() - is used by crypto/asymmetric_keys/rsa.c and lib/digsig.c. AFAICT, its users could benefit from a HW-accelerated version.

2. User space interface
Should AF_ALG be expanded to provide access to this new asymmetric cypto API?
The API would allow user space applications to offload PKC operations in HW.
Possible use: offloading compute-intensive parts of TLS handshake, IKE.

Thanks,
Horia



--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux