crypto: ccm - switch to separate cbcmac driver
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Fri, 3 Feb 2017 14:49:36 +0000 (14:49 +0000)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 11 Feb 2017 09:50:45 +0000 (17:50 +0800)
commitf15f05b0a5de667c821a9727c33bce9d1d9b26dd
tree5136af17bad0933f2aa84f2fca27ae2515b1adc8
parent092acf069813a7a07371de0d05010de80d8e613b
crypto: ccm - switch to separate cbcmac driver

Update the generic CCM driver to defer CBC-MAC processing to a
dedicated CBC-MAC ahash transform rather than open coding this
transform (and much of the associated scatterwalk plumbing) in
the CCM driver itself.

This cleans up the code considerably, but more importantly, it allows
the use of alternative CBC-MAC implementations that don't suffer from
performance degradation due to significant setup time (e.g., the NEON
based AES code needs to enable/disable the NEON, and load the S-box
into 16 SIMD registers, which cannot be amortized over the entire input
when using the cipher interface)

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/Kconfig
crypto/ccm.c