]> 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)
commit4e23cdcdeec9dd7c91cb66854580724dab32d2f7
treea7f9c96dc0ec10e5761495fc2116d4d3364705bd
parent5bd44c3a3384b80fba405e7efbfbf25b6833c7dc
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