• Ard Biesheuvel's avatar
    crypto: arm64/aes - add NEON/Crypto Extensions CBCMAC/CMAC/XCBC driver · 4860620d
    Ard Biesheuvel authored
    On ARMv8 implementations that do not support the Crypto Extensions,
    such as the Raspberry Pi 3, the CCM driver falls back to the generic
    table based AES implementation to perform the MAC part of the
    algorithm, which is slow and not time invariant. So add a CBCMAC
    implementation to the shared glue code between NEON AES and Crypto
    Extensions AES, so that it can be used instead now that the CCM
    driver has been updated to look for CBCMAC implementations other
    than the one it supplies itself.
    
    Also, given how these algorithms mostly only differ in the way the key
    handling and the final encryption are implemented, expose CMAC and XCBC
    algorithms as well based on the same core update code.
    Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    4860620d
aes-glue.c 17.4 KB