> 3) An accellerator device directly supports TLS/SSL record
> encryption/decryption and the handshake operation itself.
>
> We do many bus transactions to the accellerator (and
> possibly system calls into the OS kernel) where we
> could do one, doing every single basic cryptographic
> operation individually when we could actually amortize
> the cost over the entire record or handshake operation.
>
> This is the case for most modern accellerators used with
> general-purpose CPUs.


Application of such technique does not limited to hardware acselerator.
Yet another example of such "devices" is services, allowing to pass
the whole record plus encryption and MAC keys, and process it in
single call.
It is used when for some (security) reasons all
cryptography-manipulations performed in separate process/driver/VM,
and client operates only with handlers to keys.

I saw how it was implemented in extension to MS CryptoAPI.
Even without such extensions CryptEncrypt function is able to encrypt
and hash data at the same time.
Extension I'm taking about does add abbility to pass there pointer to
"header", "body" and place where to put "tail" - i.e. MAC value.

Inabbility to process TLS record in single call results to necessity
to pass the same data over IPC twice.

Andrey.


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to