]> git.baikalelectronics.ru Git - kernel.git/commit
crypto: aead - Add new interface with single SG list
authorHerbert Xu <herbert@gondor.apana.org.au>
Thu, 21 May 2015 07:11:01 +0000 (15:11 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 22 May 2015 03:25:51 +0000 (11:25 +0800)
commitb3bcc0d22a04ed321f67e6c0edfc43393283dce3
treea7f9c96dc0ec10e5761495fc2116d4d3364705bd
parent9908b59bba3a81d7bb73c97049638c39365f71b1
crypto: aead - Add new interface with single SG list

The primary user of AEAD, IPsec includes the IV in the AD in
most cases, except where it is implicitly authenticated by the
underlying algorithm.

The way it is currently implemented is a hack because we pass
the data in piecemeal and the underlying algorithms try to stitch
them back up into one piece.

This is why this patch is adding a new interface that allows a
single SG list to be passed in that contains everything so the
algorithm implementors do not have to stitch.

The new interface accepts a single source SG list and a single
destination SG list.  Both must be laid out as follows:

AD, skipped data, plain/cipher text, ICV

The ICV is not present from the source during encryption and from
the destination during decryption.

For the top-level IPsec AEAD algorithm the plain/cipher text will
contain the generated (or received) IV.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/aead.c
include/crypto/aead.h