OSDN Git Service

crypto: seqiv - Stop using cryptoff
authorHerbert Xu <herbert@gondor.apana.org.au>
Sat, 23 May 2015 07:41:56 +0000 (15:41 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 25 May 2015 10:41:31 +0000 (18:41 +0800)
commitdd04446e48e859c913a395497ba1a289e707269a
tree42dd01017346da9dc7f6410807cad449f82200b2
parent823655c99bdb990d687d8f293185dcc505be38c2
crypto: seqiv - Stop using cryptoff

The cryptoff parameter was added to facilitate the skipping of
IVs that sit between the AD and the plain/cipher text.  However,
it was never implemented correctly as and we do not handle users
such as IPsec setting cryptoff.  It is simply ignored.

Implementing correctly is in fact more trouble than what it's
worth.

This patch removes the uses of cryptoff by moving the AD forward
to fill the gap left by the IV.  The AD is moved back after the
underlying AEAD processing is finished.

This is in fact beter than the cryptoff solution because it allows
algorithms that use seqniv (i.e., GCM and CCM) to hash the whole
packet as a single piece, while cryptoff meant that there was
guaranteed to be a gap.

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