linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] Add TLS record layer encryption module
@ 2014-07-29  9:32 Cristian Stoica
  2014-07-29  9:32 ` [PATCH 1/2] crypto: add support for TLS 1.0 record encryption Cristian Stoica
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Cristian Stoica @ 2014-07-29  9:32 UTC (permalink / raw)
  To: herbert, linux-crypto; +Cc: davem, linux-kernel, Cristian Stoica

Hi all,

This set of patches introduces support for TLS 1.0 record layer
encryption/decryption with a corresponding algorithm called
tls10(hmac(<hash>),cbc(<cipher>)).

Similarly to authenc.c on which it is based, this module mixes the base
algorithms in software to produce an algorithm that does record layer
encryption and decryption for TLS1.0.
Any combination of hw and sw base algorithms is possible, but the purpose
is to take advantage of hardware acceleration for TLS record layer offloading
when hardware acceleration is present.

This is a software alternative to forthcoming Freescale caam patches that
will add support for one-pass hardware-only TLS record layer offloading.

Performance figures depend largely on several factors including hardware
support and record layer size. For user-space applications the
kernel/user-space interface is also important. That said, we have done several
performance tests using openssl and cryptodev on Freescale QorIQ platforms.
On P4080, for a single stream of records larger than 512 bytes, the performance
improved from about 22Mbytes/s to 64Mbytes/s while also reducing CPU load.

The purpose of this module is to enable TLS kernel offloading on hw platforms
that have acceleration for AES/SHA1 but do not have direct support for TLS
record layer.

(minor dependency on pending patch
  crypto: testmgr.c: white space fix-ups on test_aead)

Cristian Stoica (2):
  crypto: add support for TLS 1.0 record encryption
  crypto: add TLS 1.0 test vectors for AES-CBC-HMAC-SHA1

 crypto/Kconfig           |  20 ++
 crypto/Makefile          |   1 +
 crypto/authenc.c         |   5 +-
 crypto/tcrypt.c          |   5 +
 crypto/testmgr.c         |  41 +++-
 crypto/testmgr.h         | 217 +++++++++++++++++++
 crypto/tls.c             | 528 +++++++++++++++++++++++++++++++++++++++++++++++
 include/crypto/authenc.h |   3 +
 8 files changed, 808 insertions(+), 12 deletions(-)
 create mode 100644 crypto/tls.c

-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2014-08-25 13:12 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-29  9:32 [PATCH 0/2] Add TLS record layer encryption module Cristian Stoica
2014-07-29  9:32 ` [PATCH 1/2] crypto: add support for TLS 1.0 record encryption Cristian Stoica
2014-07-31 20:01   ` Andy Lutomirski
2014-08-01  9:06     ` Cristian Stoica
2014-08-01 14:44       ` Andy Lutomirski
2014-08-04  6:21         ` Cristian Stoica
2014-07-29  9:32 ` [PATCH 2/2] crypto: add TLS 1.0 test vectors for AES-CBC-HMAC-SHA1 Cristian Stoica
2014-07-31 19:59 ` [PATCH 0/2] Add TLS record layer encryption module Andy Lutomirski
2014-08-01  8:24   ` Cristian Stoica
2014-08-25  9:44   ` Herbert Xu
2014-08-25 13:12 ` Hannes Frederic Sowa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).